Skip to content

Commit ed71d6b

Browse files
committed
Complete migration to MkDocs: replace GitBook with MkDocs (mkdocs-material)
1 parent 4a1cd2e commit ed71d6b

File tree

60 files changed

+723
-628
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+723
-628
lines changed

.github/workflows/deploy.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
concurrency:
14+
group: "pages"
15+
cancel-in-progress: false
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
with:
24+
fetch-depth: 0
25+
26+
- name: Setup Python
27+
uses: actions/setup-python@v5
28+
with:
29+
python-version: '3.11'
30+
31+
- name: Install dependencies
32+
run: |
33+
python -m pip install --upgrade pip
34+
pip install -r requirements.txt
35+
36+
- name: Build site
37+
run: mkdocs build --strict
38+
39+
- name: Setup Pages
40+
uses: actions/configure-pages@v4
41+
42+
- name: Upload artifact
43+
uses: actions/upload-pages-artifact@v3
44+
with:
45+
path: ./site
46+
47+
deploy:
48+
environment:
49+
name: github-pages
50+
url: ${{ steps.deployment.outputs.page_url }}
51+
runs-on: ubuntu-latest
52+
needs: build
53+
steps:
54+
- name: Deploy to GitHub Pages
55+
id: deployment
56+
uses: actions/deploy-pages@v4

.github/workflows/mkdocs-ci.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Build Docs
2+
3+
on:
4+
pull_request:
5+
branches: [ main ]
6+
7+
jobs:
8+
build:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
- uses: actions/setup-python@v5
13+
with:
14+
python-version: '3.11'
15+
- run: pip install -r requirements.txt
16+
- run: mkdocs build --strict

SUMMARY.md

Lines changed: 0 additions & 43 deletions
This file was deleted.
61.5 KB
Loading
787 KB
Loading

docs/SUMMARY.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Table of contents
2+
3+
- [⭐️ Introduction](index.md)
4+
- [🧠 Smart Accounts](smart-accounts/)
5+
- [README](smart-accounts/README.md)
6+
- [Entrypoint Explainer](smart-accounts/entrypoint-explainer.md)
7+
- [Session Keys And Delegation](smart-accounts/session-keys-and-delegation.md)
8+
- [The Application Layer Wallets And Sdks](smart-accounts/the-application-layer-wallets-and-sdks.md)
9+
- [Modular Standards](smart-accounts/modular-accounts.md)
10+
11+
- [📦 Bundlers](bundlers/)
12+
- [README](bundlers/README.md)
13+
- [Compatibility Test Suite](bundlers/compatibility-test-suite.md)
14+
- [Userop Mempool Overview](bundlers/userop-mempool-overview.md)
15+
- [Censorship Resistance](bundlers/censorship-resistance.md)
16+
- [Simulation Requirements](bundlers/simulation-requirements.md)
17+
- [Monitoring And Metrics](bundlers/monitoring-and-metrics.md)
18+
19+
- [💰 Paymasters](paymasters/)
20+
- [README](paymasters/README.md)
21+
- [Paymaster Types](paymasters/types.md)
22+
- [Security And Griefing](paymasters/security-and-griefing.md)
23+
- [Design Patterns](paymasters/design-patterns.md)
24+
- [Examples And SDKs](paymasters/examples-and-sdks.md)
25+
26+
- [⛓️ L2s](l2s/)
27+
- [README](l2s/README.md)
28+
- [RIP-7560](l2s/rip-7560.md)
29+
- [OP Superchain ERC-4337 Dataset Explained](l2s/superchain-4337-dataset-explained.md)
30+
- [How To Create Your Own ERC-4337 Metrics](l2s/how-to-create-your-own-4337-metrics.md)
31+
32+
- [🌿 Core Standards](core-standards/)
33+
- [README](core-standards/README.md)
34+
- [ERC-4337](core-standards/erc-4337.md)
35+
- [ERC-7562](core-standards/erc-7562.md)
36+
- [EIP-7701](core-standards/eip-7701.md)
37+
- [RIP-7560](core-standards/rip-7560.md)
38+
- [RIP-7711](core-standards/rip-7711.md)
39+
- [RIP-7712](core-standards/rip-7712.md)
40+
41+
- [🤝 Community](community/)
42+
- [README](community/README.md)
43+
- [Ethereum Foundation Grants](community/ef-grants.md)
44+
- [AA Hub @ Devcon 7](community/aa-hub-devcon7.md)
45+
- [Bug Bounty](community/bug-bounty.md)
46+
47+
- [📚 Resources](resources/)
48+
- [README](resources/README.md)
49+
- [Reading Materials](resources/reading-material.md)
50+
- [Videos](resources/videos.md)
51+
- [FAQ](resources/faqs.md)
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
---
2-
title: Bundlers
3-
description: Overview of Bundlers in the ERC-4337 architecture.
4-
sidebar_position: 1
5-
---
61

72
# 📦 Bundlers
83

4+
## Overview of Bundlers in the ERC-4337 architecture.
5+
96
Bundlers are the relayers of ERC-4337. They collect `UserOperations`, simulate them for validity, and package them into a call to the EntryPoint contract on-chain.
107

118
They are a critical part of the infrastructure that makes Account Abstraction work without consensus-layer changes.
@@ -25,6 +22,7 @@ They are a critical part of the infrastructure that makes Account Abstraction wo
2522
## 🔍 Why Are They Needed?
2623

2724
Ethereum’s base protocol doesn’t natively support `UserOperation`-style logic. Bundlers:
25+
2826
- Act like “miners for smart wallets”
2927
- Provide validation guarantees for off-chain mempools
3028
- Allow modular signature and sponsorship logic without protocol changes
@@ -36,6 +34,7 @@ Ethereum’s base protocol doesn’t natively support `UserOperation`-style logi
3634
All bundlers interact with a canonical **EntryPoint contract**, which is deployed at a fixed address per network (e.g. v0.6, v0.7, v0.8).
3735

3836
They must support:
37+
3938
- `handleOps()` to process batched `UserOperations`
4039
- `simulateValidation()` to precheck operations without state changes
4140

@@ -44,6 +43,7 @@ They must support:
4443
## 🤑 Incentives
4544

4645
Bundlers receive:
46+
4747
- Priority fees specified in each `UserOperation`
4848
- Refunds from the account or Paymaster for gas used
4949

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
---
2-
title: Censorship Resistance
3-
description: How the alt mempool and Shared Mempool protect UserOp inclusion.
4-
sidebar_position: 4
5-
---
6-
# Censorship Resistance in ERC-4337
1+
# Censorship Resistance
2+
3+
## How the alt mempool and Shared Mempool protect UserOp inclusion.
4+
75

86
From the very beginning, ERC-4337 was designed to support a decentralized, censorship-resistant transaction flow for Account Abstraction. A key part of that vision was the creation of a **separate, peer-to-peer mempool for UserOperations**, distinct from Ethereum’s native transaction mempool. However, realizing this architecture took time — and until late 2024, most bundlers relied on **private, isolated queues** that undermined the original goals.
97

@@ -12,6 +10,7 @@ From the very beginning, ERC-4337 was designed to support a decentralized, censo
1210
## ⚠️ Centralization Risk Without Global Propagation
1311

1412
In a fragmented ecosystem:
13+
1514
- Bundlers can selectively drop or ignore `UserOperation`s
1615
- Users relying on a single RPC or bundler can be censored
1716

@@ -56,6 +55,7 @@ The ecosystem is currently transitioning from Stage 1 to Stage 2, with growing a
5655
## 🤝 Relevance to EIP-7702
5756

5857
Even outside of ERC-4337, the Shared Mempool helps:
58+
5959
- EIP-7702 introduces temporarily smart-enabled EOAs
6060
- These can be relayed via the UserOp mempool, not the canonical one
6161
- This enhances censorship resistance for wallets adopting 7702 logic
@@ -66,7 +66,9 @@ Ethereum.org recommends using the UserOp mempool as a best practice for 7702 onb
6666
---
6767

6868
📖 Learn more:
69+
6970
- [Unified ERC-4337 mempool](https://notes.ethereum.org/@yoav/unified-erc-4337-mempool)
71+
- [Trust me - don't trust anyone](https://erc4337.substack.com/?r=22nd9&utm_campaign=pub&utm_medium=web)
7072
- [ERC-4337 Shared Mempool Launch](https://etherspot.io/blog/erc-4337-shared-mempool-official-launch-on-ethereum-mainnet-arbitrum-and-optimism/)
7173
- [Decentralized Future of Shared Mempool](https://medium.com/etherspot/decentralized-future-erc-4337-shared-mempool-launches-on-ethereum-b6c860072f41)
7274
- [Mempool Stages Framework](https://substack.com/home/post/p-163060056)
Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
1-
---
2-
title: Bundler Compatibility Test Suite
3-
description: Overview and link to external bundler conformance test results.
4-
sidebar_position: 2
5-
---
61

7-
# Bundler Compatibility Test Suite
2+
# Compatibility Test Suite
3+
4+
## Overview and link to external bundler conformance test results.
85

96
This Bundler Compatibility Test Suite results page serves as a reference for ongoing compatibility testing across bundlers in the ERC-4337 ecosystem.
107

118
An external test suite has been developed to verify that bundlers:
9+
1210
- Correctly implement the EntryPoint interface
1311
- Respect simulation and validation rules
1412
- Safely handle edge cases and reverts
@@ -30,9 +28,10 @@ The tests simulate a wide variety of `UserOperations`, from valid edge cases to
3028

3129
Test results are tracked live at:
3230

33-
👉 [https://bundlers.erc4337.io/](https://bundlers.erc4337.io/)
31+
👉 <a href="https://bundlers.erc4337.io/" target="_blank">https://bundlers.erc4337.io/</a>
3432

3533
This includes:
34+
3635
- A matrix of passing/failing tests for each bundler
3736
- Notes on client-specific quirks or deviations
3837
- Historical conformance data
Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
---
2-
title: Monitoring and Metrics
3-
description: How to track and debug bundler performance in ERC-4337 systems.
4-
sidebar_position: 6
5-
---
61

7-
# Monitoring and Metrics for Bundlers
2+
# Monitoring and Metrics
3+
4+
## How to track and debug bundler performance in ERC-4337 systems.
5+
6+
87

98
Running a reliable bundler requires robust observability. From mempool activity to simulation results and gas refunds, operators need insight into every layer of the ERC-4337 stack.
109

@@ -13,34 +12,26 @@ Running a reliable bundler requires robust observability. From mempool activity
1312
## 📊 What to Monitor
1413

1514
### UserOp Lifecycle
15+
1616
- Ingress: Count of UserOps received per second
1717
- Validation results: pass/fail reasons
1818
- Bundle size and frequency
1919
- Inclusion latency (time-to-handleOps)
2020

2121
### Simulation
22+
2223
- Calls to `simulateValidation`
2324
- Revert rates by failure class (signature, paymaster, initCode)
2425
- Gas estimation accuracy
2526

2627
### EntryPoint Interaction
28+
2729
- Successful vs failed `handleOps()` calls
2830
- Average gas used per UserOp
2931
- Revenue tracking: priority fee, refund breakdown
3032

3133
---
3234

33-
## 🧰 Tools and Dashboards
34-
35-
### Custom Logs and Metrics
36-
- Export Prometheus or OpenTelemetry metrics
37-
- Log UserOp hashes, error types, and bundling cycles
38-
39-
### Ready-made Dashboards
40-
- **Pimlico**: Offers a bundler dashboard with real-time metrics and mempool stats
41-
- **Silius**: Exposes simulation logs and operation state via API
42-
43-
---
4435

4536
## 🔄 Integration with Alerting
4637

0 commit comments

Comments
 (0)