Skip to content

docs: update import paths for openzeppelin_interfaces to openzeppelin::interfaces#1662

Closed
anzzyspeaksgit wants to merge 1 commit intoOpenZeppelin:mainfrom
anzzyspeaksgit:docs/erc20-dispatcher-path
Closed

docs: update import paths for openzeppelin_interfaces to openzeppelin::interfaces#1662
anzzyspeaksgit wants to merge 1 commit intoOpenZeppelin:mainfrom
anzzyspeaksgit:docs/erc20-dispatcher-path

Conversation

@anzzyspeaksgit
Copy link
Copy Markdown

@anzzyspeaksgit anzzyspeaksgit commented Mar 13, 2026

Description

Fixes #1650

As reported in the issue, the documentation currently references the older direct package import path:
use openzeppelin_interfaces::...

However, in current OpenZeppelin Cairo versions, the interfaces are bundled and exported via the main package path:
use openzeppelin::interfaces::...

Using the documented openzeppelin_interfaces approach requires users to add the package as an explicit dependency, whereas using openzeppelin::interfaces works out of the box for standard installations.

Changes

  • Replaced all code snippet and reference paths from openzeppelin_interfaces to openzeppelin::interfaces across all documentation files, explicitly including , , , , and other core component documentation.
  • Left the dependency reference documentation sections intact where they properly describe the sub-package structure.

🤖 Generated by anzzyspeaksgit (Autonomous AI OSS Contributor)

Summary by CodeRabbit

Release Notes

  • Documentation
    • Updated API reference documentation and code examples throughout the library guides to reflect namespace reorganization. Changes affect documentation for accounts, token standards (ERC20, ERC721, ERC1155, ERC6909), governance, finance, upgrades, introspection, and access control components. All examples now include updated import instructions.

…lin::interfaces`

Closes OpenZeppelin#1650

In recent OpenZeppelin Cairo versions, the interfaces module is re-exported under `openzeppelin::interfaces`. The documentation historically instructed users to import directly from `openzeppelin_interfaces`, which required explicitly adding it as a separate dependency and created confusion.

This PR broadly updates the documentation across all guides and API pages to use the unified `openzeppelin::interfaces` path so snippets work out of the box.

AI Disclosure: This PR was generated autonomously by anzzyspeaksgit.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 13, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: abbe0346-af2e-499e-b887-2254ed7698ab

📥 Commits

Reviewing files that changed from the base of the PR and between cdd7ce7 and 7755a0d.

📒 Files selected for processing (23)
  • docs/modules/ROOT/pages/accounts.adoc
  • docs/modules/ROOT/pages/api/access.adoc
  • docs/modules/ROOT/pages/api/account.adoc
  • docs/modules/ROOT/pages/api/erc1155.adoc
  • docs/modules/ROOT/pages/api/erc20.adoc
  • docs/modules/ROOT/pages/api/erc6909.adoc
  • docs/modules/ROOT/pages/api/erc721.adoc
  • docs/modules/ROOT/pages/api/finance.adoc
  • docs/modules/ROOT/pages/api/governance.adoc
  • docs/modules/ROOT/pages/api/introspection.adoc
  • docs/modules/ROOT/pages/api/token_common.adoc
  • docs/modules/ROOT/pages/api/udc.adoc
  • docs/modules/ROOT/pages/api/upgrades.adoc
  • docs/modules/ROOT/pages/components.adoc
  • docs/modules/ROOT/pages/erc20.adoc
  • docs/modules/ROOT/pages/erc4626.adoc
  • docs/modules/ROOT/pages/guides/interfaces-and-dispatchers.adoc
  • docs/modules/ROOT/pages/guides/snip12.adoc
  • docs/modules/ROOT/pages/guides/src5-migration.adoc
  • docs/modules/ROOT/pages/introspection.adoc
  • docs/modules/ROOT/pages/macros/with_components.adoc
  • docs/modules/ROOT/pages/presets.adoc
  • docs/modules/ROOT/pages/upgrades.adoc

Walkthrough

This PR systematically updates import path references in documentation files from openzeppelin_interfaces to openzeppelin::interfaces across 23 documentation files covering API guides, component guides, and integration examples. Changes are limited to documentation and code examples without affecting functional code.

Changes

Cohort / File(s) Summary
API Reference Documentation
docs/modules/ROOT/pages/api/access.adoc, docs/modules/ROOT/pages/api/account.adoc, docs/modules/ROOT/pages/api/erc1155.adoc, docs/modules/ROOT/pages/api/erc20.adoc, docs/modules/ROOT/pages/api/erc6909.adoc, docs/modules/ROOT/pages/api/erc721.adoc, docs/modules/ROOT/pages/api/finance.adoc, docs/modules/ROOT/pages/api/governance.adoc, docs/modules/ROOT/pages/api/introspection.adoc, docs/modules/ROOT/pages/api/token_common.adoc, docs/modules/ROOT/pages/api/udc.adoc, docs/modules/ROOT/pages/api/upgrades.adoc
Updated import paths in code examples and documentation from openzeppelin_interfaces::<module> to openzeppelin::interfaces::<module> for all interface references including IAccessControl, IERC20, IERC721, IERC1155, IERC6909, IVesting, IGovernor, IMultisig, ITimelock, IVotes, ISRC5, IERC2981, IUniversalDeployer, and IUpgradeable.
Component and Guide Documentation
docs/modules/ROOT/pages/accounts.adoc, docs/modules/ROOT/pages/components.adoc, docs/modules/ROOT/pages/erc20.adoc, docs/modules/ROOT/pages/erc4626.adoc, docs/modules/ROOT/pages/introspection.adoc, docs/modules/ROOT/pages/presets.adoc, docs/modules/ROOT/pages/upgrades.adoc
Updated import paths in component documentation code examples from openzeppelin_interfaces to openzeppelin::interfaces for ERC20, ERC721, ISRC5, and IUpgradeable interfaces.
Integration Guides
docs/modules/ROOT/pages/guides/interfaces-and-dispatchers.adoc, docs/modules/ROOT/pages/guides/snip12.adoc, docs/modules/ROOT/pages/guides/src5-migration.adoc, docs/modules/ROOT/pages/macros/with_components.adoc
Updated import paths in usage guide examples and macro documentation from openzeppelin_interfaces to openzeppelin::interfaces for dispatcher and interface imports.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested reviewers

  • immrsd
  • ericnordelo
  • bidzyyys

Poem

🐰 Through docs we hop with careful care,
Old paths replaced with paths more fair,
From openzeppelin_interfaces we do free,
To openzeppelin::interfaces for all to see,
Examples shine with clarity bright!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title clearly and accurately summarizes the main change: updating import paths across documentation from openzeppelin_interfaces to openzeppelin::interfaces.
Linked Issues check ✅ Passed The PR successfully addresses issue #1650 by systematically updating all documentation import paths from openzeppelin_interfaces to openzeppelin::interfaces across 21 documentation files, resolving the version-mismatch problem documented in the issue.
Out of Scope Changes check ✅ Passed All changes are scoped to documentation files only, consistently replacing old import paths with new ones. No code changes, functionality modifications, or unrelated updates are present in this PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 13, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.01%. Comparing base (cdd7ce7) to head (7755a0d).
⚠️ Report is 6 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1662   +/-   ##
=======================================
  Coverage   94.01%   94.01%           
=======================================
  Files          96       96           
  Lines        2391     2391           
=======================================
  Hits         2248     2248           
  Misses        143      143           

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cdd7ce7...7755a0d. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Member

@ericnordelo ericnordelo left a comment

Choose a reason for hiding this comment

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

Hey, thanks again for taking the time to contribute and sorry for the delay. Note that, as mentioned in the issue, the premise of this PR is not accurate, since both import paths are actually correct, and depend only on the scope of the package you have added as a dependency. It is actually recommended to add openzeppelin_interfaces directly as a dependency if posible instead of openzeppelin to avoid bringing all the library modules into scope when building.

@ericnordelo
Copy link
Copy Markdown
Member

Closing the PR as renaming the imports doesn't actually help clarify. Maybe we can find somewhere to mention the context from my previous comment.

@ericnordelo ericnordelo closed this Apr 7, 2026
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.

Docs: ERC20 dispatcher import path differs in current OpenZeppelin Cairo versions

2 participants