This EIP adds a new ERC-4804resolveMode to resolve ERC-5219 contract resource requests.
Specification
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119 and RFC 8174.
Contracts wishing to use ERC-5219 as their ERC-4804 resolve mode must implement the following interface:
/// @dev IDecentralizedApp is the ERC-5219 interface
interfaceIERC5219ResolverisIDecentralizedApp{// @notice The ERC-4804 resolve mode
// @dev This MUST return "5219" (0x3532313900000000000000000000000000000000000000000000000000000000) for ERC-5219 resolution (case-insensitive). The other options, as of writing this, are "auto" for automatic resolution, or "manual" for manual resolution.
functionresolveMode()externalpurereturns(bytes32mode);}
Rationale
ERC-165 was not used because interoperability can be checked by calling resolveMode.