The interfaces package provides a comprehensive list of standardized interfaces, ABI traits, and dispatchers used across the OpenZeppelin Cairo contracts ecosystem. These interfaces ensure interoperability between different contracts (e.g., ERC20, ERC721, Governance) and provide a consistent way to interact with contract functionality via ABI traits.
Standardized Interfaces
These interfaces define the expected behavior for various contract types, including access control, tokens, and governance. Common categories include:
- Access Control:
IAccessControl, IOwnable, IOwnableTwoStep. - Tokens:
IERC20, IERC721, IERC1155, IERC4626 (Vaults), IERC2981 (Royalties). - Governance:
IGovernor, IMultisig, ITimelock, IVotes. - Upgrades:
IUpgradeable, IUpgradeAndCall.
ABI Traits
ABI traits are used to facilitate cross-contract calls and interaction with the contract's application binary interface. Available traits include:
AccessControlABIOwnableABIERC20ABIERC721ABIERC1155ABIERC4626ABIUniversalDeployerABI (and others listed in the package).