Commit df7996b6 by Hadrien Croubois

add Available since 4.1 comments

(cherry picked from commit 9a698e6b)
parent 915109b2
...@@ -99,6 +99,8 @@ abstract contract AccessControl is Context, IAccessControl, ERC165 { ...@@ -99,6 +99,8 @@ abstract contract AccessControl is Context, IAccessControl, ERC165 {
* The format of the revert reason is given by the following regular expression: * The format of the revert reason is given by the following regular expression:
* *
* /^AccessControl: account (0x[0-9a-f]{20}) is missing role (0x[0-9a-f]{32})$/ * /^AccessControl: account (0x[0-9a-f]{20}) is missing role (0x[0-9a-f]{32})$/
*
* _Available since v4.1._
*/ */
modifier onlyRole(bytes32 role) { modifier onlyRole(bytes32 role) {
_checkRole(role, _msgSender()); _checkRole(role, _msgSender());
......
...@@ -5,6 +5,8 @@ pragma solidity ^0.8.0; ...@@ -5,6 +5,8 @@ pragma solidity ^0.8.0;
/** /**
* @dev Interface of the ERC1271 standard signature validation method for * @dev Interface of the ERC1271 standard signature validation method for
* contracts as defined in https://eips.ethereum.org/EIPS/eip-1271[ERC-1271]. * contracts as defined in https://eips.ethereum.org/EIPS/eip-1271[ERC-1271].
*
* _Available since v4.1._
*/ */
interface IERC1271 { interface IERC1271 {
/** /**
......
...@@ -5,6 +5,8 @@ pragma solidity ^0.8.0; ...@@ -5,6 +5,8 @@ pragma solidity ^0.8.0;
/** /**
* @dev Interface of the ERC3156 FlashBorrower, as defined in * @dev Interface of the ERC3156 FlashBorrower, as defined in
* https://eips.ethereum.org/EIPS/eip-3156[ERC-3156]. * https://eips.ethereum.org/EIPS/eip-3156[ERC-3156].
*
* _Available since v4.1._
*/ */
interface IERC3156FlashBorrower { interface IERC3156FlashBorrower {
/** /**
......
...@@ -9,6 +9,8 @@ import "../../utils/StorageSlot.sol"; ...@@ -9,6 +9,8 @@ import "../../utils/StorageSlot.sol";
/** /**
* @dev This abstract contract provides setters and getters for the different * @dev This abstract contract provides setters and getters for the different
* https://eips.ethereum.org/EIPS/eip-1967[EIP1967] storage slots. * https://eips.ethereum.org/EIPS/eip-1967[EIP1967] storage slots.
*
* _Available since v4.1._
*/ */
abstract contract ERC1967Storage { abstract contract ERC1967Storage {
/** /**
......
...@@ -8,6 +8,8 @@ import "./ERC1967Storage.sol"; ...@@ -8,6 +8,8 @@ import "./ERC1967Storage.sol";
* @dev This abstract contract provides event emitting update functions for * @dev This abstract contract provides event emitting update functions for
* https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots. * https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots.
* *
* _Available since v4.1._
*
* @custom:oz-upgrades-unsafe-allow delegatecall * @custom:oz-upgrades-unsafe-allow delegatecall
*/ */
abstract contract ERC1967Upgrade is ERC1967Storage { abstract contract ERC1967Upgrade is ERC1967Storage {
......
...@@ -10,6 +10,8 @@ import "../ERC1967/ERC1967Upgrade.sol"; ...@@ -10,6 +10,8 @@ import "../ERC1967/ERC1967Upgrade.sol";
* continuation of the upgradability. * continuation of the upgradability.
* *
* The {_authorizeUpgrade} function MUST be overridden to include access restriction to the upgrade mechanism. * The {_authorizeUpgrade} function MUST be overridden to include access restriction to the upgrade mechanism.
*
* _Available since v4.1._
*/ */
abstract contract UUPSUpgradeable is ERC1967Upgrade { abstract contract UUPSUpgradeable is ERC1967Upgrade {
function upgradeTo(address newImplementation) external virtual { function upgradeTo(address newImplementation) external virtual {
......
...@@ -6,6 +6,8 @@ import "../IERC20.sol"; ...@@ -6,6 +6,8 @@ import "../IERC20.sol";
/** /**
* @dev Interface for the optional metadata functions from the ERC20 standard. * @dev Interface for the optional metadata functions from the ERC20 standard.
*
* _Available since v4.1._
*/ */
interface IERC20Metadata is IERC20 { interface IERC20Metadata is IERC20 {
/** /**
......
...@@ -11,6 +11,8 @@ import "../ERC20.sol"; ...@@ -11,6 +11,8 @@ import "../ERC20.sol";
* *
* Adds the {flashLoan} method, which provides flash loan support at the token * Adds the {flashLoan} method, which provides flash loan support at the token
* level. By default there is no fee, but this can be changed by overriding {flashFee}. * level. By default there is no fee, but this can be changed by overriding {flashFee}.
*
* _Available since v4.1._
*/ */
abstract contract ERC20FlashMint is ERC20, IERC3156FlashLender { abstract contract ERC20FlashMint is ERC20, IERC3156FlashLender {
bytes32 constant private RETURN_VALUE = keccak256("ERC3156FlashBorrower.onFlashLoan"); bytes32 constant private RETURN_VALUE = keccak256("ERC3156FlashBorrower.onFlashLoan");
......
...@@ -77,6 +77,8 @@ abstract contract ERC20Permit is ERC20, IERC20Permit, EIP712 { ...@@ -77,6 +77,8 @@ abstract contract ERC20Permit is ERC20, IERC20Permit, EIP712 {
/** /**
* @dev "Consume a nonce": return the current value and increment. * @dev "Consume a nonce": return the current value and increment.
*
* _Available since v4.1._
*/ */
function _useNonce(address owner) internal virtual returns (uint256 current) { function _useNonce(address owner) internal virtual returns (uint256 current) {
Counters.Counter storage nonce = _nonces[owner]; Counters.Counter storage nonce = _nonces[owner];
......
...@@ -6,6 +6,8 @@ import "./Address.sol"; ...@@ -6,6 +6,8 @@ import "./Address.sol";
/** /**
* @dev Provides a function to batch together multiple calls in a single external call. * @dev Provides a function to batch together multiple calls in a single external call.
*
* _Available since v4.1._
*/ */
abstract contract Multicall { abstract contract Multicall {
/** /**
......
...@@ -26,7 +26,7 @@ pragma solidity ^0.8.0; ...@@ -26,7 +26,7 @@ pragma solidity ^0.8.0;
* } * }
* ``` * ```
* *
* Available since v4.1.0 for `address`, `bool`, `bytes32`, and `uint256`. * _Available since v4.1 for `address`, `bool`, `bytes32`, and `uint256`._
*/ */
library StorageSlot { library StorageSlot {
struct AddressSlot { struct AddressSlot {
......
...@@ -31,7 +31,7 @@ library ECDSA { ...@@ -31,7 +31,7 @@ library ECDSA {
// Check the signature length // Check the signature length
// - case 65: r,s,v signature (standard) // - case 65: r,s,v signature (standard)
// - case 64: r,vs signature (cf https://eips.ethereum.org/EIPS/eip-2098) // - case 64: r,vs signature (cf https://eips.ethereum.org/EIPS/eip-2098) _Available since v4.1._
if (signature.length == 65) { if (signature.length == 65) {
// ecrecover takes the signature parameters, and the only way to get them // ecrecover takes the signature parameters, and the only way to get them
// currently is to use assembly. // currently is to use assembly.
......
...@@ -13,6 +13,8 @@ import "../../interfaces/IERC1271.sol"; ...@@ -13,6 +13,8 @@ import "../../interfaces/IERC1271.sol";
* *
* Note: unlike ECDSA signatures, contract signature's are revocable, and the outcome of this function can thus change * Note: unlike ECDSA signatures, contract signature's are revocable, and the outcome of this function can thus change
* through time. It could return true at block N and false at block N+1 (or the opposite). * through time. It could return true at block N and false at block N+1 (or the opposite).
*
* _Available since v4.1._
*/ */
library SignatureChecker { library SignatureChecker {
function isValidSignatureNow(address signer, bytes32 hash, bytes memory signature) internal view returns (bool) { function isValidSignatureNow(address signer, bytes32 hash, bytes memory signature) internal view returns (bool) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment