From c7281556518cce9a6067daa7346bcebbe2b4c9fe Mon Sep 17 00:00:00 2001 From: iteye Date: Wed, 28 Aug 2024 19:09:51 +0800 Subject: [PATCH] add ISemver.sol --- contracts/ERC5018.sol | 3 ++- contracts/ISemver.sol | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 contracts/ISemver.sol diff --git a/contracts/ERC5018.sol b/contracts/ERC5018.sol index 859080b..881d4f6 100644 --- a/contracts/ERC5018.sol +++ b/contracts/ERC5018.sol @@ -4,8 +4,9 @@ pragma solidity ^0.8.0; import "./IERC5018.sol"; import "./LargeStorageManager.sol"; import "./BlobStorageManager.sol"; +import "./ISemver.sol"; -contract ERC5018 is IERC5018, LargeStorageManager, BlobStorageManager { +contract ERC5018 is LargeStorageManager, BlobStorageManager, IERC5018, ISemver { enum StorageMode { Uninitialized, diff --git a/contracts/ISemver.sol b/contracts/ISemver.sol new file mode 100644 index 0000000..22a5dde --- /dev/null +++ b/contracts/ISemver.sol @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +/// @title ISemver +/// @notice ISemver is a simple contract for ensuring that contracts are +/// versioned using semantic versioning. +interface ISemver { + /// @notice Getter for the semantic version of the contract. This is not + /// meant to be used onchain but instead meant to be used by offchain + /// tooling. + /// @return Semver contract version as a string. + function version() external view returns (string memory); +}