From 74b8ae937239f141a812b1d4dc766c9f90c73596 Mon Sep 17 00:00:00 2001 From: JulissaDantes Date: Wed, 18 Jan 2023 14:40:35 -0500 Subject: [PATCH] Annotate Multicall contract (#3961) Co-authored-by: Francisco --- CHANGELOG.md | 1 + contracts/utils/Multicall.sol | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d45e9264..420888118 100644 --- a/CHANGELOG.md +++ b/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 diff --git a/contracts/utils/Multicall.sol b/contracts/utils/Multicall.sol index bdb820139..f79af0906 100644 --- a/contracts/utils/Multicall.sol +++ b/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++) {