Skip to content

docs(ecosystem-adapters): add comprehensive documentation for OpenZeppelin Ecosystem Adapters#142

Merged
MCarlomagno merged 12 commits into
OpenZeppelin:mainfrom
pasevin:cursor/ecosystem-adapters-documentation-000c
Apr 27, 2026
Merged

docs(ecosystem-adapters): add comprehensive documentation for OpenZeppelin Ecosystem Adapters#142
MCarlomagno merged 12 commits into
OpenZeppelin:mainfrom
pasevin:cursor/ecosystem-adapters-documentation-000c

Conversation

@pasevin

@pasevin pasevin commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

Documentation Pull Request

Summary

Adds a new 5-page documentation section for OpenZeppelin Ecosystem Adapters — the modular, chain-specific integration packages that bridge blockchain ecosystems and developer tooling.

Pages added:

Page Content
Overview (/ecosystem-adapters) Introduction, package listing, key design principles, consumer applications
Architecture (/ecosystem-adapters/architecture) Capability tiers, profiles, runtime lifecycle, execution strategies, sub-path exports
Getting Started (/ecosystem-adapters/getting-started) Installation, quick start, individual capability consumption, Vite integration, error handling
Supported Ecosystems (/ecosystem-adapters/supported-ecosystems) Per-adapter details (EVM, Stellar, Polkadot, Midnight, Solana) with capability support matrix
Building an Adapter (/ecosystem-adapters/building-an-adapter) Step-by-step guide with code examples, package structure, contribution checklist

Diagrams included (rendered via Mermaid):

  • Package topology flowchart
  • Compact 3-tier capability overview
  • Runtime lifecycle sequence diagram
  • Execution strategy decision flowchart
  • Incremental adoption path for new adapter authors

Tables used for matrix data (cleaner than flowcharts for cross-references):

  • Profile-Capability checkmark matrix (13 capabilities x 5 profiles)
  • Capability tier summary table
  • Capability support matrix across ecosystems

Type of Change

  • New documentation
  • Add examples or tutorials

Related Issues

Relates to https://github.com/OpenZeppelin/openzeppelin-adapters

Checklist

Additional Notes

  • Navigation is wired into both a standalone ecosystemAdaptersTree (for /ecosystem-adapters/* paths) and every ecosystem sidebar (ethereum-evm.json, stellar.json, polkadot.json, midnight.json, and arbitrum-stylus.json) under Open Source Tools for discoverability.
  • All MDX content uses only globally-available fumadocs components (Callout, Card, Cards) and Mermaid diagrams — no custom imports needed.
  • Diagrams use Mermaid flowchart and sequenceDiagram types only (avoiding unsupported types like block-beta).

cursoragent and others added 9 commits April 7, 2026 11:56
…pelin Ecosystem Adapters

- Add 5 documentation pages: overview, architecture, getting started, supported ecosystems, building an adapter
- Include Mermaid diagrams for package topology, capability tiers, profiles, runtime lifecycle, and execution strategies
- Add navigation config (ecosystem-adapters.json) and wire into sidebar
- Add Ecosystem Adapters section to ethereum-evm.json navigation under Open Source Tools
- Register ecosystemAdaptersTree in navigation index and use-navigation-tree hook

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
…x with flowchart subgraphs

The block-beta diagram type causes a circular JSON serialization error in
the Mermaid component. Replace with flowchart subgraphs which render
correctly with colored tier groupings.

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
…rint

- Overview: replace expanded 13-node tier tree with compact 3-node summary
- Architecture: replace oversized Mermaid tier diagram with a single clean table
- Removes redundant duplicate tier table

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
…capability matrix

The Mermaid flowchart with cross-links between profiles and capabilities
created a cluttered spider-web visual. Replaced with a single clear
checkmark matrix table that shows exactly which capabilities each profile
includes at a glance.

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
…mary table

The Mermaid subgraph cards took excessive vertical space for minimal info.
Replaced with a single 5-row table showing adapter, networks, capability
count, and status.

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
- Add 'Using with React' section covering wallet context providers,
  configureUiKit, connectWallet/disconnectWallet, and hook facade pattern
  (useAccount, useSwitchChain, etc.)
- Add 'Multi-Ecosystem Apps' section showing how to instantiate runtimes
  from EVM + Stellar adapters in the same application
- Add prominent link to the adapters GitHub repo on the overview page
- All API details referenced from adapter source code

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
…ation-27d3

feat(ecosystem-adapters): add React integration and multi-ecosystem documentation
Add the Ecosystem Adapters folder to Stellar, Polkadot, Midnight, and
Arbitrum Stylus navigation trees so the section is discoverable from
every supported ecosystem, not just EVM.

Co-authored-by: Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>
…ation-27d3

feat(navigation): add Ecosystem Adapters to all ecosystem sidebars
@netlify

netlify Bot commented Apr 7, 2026

Copy link
Copy Markdown

Deploy Preview for openzeppelin-docs-v2 ready!

Name Link
🔨 Latest commit 58a41d2
🔍 Latest deploy log https://app.netlify.com/projects/openzeppelin-docs-v2/deploys/69ef15e84d70a50008b290b4
😎 Deploy Preview https://deploy-preview-142--openzeppelin-docs-v2.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@pasevin pasevin changed the title feat(ecosystem-adapters): add comprehensive documentation for OpenZeppelin Ecosystem Adapters docs(ecosystem-adapters): add comprehensive documentation for OpenZeppelin Ecosystem Adapters Apr 9, 2026

@stevep0z stevep0z left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall this reads really well. Structure, tone, and scaffolding are solid. A few thoughts to consider, none required:

  • Em dashes and dashes. Could we remove em dashes () and regular hyphens in prose throughout? Prefer ending the sentence where appropriate, or using a comma; semicolons sparingly. They appear frequently across all five pages (e.g. "Adapters solve this with a capability based decomposition. Each chain implements only..."). Pure stylistic preference, but worth a pass.
  • Sidebar grouping. Wonder if Ecosystem Adapters (and UIKit when #145 lands) belong in their own group rather than under "Open Source Tools." That section reads as off the shelf apps (Relayer, Monitor, UI Builder, Role Manager, Defender), whereas Adapters and UIKit are libraries devs pull into their own builds. Could be worth a separate separator like "Developer Libraries" or "SDKs" to signal the difference.
  • building-an-adapter.mdx Step 1. The isValidAddress example uses an EVM regex under a comment that says "your chain's address validation logic." For non EVM readers it reads as if 40 hex is universal. Suggest making the example's chain explicit (// Replace with your chain's address format. EVM example:), or showing 2 or 3 side by side (EVM, Stellar StrKey, Polkadot ss58).

pasevin added 2 commits April 27, 2026 10:39
Use lastEcosystem for /ecosystem-adapters like relayer/monitor; drop
standalone ecosystemAdaptersTree. Add tab url rules and midnight context.
Polish MDX prose; document viem isAddress for EVM addressing.
- useNavigationTree: keep useState lastEcosystem + effect (hydration); set
  zama from /confidential-contracts and midnight from /contracts-compact; add
  zama and ecosystem-adapters to shared-path switch.
- docs-layout: same state pattern; merge zamaUrls with ecosystem-adapters tab
  attribution and Ethereum/Midnight conditional urls.
@MCarlomagno MCarlomagno merged commit 11febce into OpenZeppelin:main Apr 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants