Interfaces
Smart contract interfaces utilities and implementations
List of standardized interfaces
These interfaces are available as .sol files. These are useful to interact with third party contracts that implement them.
IERC7913SignatureVerifierIERC7943
Detailed ABI
IERC7913SignatureVerifier IERC7943import "@openzeppelin/community-contracts/contracts/interfaces/IERC7786Attributes.sol";Standard attributes for ERC-7786. These attributes may be standardized in different ERCs.
requestRelay(uint256 value, uint256 gasLimit, address refundRecipient)
external
#import "@openzeppelin/community-contracts/contracts/interfaces/IERC7943.sol";Functions
Errors
forcedTransfer(address from, address to, uint256 amount) → bool result
external
#Requires specific authorization. Used for regulatory compliance or recovery scenarios.
setFrozenTokens(address account, uint256 amount) → bool result
external
#Requires specific authorization. Frozen tokens cannot be transferred by the account.
canTransact(address account) → bool allowed
external
#This is often used for allowlist/KYC/KYB/AML checks.
getFrozenTokens(address account) → uint256 amount
external
#It could return an amount higher than the account's balance.
canTransfer(address from, address to, uint256 amount) → bool allowed
external
#This can involve checks like allowlists, blocklists, transfer limits and other policy-defined restrictions.
ForcedTransfer(address indexed from, address indexed to, uint256 amount)
event
#Frozen(address indexed account, uint256 amount)
event
#ERC7943CannotTransact(address account)
error
#ERC7943CannotTransfer(address from, address to, uint256 amount)
error
#ERC7943InsufficientUnfrozenBalance(address account, uint256 amount, uint256 unfrozen)
error
#import "@openzeppelin/community-contracts/contracts/interfaces/IERC7943.sol";Functions
Errors
forcedTransfer(address from, address to, uint256 tokenId) → bool result
external
#Requires specific authorization. Used for regulatory compliance or recovery scenarios.
setFrozenTokens(address account, uint256 tokenId, bool frozenStatus) → bool result
external
#Requires specific authorization. Frozen tokens cannot be transferred by the account.
canTransact(address account) → bool allowed
external
#This is often used for allowlist/KYC/KYB/AML checks.
getFrozenTokens(address account, uint256 tokenId) → bool frozenStatus
external
#It could return true even if account does not hold the token.
canTransfer(address from, address to, uint256 tokenId) → bool allowed
external
#This can involve checks like allowlists, blocklists, transfer limits and other policy-defined restrictions.
ForcedTransfer(address indexed from, address indexed to, uint256 indexed tokenId)
event
#Frozen(address indexed account, uint256 indexed tokenId, bool indexed frozenStatus)
event
#ERC7943CannotTransact(address account)
error
#ERC7943CannotTransfer(address from, address to, uint256 tokenId)
error
#ERC7943InsufficientUnfrozenBalance(address account, uint256 tokenId)
error
#import "@openzeppelin/community-contracts/contracts/interfaces/IERC7943.sol";Functions
Errors
forcedTransfer(address from, address to, uint256 tokenId, uint256 amount) → bool result
external
#Requires specific authorization. Used for regulatory compliance or recovery scenarios.
setFrozenTokens(address account, uint256 tokenId, uint256 amount) → bool result
external
#Requires specific authorization. Frozen tokens cannot be transferred by the account.
canTransact(address account) → bool allowed
external
#This is often used for allowlist/KYC/KYB/AML checks.
getFrozenTokens(address account, uint256 tokenId) → uint256 amount
external
#It could return an amount higher than the account's balance.
canTransfer(address from, address to, uint256 tokenId, uint256 amount) → bool allowed
external
#This can involve checks like allowlists, blocklists, transfer limits and other policy-defined restrictions.
ForcedTransfer(address indexed from, address indexed to, uint256 indexed tokenId, uint256 amount)
event
#Frozen(address indexed account, uint256 indexed tokenId, uint256 amount)
event
#ERC7943CannotTransact(address account)
error
#ERC7943CannotTransfer(address from, address to, uint256 tokenId, uint256 amount)
error
#ERC7943InsufficientUnfrozenBalance(address account, uint256 tokenId, uint256 amount, uint256 unfrozen)
error
#import "@openzeppelin/community-contracts/contracts/interfaces/IERC7969.sol";This interface provides a standard way to register and validate DKIM public key hashes onchain Domain owners can register their DKIM public key hashes and third parties can verify their validity The interface enables email-based account abstraction and secure account recovery mechanisms.
The ERC-165 identifier for this interface is 0xdee3d600.
Functions
isKeyHashValid(bytes32 domainHash, bytes32 keyHash) → bool
external
#Checks if a DKIM key hash is valid for a given domain
KeyHashRegistered(bytes32 domainHash, bytes32 keyHash)
event
#Emitted when a new DKIM public key hash is registered for a domain
KeyHashRevoked(bytes32 domainHash)
event
#Emitted when a DKIM public key hash is revoked for a domain