Browse Source

Merge release-v5.4 branch (#5802)

Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
github-actions[bot] 2 months ago
parent
commit
448538259f
100 changed files with 144 additions and 170 deletions
  1. 0 5
      .changeset/clean-ways-push.md
  2. 0 5
      .changeset/fine-frogs-bake.md
  3. 0 5
      .changeset/full-ways-help.md
  4. 0 5
      .changeset/funny-years-yawn.md
  5. 0 5
      .changeset/hot-grapes-lie.md
  6. 0 5
      .changeset/lazy-poets-cheer.md
  7. 0 5
      .changeset/long-hornets-mate.md
  8. 0 5
      .changeset/lucky-donuts-scream.md
  9. 0 5
      .changeset/nice-rings-wish.md
  10. 0 5
      .changeset/pink-dolls-shop.md
  11. 0 5
      .changeset/popular-geese-tan.md
  12. 0 5
      .changeset/proud-tables-sip.md
  13. 0 5
      .changeset/quiet-kiwis-feel.md
  14. 0 5
      .changeset/rare-shirts-unite.md
  15. 0 5
      .changeset/rotten-apes-lie.md
  16. 0 5
      .changeset/social-walls-obey.md
  17. 0 5
      .changeset/sour-pens-shake.md
  18. 0 5
      .changeset/strong-points-change.md
  19. 0 5
      .changeset/tame-bears-mix.md
  20. 0 5
      .changeset/wet-dodos-reply.md
  21. 58 0
      CHANGELOG.md
  22. 1 1
      contracts/access/AccessControl.sol
  23. 1 1
      contracts/access/IAccessControl.sol
  24. 1 1
      contracts/access/extensions/AccessControlDefaultAdminRules.sol
  25. 1 1
      contracts/access/extensions/AccessControlEnumerable.sol
  26. 1 1
      contracts/access/extensions/IAccessControlDefaultAdminRules.sol
  27. 1 1
      contracts/access/extensions/IAccessControlEnumerable.sol
  28. 1 1
      contracts/access/manager/AccessManaged.sol
  29. 1 1
      contracts/access/manager/IAccessManaged.sol
  30. 1 1
      contracts/access/manager/IAccessManager.sol
  31. 1 1
      contracts/access/manager/IAuthority.sol
  32. 1 0
      contracts/account/Account.sol
  33. 1 0
      contracts/account/extensions/draft-AccountERC7579.sol
  34. 1 0
      contracts/account/extensions/draft-AccountERC7579Hooked.sol
  35. 1 0
      contracts/account/extensions/draft-ERC7821.sol
  36. 1 0
      contracts/account/utils/EIP7702Utils.sol
  37. 1 1
      contracts/account/utils/draft-ERC7579Utils.sol
  38. 1 1
      contracts/governance/Governor.sol
  39. 1 1
      contracts/governance/IGovernor.sol
  40. 1 1
      contracts/governance/TimelockController.sol
  41. 1 1
      contracts/governance/extensions/GovernorCountingFractional.sol
  42. 1 1
      contracts/governance/extensions/GovernorCountingOverridable.sol
  43. 1 1
      contracts/governance/extensions/GovernorCountingSimple.sol
  44. 1 0
      contracts/governance/extensions/GovernorNoncesKeyed.sol
  45. 1 1
      contracts/governance/extensions/GovernorPreventLateQuorum.sol
  46. 2 1
      contracts/governance/extensions/GovernorProposalGuardian.sol
  47. 1 1
      contracts/governance/extensions/GovernorSequentialProposalId.sol
  48. 1 1
      contracts/governance/extensions/GovernorSettings.sol
  49. 1 1
      contracts/governance/extensions/GovernorStorage.sol
  50. 2 1
      contracts/governance/extensions/GovernorSuperQuorum.sol
  51. 1 1
      contracts/governance/extensions/GovernorTimelockAccess.sol
  52. 1 1
      contracts/governance/extensions/GovernorTimelockCompound.sol
  53. 1 1
      contracts/governance/extensions/GovernorTimelockControl.sol
  54. 1 1
      contracts/governance/extensions/GovernorVotes.sol
  55. 1 1
      contracts/governance/extensions/GovernorVotesQuorumFraction.sol
  56. 2 1
      contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol
  57. 2 1
      contracts/governance/utils/IVotes.sol
  58. 1 1
      contracts/interfaces/IERC1155.sol
  59. 1 1
      contracts/interfaces/IERC1155MetadataURI.sol
  60. 1 1
      contracts/interfaces/IERC1155Receiver.sol
  61. 1 1
      contracts/interfaces/IERC1271.sol
  62. 1 1
      contracts/interfaces/IERC1363.sol
  63. 1 1
      contracts/interfaces/IERC1363Receiver.sol
  64. 1 1
      contracts/interfaces/IERC1363Spender.sol
  65. 1 1
      contracts/interfaces/IERC165.sol
  66. 1 1
      contracts/interfaces/IERC1820Implementer.sol
  67. 1 1
      contracts/interfaces/IERC1820Registry.sol
  68. 1 1
      contracts/interfaces/IERC1967.sol
  69. 1 1
      contracts/interfaces/IERC20.sol
  70. 1 1
      contracts/interfaces/IERC20Metadata.sol
  71. 1 1
      contracts/interfaces/IERC2309.sol
  72. 1 1
      contracts/interfaces/IERC2612.sol
  73. 1 1
      contracts/interfaces/IERC2981.sol
  74. 1 1
      contracts/interfaces/IERC3156.sol
  75. 1 1
      contracts/interfaces/IERC3156FlashBorrower.sol
  76. 1 1
      contracts/interfaces/IERC3156FlashLender.sol
  77. 1 1
      contracts/interfaces/IERC4626.sol
  78. 1 1
      contracts/interfaces/IERC4906.sol
  79. 1 1
      contracts/interfaces/IERC5267.sol
  80. 1 1
      contracts/interfaces/IERC5313.sol
  81. 1 1
      contracts/interfaces/IERC5805.sol
  82. 1 1
      contracts/interfaces/IERC6372.sol
  83. 1 1
      contracts/interfaces/IERC721.sol
  84. 1 1
      contracts/interfaces/IERC721Enumerable.sol
  85. 1 1
      contracts/interfaces/IERC721Metadata.sol
  86. 1 1
      contracts/interfaces/IERC721Receiver.sol
  87. 1 1
      contracts/interfaces/IERC777.sol
  88. 1 1
      contracts/interfaces/IERC777Recipient.sol
  89. 1 1
      contracts/interfaces/IERC777Sender.sol
  90. 1 0
      contracts/interfaces/IERC7913.sol
  91. 1 1
      contracts/interfaces/draft-IERC1822.sol
  92. 1 1
      contracts/interfaces/draft-IERC4337.sol
  93. 2 1
      contracts/interfaces/draft-IERC6093.sol
  94. 1 1
      contracts/interfaces/draft-IERC6909.sol
  95. 2 1
      contracts/interfaces/draft-IERC7579.sol
  96. 1 1
      contracts/interfaces/draft-IERC7674.sol
  97. 2 0
      contracts/interfaces/draft-IERC7802.sol
  98. 1 0
      contracts/interfaces/draft-IERC7821.sol
  99. 1 1
      contracts/metatx/ERC2771Context.sol
  100. 1 1
      contracts/package.json

+ 0 - 5
.changeset/clean-ways-push.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`AccountERC7579`: Extension of `Account` that implements support for ERC-7579 modules of type executor, validator, and fallback handler.

+ 0 - 5
.changeset/fine-frogs-bake.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`EnumerableMap`: Add `keys(uint256,uint256)` that returns a subset (slice) of the keys in the map.

+ 0 - 5
.changeset/full-ways-help.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`EIP7702Utils`: Add a library for checking if an address has an EIP-7702 delegation in place.

+ 0 - 5
.changeset/funny-years-yawn.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`Account`: Added a simple ERC-4337 account implementation with minimal logic to process user operations.

+ 0 - 5
.changeset/hot-grapes-lie.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`EnumerableSet`: Add `values(uint256,uint256)` that returns a subset (slice) of the values in the set.

+ 0 - 5
.changeset/lazy-poets-cheer.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`SignerERC7702`: Implementation of `AbstractSigner` for Externally Owned Accounts (EOAs). Useful with ERC-7702.

+ 0 - 5
.changeset/long-hornets-mate.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`EnumerableMap`: Add support for `BytesToBytesMap` type.

+ 0 - 5
.changeset/lucky-donuts-scream.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`ERC7739`: An abstract contract to validate signatures following the rehashing scheme from `ERC7739Utils`.

+ 0 - 5
.changeset/nice-rings-wish.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`ERC7913P256Verifier` and `ERC7913RSAVerifier`: Ready to use ERC-7913 verifiers that implement key verification for P256 (secp256r1) and RSA keys.

+ 0 - 5
.changeset/pink-dolls-shop.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`EnumerableSet`: Add support for `StringSet` and `BytesSet` types.

+ 0 - 5
.changeset/popular-geese-tan.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`GovernorNoncesKeyed`: Extension of `Governor` that adds support for keyed nonces when voting by sig.

+ 0 - 5
.changeset/proud-tables-sip.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`ERC7739Utils`: Add a library that implements a defensive rehashing mechanism to prevent replayability of smart contract signatures based on the ERC-7739.

+ 0 - 5
.changeset/quiet-kiwis-feel.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`SignerERC7913`: Abstract signer that verifies signatures using the ERC-7913 workflow.

+ 0 - 5
.changeset/rare-shirts-unite.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`Arrays`: Add `unsafeAccess`, `unsafeMemoryAccess` and `unsafeSetLength` for `bytes[]` and `string[]`.

+ 0 - 5
.changeset/rotten-apes-lie.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`IERC7821`, `ERC7821`: Interface and logic for minimal batch execution. No support for additional `opData` is included.

+ 0 - 5
.changeset/social-walls-obey.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`MultiSignerERC7913`: Implementation of `AbstractSigner` that supports multiple ERC-7913 signers with a threshold-based signature verification system.

+ 0 - 5
.changeset/sour-pens-shake.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`SignatureChecker`: Add support for ERC-7913 signatures alongside existing ECDSA and ERC-1271 signature verification.

+ 0 - 5
.changeset/strong-points-change.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`AccountERC7579Hooked`: Extension of `AccountERC7579` that implements support for ERC-7579 hook modules.

+ 0 - 5
.changeset/tame-bears-mix.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`AbstractSigner`, `SignerECDSA`, `SignerP256`, and `SignerRSA`: Add an abstract contract and various implementations for contracts that deal with signature verification.

+ 0 - 5
.changeset/wet-dodos-reply.md

@@ -1,5 +0,0 @@
----
-'openzeppelin-solidity': minor
----
-
-`Blockhash`: Add a library that provides access to historical block hashes using EIP-2935's history storage, extending the standard 256-block limit to 8191 blocks.

+ 58 - 0
CHANGELOG.md

@@ -1,9 +1,67 @@
 # Changelog
 
+
+## 5.4.0 (2025-07-17)
+
 ### Breaking changes
 
 - Update minimum pragma to 0.8.24 in `SignatureChecker`, `Governor` and Governor's extensions. ([#5716](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5716)).
 
+### Pragma changes
+
+- Reduced pragma requirement of interface files
+
+### Changes by category
+
+#### Account
+
+- `Account`: Added a simple ERC-4337 account implementation with minimal logic to process user operations. ([#5657](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5657))
+- `AccountERC7579`: Extension of `Account` that implements support for ERC-7579 modules of type executor, validator, and fallback handler. ([#5657](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5657))
+- `AccountERC7579Hooked`: Extension of `AccountERC7579` that implements support for ERC-7579 hook modules. ([#5657](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5657))
+- `EIP7702Utils`: Add a library for checking if an address has an EIP-7702 delegation in place. ([#5587](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5587))
+- `IERC7821`, `ERC7821`: Interface and logic for minimal batch execution. No support for additional `opData` is included. ([#5657](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5657))
+
+#### Governance
+
+- `GovernorNoncesKeyed`: Extension of `Governor` that adds support for keyed nonces when voting by sig. ([#5574](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5574))
+
+#### Tokens
+
+- `ERC20Bridgeable`: Implementation of ERC-7802 that makes an ERC-20 compatible with crosschain bridges. ([#5739](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5739))
+
+#### Cryptography
+
+##### Signers
+
+- `AbstractSigner`, `SignerECDSA`, `SignerP256`, and `SignerRSA`: Add an abstract contract and various implementations for contracts that deal with signature verification. ([#5657](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5657))
+- `SignerERC7702`: Implementation of `AbstractSigner` for Externally Owned Accounts (EOAs). Useful with ERC-7702. ([#5657](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5657))
+- `SignerERC7913`: Abstract signer that verifies signatures using the ERC-7913 workflow. ([#5659](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5659))
+- `MultiSignerERC7913`: Implementation of `AbstractSigner` that supports multiple ERC-7913 signers with a threshold-based signature verification system. ([#5659](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5659))
+- `MultiSignerERC7913Weighted`: Extension of `MultiSignerERC7913` that supports assigning different weights to each signer, enabling more flexible governance schemes. ([#5741](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5741))
+
+##### Verifiers
+
+- `ERC7913P256Verifier` and `ERC7913RSAVerifier`: Ready to use ERC-7913 verifiers that implement key verification for P256 (secp256r1) and RSA keys. ([#5659](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5659))
+
+##### Other
+
+- `SignatureChecker`: Add support for ERC-7913 signatures alongside existing ECDSA and ERC-1271 signature verification. ([#5659](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5659))
+- `ERC7739`: An abstract contract to validate signatures following the rehashing scheme from `ERC7739Utils`. ([#5664](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5664))
+- `ERC7739Utils`: Add a library that implements a defensive rehashing mechanism to prevent replayability of smart contract signatures based on the ERC-7739. ([#5664](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5664))
+
+#### Structures
+
+- `EnumerableMap`: Add support for `BytesToBytesMap` type. ([#5658](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5658))
+- `EnumerableMap`: Add `keys(uint256,uint256)` that returns a subset (slice) of the keys in the map. ([#5713](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5713))
+- `EnumerableSet`: Add support for `StringSet` and `BytesSet` types. ([#5658](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5658))
+- `EnumerableSet`: Add `values(uint256,uint256)` that returns a subset (slice) of the values in the set. ([#5713](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5713))
+
+#### Utils
+
+- `Arrays`: Add `unsafeAccess`, `unsafeMemoryAccess` and `unsafeSetLength` for `bytes[]` and `string[]`. ([#5568](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5568))
+- `Blockhash`: Add a library that provides access to historical block hashes using EIP-2935's history storage, extending the standard 256-block limit to 8191 blocks. ([#5642](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5642))
+- `Bytes`: Fix `lastIndexOf(bytes,byte,uint256)` with empty buffers and finite position to correctly return `type(uint256).max` instead of accessing uninitialized memory sections. ([#5797](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5797))
+
 ## 5.3.0 (2025-04-09)
 
 ### Breaking Changes

+ 1 - 1
contracts/access/AccessControl.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (access/AccessControl.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (access/AccessControl.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/access/IAccessControl.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (access/IAccessControl.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (access/IAccessControl.sol)
 
 pragma solidity >=0.8.4;
 

+ 1 - 1
contracts/access/extensions/AccessControlDefaultAdminRules.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (access/extensions/AccessControlDefaultAdminRules.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (access/extensions/AccessControlDefaultAdminRules.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/access/extensions/AccessControlEnumerable.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (access/extensions/AccessControlEnumerable.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (access/extensions/AccessControlEnumerable.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/access/extensions/IAccessControlDefaultAdminRules.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (access/extensions/IAccessControlDefaultAdminRules.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (access/extensions/IAccessControlDefaultAdminRules.sol)
 
 pragma solidity >=0.8.4;
 

+ 1 - 1
contracts/access/extensions/IAccessControlEnumerable.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (access/extensions/IAccessControlEnumerable.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (access/extensions/IAccessControlEnumerable.sol)
 
 pragma solidity >=0.8.4;
 

+ 1 - 1
contracts/access/manager/AccessManaged.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (access/manager/AccessManaged.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (access/manager/AccessManaged.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/access/manager/IAccessManaged.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (access/manager/IAccessManaged.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (access/manager/IAccessManaged.sol)
 
 pragma solidity >=0.8.4;
 

+ 1 - 1
contracts/access/manager/IAccessManager.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (access/manager/IAccessManager.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (access/manager/IAccessManager.sol)
 
 pragma solidity >=0.8.4;
 

+ 1 - 1
contracts/access/manager/IAuthority.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (access/manager/IAuthority.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (access/manager/IAuthority.sol)
 
 pragma solidity >=0.4.16;
 

+ 1 - 0
contracts/account/Account.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.4.0) (account/Account.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 0
contracts/account/extensions/draft-AccountERC7579.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.4.0) (account/extensions/draft-AccountERC7579.sol)
 
 pragma solidity ^0.8.26;
 

+ 1 - 0
contracts/account/extensions/draft-AccountERC7579Hooked.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.4.0) (account/extensions/draft-AccountERC7579Hooked.sol)
 
 pragma solidity ^0.8.26;
 

+ 1 - 0
contracts/account/extensions/draft-ERC7821.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.4.0) (account/extensions/draft-ERC7821.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 0
contracts/account/utils/EIP7702Utils.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.4.0) (account/utils/EIP7702Utils.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/account/utils/draft-ERC7579Utils.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (account/utils/draft-ERC7579Utils.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (account/utils/draft-ERC7579Utils.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/governance/Governor.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (governance/Governor.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/Governor.sol)
 
 pragma solidity ^0.8.24;
 

+ 1 - 1
contracts/governance/IGovernor.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (governance/IGovernor.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/IGovernor.sol)
 
 pragma solidity >=0.8.4;
 

+ 1 - 1
contracts/governance/TimelockController.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (governance/TimelockController.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/TimelockController.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/governance/extensions/GovernorCountingFractional.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorCountingFractional.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorCountingFractional.sol)
 
 pragma solidity ^0.8.24;
 

+ 1 - 1
contracts/governance/extensions/GovernorCountingOverridable.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorCountingOverridable.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorCountingOverridable.sol)
 
 pragma solidity ^0.8.24;
 

+ 1 - 1
contracts/governance/extensions/GovernorCountingSimple.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (governance/extensions/GovernorCountingSimple.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorCountingSimple.sol)
 
 pragma solidity ^0.8.24;
 

+ 1 - 0
contracts/governance/extensions/GovernorNoncesKeyed.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorNoncesKeyed.sol)
 
 pragma solidity ^0.8.24;
 

+ 1 - 1
contracts/governance/extensions/GovernorPreventLateQuorum.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.2.0) (governance/extensions/GovernorPreventLateQuorum.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorPreventLateQuorum.sol)
 
 pragma solidity ^0.8.24;
 

+ 2 - 1
contracts/governance/extensions/GovernorProposalGuardian.sol

@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorProposalGuardian.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorProposalGuardian.sol)
+
 pragma solidity ^0.8.24;
 
 import {Governor} from "../Governor.sol";

+ 1 - 1
contracts/governance/extensions/GovernorSequentialProposalId.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorSequentialProposalId.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorSequentialProposalId.sol)
 
 pragma solidity ^0.8.24;
 

+ 1 - 1
contracts/governance/extensions/GovernorSettings.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (governance/extensions/GovernorSettings.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorSettings.sol)
 
 pragma solidity ^0.8.24;
 

+ 1 - 1
contracts/governance/extensions/GovernorStorage.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorStorage.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorStorage.sol)
 
 pragma solidity ^0.8.24;
 

+ 2 - 1
contracts/governance/extensions/GovernorSuperQuorum.sol

@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorSuperQuorum.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorSuperQuorum.sol)
+
 pragma solidity ^0.8.24;
 
 import {Governor} from "../Governor.sol";

+ 1 - 1
contracts/governance/extensions/GovernorTimelockAccess.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorTimelockAccess.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorTimelockAccess.sol)
 
 pragma solidity ^0.8.24;
 

+ 1 - 1
contracts/governance/extensions/GovernorTimelockCompound.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorTimelockCompound.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorTimelockCompound.sol)
 
 pragma solidity ^0.8.24;
 

+ 1 - 1
contracts/governance/extensions/GovernorTimelockControl.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorTimelockControl.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorTimelockControl.sol)
 
 pragma solidity ^0.8.24;
 

+ 1 - 1
contracts/governance/extensions/GovernorVotes.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (governance/extensions/GovernorVotes.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorVotes.sol)
 
 pragma solidity ^0.8.24;
 

+ 1 - 1
contracts/governance/extensions/GovernorVotesQuorumFraction.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorVotesQuorumFraction.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorVotesQuorumFraction.sol)
 
 pragma solidity ^0.8.24;
 

+ 2 - 1
contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol

@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (governance/extensions/GovernorVotesSuperQuorumFraction.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorVotesSuperQuorumFraction.sol)
+
 pragma solidity ^0.8.24;
 
 import {Governor} from "../Governor.sol";

+ 2 - 1
contracts/governance/utils/IVotes.sol

@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (governance/utils/IVotes.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (governance/utils/IVotes.sol)
+
 pragma solidity >=0.8.4;
 
 /**

+ 1 - 1
contracts/interfaces/IERC1155.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1155.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC1155.sol)
 
 pragma solidity >=0.6.2;
 

+ 1 - 1
contracts/interfaces/IERC1155MetadataURI.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1155MetadataURI.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC1155MetadataURI.sol)
 
 pragma solidity >=0.6.2;
 

+ 1 - 1
contracts/interfaces/IERC1155Receiver.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1155Receiver.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC1155Receiver.sol)
 
 pragma solidity >=0.6.2;
 

+ 1 - 1
contracts/interfaces/IERC1271.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (interfaces/IERC1271.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC1271.sol)
 
 pragma solidity >=0.5.0;
 

+ 1 - 1
contracts/interfaces/IERC1363.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC1363.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC1363.sol)
 
 pragma solidity >=0.6.2;
 

+ 1 - 1
contracts/interfaces/IERC1363Receiver.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC1363Receiver.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC1363Receiver.sol)
 
 pragma solidity >=0.5.0;
 

+ 1 - 1
contracts/interfaces/IERC1363Spender.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC1363Spender.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC1363Spender.sol)
 
 pragma solidity >=0.5.0;
 

+ 1 - 1
contracts/interfaces/IERC165.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC165.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC165.sol)
 
 pragma solidity >=0.4.16;
 

+ 1 - 1
contracts/interfaces/IERC1820Implementer.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC1820Implementer.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC1820Implementer.sol)
 
 pragma solidity >=0.4.16;
 

+ 1 - 1
contracts/interfaces/IERC1820Registry.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC1820Registry.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC1820Registry.sol)
 
 pragma solidity >=0.5.0;
 

+ 1 - 1
contracts/interfaces/IERC1967.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1967.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC1967.sol)
 
 pragma solidity >=0.4.11;
 

+ 1 - 1
contracts/interfaces/IERC20.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC20.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC20.sol)
 
 pragma solidity >=0.4.16;
 

+ 1 - 1
contracts/interfaces/IERC20Metadata.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC20Metadata.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC20Metadata.sol)
 
 pragma solidity >=0.6.2;
 

+ 1 - 1
contracts/interfaces/IERC2309.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC2309.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC2309.sol)
 
 pragma solidity >=0.4.11;
 

+ 1 - 1
contracts/interfaces/IERC2612.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC2612.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC2612.sol)
 
 pragma solidity >=0.6.2;
 

+ 1 - 1
contracts/interfaces/IERC2981.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC2981.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC2981.sol)
 
 pragma solidity >=0.6.2;
 

+ 1 - 1
contracts/interfaces/IERC3156.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC3156.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC3156.sol)
 
 pragma solidity >=0.5.0;
 

+ 1 - 1
contracts/interfaces/IERC3156FlashBorrower.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC3156FlashBorrower.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC3156FlashBorrower.sol)
 
 pragma solidity >=0.5.0;
 

+ 1 - 1
contracts/interfaces/IERC3156FlashLender.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC3156FlashLender.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC3156FlashLender.sol)
 
 pragma solidity >=0.5.0;
 

+ 1 - 1
contracts/interfaces/IERC4626.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (interfaces/IERC4626.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC4626.sol)
 
 pragma solidity >=0.6.2;
 

+ 1 - 1
contracts/interfaces/IERC4906.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC4906.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC4906.sol)
 
 pragma solidity >=0.6.2;
 

+ 1 - 1
contracts/interfaces/IERC5267.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC5267.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC5267.sol)
 
 pragma solidity >=0.4.16;
 

+ 1 - 1
contracts/interfaces/IERC5313.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC5313.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC5313.sol)
 
 pragma solidity >=0.4.16;
 

+ 1 - 1
contracts/interfaces/IERC5805.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC5805.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC5805.sol)
 
 pragma solidity >=0.8.4;
 

+ 1 - 1
contracts/interfaces/IERC6372.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC6372.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC6372.sol)
 
 pragma solidity >=0.4.16;
 

+ 1 - 1
contracts/interfaces/IERC721.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC721.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC721.sol)
 
 pragma solidity >=0.6.2;
 

+ 1 - 1
contracts/interfaces/IERC721Enumerable.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC721Enumerable.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC721Enumerable.sol)
 
 pragma solidity >=0.6.2;
 

+ 1 - 1
contracts/interfaces/IERC721Metadata.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC721Metadata.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC721Metadata.sol)
 
 pragma solidity >=0.6.2;
 

+ 1 - 1
contracts/interfaces/IERC721Receiver.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC721Receiver.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC721Receiver.sol)
 
 pragma solidity >=0.5.0;
 

+ 1 - 1
contracts/interfaces/IERC777.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC777.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC777.sol)
 
 pragma solidity >=0.5.0;
 

+ 1 - 1
contracts/interfaces/IERC777Recipient.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC777Recipient.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC777Recipient.sol)
 
 pragma solidity >=0.5.0;
 

+ 1 - 1
contracts/interfaces/IERC777Sender.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/IERC777Sender.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC777Sender.sol)
 
 pragma solidity >=0.5.0;
 

+ 1 - 0
contracts/interfaces/IERC7913.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC7913.sol)
 
 pragma solidity >=0.5.0;
 

+ 1 - 1
contracts/interfaces/draft-IERC1822.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/draft-IERC1822.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC1822.sol)
 
 pragma solidity >=0.4.16;
 

+ 1 - 1
contracts/interfaces/draft-IERC4337.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (interfaces/draft-IERC4337.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC4337.sol)
 
 pragma solidity >=0.8.4;
 

+ 2 - 1
contracts/interfaces/draft-IERC6093.sol

@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/draft-IERC6093.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC6093.sol)
+
 pragma solidity >=0.8.4;
 
 /**

+ 1 - 1
contracts/interfaces/draft-IERC6909.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (interfaces/draft-IERC6909.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC6909.sol)
 
 pragma solidity >=0.6.2;
 

+ 2 - 1
contracts/interfaces/draft-IERC7579.sol

@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.3.0) (interfaces/draft-IERC7579.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC7579.sol)
+
 pragma solidity >=0.8.4;
 
 import {PackedUserOperation} from "./draft-IERC4337.sol";

+ 1 - 1
contracts/interfaces/draft-IERC7674.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/draft-IERC7674.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC7674.sol)
 
 pragma solidity >=0.6.2;
 

+ 2 - 0
contracts/interfaces/draft-IERC7802.sol

@@ -1,4 +1,6 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC7802.sol)
+
 pragma solidity >=0.6.2;
 
 import {IERC165} from "./IERC165.sol";

+ 1 - 0
contracts/interfaces/draft-IERC7821.sol

@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: MIT
+// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC7821.sol)
 
 pragma solidity >=0.5.0;
 

+ 1 - 1
contracts/metatx/ERC2771Context.sol

@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-// OpenZeppelin Contracts (last updated v5.1.0) (metatx/ERC2771Context.sol)
+// OpenZeppelin Contracts (last updated v5.4.0) (metatx/ERC2771Context.sol)
 
 pragma solidity ^0.8.20;
 

+ 1 - 1
contracts/package.json

@@ -1,7 +1,7 @@
 {
   "name": "@openzeppelin/contracts",
   "description": "Secure Smart Contract library for Solidity",
-  "version": "5.3.0",
+  "version": "5.4.0",
   "files": [
     "**/*.sol",
     "/build/contracts/*.json",

Some files were not shown because too many files changed in this diff