Bladeren bron

Annotate Multicall contract (#3961)

Co-authored-by: Francisco <fg@frang.io>
JulissaDantes 2 jaren geleden
bovenliggende
commit
74b8ae9372
2 gewijzigde bestanden met toevoegingen van 2 en 0 verwijderingen
  1. 1 0
      CHANGELOG.md
  2. 1 0
      contracts/utils/Multicall.sol

+ 1 - 0
CHANGELOG.md

@@ -12,6 +12,7 @@
  * `MerkleProof`: optimize by using unchecked arithmetic. ([#3869](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3869))
  * `EnumerableMap`: add a `keys()` function that returns an array containing all the keys. ([#3920](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3920))
  * `Ownable2Step`: make `acceptOwnership` public virtual to enable usecases that require overriding it. ([#3960](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3960))
+ * `Multicall`: annotate `multicall` function as upgrade safe to not raise a flag for its delegatecall. ([#3961](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3961))
 
 ### Deprecations
 

+ 1 - 0
contracts/utils/Multicall.sol

@@ -14,6 +14,7 @@ abstract contract Multicall {
     /**
      * @dev Receives and executes a batch of function calls on this contract.
      */
+    /// @custom:oz-upgrades-unsafe-allow delegatecall
     function multicall(bytes[] calldata data) external virtual returns (bytes[] memory results) {
         results = new bytes[](data.length);
         for (uint256 i = 0; i < data.length; i++) {