Browse Source

Finish Initializable

ernestognw 2 years ago
parent
commit
01aea1b704
36 changed files with 106 additions and 95 deletions
  1. 2 2
      certora/diff/access_AccessControl.sol.patch
  2. 2 2
      certora/diff/access_IAccessControl.sol.patch
  3. 2 2
      certora/diff/access_Ownable.sol.patch
  4. 2 2
      certora/diff/access_Ownable2Step.sol.patch
  5. 2 2
      certora/diff/access_extensions_AccessControlDefaultAdminRules.sol.patch
  6. 2 2
      certora/diff/access_extensions_IAccessControlDefaultAdminRules.sol.patch
  7. 2 2
      certora/diff/interfaces_IERC3156FlashBorrower.sol.patch
  8. 2 2
      certora/diff/interfaces_IERC3156FlashLender.sol.patch
  9. 2 2
      certora/diff/interfaces_IERC5267.sol.patch
  10. 2 2
      certora/diff/interfaces_IERC5313.sol.patch
  11. 2 2
      certora/diff/interfaces_draft-IERC6093.sol.patch
  12. 11 0
      certora/diff/proxy_utils_Initializable.sol.patch
  13. 2 2
      certora/diff/security_Pausable.sol.patch
  14. 2 2
      certora/diff/token_ERC20_ERC20.sol.patch
  15. 2 2
      certora/diff/token_ERC20_IERC20.sol.patch
  16. 2 2
      certora/diff/token_ERC20_extensions_ERC20FlashMint.sol.patch
  17. 2 2
      certora/diff/token_ERC20_extensions_ERC20Permit.sol.patch
  18. 2 2
      certora/diff/token_ERC20_extensions_IERC20Metadata.sol.patch
  19. 2 2
      certora/diff/token_ERC20_extensions_IERC20Permit.sol.patch
  20. 5 5
      certora/diff/token_ERC721_ERC721.sol.patch
  21. 2 2
      certora/diff/utils_Context.sol.patch
  22. 2 2
      certora/diff/utils_Nonces.sol.patch
  23. 2 2
      certora/diff/utils_ShortStrings.sol.patch
  24. 2 2
      certora/diff/utils_StorageSlot.sol.patch
  25. 2 2
      certora/diff/utils_Strings.sol.patch
  26. 2 2
      certora/diff/utils_cryptography_ECDSA.sol.patch
  27. 2 2
      certora/diff/utils_cryptography_EIP712.sol.patch
  28. 2 2
      certora/diff/utils_cryptography_MessageHashUtils.sol.patch
  29. 2 2
      certora/diff/utils_introspection_ERC165.sol.patch
  30. 2 2
      certora/diff/utils_introspection_IERC165.sol.patch
  31. 2 2
      certora/diff/utils_math_Math.sol.patch
  32. 2 2
      certora/diff/utils_math_SafeCast.sol.patch
  33. 2 2
      certora/diff/utils_math_SignedMath.sol.patch
  34. 2 2
      certora/diff/utils_structs_DoubleEndedQueue.sol.patch
  35. 7 7
      certora/harnesses/InitializableHarness.sol
  36. 19 19
      certora/specs/Initializable.spec

+ 2 - 2
certora/diff/access_AccessControl.sol.patch

@@ -1,5 +1,5 @@
---- access/AccessControl.sol	2023-08-10 22:02:18
-+++ access/AccessControl.sol	2023-08-11 12:22:17
+--- access/AccessControl.sol	2023-08-11 20:33:54
++++ access/AccessControl.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (access/AccessControl.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (access/AccessControl.sol)

+ 2 - 2
certora/diff/access_IAccessControl.sol.patch

@@ -1,5 +1,5 @@
---- access/IAccessControl.sol	2023-08-10 22:02:20
-+++ access/IAccessControl.sol	2023-08-11 12:22:17
+--- access/IAccessControl.sol	2023-08-11 20:33:54
++++ access/IAccessControl.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts v4.4.1 (access/IAccessControl.sol)
  // OpenZeppelin Contracts v4.4.1 (access/IAccessControl.sol)

+ 2 - 2
certora/diff/access_Ownable.sol.patch

@@ -1,5 +1,5 @@
---- access/Ownable.sol	2023-08-09 11:45:05
-+++ access/Ownable.sol	2023-08-11 12:22:17
+--- access/Ownable.sol	2023-08-11 20:33:54
++++ access/Ownable.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)

+ 2 - 2
certora/diff/access_Ownable2Step.sol.patch

@@ -1,5 +1,5 @@
---- access/Ownable2Step.sol	2023-08-09 11:45:05
-+++ access/Ownable2Step.sol	2023-08-11 12:22:17
+--- access/Ownable2Step.sol	2023-08-11 20:33:54
++++ access/Ownable2Step.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable2Step.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable2Step.sol)

+ 2 - 2
certora/diff/access_extensions_AccessControlDefaultAdminRules.sol.patch

@@ -1,5 +1,5 @@
---- access/extensions/AccessControlDefaultAdminRules.sol	2023-08-09 11:45:05
-+++ access/extensions/AccessControlDefaultAdminRules.sol	2023-08-11 12:22:17
+--- access/extensions/AccessControlDefaultAdminRules.sol	2023-08-11 20:33:54
++++ access/extensions/AccessControlDefaultAdminRules.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (access/AccessControlDefaultAdminRules.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (access/AccessControlDefaultAdminRules.sol)

+ 2 - 2
certora/diff/access_extensions_IAccessControlDefaultAdminRules.sol.patch

@@ -1,5 +1,5 @@
---- access/extensions/IAccessControlDefaultAdminRules.sol	2023-08-09 11:45:05
-+++ access/extensions/IAccessControlDefaultAdminRules.sol	2023-08-11 12:22:17
+--- access/extensions/IAccessControlDefaultAdminRules.sol	2023-08-11 20:33:54
++++ access/extensions/IAccessControlDefaultAdminRules.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (access/IAccessControlDefaultAdminRules.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (access/IAccessControlDefaultAdminRules.sol)

+ 2 - 2
certora/diff/interfaces_IERC3156FlashBorrower.sol.patch

@@ -1,5 +1,5 @@
---- interfaces/IERC3156FlashBorrower.sol	2023-08-09 11:45:05
-+++ interfaces/IERC3156FlashBorrower.sol	2023-08-11 13:36:59
+--- interfaces/IERC3156FlashBorrower.sol	2023-08-11 20:33:54
++++ interfaces/IERC3156FlashBorrower.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC3156FlashBorrower.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC3156FlashBorrower.sol)

+ 2 - 2
certora/diff/interfaces_IERC3156FlashLender.sol.patch

@@ -1,5 +1,5 @@
---- interfaces/IERC3156FlashLender.sol	2023-08-09 11:45:05
-+++ interfaces/IERC3156FlashLender.sol	2023-08-11 13:37:04
+--- interfaces/IERC3156FlashLender.sol	2023-08-11 20:33:54
++++ interfaces/IERC3156FlashLender.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts v4.4.1 (interfaces/IERC3156FlashLender.sol)
  // OpenZeppelin Contracts v4.4.1 (interfaces/IERC3156FlashLender.sol)

+ 2 - 2
certora/diff/interfaces_IERC5267.sol.patch

@@ -1,5 +1,5 @@
---- interfaces/IERC5267.sol	2023-08-09 11:45:05
-+++ interfaces/IERC5267.sol	2023-08-11 12:22:17
+--- interfaces/IERC5267.sol	2023-08-11 20:33:54
++++ interfaces/IERC5267.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC5267.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC5267.sol)

+ 2 - 2
certora/diff/interfaces_IERC5313.sol.patch

@@ -1,5 +1,5 @@
---- interfaces/IERC5313.sol	2023-08-09 11:45:05
-+++ interfaces/IERC5313.sol	2023-08-11 12:22:17
+--- interfaces/IERC5313.sol	2023-08-11 20:33:54
++++ interfaces/IERC5313.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC5313.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC5313.sol)

+ 2 - 2
certora/diff/interfaces_draft-IERC6093.sol.patch

@@ -1,5 +1,5 @@
---- interfaces/draft-IERC6093.sol	2023-08-09 11:45:05
-+++ interfaces/draft-IERC6093.sol	2023-08-11 12:22:17
+--- interfaces/draft-IERC6093.sol	2023-08-11 20:33:54
++++ interfaces/draft-IERC6093.sol	2023-08-13 09:56:16
 @@ -1,5 +1,5 @@
 @@ -1,5 +1,5 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
 -pragma solidity ^0.8.20;
 -pragma solidity ^0.8.20;

+ 11 - 0
certora/diff/proxy_utils_Initializable.sol.patch

@@ -0,0 +1,11 @@
+--- proxy/utils/Initializable.sol	2023-08-11 20:33:54
++++ proxy/utils/Initializable.sol	2023-08-13 09:56:19
+@@ -1,7 +1,7 @@
+ // SPDX-License-Identifier: MIT
+ // OpenZeppelin Contracts (last updated v4.9.0) (proxy/utils/Initializable.sol)
+ 
+-pragma solidity ^0.8.20;
++pragma solidity ^0.8.19;
+ 
+ /**
+  * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed

+ 2 - 2
certora/diff/security_Pausable.sol.patch

@@ -1,5 +1,5 @@
---- security/Pausable.sol	2023-08-10 21:54:54
-+++ security/Pausable.sol	2023-08-11 12:22:17
+--- security/Pausable.sol	2023-08-11 20:33:54
++++ security/Pausable.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.7.0) (security/Pausable.sol)
  // OpenZeppelin Contracts (last updated v4.7.0) (security/Pausable.sol)

+ 2 - 2
certora/diff/token_ERC20_ERC20.sol.patch

@@ -1,5 +1,5 @@
---- token/ERC20/ERC20.sol	2023-08-09 11:45:05
-+++ token/ERC20/ERC20.sol	2023-08-11 13:37:08
+--- token/ERC20/ERC20.sol	2023-08-11 20:33:54
++++ token/ERC20/ERC20.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/ERC20.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/ERC20.sol)

+ 2 - 2
certora/diff/token_ERC20_IERC20.sol.patch

@@ -1,5 +1,5 @@
---- token/ERC20/IERC20.sol	2023-08-09 11:45:05
-+++ token/ERC20/IERC20.sol	2023-08-11 12:22:17
+--- token/ERC20/IERC20.sol	2023-08-11 20:33:54
++++ token/ERC20/IERC20.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol)

+ 2 - 2
certora/diff/token_ERC20_extensions_ERC20FlashMint.sol.patch

@@ -1,5 +1,5 @@
---- token/ERC20/extensions/ERC20FlashMint.sol	2023-08-09 11:45:05
-+++ token/ERC20/extensions/ERC20FlashMint.sol	2023-08-11 13:36:55
+--- token/ERC20/extensions/ERC20FlashMint.sol	2023-08-11 20:33:54
++++ token/ERC20/extensions/ERC20FlashMint.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/extensions/ERC20FlashMint.sol)
  // OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/extensions/ERC20FlashMint.sol)

+ 2 - 2
certora/diff/token_ERC20_extensions_ERC20Permit.sol.patch

@@ -1,5 +1,5 @@
---- token/ERC20/extensions/ERC20Permit.sol	2023-08-09 11:45:05
-+++ token/ERC20/extensions/ERC20Permit.sol	2023-08-11 12:22:17
+--- token/ERC20/extensions/ERC20Permit.sol	2023-08-11 20:33:54
++++ token/ERC20/extensions/ERC20Permit.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/extensions/ERC20Permit.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/extensions/ERC20Permit.sol)

+ 2 - 2
certora/diff/token_ERC20_extensions_IERC20Metadata.sol.patch

@@ -1,5 +1,5 @@
---- token/ERC20/extensions/IERC20Metadata.sol	2023-08-09 11:45:05
-+++ token/ERC20/extensions/IERC20Metadata.sol	2023-08-11 12:22:17
+--- token/ERC20/extensions/IERC20Metadata.sol	2023-08-11 20:33:54
++++ token/ERC20/extensions/IERC20Metadata.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)
  // OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)

+ 2 - 2
certora/diff/token_ERC20_extensions_IERC20Permit.sol.patch

@@ -1,5 +1,5 @@
---- token/ERC20/extensions/IERC20Permit.sol	2023-08-11 12:19:57
-+++ token/ERC20/extensions/IERC20Permit.sol	2023-08-11 12:22:17
+--- token/ERC20/extensions/IERC20Permit.sol	2023-08-11 20:33:54
++++ token/ERC20/extensions/IERC20Permit.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/extensions/IERC20Permit.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/extensions/IERC20Permit.sol)

+ 5 - 5
certora/diff/token_ERC721_ERC721.sol.patch

@@ -1,7 +1,7 @@
---- token/ERC721/ERC721.sol	2023-08-10 16:45:36
-+++ token/ERC721/ERC721.sol	2023-08-11 12:22:17
-@@ -208,6 +208,11 @@
-         return _owners[tokenId];
+--- token/ERC721/ERC721.sol	2023-08-11 20:33:54
++++ token/ERC721/ERC721.sol	2023-08-13 09:56:16
+@@ -214,6 +214,11 @@
+         }
      }
      }
  
  
 +    // FV
 +    // FV
@@ -10,5 +10,5 @@
 +    }
 +    }
 +
 +
      /**
      /**
-      * @dev Returns whether `tokenId` exists.
+      * @dev Unsafe write access to the balances, used by extensions that "mint" tokens using an {ownerOf} override.
       *
       *

+ 2 - 2
certora/diff/utils_Context.sol.patch

@@ -1,5 +1,5 @@
---- utils/Context.sol	2023-08-10 21:54:56
-+++ utils/Context.sol	2023-08-11 12:22:17
+--- utils/Context.sol	2023-08-11 20:33:54
++++ utils/Context.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
  // OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

+ 2 - 2
certora/diff/utils_Nonces.sol.patch

@@ -1,5 +1,5 @@
---- utils/Nonces.sol	2023-08-09 11:45:05
-+++ utils/Nonces.sol	2023-08-11 12:22:17
+--- utils/Nonces.sol	2023-08-11 20:33:54
++++ utils/Nonces.sol	2023-08-13 09:56:16
 @@ -1,5 +1,5 @@
 @@ -1,5 +1,5 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
 -pragma solidity ^0.8.20;
 -pragma solidity ^0.8.20;

+ 2 - 2
certora/diff/utils_ShortStrings.sol.patch

@@ -1,5 +1,5 @@
---- utils/ShortStrings.sol	2023-08-09 11:45:05
-+++ utils/ShortStrings.sol	2023-08-11 12:22:17
+--- utils/ShortStrings.sol	2023-08-11 20:33:54
++++ utils/ShortStrings.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (utils/ShortStrings.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (utils/ShortStrings.sol)

+ 2 - 2
certora/diff/utils_StorageSlot.sol.patch

@@ -1,5 +1,5 @@
---- utils/StorageSlot.sol	2023-08-09 11:45:05
-+++ utils/StorageSlot.sol	2023-08-11 12:22:17
+--- utils/StorageSlot.sol	2023-08-11 20:33:54
++++ utils/StorageSlot.sol	2023-08-13 09:56:16
 @@ -2,7 +2,7 @@
 @@ -2,7 +2,7 @@
  // OpenZeppelin Contracts (last updated v4.9.0) (utils/StorageSlot.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (utils/StorageSlot.sol)
  // This file was procedurally generated from scripts/generate/templates/StorageSlot.js.
  // This file was procedurally generated from scripts/generate/templates/StorageSlot.js.

+ 2 - 2
certora/diff/utils_Strings.sol.patch

@@ -1,5 +1,5 @@
---- utils/Strings.sol	2023-08-09 11:45:05
-+++ utils/Strings.sol	2023-08-11 12:22:44
+--- utils/Strings.sol	2023-08-11 20:33:54
++++ utils/Strings.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (utils/Strings.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (utils/Strings.sol)

+ 2 - 2
certora/diff/utils_cryptography_ECDSA.sol.patch

@@ -1,5 +1,5 @@
---- utils/cryptography/ECDSA.sol	2023-08-09 11:45:05
-+++ utils/cryptography/ECDSA.sol	2023-08-11 12:22:17
+--- utils/cryptography/ECDSA.sol	2023-08-11 20:33:54
++++ utils/cryptography/ECDSA.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (utils/cryptography/ECDSA.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (utils/cryptography/ECDSA.sol)

+ 2 - 2
certora/diff/utils_cryptography_EIP712.sol.patch

@@ -1,5 +1,5 @@
---- utils/cryptography/EIP712.sol	2023-08-09 11:45:05
-+++ utils/cryptography/EIP712.sol	2023-08-11 12:22:17
+--- utils/cryptography/EIP712.sol	2023-08-11 20:33:54
++++ utils/cryptography/EIP712.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (utils/cryptography/EIP712.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (utils/cryptography/EIP712.sol)

+ 2 - 2
certora/diff/utils_cryptography_MessageHashUtils.sol.patch

@@ -1,5 +1,5 @@
---- utils/cryptography/MessageHashUtils.sol	2023-08-09 11:45:05
-+++ utils/cryptography/MessageHashUtils.sol	2023-08-11 12:22:17
+--- utils/cryptography/MessageHashUtils.sol	2023-08-11 20:33:54
++++ utils/cryptography/MessageHashUtils.sol	2023-08-13 09:56:16
 @@ -1,6 +1,6 @@
 @@ -1,6 +1,6 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  
  

+ 2 - 2
certora/diff/utils_introspection_ERC165.sol.patch

@@ -1,5 +1,5 @@
---- utils/introspection/ERC165.sol	2023-08-10 22:02:24
-+++ utils/introspection/ERC165.sol	2023-08-11 12:22:17
+--- utils/introspection/ERC165.sol	2023-08-11 20:33:54
++++ utils/introspection/ERC165.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)
  // OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)

+ 2 - 2
certora/diff/utils_introspection_IERC165.sol.patch

@@ -1,5 +1,5 @@
---- utils/introspection/IERC165.sol	2023-08-09 11:45:05
-+++ utils/introspection/IERC165.sol	2023-08-11 12:22:17
+--- utils/introspection/IERC165.sol	2023-08-11 20:33:54
++++ utils/introspection/IERC165.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)
  // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)

+ 2 - 2
certora/diff/utils_math_Math.sol.patch

@@ -1,5 +1,5 @@
---- utils/math/Math.sol	2023-08-09 11:45:05
-+++ utils/math/Math.sol	2023-08-11 12:22:17
+--- utils/math/Math.sol	2023-08-11 20:33:54
++++ utils/math/Math.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (utils/math/Math.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (utils/math/Math.sol)

+ 2 - 2
certora/diff/utils_math_SafeCast.sol.patch

@@ -1,5 +1,5 @@
---- utils/math/SafeCast.sol	2023-08-09 11:45:05
-+++ utils/math/SafeCast.sol	2023-08-11 12:22:17
+--- utils/math/SafeCast.sol	2023-08-11 20:33:54
++++ utils/math/SafeCast.sol	2023-08-13 09:56:16
 @@ -2,7 +2,7 @@
 @@ -2,7 +2,7 @@
  // OpenZeppelin Contracts (last updated v4.8.0) (utils/math/SafeCast.sol)
  // OpenZeppelin Contracts (last updated v4.8.0) (utils/math/SafeCast.sol)
  // This file was procedurally generated from scripts/generate/templates/SafeCast.js.
  // This file was procedurally generated from scripts/generate/templates/SafeCast.js.

+ 2 - 2
certora/diff/utils_math_SignedMath.sol.patch

@@ -1,5 +1,5 @@
---- utils/math/SignedMath.sol	2023-08-09 11:45:05
-+++ utils/math/SignedMath.sol	2023-08-11 12:22:51
+--- utils/math/SignedMath.sol	2023-08-11 20:33:54
++++ utils/math/SignedMath.sol	2023-08-13 09:56:16
 @@ -1,7 +1,7 @@
 @@ -1,7 +1,7 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.8.0) (utils/math/SignedMath.sol)
  // OpenZeppelin Contracts (last updated v4.8.0) (utils/math/SignedMath.sol)

+ 2 - 2
certora/diff/utils_structs_DoubleEndedQueue.sol.patch

@@ -1,5 +1,5 @@
---- utils/structs/DoubleEndedQueue.sol	2023-08-09 11:45:05
-+++ utils/structs/DoubleEndedQueue.sol	2023-08-11 12:22:17
+--- utils/structs/DoubleEndedQueue.sol	2023-08-11 20:33:54
++++ utils/structs/DoubleEndedQueue.sol	2023-08-13 09:56:16
 @@ -1,6 +1,6 @@
 @@ -1,6 +1,6 @@
  // SPDX-License-Identifier: MIT
  // SPDX-License-Identifier: MIT
  // OpenZeppelin Contracts (last updated v4.9.0) (utils/structs/DoubleEndedQueue.sol)
  // OpenZeppelin Contracts (last updated v4.9.0) (utils/structs/DoubleEndedQueue.sol)

+ 7 - 7
certora/harnesses/InitializableHarness.sol

@@ -1,19 +1,19 @@
 // SPDX-License-Identifier: MIT
 // SPDX-License-Identifier: MIT
-pragma solidity ^0.8.20;
+pragma solidity ^0.8.19;
 
 
-import "../patched/proxy/utils/Initializable.sol";
+import {Initializable} from "../patched/proxy/utils/Initializable.sol";
 
 
 contract InitializableHarness is Initializable {
 contract InitializableHarness is Initializable {
     function initialize()          public initializer      {}
     function initialize()          public initializer      {}
-    function reinitialize(uint8 n) public reinitializer(n) {}
+    function reinitialize(uint64 n) public reinitializer(n) {}
     function disable()             public { _disableInitializers(); }
     function disable()             public { _disableInitializers(); }
 
 
     function nested_init_init()                     public initializer      { initialize();    }
     function nested_init_init()                     public initializer      { initialize();    }
-    function nested_init_reinit(uint8 m)            public initializer      { reinitialize(m); }
-    function nested_reinit_init(uint8 n)            public reinitializer(n) { initialize();    }
-    function nested_reinit_reinit(uint8 n, uint8 m) public reinitializer(n) { reinitialize(m); }
+    function nested_init_reinit(uint64 m)            public initializer      { reinitialize(m); }
+    function nested_reinit_init(uint64 n)            public reinitializer(n) { initialize();    }
+    function nested_reinit_reinit(uint64 n, uint64 m) public reinitializer(n) { reinitialize(m); }
 
 
-    function version() public view returns (uint8) {
+    function version() public view returns (uint64) {
         return _getInitializedVersion();
         return _getInitializedVersion();
     }
     }
 
 

+ 19 - 19
certora/specs/Initializable.spec

@@ -1,19 +1,19 @@
-import "helpers/helpers.spec"
+import "helpers/helpers.spec";
 
 
 methods {
 methods {
     // initialize, reinitialize, disable
     // initialize, reinitialize, disable
-    initialize()        envfree
-    reinitialize(uint8) envfree
-    disable()           envfree
+    function initialize()        external envfree;
+    function reinitialize(uint64) external envfree;
+    function disable()           external envfree;
 
 
-    nested_init_init()            envfree
-    nested_init_reinit(uint8)       envfree
-    nested_reinit_init(uint8)       envfree
-    nested_reinit_reinit(uint8,uint8) envfree
+    function nested_init_init()            external envfree;
+    function nested_init_reinit(uint64)       external envfree;
+    function nested_reinit_init(uint64)       external envfree;
+    function nested_reinit_reinit(uint64,uint64) external envfree;
 
 
     // view
     // view
-    version()      returns uint8 envfree
-    initializing() returns bool  envfree
+    function version()      external returns uint64 envfree;
+    function initializing() external returns bool  envfree;
 }
 }
 
 
 /*
 /*
@@ -23,7 +23,7 @@ methods {
 */
 */
 definition isUninitialized() returns bool = version() == 0;
 definition isUninitialized() returns bool = version() == 0;
 definition isInitialized()   returns bool = version() > 0;
 definition isInitialized()   returns bool = version() > 0;
-definition isDisabled()      returns bool = version() == 255;
+definition isDisabled()      returns bool = version() == max_uint64;
 
 
 /*
 /*
 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
@@ -31,7 +31,7 @@ definition isDisabled()      returns bool = version() == 255;
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
 */
 */
 invariant notInitializing()
 invariant notInitializing()
-    !initializing()
+    !initializing();
 
 
 /*
 /*
 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
@@ -39,7 +39,7 @@ invariant notInitializing()
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
 */
 */
 rule increasingVersion(env e) {
 rule increasingVersion(env e) {
-    uint8 versionBefore = version();
+    uint64 versionBefore = version();
     bool disabledBefore = isDisabled();
     bool disabledBefore = isDisabled();
 
 
     method f; calldataarg args;
     method f; calldataarg args;
@@ -83,7 +83,7 @@ rule cannotInitializeOnceDisabled() {
 rule cannotReinitializeOnceDisabled() {
 rule cannotReinitializeOnceDisabled() {
     require isDisabled();
     require isDisabled();
 
 
-    uint8 n;
+    uint64 n;
     reinitialize@withrevert(n);
     reinitialize@withrevert(n);
 
 
     assert lastReverted, "contract is disabled";
     assert lastReverted, "contract is disabled";
@@ -99,17 +99,17 @@ rule cannotNestInitializers_init_init() {
     assert lastReverted, "nested initializers";
     assert lastReverted, "nested initializers";
 }
 }
 
 
-rule cannotNestInitializers_init_reinit(uint8 m) {
+rule cannotNestInitializers_init_reinit(uint64 m) {
     nested_init_reinit@withrevert(m);
     nested_init_reinit@withrevert(m);
     assert lastReverted, "nested initializers";
     assert lastReverted, "nested initializers";
 }
 }
 
 
-rule cannotNestInitializers_reinit_init(uint8 n) {
+rule cannotNestInitializers_reinit_init(uint64 n) {
     nested_reinit_init@withrevert(n);
     nested_reinit_init@withrevert(n);
     assert lastReverted, "nested initializers";
     assert lastReverted, "nested initializers";
 }
 }
 
 
-rule cannotNestInitializers_reinit_reinit(uint8 n, uint8 m) {
+rule cannotNestInitializers_reinit_reinit(uint64 n, uint64 m) {
     nested_reinit_reinit@withrevert(n, m);
     nested_reinit_reinit@withrevert(n, m);
     assert lastReverted, "nested initializers";
     assert lastReverted, "nested initializers";
 }
 }
@@ -139,9 +139,9 @@ rule initializeEffects() {
 rule reinitializeEffects() {
 rule reinitializeEffects() {
     requireInvariant notInitializing();
     requireInvariant notInitializing();
 
 
-    uint8 versionBefore = version();
+    uint64 versionBefore = version();
 
 
-    uint8 n;
+    uint64 n;
     reinitialize@withrevert(n);
     reinitialize@withrevert(n);
     bool success = !lastReverted;
     bool success = !lastReverted;