From 9689c5ac08dc54df3b6529a59ffb1693ff2dff66 Mon Sep 17 00:00:00 2001 From: Lanyin Z <106770708+lanyinzly@users.noreply.github.com> Date: Tue, 24 Sep 2024 11:12:23 -0400 Subject: [PATCH] Update ERC-7527: Update erc-7527.md Merged by EIP-Bot. --- ERCS/erc-7527.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/ERCS/erc-7527.md b/ERCS/erc-7527.md index 042dcbce31..0f53f4d4ef 100644 --- a/ERCS/erc-7527.md +++ b/ERCS/erc-7527.md @@ -143,6 +143,14 @@ interface IERC7527Agency { */ function getStrategy() external view returns (address app, Asset memory asset, bytes memory attributeData); + /** + * @dev Returns the premium and fee of wrapping. + * @param data The data to encode to calculate the premium and fee of wrapping. + * @return premium The premium of wrapping. + * @return fee The fee of wrapping. + */ + function getWrapOracle(bytes memory data) external view returns (uint256 premium, uint256 fee); + /** * @dev Returns the premium and fee of unwrapping. * @param data The data to encode to calculate the premium and fee of unwrapping. @@ -152,12 +160,10 @@ interface IERC7527Agency { function getUnwrapOracle(bytes memory data) external view returns (uint256 premium, uint256 fee); /** - * @dev Returns the premium and fee of wrapping. - * @param data The data to encode to calculate the premium and fee of wrapping. - * @return premium The premium of wrapping. - * @return fee The fee of wrapping. + * @dev OPTIONAL - This method can be used to improve usability and clarity of Agency, but interfaces and other contracts MUST NOT expect these values to be present. + * @return the description of the agency, such as how `getWrapOracle()` and `getUnwrapOracle()` are calculated. */ - function getWrapOracle(bytes memory data) external view returns (uint256 premium, uint256 fee); + function description() public view returns (string); } ``` @@ -216,6 +222,8 @@ Token ID can be specified in `data` parameter of `mint` function. ### Factory Interface +OPTIONAL - This interface can be used to deploy App and Agency, but interfaces and other contracts MUST NOT expect this interface to be present. + If a factory is needed to deploy bounded App and Agency, the factory SHALL implement the following interface: ```