polkamarkets-js 3.1.11 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3306) hide show
  1. package/.gitmodules +18 -0
  2. package/README.md +356 -53
  3. package/abis/AccessControl.json +1 -0
  4. package/abis/AddAdminToLand.json +1 -0
  5. package/abis/Address.json +1 -0
  6. package/abis/BalanceHolder_ERC20.json +1 -0
  7. package/abis/CeilDiv.json +1 -0
  8. package/abis/CeilDivBad.json +1 -0
  9. package/abis/CeilDivGood.json +1 -0
  10. package/abis/ClaimMerkleRoot.json +1 -0
  11. package/abis/Clones.json +1 -0
  12. package/abis/CommonBase.json +1 -0
  13. package/abis/Context.json +1 -0
  14. package/abis/ContextUpgradeable.json +1 -0
  15. package/abis/Create2.json +1 -0
  16. package/abis/CreateLand.json +1 -0
  17. package/abis/CreateMarketLib.json +1 -0
  18. package/abis/CreateMarkets.json +1 -0
  19. package/abis/DeployContracts.json +1 -0
  20. package/abis/DeployMerkleRewardsDistributor.json +1 -0
  21. package/abis/DeployProxy.json +1 -0
  22. package/abis/DeployToken.json +1 -0
  23. package/abis/DeployUSDT.json +1 -0
  24. package/abis/DeployUpgradeablePM.json +1 -0
  25. package/abis/ERC165.json +1 -0
  26. package/abis/ERC1967Proxy.json +1 -0
  27. package/abis/ERC1967Utils.json +1 -0
  28. package/abis/ERC20.json +1 -0
  29. package/abis/ERC20Burnable.json +1 -0
  30. package/abis/ERC20MinterPauser.json +1 -0
  31. package/abis/ERC20Pausable.json +1 -0
  32. package/abis/Errors.json +1 -0
  33. package/abis/FantasyERC20.json +1 -0
  34. package/abis/IAccessControl.json +1 -0
  35. package/abis/IBalanceHolder_ERC20.json +1 -0
  36. package/abis/IBeacon.json +1 -0
  37. package/abis/IERC1155Errors.json +1 -0
  38. package/abis/IERC1363.json +1 -0
  39. package/abis/IERC165.json +1 -0
  40. package/abis/IERC1822Proxiable.json +1 -0
  41. package/abis/IERC1967.json +1 -0
  42. package/abis/IERC20.json +1 -0
  43. package/abis/IERC20Errors.json +1 -0
  44. package/abis/IERC20Metadata.json +1 -0
  45. package/abis/IERC721.json +1 -0
  46. package/abis/IERC721Enumerable.json +1 -0
  47. package/abis/IERC721Errors.json +1 -0
  48. package/abis/IERC721Metadata.json +1 -0
  49. package/abis/IERC721TokenReceiver.json +1 -0
  50. package/abis/IFantasyERC20.json +1 -0
  51. package/abis/IMulticall3.json +1 -0
  52. package/abis/IPredictionMarketV3Factory.json +1 -0
  53. package/abis/IPredictionMarketV3Manager.json +1 -0
  54. package/abis/IPredictionMarketV3_2.json +1 -0
  55. package/abis/IPredictionMarketV3_4.json +1 -0
  56. package/abis/IRealityETH_ERC20.json +1 -0
  57. package/abis/IRealityETH_IERC20.json +1 -0
  58. package/abis/IWETH.json +1 -0
  59. package/abis/Initializable.json +1 -0
  60. package/abis/LandFactory.json +1 -0
  61. package/abis/MintTokens.json +1 -0
  62. package/abis/MockERC20.json +1 -0
  63. package/abis/MockERC721.json +1 -0
  64. package/abis/Ownable.json +1 -0
  65. package/abis/Ownable2StepUpgradeable.json +1 -0
  66. package/abis/OwnableUpgradeable.json +1 -0
  67. package/abis/Pausable.json +1 -0
  68. package/abis/PredictionMarketManagerTest.json +1 -0
  69. package/abis/PredictionMarketTest.json +1 -0
  70. package/abis/PredictionMarketV33Flow.json +1 -0
  71. package/abis/PredictionMarketV3Controller.json +1 -0
  72. package/abis/PredictionMarketV3Factory.json +1 -0
  73. package/abis/PredictionMarketV3Manager.json +1 -0
  74. package/abis/PredictionMarketV3Querier.json +1 -0
  75. package/abis/PredictionMarketV3_2.json +1 -0
  76. package/abis/PredictionMarketV3_4.json +1 -0
  77. package/abis/PredictionMarketV3_4Bad.json +1 -0
  78. package/abis/PredictionMarketV3_4Good.json +1 -0
  79. package/abis/Proxy.json +1 -0
  80. package/abis/PublishMerkleRoot.json +1 -0
  81. package/abis/RealityETH_ERC20_Factory.json +1 -0
  82. package/abis/RealityETH_ERC20_v3_0.json +1 -0
  83. package/abis/ReentrancyGuard.json +1 -0
  84. package/abis/ReentrancyGuardUpgradeable.json +1 -0
  85. package/abis/ResolveMarket.json +1 -0
  86. package/abis/SafeERC20.json +1 -0
  87. package/abis/Script.json +1 -0
  88. package/abis/ScriptBase.json +1 -0
  89. package/abis/StdAssertions.json +1 -0
  90. package/abis/StdChains.json +1 -0
  91. package/abis/StdCheats.json +1 -0
  92. package/abis/StdCheatsSafe.json +1 -0
  93. package/abis/StdInvariant.json +1 -0
  94. package/abis/StdStyle.json +1 -0
  95. package/abis/StdUtils.json +1 -0
  96. package/abis/StorageSlot.json +1 -0
  97. package/abis/TestBase.json +1 -0
  98. package/abis/TradeMarket.json +1 -0
  99. package/abis/USDT.json +1 -0
  100. package/abis/UUPSUpgradeable.json +1 -0
  101. package/abis/Vm.json +1 -0
  102. package/abis/VmSafe.json +1 -0
  103. package/abis/Voting.json +1 -0
  104. package/abis/WETH.json +1 -0
  105. package/abis/console.json +1 -0
  106. package/abis/safeconsole.json +1 -0
  107. package/abis/stdError.json +1 -0
  108. package/abis/stdJson.json +1 -0
  109. package/abis/stdMath.json +1 -0
  110. package/abis/stdStorage.json +1 -0
  111. package/abis/stdStorageSafe.json +1 -0
  112. package/abis/stdToml.json +1 -0
  113. package/abis/test.json +1 -0
  114. package/contracts/ERC20MinterPauser.sol +100 -0
  115. package/contracts/FantasyERC20.sol +12 -10
  116. package/contracts/IFantasyERC20.sol +1 -1
  117. package/contracts/IPredictionMarketV3Factory.sol +1 -1
  118. package/contracts/IPredictionMarketV3Manager.sol +5 -1
  119. package/contracts/IPredictionMarketV3_4.sol +219 -0
  120. package/contracts/IRealityETH_ERC20.sol +1 -1
  121. package/contracts/IWETH.sol +12 -0
  122. package/contracts/LandFactory.sol +71 -27
  123. package/contracts/PredictionMarketV3Controller.sol +7 -7
  124. package/contracts/PredictionMarketV3Factory.sol +7 -5
  125. package/contracts/PredictionMarketV3Manager.sol +7 -7
  126. package/contracts/PredictionMarketV3Querier.sol +14 -4
  127. package/contracts/PredictionMarketV3_4.sol +1492 -0
  128. package/contracts/Proxy.sol +35 -0
  129. package/contracts/RealityETH_ERC20_Factory.sol +4 -11
  130. package/contracts/Voting.sol +4 -7
  131. package/contracts/WETH.sol +58 -0
  132. package/foundry.toml +11 -0
  133. package/lib/openzeppelin-contracts/.changeset/all-geese-stand.md +5 -0
  134. package/lib/openzeppelin-contracts/.changeset/clean-ways-push.md +5 -0
  135. package/lib/openzeppelin-contracts/.changeset/config.json +12 -0
  136. package/lib/openzeppelin-contracts/.changeset/dull-students-eat.md +5 -0
  137. package/lib/openzeppelin-contracts/.changeset/eight-radios-check.md +5 -0
  138. package/lib/openzeppelin-contracts/.changeset/fine-frogs-bake.md +5 -0
  139. package/lib/openzeppelin-contracts/.changeset/full-ways-help.md +5 -0
  140. package/lib/openzeppelin-contracts/.changeset/funny-years-yawn.md +5 -0
  141. package/lib/openzeppelin-contracts/.changeset/hot-grapes-lie.md +5 -0
  142. package/lib/openzeppelin-contracts/.changeset/lazy-poets-cheer.md +5 -0
  143. package/lib/openzeppelin-contracts/.changeset/long-hornets-mate.md +5 -0
  144. package/lib/openzeppelin-contracts/.changeset/lucky-donuts-scream.md +5 -0
  145. package/lib/openzeppelin-contracts/.changeset/major-feet-write.md +5 -0
  146. package/lib/openzeppelin-contracts/.changeset/new-days-tease.md +5 -0
  147. package/lib/openzeppelin-contracts/.changeset/nice-rings-wish.md +5 -0
  148. package/lib/openzeppelin-contracts/.changeset/pink-dolls-shop.md +5 -0
  149. package/lib/openzeppelin-contracts/.changeset/popular-geese-tan.md +5 -0
  150. package/lib/openzeppelin-contracts/.changeset/proud-tables-sip.md +5 -0
  151. package/lib/openzeppelin-contracts/.changeset/public-crabs-heal.md +5 -0
  152. package/lib/openzeppelin-contracts/.changeset/quiet-kiwis-feel.md +5 -0
  153. package/lib/openzeppelin-contracts/.changeset/rare-shirts-unite.md +5 -0
  154. package/lib/openzeppelin-contracts/.changeset/rich-cows-repair.md +5 -0
  155. package/lib/openzeppelin-contracts/.changeset/ripe-bears-hide.md +5 -0
  156. package/lib/openzeppelin-contracts/.changeset/rotten-apes-lie.md +5 -0
  157. package/lib/openzeppelin-contracts/.changeset/social-walls-obey.md +5 -0
  158. package/lib/openzeppelin-contracts/.changeset/sour-pens-shake.md +5 -0
  159. package/lib/openzeppelin-contracts/.changeset/strong-points-change.md +5 -0
  160. package/lib/openzeppelin-contracts/.changeset/tame-bears-mix.md +5 -0
  161. package/lib/openzeppelin-contracts/.changeset/violet-turtles-like.md +5 -0
  162. package/lib/openzeppelin-contracts/.changeset/wet-dodos-reply.md +5 -0
  163. package/lib/openzeppelin-contracts/.changeset/whole-plums-speak.md +5 -0
  164. package/lib/openzeppelin-contracts/.changeset/wild-baths-buy.md +5 -0
  165. package/lib/openzeppelin-contracts/.codecov.yml +4 -0
  166. package/lib/openzeppelin-contracts/.github/CODEOWNERS +10 -0
  167. package/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/bug_report.md +1 -1
  168. package/lib/openzeppelin-contracts/.github/PULL_REQUEST_TEMPLATE.md +1 -1
  169. package/lib/openzeppelin-contracts/.github/actions/gas-compare/action.yml +7 -5
  170. package/lib/openzeppelin-contracts/.github/actions/setup/action.yml +9 -7
  171. package/lib/openzeppelin-contracts/.github/actions/storage-layout/action.yml +57 -0
  172. package/lib/openzeppelin-contracts/.github/workflows/actionlint.yml +18 -0
  173. package/lib/openzeppelin-contracts/.github/workflows/changeset.yml +28 -0
  174. package/lib/openzeppelin-contracts/.github/workflows/checks.yml +67 -25
  175. package/lib/openzeppelin-contracts/.github/workflows/docs.yml +1 -1
  176. package/lib/openzeppelin-contracts/.github/workflows/formal-verification.yml +86 -0
  177. package/lib/openzeppelin-contracts/.github/workflows/release-cycle.yml +214 -0
  178. package/lib/openzeppelin-contracts/.github/workflows/upgradeable.yml +23 -12
  179. package/lib/openzeppelin-contracts/.gitmodules +7 -0
  180. package/lib/openzeppelin-contracts/.husky/pre-commit +2 -0
  181. package/lib/openzeppelin-contracts/.prettierrc +5 -4
  182. package/lib/openzeppelin-contracts/.solcover.js +19 -13
  183. package/lib/openzeppelin-contracts/CHANGELOG.md +918 -325
  184. package/lib/openzeppelin-contracts/CODE_OF_CONDUCT.md +2 -2
  185. package/lib/openzeppelin-contracts/CONTRIBUTING.md +19 -47
  186. package/lib/openzeppelin-contracts/FUNDING.json +10 -0
  187. package/lib/openzeppelin-contracts/GUIDELINES.md +115 -65
  188. package/lib/openzeppelin-contracts/LICENSE +1 -1
  189. package/lib/openzeppelin-contracts/README.md +40 -16
  190. package/lib/openzeppelin-contracts/RELEASING.md +32 -23
  191. package/lib/openzeppelin-contracts/SECURITY.md +34 -11
  192. package/lib/openzeppelin-contracts/audits/2017-03.md +292 -0
  193. package/lib/openzeppelin-contracts/audits/2018-10.pdf +0 -0
  194. package/lib/openzeppelin-contracts/audits/2022-10-Checkpoints.pdf +0 -0
  195. package/lib/openzeppelin-contracts/audits/2022-10-ERC4626.pdf +0 -0
  196. package/lib/openzeppelin-contracts/audits/2023-05-v4.9.pdf +0 -0
  197. package/lib/openzeppelin-contracts/audits/2023-10-v5.0.pdf +0 -0
  198. package/lib/openzeppelin-contracts/audits/2024-10-v5.1.pdf +0 -0
  199. package/lib/openzeppelin-contracts/audits/2024-12-v5.2.pdf +0 -0
  200. package/lib/openzeppelin-contracts/audits/2025-04-v5.3.pdf +0 -0
  201. package/lib/openzeppelin-contracts/audits/README.md +20 -0
  202. package/lib/openzeppelin-contracts/certora/Makefile +44 -14
  203. package/lib/openzeppelin-contracts/certora/README.md +43 -39
  204. package/lib/openzeppelin-contracts/certora/diff/access_manager_AccessManager.sol.patch +97 -0
  205. package/lib/openzeppelin-contracts/certora/harnesses/AccessControlDefaultAdminRulesHarness.sol +46 -0
  206. package/lib/openzeppelin-contracts/certora/harnesses/AccessControlHarness.sol +6 -0
  207. package/lib/openzeppelin-contracts/certora/harnesses/AccessManagedHarness.sol +36 -0
  208. package/lib/openzeppelin-contracts/certora/harnesses/AccessManagerHarness.sol +116 -0
  209. package/lib/openzeppelin-contracts/certora/harnesses/DoubleEndedQueueHarness.sol +58 -0
  210. package/lib/openzeppelin-contracts/certora/harnesses/ERC20FlashMintHarness.sol +36 -0
  211. package/lib/openzeppelin-contracts/certora/harnesses/ERC20PermitHarness.sol +16 -0
  212. package/lib/openzeppelin-contracts/certora/harnesses/ERC20WrapperHarness.sol +34 -0
  213. package/lib/openzeppelin-contracts/certora/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
  214. package/lib/openzeppelin-contracts/certora/harnesses/ERC721Harness.sol +33 -0
  215. package/lib/openzeppelin-contracts/certora/harnesses/ERC721ReceiverHarness.sol +11 -0
  216. package/lib/openzeppelin-contracts/certora/harnesses/EnumerableMapHarness.sol +55 -0
  217. package/lib/openzeppelin-contracts/certora/harnesses/EnumerableSetHarness.sol +35 -0
  218. package/lib/openzeppelin-contracts/certora/harnesses/InitializableHarness.sol +23 -0
  219. package/lib/openzeppelin-contracts/certora/harnesses/NoncesHarness.sol +14 -0
  220. package/lib/openzeppelin-contracts/certora/harnesses/Ownable2StepHarness.sol +10 -0
  221. package/lib/openzeppelin-contracts/certora/harnesses/OwnableHarness.sol +10 -0
  222. package/lib/openzeppelin-contracts/certora/harnesses/PausableHarness.sol +18 -0
  223. package/lib/openzeppelin-contracts/certora/harnesses/TimelockControllerHarness.sol +13 -0
  224. package/lib/openzeppelin-contracts/certora/reports/2021-10.pdf +0 -0
  225. package/lib/openzeppelin-contracts/certora/reports/2022-03.pdf +0 -0
  226. package/lib/openzeppelin-contracts/certora/reports/2022-05.pdf +0 -0
  227. package/lib/openzeppelin-contracts/certora/run.js +168 -0
  228. package/lib/openzeppelin-contracts/certora/specs/AccessControl.spec +119 -0
  229. package/lib/openzeppelin-contracts/certora/specs/AccessControlDefaultAdminRules.spec +464 -0
  230. package/lib/openzeppelin-contracts/certora/specs/AccessManaged.spec +34 -0
  231. package/lib/openzeppelin-contracts/certora/specs/AccessManager.spec +826 -0
  232. package/lib/openzeppelin-contracts/certora/specs/DoubleEndedQueue.spec +300 -0
  233. package/lib/openzeppelin-contracts/certora/specs/ERC20.spec +352 -0
  234. package/lib/openzeppelin-contracts/certora/specs/ERC20FlashMint.spec +55 -0
  235. package/lib/openzeppelin-contracts/certora/specs/ERC20Wrapper.spec +198 -0
  236. package/lib/openzeppelin-contracts/certora/specs/ERC721.spec +679 -0
  237. package/lib/openzeppelin-contracts/certora/specs/EnumerableMap.spec +333 -0
  238. package/lib/openzeppelin-contracts/certora/specs/EnumerableSet.spec +246 -0
  239. package/lib/openzeppelin-contracts/certora/specs/Initializable.spec +165 -0
  240. package/lib/openzeppelin-contracts/certora/specs/Nonces.spec +92 -0
  241. package/lib/openzeppelin-contracts/certora/specs/Ownable.spec +77 -0
  242. package/lib/openzeppelin-contracts/certora/specs/Ownable2Step.spec +108 -0
  243. package/lib/openzeppelin-contracts/certora/specs/Pausable.spec +96 -0
  244. package/lib/openzeppelin-contracts/certora/specs/TimelockController.spec +274 -0
  245. package/lib/openzeppelin-contracts/certora/specs/helpers/helpers.spec +12 -0
  246. package/lib/openzeppelin-contracts/certora/specs/methods/IAccessControl.spec +8 -0
  247. package/lib/openzeppelin-contracts/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
  248. package/lib/openzeppelin-contracts/certora/specs/methods/IAccessManaged.spec +5 -0
  249. package/lib/openzeppelin-contracts/certora/specs/methods/IAccessManager.spec +33 -0
  250. package/lib/openzeppelin-contracts/certora/specs/methods/IERC20.spec +11 -0
  251. package/lib/openzeppelin-contracts/certora/specs/methods/IERC2612.spec +5 -0
  252. package/lib/openzeppelin-contracts/certora/specs/methods/IERC3156FlashBorrower.spec +3 -0
  253. package/lib/openzeppelin-contracts/certora/specs/methods/IERC3156FlashLender.spec +5 -0
  254. package/lib/openzeppelin-contracts/certora/specs/methods/IERC5313.spec +3 -0
  255. package/lib/openzeppelin-contracts/certora/specs/methods/IERC721.spec +17 -0
  256. package/lib/openzeppelin-contracts/certora/specs/methods/IERC721Receiver.spec +3 -0
  257. package/lib/openzeppelin-contracts/certora/specs/methods/IOwnable.spec +5 -0
  258. package/lib/openzeppelin-contracts/certora/specs/methods/IOwnable2Step.spec +7 -0
  259. package/lib/openzeppelin-contracts/certora/specs.json +110 -0
  260. package/lib/openzeppelin-contracts/contracts/access/AccessControl.sol +41 -81
  261. package/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol +20 -10
  262. package/lib/openzeppelin-contracts/contracts/access/Ownable.sol +29 -12
  263. package/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol +16 -6
  264. package/lib/openzeppelin-contracts/contracts/access/README.adoc +23 -3
  265. package/lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol +372 -0
  266. package/lib/openzeppelin-contracts/contracts/access/extensions/AccessControlEnumerable.sol +81 -0
  267. package/lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol +192 -0
  268. package/lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlEnumerable.sol +31 -0
  269. package/lib/openzeppelin-contracts/contracts/access/manager/AccessManaged.sol +112 -0
  270. package/lib/openzeppelin-contracts/contracts/access/manager/AccessManager.sol +740 -0
  271. package/lib/openzeppelin-contracts/contracts/access/manager/AuthorityUtils.sol +36 -0
  272. package/lib/openzeppelin-contracts/contracts/access/manager/IAccessManaged.sol +32 -0
  273. package/lib/openzeppelin-contracts/contracts/access/manager/IAccessManager.sol +399 -0
  274. package/lib/openzeppelin-contracts/contracts/access/manager/IAuthority.sol +14 -0
  275. package/lib/openzeppelin-contracts/contracts/account/Account.sol +144 -0
  276. package/lib/openzeppelin-contracts/contracts/account/README.adoc +30 -0
  277. package/lib/openzeppelin-contracts/contracts/account/extensions/draft-AccountERC7579.sol +413 -0
  278. package/lib/openzeppelin-contracts/contracts/account/extensions/draft-AccountERC7579Hooked.sol +106 -0
  279. package/lib/openzeppelin-contracts/contracts/account/extensions/draft-ERC7821.sol +69 -0
  280. package/lib/openzeppelin-contracts/contracts/account/utils/EIP7702Utils.sol +20 -0
  281. package/lib/openzeppelin-contracts/contracts/account/utils/draft-ERC4337Utils.sol +159 -0
  282. package/lib/openzeppelin-contracts/contracts/account/utils/draft-ERC7579Utils.sol +280 -0
  283. package/lib/openzeppelin-contracts/contracts/finance/README.adoc +1 -7
  284. package/lib/openzeppelin-contracts/contracts/finance/VestingWallet.sol +42 -32
  285. package/lib/openzeppelin-contracts/contracts/finance/VestingWalletCliff.sol +54 -0
  286. package/lib/openzeppelin-contracts/contracts/governance/Governor.sol +474 -253
  287. package/lib/openzeppelin-contracts/contracts/governance/IGovernor.sol +236 -58
  288. package/lib/openzeppelin-contracts/contracts/governance/README.adoc +37 -16
  289. package/lib/openzeppelin-contracts/contracts/governance/TimelockController.sol +153 -108
  290. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingFractional.sol +190 -0
  291. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingOverridable.sol +222 -0
  292. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol +22 -33
  293. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorNoncesKeyed.sol +90 -0
  294. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorPreventLateQuorum.sol +24 -40
  295. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalGuardian.sol +58 -0
  296. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSequentialProposalId.sol +75 -0
  297. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSettings.sol +19 -27
  298. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorStorage.sol +125 -0
  299. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSuperQuorum.sol +58 -0
  300. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockAccess.sol +346 -0
  301. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockCompound.sol +47 -75
  302. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol +57 -56
  303. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol +43 -11
  304. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +38 -44
  305. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol +134 -0
  306. package/lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol +16 -18
  307. package/lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol +116 -75
  308. package/lib/openzeppelin-contracts/contracts/governance/utils/VotesExtended.sol +84 -0
  309. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1155.sol +3 -3
  310. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1155MetadataURI.sol +3 -3
  311. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1155Receiver.sol +3 -3
  312. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol +5 -7
  313. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol +54 -63
  314. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Receiver.sol +20 -20
  315. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Spender.sol +19 -23
  316. package/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol +3 -3
  317. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Implementer.sol +17 -3
  318. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Registry.sol +109 -3
  319. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol +24 -0
  320. package/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol +3 -3
  321. package/lib/openzeppelin-contracts/contracts/interfaces/IERC20Metadata.sol +3 -3
  322. package/lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol +2 -4
  323. package/lib/openzeppelin-contracts/contracts/interfaces/IERC2612.sol +8 -0
  324. package/lib/openzeppelin-contracts/contracts/interfaces/IERC2981.sol +10 -9
  325. package/lib/openzeppelin-contracts/contracts/interfaces/IERC3156.sol +4 -4
  326. package/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol +4 -6
  327. package/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol +4 -6
  328. package/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol +8 -18
  329. package/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol +20 -0
  330. package/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol +28 -0
  331. package/lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol +16 -0
  332. package/lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol +9 -0
  333. package/lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol +17 -0
  334. package/lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol +3 -3
  335. package/lib/openzeppelin-contracts/contracts/interfaces/IERC721Enumerable.sol +3 -3
  336. package/lib/openzeppelin-contracts/contracts/interfaces/IERC721Metadata.sol +3 -3
  337. package/lib/openzeppelin-contracts/contracts/interfaces/IERC721Receiver.sol +3 -3
  338. package/lib/openzeppelin-contracts/contracts/interfaces/IERC777.sol +197 -3
  339. package/lib/openzeppelin-contracts/contracts/interfaces/IERC777Recipient.sol +32 -3
  340. package/lib/openzeppelin-contracts/contracts/interfaces/IERC777Sender.sol +32 -3
  341. package/lib/openzeppelin-contracts/contracts/interfaces/IERC7913.sol +17 -0
  342. package/lib/openzeppelin-contracts/contracts/interfaces/README.adoc +50 -1
  343. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol +3 -3
  344. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC4337.sol +253 -0
  345. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol +161 -0
  346. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6909.sol +125 -0
  347. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7579.sol +226 -0
  348. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7674.sol +17 -0
  349. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7786.sol +64 -0
  350. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7802.sol +30 -0
  351. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7821.sol +43 -0
  352. package/lib/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol +62 -15
  353. package/lib/openzeppelin-contracts/contracts/metatx/ERC2771Forwarder.sol +372 -0
  354. package/lib/openzeppelin-contracts/contracts/metatx/README.adoc +6 -1
  355. package/lib/openzeppelin-contracts/contracts/mocks/AccessManagedTarget.sol +34 -0
  356. package/lib/openzeppelin-contracts/contracts/mocks/AccessManagerMock.sol +20 -0
  357. package/lib/openzeppelin-contracts/contracts/mocks/ArraysMock.sol +124 -4
  358. package/lib/openzeppelin-contracts/contracts/mocks/AuthorityMock.sol +69 -0
  359. package/lib/openzeppelin-contracts/contracts/mocks/Base64Dirty.sol +19 -0
  360. package/lib/openzeppelin-contracts/contracts/mocks/BatchCaller.sol +20 -0
  361. package/lib/openzeppelin-contracts/contracts/mocks/CallReceiverMock.sol +26 -5
  362. package/lib/openzeppelin-contracts/contracts/mocks/ConstructorMock.sol +34 -0
  363. package/lib/openzeppelin-contracts/contracts/mocks/ContextMock.sol +9 -7
  364. package/lib/openzeppelin-contracts/contracts/mocks/DummyImplementation.sol +10 -6
  365. package/lib/openzeppelin-contracts/contracts/mocks/EIP712Verifier.sol +16 -0
  366. package/lib/openzeppelin-contracts/contracts/mocks/ERC1271WalletMock.sol +7 -9
  367. package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165InterfacesSupported.sol +4 -4
  368. package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MaliciousData.sol +1 -1
  369. package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MissingData.sol +1 -1
  370. package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165NotSupported.sol +1 -1
  371. package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165ReturnBomb.sol +2 -2
  372. package/lib/openzeppelin-contracts/contracts/mocks/ERC2771ContextMock.sol +10 -4
  373. package/lib/openzeppelin-contracts/contracts/mocks/ERC3156FlashBorrowerMock.sol +6 -6
  374. package/lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol +1 -1
  375. package/lib/openzeppelin-contracts/contracts/mocks/InitializableMock.sol +6 -6
  376. package/lib/openzeppelin-contracts/contracts/mocks/MerkleProofCustomHashMock.sol +62 -0
  377. package/lib/openzeppelin-contracts/contracts/mocks/MerkleTreeMock.sol +52 -0
  378. package/lib/openzeppelin-contracts/contracts/mocks/MulticallHelper.sol +23 -0
  379. package/lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol +7 -12
  380. package/lib/openzeppelin-contracts/contracts/mocks/PausableMock.sol +2 -2
  381. package/lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol +4 -4
  382. package/lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol +13 -6
  383. package/lib/openzeppelin-contracts/contracts/mocks/ReentrancyTransientMock.sol +50 -0
  384. package/lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol +2 -2
  385. package/lib/openzeppelin-contracts/contracts/mocks/SingleInheritanceInitializableMocks.sol +2 -2
  386. package/lib/openzeppelin-contracts/contracts/mocks/Stateless.sol +55 -0
  387. package/lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol +61 -15
  388. package/lib/openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol +26 -0
  389. package/lib/openzeppelin-contracts/contracts/mocks/TransientSlotMock.sol +61 -0
  390. package/lib/openzeppelin-contracts/contracts/mocks/UpgradeableBeaconMock.sol +27 -0
  391. package/lib/openzeppelin-contracts/contracts/mocks/VotesExtendedMock.sol +42 -0
  392. package/lib/openzeppelin-contracts/contracts/mocks/VotesMock.sol +20 -18
  393. package/lib/openzeppelin-contracts/contracts/mocks/account/AccountMock.sol +169 -0
  394. package/lib/openzeppelin-contracts/contracts/mocks/account/modules/ERC7579Mock.sol +122 -0
  395. package/lib/openzeppelin-contracts/contracts/mocks/account/utils/ERC7579UtilsMock.sol +23 -0
  396. package/lib/openzeppelin-contracts/contracts/mocks/compound/CompTimelock.sol +1 -1
  397. package/lib/openzeppelin-contracts/contracts/mocks/docs/ERC20WithAutoMinerReward.sol +22 -0
  398. package/lib/openzeppelin-contracts/contracts/mocks/docs/ERC4626Fees.sol +109 -0
  399. package/lib/openzeppelin-contracts/contracts/mocks/docs/MyNFT.sol +9 -0
  400. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintBase.sol +25 -0
  401. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintMissing.sol +24 -0
  402. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintOnlyRole.sol +23 -0
  403. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlModified.sol +14 -0
  404. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessManagedERC20MintBase.sol +16 -0
  405. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/MyContractOwnable.sol +17 -0
  406. package/lib/openzeppelin-contracts/contracts/mocks/docs/account/MyAccountERC7702.sol +20 -0
  407. package/lib/openzeppelin-contracts/contracts/mocks/docs/account/MyFactoryAccount.sol +37 -0
  408. package/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyGovernor.sol +80 -0
  409. package/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyToken.sol +21 -0
  410. package/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenTimestampBased.sol +32 -0
  411. package/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenWrapped.sol +28 -0
  412. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC1155/GameItems.sol +21 -0
  413. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC1155/MyERC115HolderContract.sol +7 -0
  414. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC20/GLDToken.sol +11 -0
  415. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC6909/ERC6909GameItems.sol +26 -0
  416. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC721/GameItem.sol +19 -0
  417. package/lib/openzeppelin-contracts/contracts/mocks/docs/utilities/Base64NFT.sol +27 -0
  418. package/lib/openzeppelin-contracts/contracts/mocks/docs/utilities/Multicall.sol +15 -0
  419. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCountingOverridableMock.sol +18 -0
  420. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorFractionalMock.sol +14 -0
  421. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorMock.sol +14 -0
  422. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorNoncesKeyedMock.sol +45 -0
  423. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorPreventLateQuorumMock.sol +40 -0
  424. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorProposalGuardianMock.sol +27 -0
  425. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorSequentialProposalIdMock.sol +39 -0
  426. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorStorageMock.sol +79 -0
  427. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorSuperQuorumMock.sol +95 -0
  428. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockAccessMock.sol +70 -0
  429. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockCompoundMock.sol +69 -0
  430. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockControlMock.sol +69 -0
  431. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVoteMock.sol +20 -0
  432. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVotesSuperQuorumFractionMock.sol +37 -0
  433. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorWithParamsMock.sol +51 -0
  434. package/lib/openzeppelin-contracts/contracts/mocks/proxy/BadBeacon.sol +11 -0
  435. package/lib/openzeppelin-contracts/contracts/mocks/proxy/ClashingImplementation.sol +19 -0
  436. package/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSUpgradeableMock.sol +35 -0
  437. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1155ReceiverMock.sol +74 -0
  438. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ForceApproveMock.sol +13 -0
  439. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363NoReturnMock.sol +33 -0
  440. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ReceiverMock.sol +52 -0
  441. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ReturnFalseMock.sol +34 -0
  442. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363SpenderMock.sol +47 -0
  443. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ApprovalMock.sol +10 -0
  444. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20BridgeableMock.sol +26 -0
  445. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20DecimalsMock.sol +17 -0
  446. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ExcessDecimalsMock.sol +9 -0
  447. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20FlashMintMock.sol +26 -0
  448. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ForceApproveMock.sol +13 -0
  449. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20GetterHelper.sol +38 -0
  450. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol +16 -0
  451. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20MulticallMock.sol +8 -0
  452. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20NoReturnMock.sol +28 -0
  453. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20Reentrant.sol +39 -0
  454. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ReturnFalseMock.sol +19 -0
  455. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesAdditionalCheckpointsMock.sol +31 -0
  456. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesLegacyMock.sol +253 -0
  457. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesTimestampMock.sol +29 -0
  458. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626LimitsMock.sol +23 -0
  459. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626Mock.sol +17 -0
  460. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626OffsetMock.sol +17 -0
  461. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC4646FeesMock.sol +40 -0
  462. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveEnumerableMock.sol +42 -0
  463. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol +61 -0
  464. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ReceiverMock.sol +47 -0
  465. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC721URIStorageMock.sol +17 -0
  466. package/lib/openzeppelin-contracts/contracts/mocks/utils/cryptography/ERC7739Mock.sol +13 -0
  467. package/lib/openzeppelin-contracts/contracts/package.json +2 -2
  468. package/lib/openzeppelin-contracts/contracts/proxy/Clones.sol +197 -24
  469. package/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol +21 -13
  470. package/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol +177 -0
  471. package/lib/openzeppelin-contracts/contracts/proxy/Proxy.sol +4 -21
  472. package/lib/openzeppelin-contracts/contracts/proxy/README.adoc +13 -11
  473. package/lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol +23 -27
  474. package/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol +3 -3
  475. package/lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol +16 -11
  476. package/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol +17 -53
  477. package/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +80 -86
  478. package/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol +108 -35
  479. package/lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol +81 -30
  480. package/lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol +197 -325
  481. package/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol +28 -30
  482. package/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol +7 -6
  483. package/lib/openzeppelin-contracts/contracts/token/ERC1155/README.adoc +6 -12
  484. package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +11 -23
  485. package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +11 -17
  486. package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Supply.sol +45 -21
  487. package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +9 -11
  488. package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +4 -6
  489. package/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol +11 -7
  490. package/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Utils.sol +88 -0
  491. package/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol +137 -221
  492. package/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol +13 -16
  493. package/lib/openzeppelin-contracts/contracts/token/ERC20/README.adoc +28 -36
  494. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC1363.sol +135 -0
  495. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol +13 -13
  496. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Capped.sol +27 -10
  497. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20FlashMint.sol +56 -31
  498. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Pausable.sol +9 -15
  499. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol +77 -0
  500. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol +43 -235
  501. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol +48 -22
  502. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.sol +130 -132
  503. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol +4 -6
  504. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol +90 -0
  505. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Bridgeable.sol +50 -0
  506. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20TemporaryApproval.sol +119 -0
  507. package/lib/openzeppelin-contracts/contracts/token/ERC20/utils/ERC1363Utils.sol +95 -0
  508. package/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol +241 -77
  509. package/lib/openzeppelin-contracts/contracts/token/ERC6909/README.adoc +27 -0
  510. package/lib/openzeppelin-contracts/contracts/token/ERC6909/draft-ERC6909.sol +224 -0
  511. package/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909ContentURI.sol +53 -0
  512. package/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909Metadata.sol +77 -0
  513. package/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909TokenSupply.sol +35 -0
  514. package/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol +250 -326
  515. package/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol +17 -27
  516. package/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol +6 -5
  517. package/lib/openzeppelin-contracts/contracts/token/ERC721/README.adoc +11 -12
  518. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Burnable.sol +9 -9
  519. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol +82 -54
  520. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol +61 -56
  521. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol +12 -15
  522. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Royalty.sol +10 -22
  523. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol +25 -29
  524. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol +22 -16
  525. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Wrapper.sol +102 -0
  526. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol +3 -3
  527. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol +3 -3
  528. package/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol +7 -11
  529. package/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Utils.sol +50 -0
  530. package/lib/openzeppelin-contracts/contracts/token/common/ERC2981.sol +56 -28
  531. package/lib/openzeppelin-contracts/contracts/token/common/README.adoc +2 -2
  532. package/lib/openzeppelin-contracts/contracts/utils/Address.sol +51 -146
  533. package/lib/openzeppelin-contracts/contracts/utils/Arrays.sol +481 -25
  534. package/lib/openzeppelin-contracts/contracts/utils/Base64.sol +65 -38
  535. package/lib/openzeppelin-contracts/contracts/utils/Blockhash.sol +52 -0
  536. package/lib/openzeppelin-contracts/contracts/utils/Bytes.sol +166 -0
  537. package/lib/openzeppelin-contracts/contracts/utils/CAIP10.sol +54 -0
  538. package/lib/openzeppelin-contracts/contracts/utils/CAIP2.sol +51 -0
  539. package/lib/openzeppelin-contracts/contracts/utils/Calldata.sol +25 -0
  540. package/lib/openzeppelin-contracts/contracts/utils/Comparators.sol +19 -0
  541. package/lib/openzeppelin-contracts/contracts/utils/Context.sol +6 -2
  542. package/lib/openzeppelin-contracts/contracts/utils/Create2.sol +29 -20
  543. package/lib/openzeppelin-contracts/contracts/utils/Errors.sol +34 -0
  544. package/lib/openzeppelin-contracts/contracts/utils/Memory.sol +44 -0
  545. package/lib/openzeppelin-contracts/contracts/utils/Multicall.sol +19 -6
  546. package/lib/openzeppelin-contracts/contracts/utils/Nonces.sol +46 -0
  547. package/lib/openzeppelin-contracts/contracts/utils/NoncesKeyed.sol +74 -0
  548. package/lib/openzeppelin-contracts/contracts/utils/Packing.sol +1656 -0
  549. package/lib/openzeppelin-contracts/contracts/utils/Panic.sol +57 -0
  550. package/lib/openzeppelin-contracts/contracts/utils/Pausable.sol +112 -0
  551. package/lib/openzeppelin-contracts/contracts/utils/README.adoc +79 -45
  552. package/lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol +87 -0
  553. package/lib/openzeppelin-contracts/contracts/utils/ReentrancyGuardTransient.sol +61 -0
  554. package/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol +122 -0
  555. package/lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol +155 -0
  556. package/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol +72 -17
  557. package/lib/openzeppelin-contracts/contracts/utils/Strings.sol +453 -16
  558. package/lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol +183 -0
  559. package/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol +96 -96
  560. package/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol +96 -40
  561. package/lib/openzeppelin-contracts/contracts/utils/cryptography/Hashes.sol +31 -0
  562. package/lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol +362 -71
  563. package/lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol +99 -0
  564. package/lib/openzeppelin-contracts/contracts/utils/cryptography/P256.sol +408 -0
  565. package/lib/openzeppelin-contracts/contracts/utils/cryptography/README.adoc +67 -0
  566. package/lib/openzeppelin-contracts/contracts/utils/cryptography/RSA.sol +154 -0
  567. package/lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol +143 -21
  568. package/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-ERC7739Utils.sol +206 -0
  569. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/AbstractSigner.sol +22 -0
  570. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/MultiSignerERC7913.sol +251 -0
  571. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol +207 -0
  572. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerECDSA.sol +55 -0
  573. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerERC7702.sol +24 -0
  574. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerERC7913.sol +62 -0
  575. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerP256.sol +63 -0
  576. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerRSA.sol +64 -0
  577. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/draft-ERC7739.sol +98 -0
  578. package/lib/openzeppelin-contracts/contracts/utils/cryptography/verifiers/ERC7913P256Verifier.sol +28 -0
  579. package/lib/openzeppelin-contracts/contracts/utils/cryptography/verifiers/ERC7913RSAVerifier.sol +22 -0
  580. package/lib/openzeppelin-contracts/contracts/utils/draft-InteroperableAddress.sol +234 -0
  581. package/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol +6 -10
  582. package/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol +18 -21
  583. package/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol +5 -5
  584. package/lib/openzeppelin-contracts/contracts/utils/math/Math.sol +580 -176
  585. package/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol +224 -198
  586. package/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol +31 -6
  587. package/lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol +14 -9
  588. package/lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol +833 -0
  589. package/lib/openzeppelin-contracts/contracts/utils/structs/CircularBuffer.sol +140 -0
  590. package/lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol +46 -60
  591. package/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol +919 -130
  592. package/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol +441 -27
  593. package/lib/openzeppelin-contracts/contracts/utils/structs/Heap.sol +256 -0
  594. package/lib/openzeppelin-contracts/contracts/utils/structs/MerkleTree.sol +267 -0
  595. package/lib/openzeppelin-contracts/contracts/utils/types/Time.sol +133 -0
  596. package/lib/openzeppelin-contracts/contracts/vendor/compound/ICompoundTimelock.sol +3 -3
  597. package/lib/openzeppelin-contracts/docs/README.md +16 -0
  598. package/lib/openzeppelin-contracts/docs/antora.yml +2 -1
  599. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-control-multiple.svg +97 -0
  600. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-manager-functions.svg +47 -0
  601. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-manager.svg +99 -0
  602. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
  603. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
  604. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
  605. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack.png +0 -0
  606. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
  607. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-mint.png +0 -0
  608. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
  609. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
  610. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
  611. package/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +13 -7
  612. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +168 -97
  613. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/account-abstraction.adoc +100 -0
  614. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/accounts.adoc +354 -0
  615. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/backwards-compatibility.adoc +50 -0
  616. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/eoa-delegation.adoc +143 -0
  617. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +19 -54
  618. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +13 -55
  619. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +7 -25
  620. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc4626.adoc +214 -0
  621. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc6909.adoc +47 -0
  622. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +10 -42
  623. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +4 -82
  624. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/faq.adoc +13 -0
  625. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +85 -167
  626. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +19 -12
  627. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/multisig.adoc +306 -0
  628. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +4 -5
  629. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +14 -10
  630. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +482 -81
  631. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/wizard.adoc +1 -1
  632. package/lib/openzeppelin-contracts/docs/templates/contract.hbs +57 -1
  633. package/lib/openzeppelin-contracts/docs/templates/helpers.js +8 -8
  634. package/lib/openzeppelin-contracts/docs/templates/properties.js +47 -8
  635. package/lib/openzeppelin-contracts/eslint.config.mjs +26 -0
  636. package/lib/openzeppelin-contracts/foundry.toml +15 -0
  637. package/lib/openzeppelin-contracts/fv-requirements.txt +4 -0
  638. package/lib/openzeppelin-contracts/hardhat/async-test-sanity.js +10 -0
  639. package/lib/openzeppelin-contracts/hardhat/common-contracts.js +69 -0
  640. package/lib/openzeppelin-contracts/hardhat/env-artifacts.js +29 -0
  641. package/lib/openzeppelin-contracts/hardhat/ignore-unreachable-warnings.js +2 -4
  642. package/lib/openzeppelin-contracts/hardhat/remappings.js +18 -0
  643. package/lib/openzeppelin-contracts/hardhat/skip-foundry-tests.js +3 -4
  644. package/lib/openzeppelin-contracts/hardhat/task-test-get-files.js +25 -0
  645. package/lib/openzeppelin-contracts/hardhat.config.js +67 -49
  646. package/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.prop.sol +404 -0
  647. package/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.test.sol +356 -0
  648. package/lib/openzeppelin-contracts/lib/erc4626-tests/LICENSE +661 -0
  649. package/lib/openzeppelin-contracts/lib/erc4626-tests/README.md +116 -0
  650. package/lib/openzeppelin-contracts/lib/forge-std/.gitattributes +1 -0
  651. package/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/ci.yml +48 -12
  652. package/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/sync.yml +31 -0
  653. package/lib/openzeppelin-contracts/lib/forge-std/CONTRIBUTING.md +193 -0
  654. package/lib/openzeppelin-contracts/lib/forge-std/README.md +19 -3
  655. package/lib/openzeppelin-contracts/lib/forge-std/foundry.toml +5 -3
  656. package/lib/openzeppelin-contracts/lib/forge-std/package.json +2 -2
  657. package/lib/openzeppelin-contracts/lib/forge-std/scripts/vm.py +646 -0
  658. package/lib/openzeppelin-contracts/lib/forge-std/src/Base.sol +7 -3
  659. package/lib/openzeppelin-contracts/lib/forge-std/src/Script.sol +4 -3
  660. package/lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol +595 -135
  661. package/lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol +146 -48
  662. package/lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol +303 -39
  663. package/lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol +122 -0
  664. package/lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol +129 -25
  665. package/lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol +245 -99
  666. package/lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol +333 -0
  667. package/lib/openzeppelin-contracts/lib/forge-std/src/StdToml.sol +283 -0
  668. package/lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol +125 -39
  669. package/lib/openzeppelin-contracts/lib/forge-std/src/Test.sol +10 -5
  670. package/lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol +2182 -304
  671. package/lib/openzeppelin-contracts/lib/forge-std/src/console.sol +635 -608
  672. package/lib/openzeppelin-contracts/lib/forge-std/src/console2.sol +1 -1543
  673. package/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC4626.sol +2 -2
  674. package/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
  675. package/lib/openzeppelin-contracts/lib/forge-std/src/safeconsole.sol +13937 -0
  676. package/lib/openzeppelin-contracts/lib/forge-std/test/StdAssertions.t.sol +126 -572
  677. package/lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol +166 -62
  678. package/lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol +348 -35
  679. package/lib/openzeppelin-contracts/lib/forge-std/test/StdError.t.sol +15 -13
  680. package/lib/openzeppelin-contracts/lib/forge-std/test/StdJson.t.sol +49 -0
  681. package/lib/openzeppelin-contracts/lib/forge-std/test/StdMath.t.sol +31 -26
  682. package/lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol +251 -46
  683. package/lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
  684. package/lib/openzeppelin-contracts/lib/forge-std/test/StdToml.t.sol +49 -0
  685. package/lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol +186 -35
  686. package/lib/openzeppelin-contracts/lib/forge-std/test/Vm.t.sol +18 -0
  687. package/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/test.json +8 -0
  688. package/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/test.toml +6 -0
  689. package/lib/openzeppelin-contracts/lib/halmos-cheatcodes/LICENSE +661 -0
  690. package/lib/openzeppelin-contracts/lib/halmos-cheatcodes/README.md +97 -0
  691. package/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/SVM.sol +49 -0
  692. package/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/SymTest.sol +11 -0
  693. package/lib/openzeppelin-contracts/package.json +59 -45
  694. package/lib/openzeppelin-contracts/remappings.txt +1 -0
  695. package/lib/openzeppelin-contracts/renovate.json +2 -9
  696. package/lib/openzeppelin-contracts/scripts/checks/compare-layout.js +28 -0
  697. package/lib/openzeppelin-contracts/scripts/checks/compareGasReports.js +130 -92
  698. package/lib/openzeppelin-contracts/scripts/checks/coverage.sh +24 -0
  699. package/lib/openzeppelin-contracts/scripts/checks/extract-layout.js +39 -0
  700. package/lib/openzeppelin-contracts/scripts/checks/inheritance-ordering.js +28 -23
  701. package/lib/openzeppelin-contracts/scripts/checks/pragma-validity.js +45 -0
  702. package/lib/openzeppelin-contracts/scripts/fetch-common-contracts.js +50 -0
  703. package/lib/openzeppelin-contracts/scripts/gen-nav.js +62 -22
  704. package/lib/openzeppelin-contracts/scripts/generate/format-lines.js +4 -4
  705. package/lib/openzeppelin-contracts/scripts/generate/helpers/sanitize.js +5 -0
  706. package/lib/openzeppelin-contracts/scripts/generate/run.js +38 -23
  707. package/lib/openzeppelin-contracts/scripts/generate/templates/Arrays.js +386 -0
  708. package/lib/openzeppelin-contracts/scripts/generate/templates/Arrays.opts.js +9 -0
  709. package/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.js +67 -128
  710. package/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.opts.js +18 -0
  711. package/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.t.js +141 -0
  712. package/lib/openzeppelin-contracts/scripts/generate/templates/Enumerable.opts.js +53 -0
  713. package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMap.js +269 -84
  714. package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSet.js +252 -36
  715. package/lib/openzeppelin-contracts/scripts/generate/templates/MerkleProof.js +187 -0
  716. package/lib/openzeppelin-contracts/scripts/generate/templates/MerkleProof.opts.js +11 -0
  717. package/lib/openzeppelin-contracts/scripts/generate/templates/Packing.js +92 -0
  718. package/lib/openzeppelin-contracts/scripts/generate/templates/Packing.opts.js +3 -0
  719. package/lib/openzeppelin-contracts/scripts/generate/templates/Packing.t.js +48 -0
  720. package/lib/openzeppelin-contracts/scripts/generate/templates/SafeCast.js +50 -82
  721. package/lib/openzeppelin-contracts/scripts/generate/templates/Slot.opts.js +15 -0
  722. package/lib/openzeppelin-contracts/scripts/generate/templates/SlotDerivation.js +119 -0
  723. package/lib/openzeppelin-contracts/scripts/generate/templates/SlotDerivation.t.js +127 -0
  724. package/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlot.js +77 -0
  725. package/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlotMock.js +57 -0
  726. package/lib/openzeppelin-contracts/scripts/generate/templates/TransientSlot.js +80 -0
  727. package/lib/openzeppelin-contracts/scripts/generate/templates/TransientSlotMock.js +35 -0
  728. package/lib/openzeppelin-contracts/scripts/generate/templates/conversion.js +18 -18
  729. package/lib/openzeppelin-contracts/scripts/get-contracts-metadata.js +55 -0
  730. package/lib/openzeppelin-contracts/scripts/helpers.js +4 -20
  731. package/lib/openzeppelin-contracts/scripts/minimize-pragma.js +138 -0
  732. package/lib/openzeppelin-contracts/scripts/prepack.sh +14 -3
  733. package/lib/openzeppelin-contracts/scripts/prepare-docs.sh +12 -1
  734. package/lib/openzeppelin-contracts/scripts/release/format-changelog.js +33 -0
  735. package/lib/openzeppelin-contracts/scripts/release/synchronize-versions.js +6 -7
  736. package/lib/openzeppelin-contracts/scripts/release/update-comment.js +2 -4
  737. package/lib/openzeppelin-contracts/scripts/release/version.sh +4 -2
  738. package/lib/openzeppelin-contracts/scripts/release/workflow/exit-prerelease.sh +8 -0
  739. package/lib/openzeppelin-contracts/scripts/release/workflow/github-release.js +48 -0
  740. package/lib/openzeppelin-contracts/scripts/release/workflow/integrity-check.sh +20 -0
  741. package/lib/openzeppelin-contracts/scripts/release/workflow/pack.sh +26 -0
  742. package/lib/openzeppelin-contracts/scripts/release/workflow/publish.sh +26 -0
  743. package/lib/openzeppelin-contracts/scripts/release/workflow/rerun.js +7 -0
  744. package/lib/openzeppelin-contracts/scripts/release/workflow/set-changesets-pr-title.js +17 -0
  745. package/lib/openzeppelin-contracts/scripts/release/workflow/start.sh +35 -0
  746. package/lib/openzeppelin-contracts/scripts/release/workflow/state.js +112 -0
  747. package/lib/openzeppelin-contracts/scripts/remove-ignored-artifacts.js +4 -4
  748. package/lib/openzeppelin-contracts/scripts/set-max-old-space-size.sh +10 -0
  749. package/lib/openzeppelin-contracts/scripts/solc-versions.js +15 -0
  750. package/lib/openzeppelin-contracts/scripts/solhint-custom/index.js +84 -0
  751. package/lib/openzeppelin-contracts/scripts/solhint-custom/package.json +8 -0
  752. package/lib/openzeppelin-contracts/scripts/update-docs-branch.js +15 -5
  753. package/lib/openzeppelin-contracts/scripts/upgradeable/README.md +21 -0
  754. package/lib/openzeppelin-contracts/scripts/upgradeable/patch-apply.sh +19 -0
  755. package/lib/openzeppelin-contracts/scripts/upgradeable/patch-save.sh +18 -0
  756. package/lib/openzeppelin-contracts/scripts/upgradeable/transpile-onto.sh +54 -0
  757. package/lib/openzeppelin-contracts/scripts/upgradeable/transpile.sh +50 -0
  758. package/lib/openzeppelin-contracts/scripts/upgradeable/upgradeable.patch +398 -0
  759. package/lib/openzeppelin-contracts/slither.config.json +3 -4
  760. package/lib/openzeppelin-contracts/solhint.config.js +29 -0
  761. package/lib/openzeppelin-contracts/test/TESTING.md +1 -1
  762. package/lib/openzeppelin-contracts/test/access/AccessControl.behavior.js +756 -98
  763. package/lib/openzeppelin-contracts/test/access/AccessControl.test.js +13 -7
  764. package/lib/openzeppelin-contracts/test/access/Ownable.test.js +50 -28
  765. package/lib/openzeppelin-contracts/test/access/Ownable2Step.test.js +77 -32
  766. package/lib/openzeppelin-contracts/test/access/extensions/AccessControlDefaultAdminRules.test.js +32 -0
  767. package/lib/openzeppelin-contracts/test/access/extensions/AccessControlEnumerable.test.js +24 -0
  768. package/lib/openzeppelin-contracts/test/access/manager/AccessManaged.test.js +146 -0
  769. package/lib/openzeppelin-contracts/test/access/manager/AccessManager.behavior.js +257 -0
  770. package/lib/openzeppelin-contracts/test/access/manager/AccessManager.predicate.js +456 -0
  771. package/lib/openzeppelin-contracts/test/access/manager/AccessManager.test.js +2489 -0
  772. package/lib/openzeppelin-contracts/test/access/manager/AuthorityUtils.test.js +112 -0
  773. package/lib/openzeppelin-contracts/test/account/Account.behavior.js +144 -0
  774. package/lib/openzeppelin-contracts/test/account/Account.test.js +48 -0
  775. package/lib/openzeppelin-contracts/test/account/AccountECDSA.test.js +52 -0
  776. package/lib/openzeppelin-contracts/test/account/AccountERC7702.t.sol +103 -0
  777. package/lib/openzeppelin-contracts/test/account/AccountERC7702.test.js +52 -0
  778. package/lib/openzeppelin-contracts/test/account/AccountERC7913.test.js +116 -0
  779. package/lib/openzeppelin-contracts/test/account/AccountMultiSigner.test.js +326 -0
  780. package/lib/openzeppelin-contracts/test/account/AccountMultiSignerWeighted.test.js +312 -0
  781. package/lib/openzeppelin-contracts/test/account/AccountP256.test.js +58 -0
  782. package/lib/openzeppelin-contracts/test/account/AccountRSA.test.js +58 -0
  783. package/lib/openzeppelin-contracts/test/account/examples/AccountERC7702WithModulesMock.test.js +99 -0
  784. package/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579.behavior.js +563 -0
  785. package/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579.test.js +60 -0
  786. package/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579Hooked.test.js +60 -0
  787. package/lib/openzeppelin-contracts/test/account/extensions/ERC7821.behavior.js +145 -0
  788. package/lib/openzeppelin-contracts/test/account/utils/EIP7702Utils.test.js +53 -0
  789. package/lib/openzeppelin-contracts/test/account/utils/draft-ERC4337Utils.test.js +289 -0
  790. package/lib/openzeppelin-contracts/test/account/utils/draft-ERC7579Utils.t.sol +426 -0
  791. package/lib/openzeppelin-contracts/test/account/utils/draft-ERC7579Utils.test.js +399 -0
  792. package/lib/openzeppelin-contracts/test/bin/EntryPoint070.abi +1 -0
  793. package/lib/openzeppelin-contracts/test/bin/EntryPoint070.bytecode +0 -0
  794. package/lib/openzeppelin-contracts/test/bin/EntryPoint080.abi +1 -0
  795. package/lib/openzeppelin-contracts/test/bin/EntryPoint080.bytecode +0 -0
  796. package/lib/openzeppelin-contracts/test/bin/SenderCreator070.abi +1 -0
  797. package/lib/openzeppelin-contracts/test/bin/SenderCreator070.bytecode +0 -0
  798. package/lib/openzeppelin-contracts/test/bin/SenderCreator080.abi +1 -0
  799. package/lib/openzeppelin-contracts/test/bin/SenderCreator080.bytecode +0 -0
  800. package/lib/openzeppelin-contracts/test/finance/VestingWallet.behavior.js +59 -46
  801. package/lib/openzeppelin-contracts/test/finance/VestingWallet.test.js +35 -37
  802. package/lib/openzeppelin-contracts/test/finance/VestingWalletCliff.test.js +70 -0
  803. package/lib/openzeppelin-contracts/test/governance/Governor.t.sol +59 -0
  804. package/lib/openzeppelin-contracts/test/governance/Governor.test.js +938 -590
  805. package/lib/openzeppelin-contracts/test/governance/TimelockController.test.js +910 -765
  806. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorCountingFractional.test.js +248 -0
  807. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorCountingOverridable.test.js +346 -0
  808. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorERC721.test.js +127 -100
  809. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorNoncesKeyed.test.js +244 -0
  810. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorPreventLateQuorum.test.js +181 -173
  811. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorProposalGuardian.test.js +132 -0
  812. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorSequentialProposalId.test.js +202 -0
  813. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorStorage.test.js +155 -0
  814. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorSuperQuorum.test.js +168 -0
  815. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorSuperQuorumGreaterThanQuorum.t.sol +83 -0
  816. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockAccess.test.js +864 -0
  817. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockCompound.test.js +419 -339
  818. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockControl.test.js +468 -384
  819. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesQuorumFraction.test.js +161 -133
  820. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesSuperQuorumFraction.test.js +160 -0
  821. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorWithParams.test.js +234 -155
  822. package/lib/openzeppelin-contracts/test/governance/utils/ERC6372.behavior.js +28 -0
  823. package/lib/openzeppelin-contracts/test/governance/utils/Votes.behavior.js +254 -273
  824. package/lib/openzeppelin-contracts/test/governance/utils/Votes.test.js +89 -48
  825. package/lib/openzeppelin-contracts/test/governance/utils/VotesExtended.test.js +152 -0
  826. package/lib/openzeppelin-contracts/test/helpers/access-manager.js +85 -0
  827. package/lib/openzeppelin-contracts/test/helpers/account.js +14 -0
  828. package/lib/openzeppelin-contracts/test/helpers/chains.js +56 -0
  829. package/lib/openzeppelin-contracts/test/helpers/constants.js +7 -0
  830. package/lib/openzeppelin-contracts/test/helpers/deploy.js +14 -0
  831. package/lib/openzeppelin-contracts/test/helpers/eip712-types.js +61 -0
  832. package/lib/openzeppelin-contracts/test/helpers/eip712.js +41 -26
  833. package/lib/openzeppelin-contracts/test/helpers/enums.js +9 -24
  834. package/lib/openzeppelin-contracts/test/helpers/erc4337.js +217 -0
  835. package/lib/openzeppelin-contracts/test/helpers/erc7579.js +58 -0
  836. package/lib/openzeppelin-contracts/test/helpers/erc7739.js +118 -0
  837. package/lib/openzeppelin-contracts/test/helpers/governance.js +194 -188
  838. package/lib/openzeppelin-contracts/test/helpers/iterate.js +41 -0
  839. package/lib/openzeppelin-contracts/test/helpers/math.js +33 -0
  840. package/lib/openzeppelin-contracts/test/helpers/methods.js +14 -0
  841. package/lib/openzeppelin-contracts/test/helpers/precompiles.js +12 -0
  842. package/lib/openzeppelin-contracts/test/helpers/random.js +24 -0
  843. package/lib/openzeppelin-contracts/test/helpers/signers.js +184 -0
  844. package/lib/openzeppelin-contracts/test/helpers/storage.js +48 -0
  845. package/lib/openzeppelin-contracts/test/helpers/strings.js +5 -0
  846. package/lib/openzeppelin-contracts/test/helpers/time.js +33 -0
  847. package/lib/openzeppelin-contracts/test/helpers/txpool.js +9 -20
  848. package/lib/openzeppelin-contracts/test/metatx/ERC2771Context.test.js +95 -71
  849. package/lib/openzeppelin-contracts/test/metatx/ERC2771Forwarder.t.sol +279 -0
  850. package/lib/openzeppelin-contracts/test/metatx/ERC2771Forwarder.test.js +384 -0
  851. package/lib/openzeppelin-contracts/test/proxy/Clones.behaviour.js +60 -50
  852. package/lib/openzeppelin-contracts/test/proxy/Clones.t.sol +91 -0
  853. package/lib/openzeppelin-contracts/test/proxy/Clones.test.js +164 -56
  854. package/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Proxy.test.js +17 -7
  855. package/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Utils.test.js +162 -0
  856. package/lib/openzeppelin-contracts/test/proxy/Proxy.behaviour.js +59 -98
  857. package/lib/openzeppelin-contracts/test/proxy/beacon/BeaconProxy.test.js +98 -113
  858. package/lib/openzeppelin-contracts/test/proxy/beacon/UpgradeableBeacon.test.js +34 -29
  859. package/lib/openzeppelin-contracts/test/proxy/transparent/ProxyAdmin.test.js +45 -88
  860. package/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +209 -283
  861. package/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.test.js +20 -7
  862. package/lib/openzeppelin-contracts/test/proxy/utils/Initializable.test.js +94 -96
  863. package/lib/openzeppelin-contracts/test/proxy/utils/UUPSUpgradeable.test.js +94 -59
  864. package/lib/openzeppelin-contracts/test/sanity.test.js +27 -0
  865. package/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.behavior.js +530 -541
  866. package/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.test.js +101 -152
  867. package/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Burnable.test.js +35 -36
  868. package/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Pausable.test.js +54 -57
  869. package/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Supply.test.js +59 -51
  870. package/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +37 -33
  871. package/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Holder.test.js +40 -46
  872. package/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Utils.test.js +299 -0
  873. package/lib/openzeppelin-contracts/test/token/ERC20/ERC20.behavior.js +142 -206
  874. package/lib/openzeppelin-contracts/test/token/ERC20/ERC20.test.js +133 -243
  875. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC1363.test.js +370 -0
  876. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.test.js +96 -10
  877. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.test.js +43 -15
  878. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20FlashMint.test.js +102 -82
  879. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Pausable.test.js +59 -64
  880. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Permit.test.js +109 -0
  881. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Votes.test.js +490 -462
  882. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Wrapper.test.js +133 -120
  883. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.t.sol +41 -0
  884. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.test.js +802 -536
  885. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Bridgeable.test.js +89 -0
  886. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20TemporaryApproval.test.js +142 -0
  887. package/lib/openzeppelin-contracts/test/token/ERC20/utils/SafeERC20.test.js +387 -179
  888. package/lib/openzeppelin-contracts/test/token/ERC6909/ERC6909.behavior.js +216 -0
  889. package/lib/openzeppelin-contracts/test/token/ERC6909/ERC6909.test.js +104 -0
  890. package/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909ContentURI.test.js +49 -0
  891. package/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909Metadata.test.js +58 -0
  892. package/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909TokenSupply.test.js +53 -0
  893. package/lib/openzeppelin-contracts/test/token/ERC721/ERC721.behavior.js +488 -479
  894. package/lib/openzeppelin-contracts/test/token/ERC721/ERC721.test.js +16 -11
  895. package/lib/openzeppelin-contracts/test/token/ERC721/ERC721Enumerable.test.js +16 -8
  896. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Burnable.test.js +43 -44
  897. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.t.sol +80 -19
  898. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.test.js +179 -176
  899. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Pausable.test.js +34 -51
  900. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Royalty.test.js +41 -24
  901. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721URIStorage.test.js +69 -44
  902. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Votes.test.js +187 -167
  903. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Wrapper.test.js +201 -0
  904. package/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Holder.test.js +12 -16
  905. package/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Utils.test.js +94 -0
  906. package/lib/openzeppelin-contracts/test/token/common/ERC2981.behavior.js +80 -88
  907. package/lib/openzeppelin-contracts/test/utils/Address.test.js +159 -260
  908. package/lib/openzeppelin-contracts/test/utils/Arrays.t.sol +31 -0
  909. package/lib/openzeppelin-contracts/test/utils/Arrays.test.js +217 -95
  910. package/lib/openzeppelin-contracts/test/utils/Base64.t.sol +34 -0
  911. package/lib/openzeppelin-contracts/test/utils/Base64.test.js +48 -22
  912. package/lib/openzeppelin-contracts/test/utils/Blockhash.t.sol +101 -0
  913. package/lib/openzeppelin-contracts/test/utils/Blockhash.test.js +59 -0
  914. package/lib/openzeppelin-contracts/test/utils/Bytes.t.sol +74 -0
  915. package/lib/openzeppelin-contracts/test/utils/Bytes.test.js +212 -0
  916. package/lib/openzeppelin-contracts/test/utils/CAIP.test.js +56 -0
  917. package/lib/openzeppelin-contracts/test/utils/Calldata.test.js +22 -0
  918. package/lib/openzeppelin-contracts/test/utils/Context.behavior.js +26 -20
  919. package/lib/openzeppelin-contracts/test/utils/Context.test.js +10 -9
  920. package/lib/openzeppelin-contracts/test/utils/Create2.t.sol +17 -0
  921. package/lib/openzeppelin-contracts/test/utils/Create2.test.js +147 -49
  922. package/lib/openzeppelin-contracts/test/utils/Memory.t.sol +21 -0
  923. package/lib/openzeppelin-contracts/test/utils/Memory.test.js +39 -0
  924. package/lib/openzeppelin-contracts/test/utils/Multicall.test.js +50 -35
  925. package/lib/openzeppelin-contracts/test/utils/Nonces.behavior.js +189 -0
  926. package/lib/openzeppelin-contracts/test/utils/Nonces.test.js +16 -0
  927. package/lib/openzeppelin-contracts/test/utils/NoncesKeyed.test.js +17 -0
  928. package/lib/openzeppelin-contracts/test/utils/Packing.t.sol +993 -0
  929. package/lib/openzeppelin-contracts/test/utils/Packing.test.js +70 -0
  930. package/lib/openzeppelin-contracts/test/utils/Panic.test.js +37 -0
  931. package/lib/openzeppelin-contracts/test/utils/Pausable.test.js +90 -0
  932. package/lib/openzeppelin-contracts/test/utils/ReentrancyGuard.test.js +50 -0
  933. package/lib/openzeppelin-contracts/test/utils/ShortStrings.t.sol +109 -0
  934. package/lib/openzeppelin-contracts/test/utils/ShortStrings.test.js +64 -0
  935. package/lib/openzeppelin-contracts/test/utils/SlotDerivation.t.sol +248 -0
  936. package/lib/openzeppelin-contracts/test/utils/SlotDerivation.test.js +58 -0
  937. package/lib/openzeppelin-contracts/test/utils/StorageSlot.test.js +55 -92
  938. package/lib/openzeppelin-contracts/test/utils/Strings.t.sol +50 -0
  939. package/lib/openzeppelin-contracts/test/utils/Strings.test.js +323 -49
  940. package/lib/openzeppelin-contracts/test/utils/TransientSlot.test.js +59 -0
  941. package/lib/openzeppelin-contracts/test/utils/cryptography/ECDSA.test.js +167 -132
  942. package/lib/openzeppelin-contracts/test/utils/cryptography/EIP712.test.js +100 -52
  943. package/lib/openzeppelin-contracts/test/utils/cryptography/ERC1271.behavior.js +111 -0
  944. package/lib/openzeppelin-contracts/test/utils/cryptography/ERC7739.test.js +42 -0
  945. package/lib/openzeppelin-contracts/test/utils/cryptography/ERC7739Utils.test.js +203 -0
  946. package/lib/openzeppelin-contracts/test/utils/cryptography/MerkleProof.test.js +210 -176
  947. package/lib/openzeppelin-contracts/test/utils/cryptography/MessageHashUtils.t.sol +33 -0
  948. package/lib/openzeppelin-contracts/test/utils/cryptography/MessageHashUtils.test.js +97 -0
  949. package/lib/openzeppelin-contracts/test/utils/cryptography/P256.t.sol +65 -0
  950. package/lib/openzeppelin-contracts/test/utils/cryptography/P256.test.js +182 -0
  951. package/lib/openzeppelin-contracts/test/utils/cryptography/RSA.helper.js +17 -0
  952. package/lib/openzeppelin-contracts/test/utils/cryptography/RSA.test.js +102 -0
  953. package/lib/openzeppelin-contracts/test/utils/cryptography/SigVer15_186-3.rsp +3850 -0
  954. package/lib/openzeppelin-contracts/test/utils/cryptography/SignatureChecker.test.js +397 -56
  955. package/lib/openzeppelin-contracts/test/utils/cryptography/ecdsa_secp256r1_sha256_p1363_test.json +3719 -0
  956. package/lib/openzeppelin-contracts/test/utils/draft-InteroperableAddress.t.sol +99 -0
  957. package/lib/openzeppelin-contracts/test/utils/draft-InteroperableAddress.test.js +170 -0
  958. package/lib/openzeppelin-contracts/test/utils/introspection/ERC165.test.js +11 -6
  959. package/lib/openzeppelin-contracts/test/utils/introspection/ERC165Checker.test.js +84 -142
  960. package/lib/openzeppelin-contracts/test/utils/introspection/SupportsInterface.behavior.js +109 -90
  961. package/lib/openzeppelin-contracts/test/utils/math/Math.t.sol +255 -24
  962. package/lib/openzeppelin-contracts/test/utils/math/Math.test.js +616 -215
  963. package/lib/openzeppelin-contracts/test/utils/math/SafeCast.test.js +84 -89
  964. package/lib/openzeppelin-contracts/test/utils/math/SignedMath.t.sol +80 -0
  965. package/lib/openzeppelin-contracts/test/utils/math/SignedMath.test.js +25 -65
  966. package/lib/openzeppelin-contracts/test/utils/structs/BitMap.test.js +83 -79
  967. package/lib/openzeppelin-contracts/test/utils/structs/Checkpoints.t.sol +440 -0
  968. package/lib/openzeppelin-contracts/test/utils/structs/Checkpoints.test.js +147 -0
  969. package/lib/openzeppelin-contracts/test/utils/structs/CircularBuffer.test.js +83 -0
  970. package/lib/openzeppelin-contracts/test/utils/structs/DoubleEndedQueue.test.js +47 -41
  971. package/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.behavior.js +122 -89
  972. package/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.test.js +70 -73
  973. package/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.behavior.js +105 -61
  974. package/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.test.js +53 -33
  975. package/lib/openzeppelin-contracts/test/utils/structs/Heap.t.sol +74 -0
  976. package/lib/openzeppelin-contracts/test/utils/structs/Heap.test.js +113 -0
  977. package/lib/openzeppelin-contracts/test/utils/structs/MerkleTree.test.js +180 -0
  978. package/lib/openzeppelin-contracts/test/utils/types/Time.test.js +135 -0
  979. package/lib/openzeppelin-contracts-upgradeable/.changeset/all-geese-stand.md +5 -0
  980. package/lib/openzeppelin-contracts-upgradeable/.changeset/clean-ways-push.md +5 -0
  981. package/lib/openzeppelin-contracts-upgradeable/.changeset/config.json +12 -0
  982. package/lib/openzeppelin-contracts-upgradeable/.changeset/dull-students-eat.md +5 -0
  983. package/lib/openzeppelin-contracts-upgradeable/.changeset/eight-radios-check.md +5 -0
  984. package/lib/openzeppelin-contracts-upgradeable/.changeset/fine-frogs-bake.md +5 -0
  985. package/lib/openzeppelin-contracts-upgradeable/.changeset/full-ways-help.md +5 -0
  986. package/lib/openzeppelin-contracts-upgradeable/.changeset/funny-years-yawn.md +5 -0
  987. package/lib/openzeppelin-contracts-upgradeable/.changeset/hot-grapes-lie.md +5 -0
  988. package/lib/openzeppelin-contracts-upgradeable/.changeset/lazy-poets-cheer.md +5 -0
  989. package/lib/openzeppelin-contracts-upgradeable/.changeset/long-hornets-mate.md +5 -0
  990. package/lib/openzeppelin-contracts-upgradeable/.changeset/lucky-donuts-scream.md +5 -0
  991. package/lib/openzeppelin-contracts-upgradeable/.changeset/major-feet-write.md +5 -0
  992. package/lib/openzeppelin-contracts-upgradeable/.changeset/new-days-tease.md +5 -0
  993. package/lib/openzeppelin-contracts-upgradeable/.changeset/nice-rings-wish.md +5 -0
  994. package/lib/openzeppelin-contracts-upgradeable/.changeset/pink-dolls-shop.md +5 -0
  995. package/lib/openzeppelin-contracts-upgradeable/.changeset/popular-geese-tan.md +5 -0
  996. package/lib/openzeppelin-contracts-upgradeable/.changeset/proud-tables-sip.md +5 -0
  997. package/lib/openzeppelin-contracts-upgradeable/.changeset/public-crabs-heal.md +5 -0
  998. package/lib/openzeppelin-contracts-upgradeable/.changeset/quiet-kiwis-feel.md +5 -0
  999. package/lib/openzeppelin-contracts-upgradeable/.changeset/rare-shirts-unite.md +5 -0
  1000. package/lib/openzeppelin-contracts-upgradeable/.changeset/rich-cows-repair.md +5 -0
  1001. package/lib/openzeppelin-contracts-upgradeable/.changeset/ripe-bears-hide.md +5 -0
  1002. package/lib/openzeppelin-contracts-upgradeable/.changeset/rotten-apes-lie.md +5 -0
  1003. package/lib/openzeppelin-contracts-upgradeable/.changeset/social-walls-obey.md +5 -0
  1004. package/lib/openzeppelin-contracts-upgradeable/.changeset/sour-pens-shake.md +5 -0
  1005. package/lib/openzeppelin-contracts-upgradeable/.changeset/strong-points-change.md +5 -0
  1006. package/lib/openzeppelin-contracts-upgradeable/.changeset/tame-bears-mix.md +5 -0
  1007. package/lib/openzeppelin-contracts-upgradeable/.changeset/violet-turtles-like.md +5 -0
  1008. package/lib/openzeppelin-contracts-upgradeable/.changeset/wet-dodos-reply.md +5 -0
  1009. package/lib/openzeppelin-contracts-upgradeable/.changeset/whole-plums-speak.md +5 -0
  1010. package/lib/openzeppelin-contracts-upgradeable/.changeset/wild-baths-buy.md +5 -0
  1011. package/lib/openzeppelin-contracts-upgradeable/.codecov.yml +4 -0
  1012. package/lib/openzeppelin-contracts-upgradeable/.github/CODEOWNERS +10 -0
  1013. package/lib/openzeppelin-contracts-upgradeable/.github/ISSUE_TEMPLATE/config.yml +4 -0
  1014. package/lib/openzeppelin-contracts-upgradeable/.github/PULL_REQUEST_TEMPLATE.md +1 -1
  1015. package/lib/openzeppelin-contracts-upgradeable/.github/actions/gas-compare/action.yml +7 -5
  1016. package/lib/openzeppelin-contracts-upgradeable/.github/actions/setup/action.yml +9 -7
  1017. package/lib/openzeppelin-contracts-upgradeable/.github/actions/storage-layout/action.yml +57 -0
  1018. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/actionlint.yml +18 -0
  1019. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/changeset.yml +28 -0
  1020. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/checks.yml +67 -36
  1021. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/docs.yml +1 -1
  1022. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/formal-verification.yml +86 -0
  1023. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/release-cycle.yml +214 -0
  1024. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/upgradeable.yml +34 -0
  1025. package/lib/openzeppelin-contracts-upgradeable/.gitmodules +11 -0
  1026. package/lib/openzeppelin-contracts-upgradeable/.husky/pre-commit +2 -0
  1027. package/lib/openzeppelin-contracts-upgradeable/.prettierrc +5 -4
  1028. package/lib/openzeppelin-contracts-upgradeable/.solcover.js +19 -13
  1029. package/lib/openzeppelin-contracts-upgradeable/CHANGELOG.md +918 -328
  1030. package/lib/openzeppelin-contracts-upgradeable/CODE_OF_CONDUCT.md +2 -2
  1031. package/lib/openzeppelin-contracts-upgradeable/CONTRIBUTING.md +19 -47
  1032. package/lib/openzeppelin-contracts-upgradeable/FUNDING.json +10 -0
  1033. package/lib/openzeppelin-contracts-upgradeable/GUIDELINES.md +115 -65
  1034. package/lib/openzeppelin-contracts-upgradeable/LICENSE +1 -1
  1035. package/lib/openzeppelin-contracts-upgradeable/README.md +55 -47
  1036. package/lib/openzeppelin-contracts-upgradeable/RELEASING.md +32 -23
  1037. package/lib/openzeppelin-contracts-upgradeable/SECURITY.md +34 -11
  1038. package/lib/openzeppelin-contracts-upgradeable/audits/2017-03.md +292 -0
  1039. package/lib/openzeppelin-contracts-upgradeable/audits/2022-10-Checkpoints.pdf +0 -0
  1040. package/lib/openzeppelin-contracts-upgradeable/audits/2022-10-ERC4626.pdf +0 -0
  1041. package/lib/openzeppelin-contracts-upgradeable/audits/2023-05-v4.9.pdf +0 -0
  1042. package/lib/openzeppelin-contracts-upgradeable/audits/2023-10-v5.0.pdf +0 -0
  1043. package/lib/openzeppelin-contracts-upgradeable/audits/2024-10-v5.1.pdf +0 -0
  1044. package/lib/openzeppelin-contracts-upgradeable/audits/2024-12-v5.2.pdf +0 -0
  1045. package/lib/openzeppelin-contracts-upgradeable/audits/2025-04-v5.3.pdf +0 -0
  1046. package/lib/openzeppelin-contracts-upgradeable/audits/README.md +20 -0
  1047. package/lib/openzeppelin-contracts-upgradeable/certora/Makefile +44 -14
  1048. package/lib/openzeppelin-contracts-upgradeable/certora/README.md +43 -39
  1049. package/lib/openzeppelin-contracts-upgradeable/certora/diff/access_manager_AccessManager.sol.patch +97 -0
  1050. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/AccessControlDefaultAdminRulesHarness.sol +46 -0
  1051. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/AccessControlHarness.sol +6 -0
  1052. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/AccessManagedHarness.sol +36 -0
  1053. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/AccessManagerHarness.sol +116 -0
  1054. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/DoubleEndedQueueHarness.sol +58 -0
  1055. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC20FlashMintHarness.sol +36 -0
  1056. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC20PermitHarness.sol +16 -0
  1057. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC20WrapperHarness.sol +34 -0
  1058. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
  1059. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC721Harness.sol +33 -0
  1060. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC721ReceiverHarness.sol +11 -0
  1061. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/EnumerableMapHarness.sol +55 -0
  1062. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/EnumerableSetHarness.sol +35 -0
  1063. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/InitializableHarness.sol +23 -0
  1064. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/NoncesHarness.sol +14 -0
  1065. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/Ownable2StepHarness.sol +10 -0
  1066. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/OwnableHarness.sol +10 -0
  1067. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/PausableHarness.sol +18 -0
  1068. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/TimelockControllerHarness.sol +13 -0
  1069. package/lib/openzeppelin-contracts-upgradeable/certora/reports/2021-10.pdf +0 -0
  1070. package/lib/openzeppelin-contracts-upgradeable/certora/reports/2022-03.pdf +0 -0
  1071. package/lib/openzeppelin-contracts-upgradeable/certora/reports/2022-05.pdf +0 -0
  1072. package/lib/openzeppelin-contracts-upgradeable/certora/run.js +168 -0
  1073. package/lib/openzeppelin-contracts-upgradeable/certora/specs/AccessControl.spec +119 -0
  1074. package/lib/openzeppelin-contracts-upgradeable/certora/specs/AccessControlDefaultAdminRules.spec +464 -0
  1075. package/lib/openzeppelin-contracts-upgradeable/certora/specs/AccessManaged.spec +34 -0
  1076. package/lib/openzeppelin-contracts-upgradeable/certora/specs/AccessManager.spec +826 -0
  1077. package/lib/openzeppelin-contracts-upgradeable/certora/specs/DoubleEndedQueue.spec +300 -0
  1078. package/lib/openzeppelin-contracts-upgradeable/certora/specs/ERC20.spec +352 -0
  1079. package/lib/openzeppelin-contracts-upgradeable/certora/specs/ERC20FlashMint.spec +55 -0
  1080. package/lib/openzeppelin-contracts-upgradeable/certora/specs/ERC20Wrapper.spec +198 -0
  1081. package/lib/openzeppelin-contracts-upgradeable/certora/specs/ERC721.spec +679 -0
  1082. package/lib/openzeppelin-contracts-upgradeable/certora/specs/EnumerableMap.spec +333 -0
  1083. package/lib/openzeppelin-contracts-upgradeable/certora/specs/EnumerableSet.spec +246 -0
  1084. package/lib/openzeppelin-contracts-upgradeable/certora/specs/Initializable.spec +165 -0
  1085. package/lib/openzeppelin-contracts-upgradeable/certora/specs/Nonces.spec +92 -0
  1086. package/lib/openzeppelin-contracts-upgradeable/certora/specs/Ownable.spec +77 -0
  1087. package/lib/openzeppelin-contracts-upgradeable/certora/specs/Ownable2Step.spec +108 -0
  1088. package/lib/openzeppelin-contracts-upgradeable/certora/specs/Pausable.spec +96 -0
  1089. package/lib/openzeppelin-contracts-upgradeable/certora/specs/TimelockController.spec +274 -0
  1090. package/lib/openzeppelin-contracts-upgradeable/certora/specs/helpers/helpers.spec +12 -0
  1091. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IAccessControl.spec +8 -0
  1092. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
  1093. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IAccessManaged.spec +5 -0
  1094. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IAccessManager.spec +33 -0
  1095. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC20.spec +11 -0
  1096. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC2612.spec +5 -0
  1097. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC3156FlashBorrower.spec +3 -0
  1098. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC3156FlashLender.spec +5 -0
  1099. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC5313.spec +3 -0
  1100. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC721.spec +17 -0
  1101. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC721Receiver.spec +3 -0
  1102. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IOwnable.spec +5 -0
  1103. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IOwnable2Step.spec +7 -0
  1104. package/lib/openzeppelin-contracts-upgradeable/certora/specs.json +110 -0
  1105. package/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol +71 -99
  1106. package/lib/openzeppelin-contracts-upgradeable/contracts/access/Ownable2StepUpgradeable.sol +38 -21
  1107. package/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol +50 -26
  1108. package/lib/openzeppelin-contracts-upgradeable/contracts/access/README.adoc +23 -3
  1109. package/lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol +401 -0
  1110. package/lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlEnumerableUpgradeable.sol +104 -0
  1111. package/lib/openzeppelin-contracts-upgradeable/contracts/access/manager/AccessManagedUpgradeable.sol +133 -0
  1112. package/lib/openzeppelin-contracts-upgradeable/contracts/access/manager/AccessManagerUpgradeable.sol +783 -0
  1113. package/lib/openzeppelin-contracts-upgradeable/contracts/account/README.adoc +30 -0
  1114. package/lib/openzeppelin-contracts-upgradeable/contracts/account/extensions/draft-AccountERC7579HookedUpgradeable.sol +127 -0
  1115. package/lib/openzeppelin-contracts-upgradeable/contracts/account/extensions/draft-AccountERC7579Upgradeable.sol +426 -0
  1116. package/lib/openzeppelin-contracts-upgradeable/contracts/finance/README.adoc +1 -7
  1117. package/lib/openzeppelin-contracts-upgradeable/contracts/finance/VestingWalletCliffUpgradeable.sol +73 -0
  1118. package/lib/openzeppelin-contracts-upgradeable/contracts/finance/VestingWalletUpgradeable.sol +79 -59
  1119. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/GovernorUpgradeable.sol +509 -269
  1120. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/README.adoc +37 -16
  1121. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/TimelockControllerUpgradeable.sol +186 -131
  1122. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorCountingFractionalUpgradeable.sol +214 -0
  1123. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorCountingOverridableUpgradeable.sol +248 -0
  1124. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorCountingSimpleUpgradeable.sol +51 -51
  1125. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorNoncesKeyedUpgradeable.sol +96 -0
  1126. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorPreventLateQuorumUpgradeable.sol +46 -53
  1127. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorProposalGuardianUpgradeable.sol +78 -0
  1128. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorSequentialProposalIdUpgradeable.sol +98 -0
  1129. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorSettingsUpgradeable.sol +50 -50
  1130. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorStorageUpgradeable.sol +150 -0
  1131. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorSuperQuorumUpgradeable.sol +64 -0
  1132. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorTimelockAccessUpgradeable.sol +376 -0
  1133. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorTimelockCompoundUpgradeable.sol +77 -91
  1134. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorTimelockControlUpgradeable.sol +84 -70
  1135. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorVotesQuorumFractionUpgradeable.sol +51 -49
  1136. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorVotesSuperQuorumFractionUpgradeable.sol +155 -0
  1137. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorVotesUpgradeable.sol +60 -23
  1138. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesExtendedUpgradeable.sol +106 -0
  1139. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol +143 -87
  1140. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/README.adoc +50 -1
  1141. package/lib/openzeppelin-contracts-upgradeable/contracts/metatx/ERC2771ContextUpgradeable.sol +60 -20
  1142. package/lib/openzeppelin-contracts-upgradeable/contracts/metatx/ERC2771ForwarderUpgradeable.sol +380 -0
  1143. package/lib/openzeppelin-contracts-upgradeable/contracts/metatx/README.adoc +6 -1
  1144. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessManagedTargetUpgradeable.sol +40 -0
  1145. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessManagerMockUpgradeable.sol +25 -0
  1146. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ArraysMockUpgradeable.sol +133 -26
  1147. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AuthorityMockUpgradeable.sol +95 -0
  1148. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/Base64DirtyUpgradeable.sol +25 -0
  1149. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/BatchCallerUpgradeable.sol +26 -0
  1150. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/CallReceiverMockUpgradeable.sol +35 -17
  1151. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ConstructorMockUpgradeable.sol +39 -0
  1152. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ContextMockUpgradeable.sol +11 -23
  1153. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/DummyImplementationUpgradeable.sol +14 -31
  1154. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EIP712VerifierUpgradeable.sol +22 -0
  1155. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1271WalletMockUpgradeable.sol +12 -29
  1156. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165InterfacesSupportedUpgradeable.sol +6 -20
  1157. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165MaliciousDataUpgradeable.sol +2 -9
  1158. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165MissingDataUpgradeable.sol +2 -9
  1159. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165NotSupportedUpgradeable.sol +2 -9
  1160. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165ReturnBombUpgradeable.sol +5 -12
  1161. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC2771ContextMockUpgradeable.sol +10 -11
  1162. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC3156FlashBorrowerMockUpgradeable.sol +12 -19
  1163. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EtherReceiverMockUpgradeable.sol +4 -11
  1164. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/InitializableMock.sol +6 -6
  1165. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MerkleProofCustomHashMockUpgradeable.sol +68 -0
  1166. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MerkleTreeMockUpgradeable.sol +58 -0
  1167. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MulticallHelperUpgradeable.sol +29 -0
  1168. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MultipleInheritanceInitializableMocks.sol +7 -12
  1169. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/PausableMockUpgradeable.sol +3 -11
  1170. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ReentrancyAttackUpgradeable.sol +5 -12
  1171. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ReentrancyMockUpgradeable.sol +13 -13
  1172. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ReentrancyTransientMockUpgradeable.sol +55 -0
  1173. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/RegressionImplementation.sol +2 -2
  1174. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SingleInheritanceInitializableMocks.sol +2 -2
  1175. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/StatelessUpgradeable.sol +61 -0
  1176. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/StorageSlotMockUpgradeable.sol +62 -23
  1177. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/TimelockReentrantUpgradeable.sol +32 -0
  1178. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/TransientSlotMockUpgradeable.sol +67 -0
  1179. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/UpgradeableBeaconMockUpgradeable.sol +34 -0
  1180. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/VotesExtendedMockUpgradeable.sol +53 -0
  1181. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/VotesMockUpgradeable.sol +28 -27
  1182. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/WithInit.sol +849 -740
  1183. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/account/AccountMockUpgradeable.sol +223 -0
  1184. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/account/modules/ERC7579MockUpgradeable.sol +138 -0
  1185. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/account/utils/ERC7579UtilsMockUpgradeable.sol +29 -0
  1186. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/compound/CompTimelockUpgradeable.sol +2 -9
  1187. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/ERC20WithAutoMinerRewardUpgradeable.sol +28 -0
  1188. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/ERC4626FeesUpgradeable.sol +115 -0
  1189. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/MyNFTUpgradeable.sol +14 -0
  1190. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessControlERC20MintBaseUpgradeable.sol +31 -0
  1191. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessControlERC20MintMissingUpgradeable.sol +30 -0
  1192. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessControlERC20MintOnlyRoleUpgradeable.sol +29 -0
  1193. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessControlModifiedUpgradeable.sol +20 -0
  1194. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessManagedERC20MintBaseUpgradeable.sol +22 -0
  1195. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/MyContractOwnableUpgradeable.sol +22 -0
  1196. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/account/MyAccountERC7702Upgradeable.sol +26 -0
  1197. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/account/MyFactoryAccountUpgradeable.sol +42 -0
  1198. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/governance/MyGovernorUpgradeable.sol +92 -0
  1199. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/governance/MyTokenTimestampBasedUpgradeable.sol +39 -0
  1200. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/governance/MyTokenUpgradeable.sol +28 -0
  1201. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/governance/MyTokenWrappedUpgradeable.sol +39 -0
  1202. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC1155/GameItemsUpgradeable.sol +27 -0
  1203. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC1155/MyERC115HolderContractUpgradeable.sol +13 -0
  1204. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC20/GLDTokenUpgradeable.sol +17 -0
  1205. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC6909/ERC6909GameItemsUpgradeable.sol +31 -0
  1206. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC721/GameItemUpgradeable.sol +24 -0
  1207. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/utilities/Base64NFTUpgradeable.sol +32 -0
  1208. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/utilities/MulticallUpgradeable.sol +21 -0
  1209. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorCountingOverridableMockUpgradeable.sol +24 -0
  1210. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorFractionalMockUpgradeable.sol +20 -0
  1211. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorMockUpgradeable.sol +20 -0
  1212. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorNoncesKeyedMockUpgradeable.sol +51 -0
  1213. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorPreventLateQuorumMockUpgradeable.sol +45 -0
  1214. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorProposalGuardianMockUpgradeable.sol +33 -0
  1215. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorSequentialProposalIdMockUpgradeable.sol +45 -0
  1216. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorStorageMockUpgradeable.sol +85 -0
  1217. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorSuperQuorumMockUpgradeable.sol +100 -0
  1218. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorTimelockAccessMockUpgradeable.sol +76 -0
  1219. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorTimelockCompoundMockUpgradeable.sol +75 -0
  1220. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorTimelockControlMockUpgradeable.sol +75 -0
  1221. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorVoteMockUpgradeable.sol +26 -0
  1222. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorVotesSuperQuorumFractionMockUpgradeable.sol +43 -0
  1223. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorWithParamsMockUpgradeable.sol +57 -0
  1224. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/proxy/BadBeaconUpgradeable.sol +22 -0
  1225. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/proxy/ClashingImplementationUpgradeable.sol +25 -0
  1226. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/proxy/UUPSUpgradeableMockUpgradeable.sol +56 -0
  1227. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1155ReceiverMockUpgradeable.sol +79 -0
  1228. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1363ForceApproveMockUpgradeable.sol +19 -0
  1229. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1363NoReturnMockUpgradeable.sol +39 -0
  1230. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1363ReceiverMockUpgradeable.sol +57 -0
  1231. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1363ReturnFalseMockUpgradeable.sol +46 -0
  1232. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1363SpenderMockUpgradeable.sol +52 -0
  1233. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20ApprovalMockUpgradeable.sol +16 -0
  1234. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20BridgeableMockUpgradeable.sol +31 -0
  1235. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20DecimalsMockUpgradeable.sol +22 -0
  1236. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20ExcessDecimalsMockUpgradeable.sol +15 -0
  1237. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20FlashMintMockUpgradeable.sol +32 -0
  1238. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20ForceApproveMockUpgradeable.sol +19 -0
  1239. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20GetterHelperUpgradeable.sol +44 -0
  1240. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20MockUpgradeable.sol +21 -0
  1241. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20MulticallMockUpgradeable.sol +14 -0
  1242. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20NoReturnMockUpgradeable.sol +34 -0
  1243. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20ReentrantUpgradeable.sol +46 -0
  1244. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20ReturnFalseMockUpgradeable.sol +25 -0
  1245. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20VotesAdditionalCheckpointsMockUpgradeable.sol +42 -0
  1246. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20VotesLegacyMockUpgradeable.sol +259 -0
  1247. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20VotesTimestampMockUpgradeable.sol +40 -0
  1248. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC4626LimitsMockUpgradeable.sol +28 -0
  1249. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC4626MockUpgradeable.sol +24 -0
  1250. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC4626OffsetMockUpgradeable.sol +22 -0
  1251. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC4646FeesMockUpgradeable.sol +50 -0
  1252. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC721ConsecutiveEnumerableMockUpgradeable.sol +53 -0
  1253. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC721ConsecutiveMockUpgradeable.sol +80 -0
  1254. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC721ReceiverMockUpgradeable.sol +52 -0
  1255. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC721URIStorageMockUpgradeable.sol +23 -0
  1256. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/utils/cryptography/ERC7739MockUpgradeable.sol +29 -0
  1257. package/lib/openzeppelin-contracts-upgradeable/contracts/package.json +7 -4
  1258. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/README.adoc +13 -11
  1259. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol +108 -35
  1260. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol +84 -40
  1261. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol +227 -343
  1262. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/README.adoc +6 -12
  1263. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol +12 -31
  1264. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol +12 -26
  1265. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol +63 -31
  1266. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155URIStorageUpgradeable.sol +37 -30
  1267. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/utils/ERC1155HolderUpgradeable.sol +13 -15
  1268. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol +168 -239
  1269. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/README.adoc +28 -36
  1270. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC1363Upgradeable.sol +142 -0
  1271. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20BurnableUpgradeable.sol +14 -21
  1272. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20CappedUpgradeable.sol +45 -23
  1273. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20FlashMintUpgradeable.sol +60 -42
  1274. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20PausableUpgradeable.sol +10 -24
  1275. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20PermitUpgradeable.sol +82 -0
  1276. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20VotesUpgradeable.sol +46 -245
  1277. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20WrapperUpgradeable.sol +71 -34
  1278. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol +156 -148
  1279. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-ERC20BridgeableUpgradeable.sol +57 -0
  1280. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-ERC20TemporaryApprovalUpgradeable.sol +126 -0
  1281. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC6909/README.adoc +27 -0
  1282. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC6909/draft-ERC6909Upgradeable.sol +250 -0
  1283. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC6909/extensions/draft-ERC6909ContentURIUpgradeable.sol +75 -0
  1284. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC6909/extensions/draft-ERC6909MetadataUpgradeable.sol +101 -0
  1285. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC6909/extensions/draft-ERC6909TokenSupplyUpgradeable.sol +55 -0
  1286. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol +288 -347
  1287. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/README.adoc +11 -12
  1288. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol +10 -17
  1289. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721ConsecutiveUpgradeable.sol +106 -69
  1290. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol +100 -83
  1291. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721PausableUpgradeable.sol +13 -24
  1292. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721RoyaltyUpgradeable.sol +11 -30
  1293. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol +45 -42
  1294. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721VotesUpgradeable.sol +20 -21
  1295. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721WrapperUpgradeable.sol +122 -0
  1296. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/utils/ERC721HolderUpgradeable.sol +8 -19
  1297. package/lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.sol +86 -47
  1298. package/lib/openzeppelin-contracts-upgradeable/contracts/token/common/README.adoc +2 -2
  1299. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol +6 -9
  1300. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/MulticallUpgradeable.sol +20 -28
  1301. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesKeyedUpgradeable.sol +94 -0
  1302. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol +66 -0
  1303. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/PausableUpgradeable.sol +133 -0
  1304. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/README.adoc +79 -45
  1305. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardTransientUpgradeable.sol +67 -0
  1306. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol +108 -0
  1307. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol +127 -41
  1308. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/README.adoc +67 -0
  1309. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol +276 -0
  1310. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol +229 -0
  1311. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/SignerECDSAUpgradeable.sol +74 -0
  1312. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/SignerERC7913Upgradeable.sol +81 -0
  1313. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/SignerP256Upgradeable.sol +82 -0
  1314. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/SignerRSAUpgradeable.sol +83 -0
  1315. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/draft-ERC7739Upgradeable.sol +104 -0
  1316. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol +9 -20
  1317. package/lib/openzeppelin-contracts-upgradeable/docs/antora.yml +2 -1
  1318. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/access-control-multiple.svg +97 -0
  1319. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/access-manager-functions.svg +47 -0
  1320. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/access-manager.svg +99 -0
  1321. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
  1322. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
  1323. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
  1324. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-attack.png +0 -0
  1325. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
  1326. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-mint.png +0 -0
  1327. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
  1328. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
  1329. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
  1330. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/nav.adoc +13 -7
  1331. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/access-control.adoc +168 -97
  1332. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/account-abstraction.adoc +100 -0
  1333. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/accounts.adoc +354 -0
  1334. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/backwards-compatibility.adoc +50 -0
  1335. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/eoa-delegation.adoc +143 -0
  1336. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc1155.adoc +19 -54
  1337. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc20-supply.adoc +13 -55
  1338. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc20.adoc +7 -25
  1339. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc4626.adoc +214 -0
  1340. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc6909.adoc +47 -0
  1341. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc721.adoc +10 -42
  1342. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/extending-contracts.adoc +4 -82
  1343. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/faq.adoc +13 -0
  1344. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/governance.adoc +85 -167
  1345. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/index.adoc +19 -12
  1346. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/multisig.adoc +306 -0
  1347. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/tokens.adoc +4 -5
  1348. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/upgradeable.adoc +14 -10
  1349. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/utilities.adoc +482 -81
  1350. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/wizard.adoc +1 -1
  1351. package/lib/openzeppelin-contracts-upgradeable/docs/templates/contract.hbs +57 -1
  1352. package/lib/openzeppelin-contracts-upgradeable/docs/templates/helpers.js +8 -8
  1353. package/lib/openzeppelin-contracts-upgradeable/docs/templates/properties.js +47 -8
  1354. package/lib/openzeppelin-contracts-upgradeable/eslint.config.mjs +26 -0
  1355. package/lib/openzeppelin-contracts-upgradeable/foundry.toml +15 -0
  1356. package/lib/openzeppelin-contracts-upgradeable/fv-requirements.txt +4 -0
  1357. package/lib/openzeppelin-contracts-upgradeable/hardhat/async-test-sanity.js +10 -0
  1358. package/lib/openzeppelin-contracts-upgradeable/hardhat/common-contracts.js +69 -0
  1359. package/lib/openzeppelin-contracts-upgradeable/hardhat/env-artifacts.js +15 -6
  1360. package/lib/openzeppelin-contracts-upgradeable/hardhat/ignore-unreachable-warnings.js +2 -4
  1361. package/lib/openzeppelin-contracts-upgradeable/hardhat/remappings.js +18 -0
  1362. package/lib/openzeppelin-contracts-upgradeable/hardhat/skip-foundry-tests.js +3 -4
  1363. package/lib/openzeppelin-contracts-upgradeable/hardhat/task-test-get-files.js +22 -16
  1364. package/lib/openzeppelin-contracts-upgradeable/hardhat.config.js +67 -49
  1365. package/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/ERC4626.prop.sol +404 -0
  1366. package/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/ERC4626.test.sol +356 -0
  1367. package/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/LICENSE +661 -0
  1368. package/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/README.md +116 -0
  1369. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/.gitattributes +1 -0
  1370. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/.github/workflows/ci.yml +48 -12
  1371. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/.github/workflows/sync.yml +31 -0
  1372. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/CONTRIBUTING.md +193 -0
  1373. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/README.md +19 -3
  1374. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/foundry.toml +5 -3
  1375. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/package.json +2 -2
  1376. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/scripts/vm.py +646 -0
  1377. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/Base.sol +7 -3
  1378. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/Script.sol +4 -3
  1379. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdAssertions.sol +595 -135
  1380. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdChains.sol +146 -48
  1381. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdCheats.sol +303 -39
  1382. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdInvariant.sol +122 -0
  1383. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdJson.sol +129 -25
  1384. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdStorage.sol +245 -99
  1385. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdStyle.sol +333 -0
  1386. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdToml.sol +283 -0
  1387. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdUtils.sol +125 -39
  1388. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/Test.sol +10 -5
  1389. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/Vm.sol +2182 -304
  1390. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/console.sol +635 -608
  1391. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/console2.sol +1 -1543
  1392. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/interfaces/IERC4626.sol +2 -2
  1393. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
  1394. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/safeconsole.sol +13937 -0
  1395. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdAssertions.t.sol +126 -572
  1396. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdChains.t.sol +166 -62
  1397. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdCheats.t.sol +348 -35
  1398. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdError.t.sol +15 -13
  1399. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdJson.t.sol +49 -0
  1400. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdMath.t.sol +31 -26
  1401. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdStorage.t.sol +251 -46
  1402. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdStyle.t.sol +110 -0
  1403. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdToml.t.sol +49 -0
  1404. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdUtils.t.sol +186 -35
  1405. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/Vm.t.sol +18 -0
  1406. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/fixtures/test.json +8 -0
  1407. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/fixtures/test.toml +6 -0
  1408. package/lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/LICENSE +661 -0
  1409. package/lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/README.md +97 -0
  1410. package/lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/SVM.sol +49 -0
  1411. package/lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/SymTest.sol +11 -0
  1412. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/all-geese-stand.md +5 -0
  1413. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/clean-ways-push.md +5 -0
  1414. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/config.json +12 -0
  1415. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/dull-students-eat.md +5 -0
  1416. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/eight-radios-check.md +5 -0
  1417. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/fine-frogs-bake.md +5 -0
  1418. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/full-ways-help.md +5 -0
  1419. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/funny-years-yawn.md +5 -0
  1420. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/hot-grapes-lie.md +5 -0
  1421. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/lazy-poets-cheer.md +5 -0
  1422. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/long-hornets-mate.md +5 -0
  1423. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/lucky-donuts-scream.md +5 -0
  1424. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/major-feet-write.md +5 -0
  1425. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/new-days-tease.md +5 -0
  1426. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/nice-rings-wish.md +5 -0
  1427. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/pink-dolls-shop.md +5 -0
  1428. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/popular-geese-tan.md +5 -0
  1429. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/proud-tables-sip.md +5 -0
  1430. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/public-crabs-heal.md +5 -0
  1431. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/quiet-kiwis-feel.md +5 -0
  1432. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/rare-shirts-unite.md +5 -0
  1433. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/rich-cows-repair.md +5 -0
  1434. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/ripe-bears-hide.md +5 -0
  1435. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/rotten-apes-lie.md +5 -0
  1436. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/social-walls-obey.md +5 -0
  1437. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/sour-pens-shake.md +5 -0
  1438. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/strong-points-change.md +5 -0
  1439. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/tame-bears-mix.md +5 -0
  1440. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/violet-turtles-like.md +5 -0
  1441. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/wet-dodos-reply.md +5 -0
  1442. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/whole-plums-speak.md +5 -0
  1443. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/wild-baths-buy.md +5 -0
  1444. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.codecov.yml +16 -0
  1445. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.editorconfig +21 -0
  1446. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/CODEOWNERS +10 -0
  1447. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
  1448. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/config.yml +4 -0
  1449. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/PULL_REQUEST_TEMPLATE.md +20 -0
  1450. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/actions/gas-compare/action.yml +51 -0
  1451. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/actions/setup/action.yml +22 -0
  1452. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/actions/storage-layout/action.yml +57 -0
  1453. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/actionlint.yml +18 -0
  1454. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/changeset.yml +28 -0
  1455. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/checks.yml +132 -0
  1456. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/docs.yml +19 -0
  1457. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/formal-verification.yml +86 -0
  1458. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/release-cycle.yml +214 -0
  1459. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/upgradeable.yml +34 -0
  1460. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.gitmodules +10 -0
  1461. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.husky/pre-commit +2 -0
  1462. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.mocharc.js +4 -0
  1463. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.prettierrc +15 -0
  1464. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.solcover.js +21 -0
  1465. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/CHANGELOG.md +1220 -0
  1466. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/CODE_OF_CONDUCT.md +73 -0
  1467. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/CONTRIBUTING.md +36 -0
  1468. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/FUNDING.json +10 -0
  1469. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/GUIDELINES.md +155 -0
  1470. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/LICENSE +22 -0
  1471. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/README.md +108 -0
  1472. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/RELEASING.md +45 -0
  1473. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/SECURITY.md +43 -0
  1474. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2017-03.md +292 -0
  1475. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2022-10-Checkpoints.pdf +0 -0
  1476. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2022-10-ERC4626.pdf +0 -0
  1477. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2023-05-v4.9.pdf +0 -0
  1478. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2023-10-v5.0.pdf +0 -0
  1479. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2024-10-v5.1.pdf +0 -0
  1480. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2024-12-v5.2.pdf +0 -0
  1481. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2025-04-v5.3.pdf +0 -0
  1482. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/README.md +20 -0
  1483. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/Makefile +54 -0
  1484. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/README.md +60 -0
  1485. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/diff/access_manager_AccessManager.sol.patch +97 -0
  1486. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/AccessControlDefaultAdminRulesHarness.sol +46 -0
  1487. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/AccessControlHarness.sol +6 -0
  1488. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/AccessManagedHarness.sol +36 -0
  1489. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/AccessManagerHarness.sol +116 -0
  1490. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/DoubleEndedQueueHarness.sol +58 -0
  1491. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC20FlashMintHarness.sol +36 -0
  1492. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC20PermitHarness.sol +16 -0
  1493. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC20WrapperHarness.sol +34 -0
  1494. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
  1495. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC721Harness.sol +33 -0
  1496. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC721ReceiverHarness.sol +11 -0
  1497. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/EnumerableMapHarness.sol +55 -0
  1498. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/EnumerableSetHarness.sol +35 -0
  1499. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/InitializableHarness.sol +23 -0
  1500. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/NoncesHarness.sol +14 -0
  1501. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/Ownable2StepHarness.sol +10 -0
  1502. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/OwnableHarness.sol +10 -0
  1503. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/PausableHarness.sol +18 -0
  1504. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/TimelockControllerHarness.sol +13 -0
  1505. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/reports/2021-10.pdf +0 -0
  1506. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/reports/2022-03.pdf +0 -0
  1507. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/reports/2022-05.pdf +0 -0
  1508. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/run.js +168 -0
  1509. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/AccessControl.spec +119 -0
  1510. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/AccessControlDefaultAdminRules.spec +464 -0
  1511. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/AccessManaged.spec +34 -0
  1512. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/AccessManager.spec +826 -0
  1513. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/DoubleEndedQueue.spec +300 -0
  1514. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/ERC20.spec +352 -0
  1515. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/ERC20FlashMint.spec +55 -0
  1516. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/ERC20Wrapper.spec +198 -0
  1517. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/ERC721.spec +679 -0
  1518. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/EnumerableMap.spec +333 -0
  1519. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/EnumerableSet.spec +246 -0
  1520. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/Initializable.spec +165 -0
  1521. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/Nonces.spec +92 -0
  1522. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/Ownable.spec +77 -0
  1523. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/Ownable2Step.spec +108 -0
  1524. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/Pausable.spec +96 -0
  1525. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/TimelockController.spec +274 -0
  1526. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/helpers/helpers.spec +12 -0
  1527. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IAccessControl.spec +8 -0
  1528. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
  1529. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IAccessManaged.spec +5 -0
  1530. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IAccessManager.spec +33 -0
  1531. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC20.spec +11 -0
  1532. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC2612.spec +5 -0
  1533. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC3156FlashBorrower.spec +3 -0
  1534. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC3156FlashLender.spec +5 -0
  1535. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC5313.spec +3 -0
  1536. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC721.spec +17 -0
  1537. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC721Receiver.spec +3 -0
  1538. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IOwnable.spec +5 -0
  1539. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IOwnable2Step.spec +7 -0
  1540. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs.json +110 -0
  1541. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.sol +207 -0
  1542. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol +98 -0
  1543. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/Ownable.sol +100 -0
  1544. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol +67 -0
  1545. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/README.adoc +45 -0
  1546. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol +372 -0
  1547. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/extensions/AccessControlEnumerable.sol +81 -0
  1548. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol +192 -0
  1549. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlEnumerable.sol +31 -0
  1550. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/AccessManaged.sol +112 -0
  1551. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/AccessManager.sol +740 -0
  1552. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/AuthorityUtils.sol +36 -0
  1553. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/IAccessManaged.sol +32 -0
  1554. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/IAccessManager.sol +399 -0
  1555. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/IAuthority.sol +14 -0
  1556. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/Account.sol +144 -0
  1557. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/README.adoc +30 -0
  1558. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/extensions/draft-AccountERC7579.sol +413 -0
  1559. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/extensions/draft-AccountERC7579Hooked.sol +106 -0
  1560. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/extensions/draft-ERC7821.sol +69 -0
  1561. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/utils/EIP7702Utils.sol +20 -0
  1562. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/utils/draft-ERC4337Utils.sol +159 -0
  1563. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/utils/draft-ERC7579Utils.sol +280 -0
  1564. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/finance/README.adoc +14 -0
  1565. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/finance/VestingWallet.sol +159 -0
  1566. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/finance/VestingWalletCliff.sol +54 -0
  1567. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/Governor.sol +818 -0
  1568. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/IGovernor.sol +454 -0
  1569. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/README.adoc +197 -0
  1570. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/TimelockController.sol +471 -0
  1571. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingFractional.sol +190 -0
  1572. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingOverridable.sol +222 -0
  1573. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol +96 -0
  1574. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorNoncesKeyed.sol +90 -0
  1575. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorPreventLateQuorum.sol +92 -0
  1576. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalGuardian.sol +58 -0
  1577. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSequentialProposalId.sol +75 -0
  1578. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSettings.sol +106 -0
  1579. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorStorage.sol +125 -0
  1580. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSuperQuorum.sol +58 -0
  1581. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockAccess.sol +346 -0
  1582. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockCompound.sol +165 -0
  1583. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol +167 -0
  1584. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol +63 -0
  1585. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +113 -0
  1586. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol +134 -0
  1587. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol +59 -0
  1588. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol +252 -0
  1589. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/utils/VotesExtended.sol +84 -0
  1590. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1155.sol +6 -0
  1591. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1155MetadataURI.sol +6 -0
  1592. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1155Receiver.sol +6 -0
  1593. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol +17 -0
  1594. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol +86 -0
  1595. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Receiver.sol +32 -0
  1596. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Spender.sol +26 -0
  1597. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol +6 -0
  1598. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Implementer.sol +20 -0
  1599. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Registry.sol +112 -0
  1600. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol +24 -0
  1601. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol +6 -0
  1602. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC20Metadata.sol +6 -0
  1603. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol +19 -0
  1604. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC2612.sol +8 -0
  1605. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC2981.sol +26 -0
  1606. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC3156.sol +7 -0
  1607. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol +27 -0
  1608. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol +41 -0
  1609. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol +230 -0
  1610. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol +20 -0
  1611. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol +28 -0
  1612. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol +16 -0
  1613. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol +9 -0
  1614. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol +17 -0
  1615. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol +6 -0
  1616. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC721Enumerable.sol +6 -0
  1617. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC721Metadata.sol +6 -0
  1618. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC721Receiver.sol +6 -0
  1619. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC777.sol +200 -0
  1620. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC777Recipient.sol +35 -0
  1621. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC777Sender.sol +35 -0
  1622. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC7913.sol +17 -0
  1623. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/README.adoc +105 -0
  1624. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol +20 -0
  1625. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC4337.sol +253 -0
  1626. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol +161 -0
  1627. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6909.sol +125 -0
  1628. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7579.sol +226 -0
  1629. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7674.sol +17 -0
  1630. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7786.sol +64 -0
  1631. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7802.sol +30 -0
  1632. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7821.sol +43 -0
  1633. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol +90 -0
  1634. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/metatx/ERC2771Forwarder.sol +372 -0
  1635. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/metatx/README.adoc +17 -0
  1636. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/AccessManagedTarget.sol +34 -0
  1637. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/AccessManagerMock.sol +20 -0
  1638. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ArraysMock.sol +171 -0
  1639. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/AuthorityMock.sol +69 -0
  1640. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/Base64Dirty.sol +19 -0
  1641. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/BatchCaller.sol +20 -0
  1642. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/CallReceiverMock.sol +78 -0
  1643. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ConstructorMock.sol +34 -0
  1644. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ContextMock.sol +35 -0
  1645. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/DummyImplementation.sol +65 -0
  1646. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/EIP712Verifier.sol +16 -0
  1647. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC1271WalletMock.sol +24 -0
  1648. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165InterfacesSupported.sol +58 -0
  1649. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MaliciousData.sol +12 -0
  1650. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MissingData.sol +7 -0
  1651. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165NotSupported.sol +5 -0
  1652. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165ReturnBomb.sol +18 -0
  1653. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC2771ContextMock.sol +28 -0
  1654. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC3156FlashBorrowerMock.sol +53 -0
  1655. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol +17 -0
  1656. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/InitializableMock.sol +130 -0
  1657. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/MerkleProofCustomHashMock.sol +62 -0
  1658. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/MerkleTreeMock.sol +52 -0
  1659. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/MulticallHelper.sol +23 -0
  1660. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol +131 -0
  1661. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/PausableMock.sol +31 -0
  1662. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol +12 -0
  1663. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol +50 -0
  1664. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ReentrancyTransientMock.sol +50 -0
  1665. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol +61 -0
  1666. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/SingleInheritanceInitializableMocks.sol +49 -0
  1667. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/Stateless.sol +55 -0
  1668. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol +87 -0
  1669. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol +26 -0
  1670. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/TransientSlotMock.sol +61 -0
  1671. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/UpgradeableBeaconMock.sol +27 -0
  1672. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/VotesExtendedMock.sol +42 -0
  1673. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/VotesMock.sol +42 -0
  1674. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/account/AccountMock.sol +169 -0
  1675. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/account/modules/ERC7579Mock.sol +122 -0
  1676. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/account/utils/ERC7579UtilsMock.sol +23 -0
  1677. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/compound/CompTimelock.sol +174 -0
  1678. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/ERC20WithAutoMinerReward.sol +22 -0
  1679. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/ERC4626Fees.sol +109 -0
  1680. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/MyNFT.sol +9 -0
  1681. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintBase.sol +25 -0
  1682. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintMissing.sol +24 -0
  1683. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintOnlyRole.sol +23 -0
  1684. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlModified.sol +14 -0
  1685. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessManagedERC20MintBase.sol +16 -0
  1686. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/MyContractOwnable.sol +17 -0
  1687. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/account/MyAccountERC7702.sol +20 -0
  1688. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/account/MyFactoryAccount.sol +37 -0
  1689. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyGovernor.sol +80 -0
  1690. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyToken.sol +21 -0
  1691. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenTimestampBased.sol +32 -0
  1692. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenWrapped.sol +28 -0
  1693. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC1155/GameItems.sol +21 -0
  1694. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC1155/MyERC115HolderContract.sol +7 -0
  1695. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC20/GLDToken.sol +11 -0
  1696. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC6909/ERC6909GameItems.sol +26 -0
  1697. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC721/GameItem.sol +19 -0
  1698. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/utilities/Base64NFT.sol +27 -0
  1699. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/utilities/Multicall.sol +15 -0
  1700. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCountingOverridableMock.sol +18 -0
  1701. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorFractionalMock.sol +14 -0
  1702. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorMock.sol +14 -0
  1703. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorNoncesKeyedMock.sol +45 -0
  1704. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorPreventLateQuorumMock.sol +40 -0
  1705. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorProposalGuardianMock.sol +27 -0
  1706. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorSequentialProposalIdMock.sol +39 -0
  1707. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorStorageMock.sol +79 -0
  1708. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorSuperQuorumMock.sol +95 -0
  1709. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockAccessMock.sol +70 -0
  1710. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockCompoundMock.sol +69 -0
  1711. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockControlMock.sol +69 -0
  1712. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVoteMock.sol +20 -0
  1713. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVotesSuperQuorumFractionMock.sol +37 -0
  1714. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorWithParamsMock.sol +51 -0
  1715. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/proxy/BadBeacon.sol +11 -0
  1716. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/proxy/ClashingImplementation.sol +19 -0
  1717. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSUpgradeableMock.sol +35 -0
  1718. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1155ReceiverMock.sol +74 -0
  1719. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ForceApproveMock.sol +13 -0
  1720. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363NoReturnMock.sol +33 -0
  1721. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ReceiverMock.sol +52 -0
  1722. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ReturnFalseMock.sol +34 -0
  1723. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363SpenderMock.sol +47 -0
  1724. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ApprovalMock.sol +10 -0
  1725. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20BridgeableMock.sol +26 -0
  1726. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20DecimalsMock.sol +17 -0
  1727. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ExcessDecimalsMock.sol +9 -0
  1728. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20FlashMintMock.sol +26 -0
  1729. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ForceApproveMock.sol +13 -0
  1730. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20GetterHelper.sol +38 -0
  1731. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol +16 -0
  1732. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20MulticallMock.sol +8 -0
  1733. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20NoReturnMock.sol +28 -0
  1734. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20Reentrant.sol +39 -0
  1735. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ReturnFalseMock.sol +19 -0
  1736. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesAdditionalCheckpointsMock.sol +31 -0
  1737. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesLegacyMock.sol +253 -0
  1738. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesTimestampMock.sol +29 -0
  1739. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626LimitsMock.sol +23 -0
  1740. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626Mock.sol +17 -0
  1741. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626OffsetMock.sol +17 -0
  1742. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC4646FeesMock.sol +40 -0
  1743. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveEnumerableMock.sol +42 -0
  1744. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol +61 -0
  1745. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ReceiverMock.sol +47 -0
  1746. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC721URIStorageMock.sol +17 -0
  1747. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/utils/cryptography/ERC7739Mock.sol +13 -0
  1748. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/package.json +32 -0
  1749. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/Clones.sol +262 -0
  1750. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol +40 -0
  1751. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol +177 -0
  1752. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/Proxy.sol +69 -0
  1753. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/README.adoc +87 -0
  1754. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol +57 -0
  1755. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol +16 -0
  1756. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol +70 -0
  1757. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol +45 -0
  1758. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +118 -0
  1759. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol +238 -0
  1760. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol +146 -0
  1761. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol +389 -0
  1762. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol +123 -0
  1763. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol +59 -0
  1764. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/README.adoc +43 -0
  1765. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +28 -0
  1766. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +38 -0
  1767. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Supply.sol +88 -0
  1768. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +61 -0
  1769. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +20 -0
  1770. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol +40 -0
  1771. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Utils.sol +88 -0
  1772. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol +305 -0
  1773. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol +79 -0
  1774. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/README.adoc +78 -0
  1775. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC1363.sol +135 -0
  1776. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol +39 -0
  1777. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Capped.sol +54 -0
  1778. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20FlashMint.sol +134 -0
  1779. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Pausable.sol +33 -0
  1780. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol +77 -0
  1781. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol +83 -0
  1782. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol +89 -0
  1783. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.sol +282 -0
  1784. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol +26 -0
  1785. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol +90 -0
  1786. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Bridgeable.sol +50 -0
  1787. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20TemporaryApproval.sol +119 -0
  1788. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/utils/ERC1363Utils.sol +95 -0
  1789. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol +280 -0
  1790. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC6909/README.adoc +27 -0
  1791. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC6909/draft-ERC6909.sol +224 -0
  1792. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909ContentURI.sol +53 -0
  1793. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909Metadata.sol +77 -0
  1794. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909TokenSupply.sol +35 -0
  1795. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol +430 -0
  1796. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol +135 -0
  1797. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol +28 -0
  1798. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/README.adoc +69 -0
  1799. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Burnable.sol +26 -0
  1800. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol +176 -0
  1801. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol +164 -0
  1802. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol +37 -0
  1803. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Royalty.sol +26 -0
  1804. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol +58 -0
  1805. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol +47 -0
  1806. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Wrapper.sol +102 -0
  1807. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol +29 -0
  1808. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol +27 -0
  1809. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol +24 -0
  1810. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Utils.sol +50 -0
  1811. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/common/ERC2981.sol +139 -0
  1812. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/common/README.adoc +10 -0
  1813. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.sol +149 -0
  1814. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Arrays.sol +552 -0
  1815. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Base64.sol +119 -0
  1816. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Blockhash.sol +52 -0
  1817. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Bytes.sol +166 -0
  1818. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/CAIP10.sol +54 -0
  1819. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/CAIP2.sol +51 -0
  1820. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Calldata.sol +25 -0
  1821. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Comparators.sol +19 -0
  1822. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Context.sol +28 -0
  1823. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Create2.sol +92 -0
  1824. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Errors.sol +34 -0
  1825. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Memory.sol +44 -0
  1826. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Multicall.sol +37 -0
  1827. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Nonces.sol +46 -0
  1828. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/NoncesKeyed.sol +74 -0
  1829. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Packing.sol +1656 -0
  1830. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Panic.sol +57 -0
  1831. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Pausable.sol +112 -0
  1832. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/README.adoc +145 -0
  1833. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol +87 -0
  1834. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/ReentrancyGuardTransient.sol +61 -0
  1835. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol +122 -0
  1836. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol +155 -0
  1837. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol +143 -0
  1838. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.sol +507 -0
  1839. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol +183 -0
  1840. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol +213 -0
  1841. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol +160 -0
  1842. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/Hashes.sol +31 -0
  1843. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol +514 -0
  1844. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol +99 -0
  1845. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/P256.sol +408 -0
  1846. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/README.adoc +67 -0
  1847. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/RSA.sol +154 -0
  1848. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol +164 -0
  1849. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-ERC7739Utils.sol +206 -0
  1850. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/AbstractSigner.sol +22 -0
  1851. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/MultiSignerERC7913.sol +251 -0
  1852. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol +207 -0
  1853. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerECDSA.sol +55 -0
  1854. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerERC7702.sol +24 -0
  1855. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerERC7913.sol +62 -0
  1856. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerP256.sol +63 -0
  1857. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerRSA.sol +64 -0
  1858. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/draft-ERC7739.sol +98 -0
  1859. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/verifiers/ERC7913P256Verifier.sol +28 -0
  1860. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/verifiers/ERC7913RSAVerifier.sol +22 -0
  1861. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/draft-InteroperableAddress.sol +234 -0
  1862. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol +25 -0
  1863. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol +124 -0
  1864. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol +25 -0
  1865. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.sol +749 -0
  1866. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol +1162 -0
  1867. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol +68 -0
  1868. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol +60 -0
  1869. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol +833 -0
  1870. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/CircularBuffer.sol +140 -0
  1871. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol +156 -0
  1872. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol +1319 -0
  1873. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol +792 -0
  1874. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/Heap.sol +256 -0
  1875. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/MerkleTree.sol +267 -0
  1876. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/types/Time.sol +133 -0
  1877. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/vendor/compound/ICompoundTimelock.sol +86 -0
  1878. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/vendor/compound/LICENSE +11 -0
  1879. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/antora.yml +7 -0
  1880. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/config.js +21 -0
  1881. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-control-multiple.svg +97 -0
  1882. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-manager-functions.svg +47 -0
  1883. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-manager.svg +99 -0
  1884. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
  1885. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
  1886. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
  1887. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack.png +0 -0
  1888. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
  1889. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-mint.png +0 -0
  1890. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
  1891. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
  1892. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
  1893. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-exec.png +0 -0
  1894. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-vote.png +0 -0
  1895. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +29 -0
  1896. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +288 -0
  1897. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/account-abstraction.adoc +100 -0
  1898. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/accounts.adoc +354 -0
  1899. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/backwards-compatibility.adoc +50 -0
  1900. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/eoa-delegation.adoc +143 -0
  1901. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +118 -0
  1902. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +71 -0
  1903. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +67 -0
  1904. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc4626.adoc +214 -0
  1905. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc6909.adoc +47 -0
  1906. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +58 -0
  1907. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +51 -0
  1908. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/faq.adoc +13 -0
  1909. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +239 -0
  1910. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +70 -0
  1911. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/multisig.adoc +306 -0
  1912. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +31 -0
  1913. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +77 -0
  1914. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +591 -0
  1915. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/wizard.adoc +15 -0
  1916. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/templates/contract.hbs +141 -0
  1917. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/templates/helpers.js +46 -0
  1918. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/templates/page.hbs +4 -0
  1919. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/templates/properties.js +88 -0
  1920. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/eslint.config.mjs +26 -0
  1921. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/foundry.toml +15 -0
  1922. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/fv-requirements.txt +4 -0
  1923. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/async-test-sanity.js +10 -0
  1924. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/common-contracts.js +69 -0
  1925. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/env-artifacts.js +29 -0
  1926. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/ignore-unreachable-warnings.js +45 -0
  1927. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/remappings.js +18 -0
  1928. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/skip-foundry-tests.js +6 -0
  1929. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/task-test-get-files.js +25 -0
  1930. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat.config.js +124 -0
  1931. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.prop.sol +404 -0
  1932. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.test.sol +356 -0
  1933. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/erc4626-tests/LICENSE +661 -0
  1934. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/erc4626-tests/README.md +116 -0
  1935. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/.gitattributes +1 -0
  1936. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/ci.yml +128 -0
  1937. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/sync.yml +31 -0
  1938. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/CONTRIBUTING.md +193 -0
  1939. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/LICENSE-APACHE +203 -0
  1940. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/LICENSE-MIT +25 -0
  1941. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/README.md +266 -0
  1942. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/foundry.toml +23 -0
  1943. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/package.json +16 -0
  1944. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/scripts/vm.py +646 -0
  1945. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/Base.sol +35 -0
  1946. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/Script.sol +27 -0
  1947. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol +669 -0
  1948. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol +287 -0
  1949. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol +829 -0
  1950. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol +15 -0
  1951. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol +122 -0
  1952. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol +283 -0
  1953. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol +43 -0
  1954. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol +473 -0
  1955. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol +333 -0
  1956. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdToml.sol +283 -0
  1957. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol +209 -0
  1958. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/Test.sol +33 -0
  1959. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol +2263 -0
  1960. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/console.sol +1560 -0
  1961. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/console2.sol +4 -0
  1962. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
  1963. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC165.sol +12 -0
  1964. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC20.sol +43 -0
  1965. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
  1966. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC721.sol +164 -0
  1967. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
  1968. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/safeconsole.sol +13937 -0
  1969. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdAssertions.t.sol +141 -0
  1970. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol +227 -0
  1971. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol +618 -0
  1972. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdError.t.sol +120 -0
  1973. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdJson.t.sol +49 -0
  1974. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdMath.t.sol +202 -0
  1975. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol +488 -0
  1976. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
  1977. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdToml.t.sol +49 -0
  1978. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol +342 -0
  1979. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/Vm.t.sol +18 -0
  1980. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScript.sol +10 -0
  1981. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScriptBase.sol +10 -0
  1982. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTest.sol +10 -0
  1983. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTestBase.sol +10 -0
  1984. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
  1985. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/test.json +8 -0
  1986. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/test.toml +6 -0
  1987. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/halmos-cheatcodes/LICENSE +661 -0
  1988. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/halmos-cheatcodes/README.md +97 -0
  1989. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/SVM.sol +49 -0
  1990. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/SymTest.sol +11 -0
  1991. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/logo.svg +15 -0
  1992. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/netlify.toml +3 -0
  1993. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/package.json +106 -0
  1994. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/remappings.txt +1 -0
  1995. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/renovate.json +4 -0
  1996. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/compare-layout.js +28 -0
  1997. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/compareGasReports.js +249 -0
  1998. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/coverage.sh +24 -0
  1999. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/extract-layout.js +39 -0
  2000. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/generation.sh +6 -0
  2001. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/inheritance-ordering.js +55 -0
  2002. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/pragma-validity.js +45 -0
  2003. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/fetch-common-contracts.js +50 -0
  2004. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/gen-nav.js +81 -0
  2005. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/format-lines.js +16 -0
  2006. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/helpers/sanitize.js +5 -0
  2007. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/run.js +61 -0
  2008. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Arrays.js +386 -0
  2009. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Arrays.opts.js +9 -0
  2010. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.js +242 -0
  2011. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.opts.js +18 -0
  2012. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.t.js +141 -0
  2013. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Enumerable.opts.js +53 -0
  2014. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMap.js +463 -0
  2015. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSet.js +469 -0
  2016. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/MerkleProof.js +187 -0
  2017. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/MerkleProof.opts.js +11 -0
  2018. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Packing.js +92 -0
  2019. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Packing.opts.js +3 -0
  2020. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Packing.t.js +48 -0
  2021. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/SafeCast.js +136 -0
  2022. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Slot.opts.js +15 -0
  2023. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/SlotDerivation.js +119 -0
  2024. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/SlotDerivation.t.js +127 -0
  2025. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlot.js +77 -0
  2026. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlotMock.js +57 -0
  2027. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/TransientSlot.js +80 -0
  2028. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/TransientSlotMock.js +35 -0
  2029. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/conversion.js +30 -0
  2030. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/get-contracts-metadata.js +55 -0
  2031. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/helpers.js +7 -0
  2032. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/minimize-pragma.js +138 -0
  2033. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/prepack.sh +23 -0
  2034. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/prepare-docs.sh +26 -0
  2035. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/format-changelog.js +33 -0
  2036. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/synchronize-versions.js +15 -0
  2037. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/update-comment.js +34 -0
  2038. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/version.sh +11 -0
  2039. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/exit-prerelease.sh +8 -0
  2040. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/github-release.js +48 -0
  2041. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/integrity-check.sh +20 -0
  2042. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/pack.sh +26 -0
  2043. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/publish.sh +26 -0
  2044. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/rerun.js +7 -0
  2045. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/set-changesets-pr-title.js +17 -0
  2046. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/start.sh +35 -0
  2047. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/state.js +112 -0
  2048. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/remove-ignored-artifacts.js +45 -0
  2049. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/set-max-old-space-size.sh +10 -0
  2050. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/solc-versions.js +15 -0
  2051. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/solhint-custom/index.js +84 -0
  2052. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/solhint-custom/package.json +8 -0
  2053. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/update-docs-branch.js +65 -0
  2054. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/README.md +21 -0
  2055. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/patch-apply.sh +19 -0
  2056. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/patch-save.sh +18 -0
  2057. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/transpile-onto.sh +54 -0
  2058. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/transpile.sh +50 -0
  2059. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/upgradeable.patch +398 -0
  2060. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/slither.config.json +4 -0
  2061. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/solhint.config.js +29 -0
  2062. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/TESTING.md +3 -0
  2063. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/AccessControl.behavior.js +874 -0
  2064. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/AccessControl.test.js +19 -0
  2065. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/Ownable.test.js +79 -0
  2066. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/Ownable2Step.test.js +102 -0
  2067. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/extensions/AccessControlDefaultAdminRules.test.js +32 -0
  2068. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/extensions/AccessControlEnumerable.test.js +24 -0
  2069. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/manager/AccessManaged.test.js +146 -0
  2070. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/manager/AccessManager.behavior.js +257 -0
  2071. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/manager/AccessManager.predicate.js +456 -0
  2072. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/manager/AccessManager.test.js +2489 -0
  2073. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/manager/AuthorityUtils.test.js +112 -0
  2074. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/Account.behavior.js +144 -0
  2075. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/Account.test.js +48 -0
  2076. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountECDSA.test.js +52 -0
  2077. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountERC7702.t.sol +103 -0
  2078. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountERC7702.test.js +52 -0
  2079. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountERC7913.test.js +116 -0
  2080. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountMultiSigner.test.js +326 -0
  2081. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountMultiSignerWeighted.test.js +312 -0
  2082. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountP256.test.js +58 -0
  2083. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountRSA.test.js +58 -0
  2084. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/examples/AccountERC7702WithModulesMock.test.js +99 -0
  2085. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579.behavior.js +563 -0
  2086. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579.test.js +60 -0
  2087. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579Hooked.test.js +60 -0
  2088. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/extensions/ERC7821.behavior.js +145 -0
  2089. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/utils/EIP7702Utils.test.js +53 -0
  2090. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/utils/draft-ERC4337Utils.test.js +289 -0
  2091. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/utils/draft-ERC7579Utils.t.sol +426 -0
  2092. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/utils/draft-ERC7579Utils.test.js +399 -0
  2093. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/EntryPoint070.abi +1 -0
  2094. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/EntryPoint070.bytecode +0 -0
  2095. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/EntryPoint080.abi +1 -0
  2096. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/EntryPoint080.bytecode +0 -0
  2097. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/SenderCreator070.abi +1 -0
  2098. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/SenderCreator070.bytecode +0 -0
  2099. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/SenderCreator080.abi +1 -0
  2100. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/SenderCreator080.bytecode +0 -0
  2101. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/finance/VestingWallet.behavior.js +87 -0
  2102. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/finance/VestingWallet.test.js +65 -0
  2103. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/finance/VestingWalletCliff.test.js +70 -0
  2104. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/Governor.t.sol +59 -0
  2105. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/Governor.test.js +980 -0
  2106. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/TimelockController.test.js +1279 -0
  2107. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorCountingFractional.test.js +248 -0
  2108. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorCountingOverridable.test.js +346 -0
  2109. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorERC721.test.js +131 -0
  2110. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorNoncesKeyed.test.js +244 -0
  2111. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorPreventLateQuorum.test.js +185 -0
  2112. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorProposalGuardian.test.js +132 -0
  2113. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorSequentialProposalId.test.js +202 -0
  2114. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorStorage.test.js +155 -0
  2115. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorSuperQuorum.test.js +168 -0
  2116. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorSuperQuorumGreaterThanQuorum.t.sol +83 -0
  2117. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockAccess.test.js +864 -0
  2118. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockCompound.test.js +448 -0
  2119. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockControl.test.js +504 -0
  2120. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesQuorumFraction.test.js +165 -0
  2121. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesSuperQuorumFraction.test.js +160 -0
  2122. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorWithParams.test.js +245 -0
  2123. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/utils/ERC6372.behavior.js +28 -0
  2124. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/utils/Votes.behavior.js +325 -0
  2125. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/utils/Votes.test.js +102 -0
  2126. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/utils/VotesExtended.test.js +152 -0
  2127. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/access-manager.js +85 -0
  2128. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/account.js +14 -0
  2129. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/chains.js +56 -0
  2130. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/constants.js +7 -0
  2131. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/deploy.js +14 -0
  2132. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/eip712-types.js +61 -0
  2133. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/eip712.js +45 -0
  2134. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/enums.js +14 -0
  2135. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/erc4337.js +217 -0
  2136. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/erc7579.js +58 -0
  2137. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/erc7739.js +118 -0
  2138. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/governance.js +217 -0
  2139. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/iterate.js +41 -0
  2140. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/math.js +33 -0
  2141. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/methods.js +14 -0
  2142. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/precompiles.js +12 -0
  2143. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/random.js +24 -0
  2144. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/signers.js +184 -0
  2145. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/storage.js +48 -0
  2146. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/strings.js +5 -0
  2147. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/time.js +33 -0
  2148. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/txpool.js +29 -0
  2149. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/metatx/ERC2771Context.test.js +133 -0
  2150. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/metatx/ERC2771Forwarder.t.sol +279 -0
  2151. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/metatx/ERC2771Forwarder.test.js +384 -0
  2152. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/Clones.behaviour.js +160 -0
  2153. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/Clones.t.sol +91 -0
  2154. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/Clones.test.js +177 -0
  2155. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Proxy.test.js +23 -0
  2156. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Utils.test.js +162 -0
  2157. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/Proxy.behaviour.js +185 -0
  2158. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/beacon/BeaconProxy.test.js +141 -0
  2159. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/beacon/UpgradeableBeacon.test.js +55 -0
  2160. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/transparent/ProxyAdmin.test.js +82 -0
  2161. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +357 -0
  2162. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.test.js +28 -0
  2163. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/utils/Initializable.test.js +216 -0
  2164. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/utils/UUPSUpgradeable.test.js +120 -0
  2165. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/sanity.test.js +27 -0
  2166. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.behavior.js +763 -0
  2167. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.test.js +213 -0
  2168. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Burnable.test.js +66 -0
  2169. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Pausable.test.js +105 -0
  2170. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Supply.test.js +119 -0
  2171. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +70 -0
  2172. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Holder.test.js +56 -0
  2173. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Utils.test.js +299 -0
  2174. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/ERC20.behavior.js +269 -0
  2175. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/ERC20.test.js +199 -0
  2176. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC1363.test.js +370 -0
  2177. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.test.js +105 -0
  2178. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.test.js +55 -0
  2179. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20FlashMint.test.js +164 -0
  2180. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Pausable.test.js +129 -0
  2181. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Permit.test.js +109 -0
  2182. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Votes.test.js +546 -0
  2183. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Wrapper.test.js +203 -0
  2184. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.t.sol +41 -0
  2185. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.test.js +888 -0
  2186. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Bridgeable.test.js +89 -0
  2187. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20TemporaryApproval.test.js +142 -0
  2188. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/utils/SafeERC20.test.js +463 -0
  2189. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC6909/ERC6909.behavior.js +216 -0
  2190. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC6909/ERC6909.test.js +104 -0
  2191. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909ContentURI.test.js +49 -0
  2192. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909Metadata.test.js +58 -0
  2193. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909TokenSupply.test.js +53 -0
  2194. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/ERC721.behavior.js +946 -0
  2195. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/ERC721.test.js +23 -0
  2196. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/ERC721Enumerable.test.js +28 -0
  2197. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Burnable.test.js +77 -0
  2198. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.t.sol +181 -0
  2199. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.test.js +228 -0
  2200. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Pausable.test.js +81 -0
  2201. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Royalty.test.js +57 -0
  2202. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721URIStorage.test.js +121 -0
  2203. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Votes.test.js +194 -0
  2204. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Wrapper.test.js +201 -0
  2205. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Holder.test.js +20 -0
  2206. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Utils.test.js +94 -0
  2207. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/common/ERC2981.behavior.js +152 -0
  2208. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Address.test.js +281 -0
  2209. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Arrays.t.sol +31 -0
  2210. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Arrays.test.js +227 -0
  2211. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Base64.t.sol +34 -0
  2212. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Base64.test.js +59 -0
  2213. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Blockhash.t.sol +101 -0
  2214. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Blockhash.test.js +59 -0
  2215. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Bytes.t.sol +74 -0
  2216. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Bytes.test.js +212 -0
  2217. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/CAIP.test.js +56 -0
  2218. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Calldata.test.js +22 -0
  2219. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Context.behavior.js +48 -0
  2220. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Context.test.js +18 -0
  2221. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Create2.t.sol +17 -0
  2222. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Create2.test.js +190 -0
  2223. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Memory.t.sol +21 -0
  2224. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Memory.test.js +39 -0
  2225. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Multicall.test.js +72 -0
  2226. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Nonces.behavior.js +189 -0
  2227. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Nonces.test.js +16 -0
  2228. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/NoncesKeyed.test.js +17 -0
  2229. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Packing.t.sol +993 -0
  2230. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Packing.test.js +70 -0
  2231. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Panic.test.js +37 -0
  2232. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Pausable.test.js +90 -0
  2233. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/ReentrancyGuard.test.js +50 -0
  2234. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/ShortStrings.t.sol +109 -0
  2235. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/ShortStrings.test.js +64 -0
  2236. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/SlotDerivation.t.sol +248 -0
  2237. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/SlotDerivation.test.js +58 -0
  2238. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/StorageSlot.test.js +73 -0
  2239. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Strings.t.sol +50 -0
  2240. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Strings.test.js +360 -0
  2241. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/TransientSlot.test.js +59 -0
  2242. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/ECDSA.test.js +239 -0
  2243. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/EIP712.test.js +105 -0
  2244. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/ERC1271.behavior.js +111 -0
  2245. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/ERC7739.test.js +42 -0
  2246. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/ERC7739Utils.test.js +203 -0
  2247. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/MerkleProof.test.js +213 -0
  2248. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/MessageHashUtils.t.sol +33 -0
  2249. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/MessageHashUtils.test.js +97 -0
  2250. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/P256.t.sol +65 -0
  2251. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/P256.test.js +182 -0
  2252. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/RSA.helper.js +17 -0
  2253. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/RSA.test.js +102 -0
  2254. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/SigVer15_186-3.rsp +3850 -0
  2255. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/SignatureChecker.test.js +422 -0
  2256. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/ecdsa_secp256r1_sha256_p1363_test.json +3719 -0
  2257. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/draft-InteroperableAddress.t.sol +99 -0
  2258. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/draft-InteroperableAddress.test.js +170 -0
  2259. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/introspection/ERC165.test.js +18 -0
  2260. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/introspection/ERC165Checker.test.js +245 -0
  2261. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/introspection/SupportsInterface.behavior.js +166 -0
  2262. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/math/Math.t.sol +349 -0
  2263. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/math/Math.test.js +713 -0
  2264. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/math/SafeCast.test.js +159 -0
  2265. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/math/SignedMath.t.sol +80 -0
  2266. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/math/SignedMath.test.js +53 -0
  2267. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/BitMap.test.js +149 -0
  2268. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/Checkpoints.t.sol +440 -0
  2269. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/Checkpoints.test.js +147 -0
  2270. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/CircularBuffer.test.js +83 -0
  2271. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/DoubleEndedQueue.test.js +102 -0
  2272. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.behavior.js +214 -0
  2273. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.test.js +83 -0
  2274. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.behavior.js +175 -0
  2275. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.test.js +66 -0
  2276. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/Heap.t.sol +74 -0
  2277. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/Heap.test.js +113 -0
  2278. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/MerkleTree.test.js +180 -0
  2279. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/types/Time.test.js +135 -0
  2280. package/lib/openzeppelin-contracts-upgradeable/package.json +60 -47
  2281. package/lib/openzeppelin-contracts-upgradeable/remappings.txt +2 -0
  2282. package/lib/openzeppelin-contracts-upgradeable/renovate.json +2 -9
  2283. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/compare-layout.js +28 -0
  2284. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/compareGasReports.js +130 -92
  2285. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/coverage.sh +24 -0
  2286. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/extract-layout.js +39 -0
  2287. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/inheritance-ordering.js +28 -23
  2288. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/pragma-validity.js +45 -0
  2289. package/lib/openzeppelin-contracts-upgradeable/scripts/fetch-common-contracts.js +50 -0
  2290. package/lib/openzeppelin-contracts-upgradeable/scripts/gen-nav.js +62 -22
  2291. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/format-lines.js +4 -4
  2292. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/helpers/sanitize.js +5 -0
  2293. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/run.js +38 -23
  2294. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Arrays.js +386 -0
  2295. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Arrays.opts.js +9 -0
  2296. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Checkpoints.js +67 -128
  2297. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Checkpoints.opts.js +18 -0
  2298. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Checkpoints.t.js +141 -0
  2299. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Enumerable.opts.js +53 -0
  2300. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/EnumerableMap.js +269 -84
  2301. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/EnumerableSet.js +252 -36
  2302. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/MerkleProof.js +187 -0
  2303. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/MerkleProof.opts.js +11 -0
  2304. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Packing.js +92 -0
  2305. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Packing.opts.js +3 -0
  2306. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Packing.t.js +48 -0
  2307. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/SafeCast.js +50 -82
  2308. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Slot.opts.js +15 -0
  2309. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/SlotDerivation.js +119 -0
  2310. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/SlotDerivation.t.js +127 -0
  2311. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/StorageSlot.js +77 -0
  2312. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/StorageSlotMock.js +57 -0
  2313. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/TransientSlot.js +80 -0
  2314. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/TransientSlotMock.js +35 -0
  2315. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/conversion.js +18 -18
  2316. package/lib/openzeppelin-contracts-upgradeable/scripts/get-contracts-metadata.js +55 -0
  2317. package/lib/openzeppelin-contracts-upgradeable/scripts/helpers.js +4 -20
  2318. package/lib/openzeppelin-contracts-upgradeable/scripts/minimize-pragma.js +138 -0
  2319. package/lib/openzeppelin-contracts-upgradeable/scripts/prepack.sh +14 -3
  2320. package/lib/openzeppelin-contracts-upgradeable/scripts/prepare-docs.sh +12 -1
  2321. package/lib/openzeppelin-contracts-upgradeable/scripts/release/format-changelog.js +33 -0
  2322. package/lib/openzeppelin-contracts-upgradeable/scripts/release/synchronize-versions.js +6 -7
  2323. package/lib/openzeppelin-contracts-upgradeable/scripts/release/update-comment.js +2 -4
  2324. package/lib/openzeppelin-contracts-upgradeable/scripts/release/version.sh +4 -2
  2325. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/exit-prerelease.sh +8 -0
  2326. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/github-release.js +48 -0
  2327. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/integrity-check.sh +20 -0
  2328. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/pack.sh +26 -0
  2329. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/publish.sh +26 -0
  2330. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/rerun.js +7 -0
  2331. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/set-changesets-pr-title.js +17 -0
  2332. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/start.sh +35 -0
  2333. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/state.js +112 -0
  2334. package/lib/openzeppelin-contracts-upgradeable/scripts/remove-ignored-artifacts.js +4 -4
  2335. package/lib/openzeppelin-contracts-upgradeable/scripts/set-max-old-space-size.sh +10 -0
  2336. package/lib/openzeppelin-contracts-upgradeable/scripts/solc-versions.js +15 -0
  2337. package/lib/openzeppelin-contracts-upgradeable/scripts/solhint-custom/index.js +84 -0
  2338. package/lib/openzeppelin-contracts-upgradeable/scripts/solhint-custom/package.json +8 -0
  2339. package/lib/openzeppelin-contracts-upgradeable/scripts/update-docs-branch.js +15 -5
  2340. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/README.md +21 -0
  2341. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/patch-apply.sh +19 -0
  2342. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/patch-save.sh +18 -0
  2343. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/transpile-onto.sh +21 -5
  2344. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/transpile.sh +24 -8
  2345. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/upgradeable.patch +398 -0
  2346. package/lib/openzeppelin-contracts-upgradeable/slither.config.json +3 -4
  2347. package/lib/openzeppelin-contracts-upgradeable/solhint.config.js +29 -0
  2348. package/lib/openzeppelin-contracts-upgradeable/test/TESTING.md +1 -1
  2349. package/lib/openzeppelin-contracts-upgradeable/test/access/AccessControl.behavior.js +756 -98
  2350. package/lib/openzeppelin-contracts-upgradeable/test/access/AccessControl.test.js +13 -7
  2351. package/lib/openzeppelin-contracts-upgradeable/test/access/Ownable.test.js +50 -28
  2352. package/lib/openzeppelin-contracts-upgradeable/test/access/Ownable2Step.test.js +77 -32
  2353. package/lib/openzeppelin-contracts-upgradeable/test/access/extensions/AccessControlDefaultAdminRules.test.js +32 -0
  2354. package/lib/openzeppelin-contracts-upgradeable/test/access/extensions/AccessControlEnumerable.test.js +24 -0
  2355. package/lib/openzeppelin-contracts-upgradeable/test/access/manager/AccessManaged.test.js +146 -0
  2356. package/lib/openzeppelin-contracts-upgradeable/test/access/manager/AccessManager.behavior.js +257 -0
  2357. package/lib/openzeppelin-contracts-upgradeable/test/access/manager/AccessManager.predicate.js +456 -0
  2358. package/lib/openzeppelin-contracts-upgradeable/test/access/manager/AccessManager.test.js +2489 -0
  2359. package/lib/openzeppelin-contracts-upgradeable/test/access/manager/AuthorityUtils.test.js +112 -0
  2360. package/lib/openzeppelin-contracts-upgradeable/test/account/Account.behavior.js +144 -0
  2361. package/lib/openzeppelin-contracts-upgradeable/test/account/Account.test.js +48 -0
  2362. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountECDSA.test.js +52 -0
  2363. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountERC7702.t.sol +103 -0
  2364. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountERC7702.test.js +52 -0
  2365. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountERC7913.test.js +116 -0
  2366. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountMultiSigner.test.js +326 -0
  2367. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountMultiSignerWeighted.test.js +312 -0
  2368. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountP256.test.js +58 -0
  2369. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountRSA.test.js +58 -0
  2370. package/lib/openzeppelin-contracts-upgradeable/test/account/examples/AccountERC7702WithModulesMock.test.js +99 -0
  2371. package/lib/openzeppelin-contracts-upgradeable/test/account/extensions/AccountERC7579.behavior.js +563 -0
  2372. package/lib/openzeppelin-contracts-upgradeable/test/account/extensions/AccountERC7579.test.js +60 -0
  2373. package/lib/openzeppelin-contracts-upgradeable/test/account/extensions/AccountERC7579Hooked.test.js +60 -0
  2374. package/lib/openzeppelin-contracts-upgradeable/test/account/extensions/ERC7821.behavior.js +145 -0
  2375. package/lib/openzeppelin-contracts-upgradeable/test/account/utils/EIP7702Utils.test.js +53 -0
  2376. package/lib/openzeppelin-contracts-upgradeable/test/account/utils/draft-ERC4337Utils.test.js +289 -0
  2377. package/lib/openzeppelin-contracts-upgradeable/test/account/utils/draft-ERC7579Utils.t.sol +426 -0
  2378. package/lib/openzeppelin-contracts-upgradeable/test/account/utils/draft-ERC7579Utils.test.js +399 -0
  2379. package/lib/openzeppelin-contracts-upgradeable/test/bin/EntryPoint070.abi +1 -0
  2380. package/lib/openzeppelin-contracts-upgradeable/test/bin/EntryPoint070.bytecode +0 -0
  2381. package/lib/openzeppelin-contracts-upgradeable/test/bin/EntryPoint080.abi +1 -0
  2382. package/lib/openzeppelin-contracts-upgradeable/test/bin/EntryPoint080.bytecode +0 -0
  2383. package/lib/openzeppelin-contracts-upgradeable/test/bin/SenderCreator070.abi +1 -0
  2384. package/lib/openzeppelin-contracts-upgradeable/test/bin/SenderCreator070.bytecode +0 -0
  2385. package/lib/openzeppelin-contracts-upgradeable/test/bin/SenderCreator080.abi +1 -0
  2386. package/lib/openzeppelin-contracts-upgradeable/test/bin/SenderCreator080.bytecode +0 -0
  2387. package/lib/openzeppelin-contracts-upgradeable/test/finance/VestingWallet.behavior.js +59 -46
  2388. package/lib/openzeppelin-contracts-upgradeable/test/finance/VestingWallet.test.js +35 -37
  2389. package/lib/openzeppelin-contracts-upgradeable/test/finance/VestingWalletCliff.test.js +70 -0
  2390. package/lib/openzeppelin-contracts-upgradeable/test/governance/Governor.t.sol +59 -0
  2391. package/lib/openzeppelin-contracts-upgradeable/test/governance/Governor.test.js +938 -590
  2392. package/lib/openzeppelin-contracts-upgradeable/test/governance/TimelockController.test.js +910 -765
  2393. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorCountingFractional.test.js +248 -0
  2394. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorCountingOverridable.test.js +346 -0
  2395. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorERC721.test.js +127 -100
  2396. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorNoncesKeyed.test.js +244 -0
  2397. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorPreventLateQuorum.test.js +181 -173
  2398. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorProposalGuardian.test.js +132 -0
  2399. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorSequentialProposalId.test.js +202 -0
  2400. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorStorage.test.js +155 -0
  2401. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorSuperQuorum.test.js +168 -0
  2402. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorSuperQuorumGreaterThanQuorum.t.sol +83 -0
  2403. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorTimelockAccess.test.js +864 -0
  2404. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorTimelockCompound.test.js +419 -339
  2405. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorTimelockControl.test.js +468 -384
  2406. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorVotesQuorumFraction.test.js +161 -133
  2407. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorVotesSuperQuorumFraction.test.js +160 -0
  2408. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorWithParams.test.js +234 -155
  2409. package/lib/openzeppelin-contracts-upgradeable/test/governance/utils/ERC6372.behavior.js +28 -0
  2410. package/lib/openzeppelin-contracts-upgradeable/test/governance/utils/Votes.behavior.js +254 -273
  2411. package/lib/openzeppelin-contracts-upgradeable/test/governance/utils/Votes.test.js +89 -48
  2412. package/lib/openzeppelin-contracts-upgradeable/test/governance/utils/VotesExtended.test.js +152 -0
  2413. package/lib/openzeppelin-contracts-upgradeable/test/helpers/access-manager.js +85 -0
  2414. package/lib/openzeppelin-contracts-upgradeable/test/helpers/account.js +14 -0
  2415. package/lib/openzeppelin-contracts-upgradeable/test/helpers/chains.js +56 -0
  2416. package/lib/openzeppelin-contracts-upgradeable/test/helpers/constants.js +7 -0
  2417. package/lib/openzeppelin-contracts-upgradeable/test/helpers/deploy.js +14 -0
  2418. package/lib/openzeppelin-contracts-upgradeable/test/helpers/eip712-types.js +61 -0
  2419. package/lib/openzeppelin-contracts-upgradeable/test/helpers/eip712.js +41 -26
  2420. package/lib/openzeppelin-contracts-upgradeable/test/helpers/enums.js +9 -24
  2421. package/lib/openzeppelin-contracts-upgradeable/test/helpers/erc4337.js +217 -0
  2422. package/lib/openzeppelin-contracts-upgradeable/test/helpers/erc7579.js +58 -0
  2423. package/lib/openzeppelin-contracts-upgradeable/test/helpers/erc7739.js +118 -0
  2424. package/lib/openzeppelin-contracts-upgradeable/test/helpers/governance.js +194 -188
  2425. package/lib/openzeppelin-contracts-upgradeable/test/helpers/iterate.js +41 -0
  2426. package/lib/openzeppelin-contracts-upgradeable/test/helpers/math.js +33 -0
  2427. package/lib/openzeppelin-contracts-upgradeable/test/helpers/methods.js +14 -0
  2428. package/lib/openzeppelin-contracts-upgradeable/test/helpers/precompiles.js +12 -0
  2429. package/lib/openzeppelin-contracts-upgradeable/test/helpers/random.js +24 -0
  2430. package/lib/openzeppelin-contracts-upgradeable/test/helpers/signers.js +184 -0
  2431. package/lib/openzeppelin-contracts-upgradeable/test/helpers/storage.js +48 -0
  2432. package/lib/openzeppelin-contracts-upgradeable/test/helpers/strings.js +5 -0
  2433. package/lib/openzeppelin-contracts-upgradeable/test/helpers/time.js +33 -0
  2434. package/lib/openzeppelin-contracts-upgradeable/test/helpers/txpool.js +9 -20
  2435. package/lib/openzeppelin-contracts-upgradeable/test/metatx/ERC2771Context.test.js +95 -71
  2436. package/lib/openzeppelin-contracts-upgradeable/test/metatx/ERC2771Forwarder.t.sol +279 -0
  2437. package/lib/openzeppelin-contracts-upgradeable/test/metatx/ERC2771Forwarder.test.js +384 -0
  2438. package/lib/openzeppelin-contracts-upgradeable/test/proxy/Clones.behaviour.js +60 -50
  2439. package/lib/openzeppelin-contracts-upgradeable/test/proxy/Clones.t.sol +91 -0
  2440. package/lib/openzeppelin-contracts-upgradeable/test/proxy/Clones.test.js +164 -56
  2441. package/lib/openzeppelin-contracts-upgradeable/test/proxy/ERC1967/ERC1967Proxy.test.js +17 -7
  2442. package/lib/openzeppelin-contracts-upgradeable/test/proxy/ERC1967/ERC1967Utils.test.js +162 -0
  2443. package/lib/openzeppelin-contracts-upgradeable/test/proxy/Proxy.behaviour.js +59 -98
  2444. package/lib/openzeppelin-contracts-upgradeable/test/proxy/beacon/BeaconProxy.test.js +98 -113
  2445. package/lib/openzeppelin-contracts-upgradeable/test/proxy/beacon/UpgradeableBeacon.test.js +34 -29
  2446. package/lib/openzeppelin-contracts-upgradeable/test/proxy/transparent/ProxyAdmin.test.js +45 -88
  2447. package/lib/openzeppelin-contracts-upgradeable/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +209 -283
  2448. package/lib/openzeppelin-contracts-upgradeable/test/proxy/transparent/TransparentUpgradeableProxy.test.js +20 -7
  2449. package/lib/openzeppelin-contracts-upgradeable/test/proxy/utils/Initializable.test.js +94 -96
  2450. package/lib/openzeppelin-contracts-upgradeable/test/proxy/utils/UUPSUpgradeable.test.js +94 -59
  2451. package/lib/openzeppelin-contracts-upgradeable/test/sanity.test.js +27 -0
  2452. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/ERC1155.behavior.js +530 -541
  2453. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/ERC1155.test.js +101 -152
  2454. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/extensions/ERC1155Burnable.test.js +35 -36
  2455. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/extensions/ERC1155Pausable.test.js +54 -57
  2456. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/extensions/ERC1155Supply.test.js +59 -51
  2457. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +37 -33
  2458. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/utils/ERC1155Holder.test.js +40 -46
  2459. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/utils/ERC1155Utils.test.js +299 -0
  2460. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/ERC20.behavior.js +142 -206
  2461. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/ERC20.test.js +133 -243
  2462. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC1363.test.js +370 -0
  2463. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Burnable.test.js +96 -10
  2464. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Capped.test.js +43 -15
  2465. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20FlashMint.test.js +102 -82
  2466. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Pausable.test.js +59 -64
  2467. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Permit.test.js +109 -0
  2468. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Votes.test.js +490 -462
  2469. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Wrapper.test.js +133 -120
  2470. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC4626.t.sol +41 -0
  2471. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC4626.test.js +802 -536
  2472. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/draft-ERC20Bridgeable.test.js +89 -0
  2473. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/draft-ERC20TemporaryApproval.test.js +142 -0
  2474. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/utils/SafeERC20.test.js +387 -179
  2475. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC6909/ERC6909.behavior.js +216 -0
  2476. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC6909/ERC6909.test.js +104 -0
  2477. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC6909/extensions/ERC6909ContentURI.test.js +49 -0
  2478. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC6909/extensions/ERC6909Metadata.test.js +58 -0
  2479. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC6909/extensions/ERC6909TokenSupply.test.js +53 -0
  2480. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/ERC721.behavior.js +488 -479
  2481. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/ERC721.test.js +16 -11
  2482. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/ERC721Enumerable.test.js +16 -8
  2483. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Burnable.test.js +43 -44
  2484. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Consecutive.t.sol +80 -19
  2485. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Consecutive.test.js +181 -165
  2486. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Pausable.test.js +34 -51
  2487. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Royalty.test.js +41 -24
  2488. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721URIStorage.test.js +69 -44
  2489. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Votes.test.js +187 -167
  2490. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Wrapper.test.js +201 -0
  2491. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/utils/ERC721Holder.test.js +12 -16
  2492. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/utils/ERC721Utils.test.js +94 -0
  2493. package/lib/openzeppelin-contracts-upgradeable/test/token/common/ERC2981.behavior.js +80 -88
  2494. package/lib/openzeppelin-contracts-upgradeable/test/utils/Address.test.js +160 -261
  2495. package/lib/openzeppelin-contracts-upgradeable/test/utils/Arrays.t.sol +31 -0
  2496. package/lib/openzeppelin-contracts-upgradeable/test/utils/Arrays.test.js +217 -95
  2497. package/lib/openzeppelin-contracts-upgradeable/test/utils/Base64.t.sol +34 -0
  2498. package/lib/openzeppelin-contracts-upgradeable/test/utils/Base64.test.js +48 -22
  2499. package/lib/openzeppelin-contracts-upgradeable/test/utils/Blockhash.t.sol +101 -0
  2500. package/lib/openzeppelin-contracts-upgradeable/test/utils/Blockhash.test.js +59 -0
  2501. package/lib/openzeppelin-contracts-upgradeable/test/utils/Bytes.t.sol +74 -0
  2502. package/lib/openzeppelin-contracts-upgradeable/test/utils/Bytes.test.js +212 -0
  2503. package/lib/openzeppelin-contracts-upgradeable/test/utils/CAIP.test.js +56 -0
  2504. package/lib/openzeppelin-contracts-upgradeable/test/utils/Calldata.test.js +22 -0
  2505. package/lib/openzeppelin-contracts-upgradeable/test/utils/Context.behavior.js +26 -20
  2506. package/lib/openzeppelin-contracts-upgradeable/test/utils/Context.test.js +10 -9
  2507. package/lib/openzeppelin-contracts-upgradeable/test/utils/Create2.t.sol +17 -0
  2508. package/lib/openzeppelin-contracts-upgradeable/test/utils/Create2.test.js +147 -49
  2509. package/lib/openzeppelin-contracts-upgradeable/test/utils/Memory.t.sol +21 -0
  2510. package/lib/openzeppelin-contracts-upgradeable/test/utils/Memory.test.js +39 -0
  2511. package/lib/openzeppelin-contracts-upgradeable/test/utils/Multicall.test.js +50 -35
  2512. package/lib/openzeppelin-contracts-upgradeable/test/utils/Nonces.behavior.js +189 -0
  2513. package/lib/openzeppelin-contracts-upgradeable/test/utils/Nonces.test.js +16 -0
  2514. package/lib/openzeppelin-contracts-upgradeable/test/utils/NoncesKeyed.test.js +17 -0
  2515. package/lib/openzeppelin-contracts-upgradeable/test/utils/Packing.t.sol +993 -0
  2516. package/lib/openzeppelin-contracts-upgradeable/test/utils/Packing.test.js +70 -0
  2517. package/lib/openzeppelin-contracts-upgradeable/test/utils/Panic.test.js +37 -0
  2518. package/lib/openzeppelin-contracts-upgradeable/test/utils/Pausable.test.js +90 -0
  2519. package/lib/openzeppelin-contracts-upgradeable/test/utils/ReentrancyGuard.test.js +50 -0
  2520. package/lib/openzeppelin-contracts-upgradeable/test/utils/ShortStrings.t.sol +109 -0
  2521. package/lib/openzeppelin-contracts-upgradeable/test/utils/ShortStrings.test.js +64 -0
  2522. package/lib/openzeppelin-contracts-upgradeable/test/utils/SlotDerivation.t.sol +248 -0
  2523. package/lib/openzeppelin-contracts-upgradeable/test/utils/SlotDerivation.test.js +58 -0
  2524. package/lib/openzeppelin-contracts-upgradeable/test/utils/StorageSlot.test.js +55 -92
  2525. package/lib/openzeppelin-contracts-upgradeable/test/utils/Strings.t.sol +50 -0
  2526. package/lib/openzeppelin-contracts-upgradeable/test/utils/Strings.test.js +323 -49
  2527. package/lib/openzeppelin-contracts-upgradeable/test/utils/TransientSlot.test.js +59 -0
  2528. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/ECDSA.test.js +167 -132
  2529. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/EIP712.test.js +79 -52
  2530. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/ERC1271.behavior.js +111 -0
  2531. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/ERC7739.test.js +42 -0
  2532. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/ERC7739Utils.test.js +203 -0
  2533. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/MerkleProof.test.js +210 -176
  2534. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/MessageHashUtils.t.sol +33 -0
  2535. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/MessageHashUtils.test.js +97 -0
  2536. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/P256.t.sol +65 -0
  2537. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/P256.test.js +182 -0
  2538. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/RSA.helper.js +17 -0
  2539. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/RSA.test.js +102 -0
  2540. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/SigVer15_186-3.rsp +3850 -0
  2541. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/SignatureChecker.test.js +397 -56
  2542. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/ecdsa_secp256r1_sha256_p1363_test.json +3719 -0
  2543. package/lib/openzeppelin-contracts-upgradeable/test/utils/draft-InteroperableAddress.t.sol +99 -0
  2544. package/lib/openzeppelin-contracts-upgradeable/test/utils/draft-InteroperableAddress.test.js +170 -0
  2545. package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/ERC165.test.js +11 -6
  2546. package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/ERC165Checker.test.js +84 -142
  2547. package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/SupportsInterface.behavior.js +109 -90
  2548. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/Math.t.sol +255 -24
  2549. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/Math.test.js +616 -215
  2550. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SafeCast.test.js +84 -89
  2551. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SignedMath.t.sol +80 -0
  2552. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SignedMath.test.js +25 -65
  2553. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/BitMap.test.js +83 -79
  2554. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/Checkpoints.t.sol +440 -0
  2555. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/Checkpoints.test.js +147 -0
  2556. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/CircularBuffer.test.js +83 -0
  2557. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/DoubleEndedQueue.test.js +47 -41
  2558. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/EnumerableMap.behavior.js +122 -89
  2559. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/EnumerableMap.test.js +70 -73
  2560. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/EnumerableSet.behavior.js +105 -61
  2561. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/EnumerableSet.test.js +53 -33
  2562. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/Heap.t.sol +74 -0
  2563. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/Heap.test.js +113 -0
  2564. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/MerkleTree.test.js +180 -0
  2565. package/lib/openzeppelin-contracts-upgradeable/test/utils/types/Time.test.js +135 -0
  2566. package/package.json +9 -23
  2567. package/remappings.txt +5 -0
  2568. package/script/UpdateMarket.s.sol +56 -0
  2569. package/scripts/AddAdminToLand.s.sol +29 -0
  2570. package/scripts/ClaimMerkleRoot.s.sol +34 -0
  2571. package/scripts/CreateLand.s.sol +28 -0
  2572. package/scripts/CreateMarkets.s.sol +71 -0
  2573. package/scripts/DeployContracts.s.sol +94 -0
  2574. package/scripts/DeployMerkleRewardsDistributor.s.sol +27 -0
  2575. package/scripts/DeployToken.s.sol +17 -0
  2576. package/scripts/DeployUSDT.s.sol +24 -0
  2577. package/scripts/MintTokens.s.sol +21 -0
  2578. package/scripts/PublishMerkleRoot.s.sol +50 -0
  2579. package/scripts/ResolveMarket.s.sol +23 -0
  2580. package/scripts/TradeMarket.s.sol +28 -0
  2581. package/scripts/UpdateMarket.s.sol +55 -0
  2582. package/scripts/copy-abis.js +57 -0
  2583. package/src/Application.js +18 -0
  2584. package/src/interfaces/index.js +16 -15
  2585. package/src/models/PredictionMarketV3Contract.js +5 -1
  2586. package/src/models/PredictionMarketV3ControllerContract.js +2 -2
  2587. package/src/models/PredictionMarketV3ManagerContract.js +4 -0
  2588. package/src/models/PredictionMarketV3PlusContract.js +210 -0
  2589. package/src/models/index.js +2 -0
  2590. package/test/PredictionMarket.t.sol +923 -0
  2591. package/test/PredictionMarketManager.t.sol +909 -0
  2592. package/test/UpdateTest.t.sol +55 -0
  2593. package/test/WhaleTest.t.sol +188 -0
  2594. package/build/contracts/AccessControl.json +0 -1
  2595. package/build/contracts/Address.json +0 -1
  2596. package/build/contracts/BalanceHolder_ERC20.json +0 -1
  2597. package/build/contracts/CeilDiv.json +0 -1
  2598. package/build/contracts/Clones.json +0 -1
  2599. package/build/contracts/Context.json +0 -1
  2600. package/build/contracts/ERC165.json +0 -1
  2601. package/build/contracts/ERC20.json +0 -1
  2602. package/build/contracts/ERC20Burnable.json +0 -1
  2603. package/build/contracts/ERC20Pausable.json +0 -1
  2604. package/build/contracts/FantasyERC20.json +0 -1
  2605. package/build/contracts/IAccessControl.json +0 -1
  2606. package/build/contracts/IBalanceHolder_ERC20.json +0 -1
  2607. package/build/contracts/IERC165.json +0 -1
  2608. package/build/contracts/IERC20.json +0 -1
  2609. package/build/contracts/IERC20Metadata.json +0 -1
  2610. package/build/contracts/IERC721.json +0 -1
  2611. package/build/contracts/IERC721Enumerable.json +0 -1
  2612. package/build/contracts/IERC721Metadata.json +0 -1
  2613. package/build/contracts/IFantasyERC20.json +0 -1
  2614. package/build/contracts/IPredictionMarketV3Factory.json +0 -1
  2615. package/build/contracts/IPredictionMarketV3Manager.json +0 -1
  2616. package/build/contracts/IRealityETH_ERC20.json +0 -1
  2617. package/build/contracts/IRealityETH_IERC20.json +0 -1
  2618. package/build/contracts/IWETH.json +0 -1
  2619. package/build/contracts/LandFactory.json +0 -1
  2620. package/build/contracts/Ownable.json +0 -1
  2621. package/build/contracts/Pausable.json +0 -1
  2622. package/build/contracts/PredictionMarketV3Claimer.json +0 -1
  2623. package/build/contracts/PredictionMarketV3Controller.json +0 -1
  2624. package/build/contracts/PredictionMarketV3Factory.json +0 -1
  2625. package/build/contracts/PredictionMarketV3Manager.json +0 -1
  2626. package/build/contracts/PredictionMarketV3Querier.json +0 -1
  2627. package/build/contracts/Proxy.json +0 -1
  2628. package/build/contracts/RealityETH_ERC20_Factory.json +0 -1
  2629. package/build/contracts/RealityETH_ERC20_v3_0.json +0 -1
  2630. package/build/contracts/RealityETH_ERC20_v3_0_.json +0 -1
  2631. package/build/contracts/ReentrancyGuard.json +0 -1
  2632. package/build/contracts/SafeERC20.json +0 -1
  2633. package/build/contracts/StorageSlot.json +0 -1
  2634. package/build/contracts/TWProxy.json +0 -1
  2635. package/build/contracts/USDCERC20.json +0 -1
  2636. package/build/contracts/Voting.json +0 -1
  2637. package/build/contracts/test.json +0 -1
  2638. package/cache/solidity-files-cache.json +0 -1
  2639. package/cache/zksync-solidity-files-cache.json +0 -1
  2640. package/cleanContracts.js +0 -22
  2641. package/contracts/IPredictionMarketV3.sol +0 -207
  2642. package/contracts/Migrations.sol +0 -24
  2643. package/contracts/PredictionMarketV3.sol +0 -1332
  2644. package/contracts/RealityETH_ERC20_v3_0.sol +0 -8
  2645. package/contracts/TWProxy.sol +0 -42
  2646. package/contracts/USDCERC20.sol +0 -12
  2647. package/contracts/WETH9.sol +0 -62
  2648. package/lib/openzeppelin-contracts/.changeset/new-ways-own.md +0 -5
  2649. package/lib/openzeppelin-contracts/.eslintrc +0 -62
  2650. package/lib/openzeppelin-contracts/.gitattributes +0 -1
  2651. package/lib/openzeppelin-contracts/.github/workflows/changelog.yml +0 -28
  2652. package/lib/openzeppelin-contracts/.solhint.json +0 -14
  2653. package/lib/openzeppelin-contracts/audit/2017-03.md +0 -292
  2654. package/lib/openzeppelin-contracts/certora/applyHarness.patch +0 -101
  2655. package/lib/openzeppelin-contracts/certora/harnesses/ERC20VotesHarness.sol +0 -28
  2656. package/lib/openzeppelin-contracts/certora/harnesses/WizardControlFirstPriority.sol +0 -150
  2657. package/lib/openzeppelin-contracts/certora/harnesses/WizardFirstTry.sol +0 -141
  2658. package/lib/openzeppelin-contracts/certora/munged/.gitignore +0 -2
  2659. package/lib/openzeppelin-contracts/certora/scripts/Governor.sh +0 -10
  2660. package/lib/openzeppelin-contracts/certora/scripts/GovernorCountingSimple-counting.sh +0 -10
  2661. package/lib/openzeppelin-contracts/certora/scripts/WizardControlFirstPriority.sh +0 -12
  2662. package/lib/openzeppelin-contracts/certora/scripts/WizardFirstTry.sh +0 -10
  2663. package/lib/openzeppelin-contracts/certora/scripts/sanity.sh +0 -14
  2664. package/lib/openzeppelin-contracts/certora/scripts/verifyAll.sh +0 -39
  2665. package/lib/openzeppelin-contracts/certora/specs/GovernorBase.spec +0 -333
  2666. package/lib/openzeppelin-contracts/certora/specs/GovernorCountingSimple.spec +0 -221
  2667. package/lib/openzeppelin-contracts/certora/specs/RulesInProgress.spec +0 -139
  2668. package/lib/openzeppelin-contracts/certora/specs/sanity.spec +0 -14
  2669. package/lib/openzeppelin-contracts/contracts/access/AccessControlCrossChain.sol +0 -45
  2670. package/lib/openzeppelin-contracts/contracts/access/AccessControlEnumerable.sol +0 -64
  2671. package/lib/openzeppelin-contracts/contracts/access/IAccessControlEnumerable.sol +0 -31
  2672. package/lib/openzeppelin-contracts/contracts/crosschain/CrossChainEnabled.sol +0 -54
  2673. package/lib/openzeppelin-contracts/contracts/crosschain/README.adoc +0 -34
  2674. package/lib/openzeppelin-contracts/contracts/crosschain/amb/CrossChainEnabledAMB.sol +0 -49
  2675. package/lib/openzeppelin-contracts/contracts/crosschain/amb/LibAMB.sol +0 -35
  2676. package/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol +0 -44
  2677. package/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol +0 -40
  2678. package/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL1.sol +0 -42
  2679. package/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL2.sol +0 -45
  2680. package/lib/openzeppelin-contracts/contracts/crosschain/errors.sol +0 -7
  2681. package/lib/openzeppelin-contracts/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol +0 -41
  2682. package/lib/openzeppelin-contracts/contracts/crosschain/optimism/LibOptimism.sol +0 -36
  2683. package/lib/openzeppelin-contracts/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol +0 -72
  2684. package/lib/openzeppelin-contracts/contracts/finance/PaymentSplitter.sol +0 -214
  2685. package/lib/openzeppelin-contracts/contracts/governance/compatibility/GovernorCompatibilityBravo.sol +0 -285
  2686. package/lib/openzeppelin-contracts/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol +0 -114
  2687. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalThreshold.sol +0 -23
  2688. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesComp.sol +0 -31
  2689. package/lib/openzeppelin-contracts/contracts/governance/extensions/IGovernorTimelock.sol +0 -26
  2690. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC2612.sol +0 -8
  2691. package/lib/openzeppelin-contracts/contracts/metatx/MinimalForwarder.sol +0 -73
  2692. package/lib/openzeppelin-contracts/contracts/mocks/AccessControlCrossChainMock.sol +0 -22
  2693. package/lib/openzeppelin-contracts/contracts/mocks/AccessControlEnumerableMock.sol +0 -17
  2694. package/lib/openzeppelin-contracts/contracts/mocks/AccessControlMock.sol +0 -17
  2695. package/lib/openzeppelin-contracts/contracts/mocks/AddressImpl.sol +0 -46
  2696. package/lib/openzeppelin-contracts/contracts/mocks/BadBeacon.sol +0 -11
  2697. package/lib/openzeppelin-contracts/contracts/mocks/Base64Mock.sol +0 -11
  2698. package/lib/openzeppelin-contracts/contracts/mocks/BitmapMock.sol +0 -27
  2699. package/lib/openzeppelin-contracts/contracts/mocks/CheckpointsMock.sol +0 -120
  2700. package/lib/openzeppelin-contracts/contracts/mocks/ClashingImplementation.sol +0 -18
  2701. package/lib/openzeppelin-contracts/contracts/mocks/ClonesMock.sol +0 -36
  2702. package/lib/openzeppelin-contracts/contracts/mocks/ConditionalEscrowMock.sol +0 -18
  2703. package/lib/openzeppelin-contracts/contracts/mocks/CountersImpl.sol +0 -27
  2704. package/lib/openzeppelin-contracts/contracts/mocks/Create2Impl.sol +0 -34
  2705. package/lib/openzeppelin-contracts/contracts/mocks/DoubleEndedQueueMock.sol +0 -58
  2706. package/lib/openzeppelin-contracts/contracts/mocks/ECDSAMock.sol +0 -41
  2707. package/lib/openzeppelin-contracts/contracts/mocks/EIP712External.sol +0 -31
  2708. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155BurnableMock.sol +0 -18
  2709. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155Mock.sol +0 -51
  2710. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155PausableMock.sol +0 -29
  2711. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155ReceiverMock.sol +0 -52
  2712. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155SupplyMock.sol +0 -21
  2713. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155URIStorageMock.sol +0 -22
  2714. package/lib/openzeppelin-contracts/contracts/mocks/ERC165CheckerMock.sol +0 -29
  2715. package/lib/openzeppelin-contracts/contracts/mocks/ERC165Mock.sol +0 -7
  2716. package/lib/openzeppelin-contracts/contracts/mocks/ERC165StorageMock.sol +0 -11
  2717. package/lib/openzeppelin-contracts/contracts/mocks/ERC1820ImplementerMock.sol +0 -11
  2718. package/lib/openzeppelin-contracts/contracts/mocks/ERC20BurnableMock.sol +0 -16
  2719. package/lib/openzeppelin-contracts/contracts/mocks/ERC20CappedMock.sol +0 -17
  2720. package/lib/openzeppelin-contracts/contracts/mocks/ERC20DecimalsMock.sol +0 -29
  2721. package/lib/openzeppelin-contracts/contracts/mocks/ERC20FlashMintMock.sol +0 -43
  2722. package/lib/openzeppelin-contracts/contracts/mocks/ERC20Mock.sol +0 -41
  2723. package/lib/openzeppelin-contracts/contracts/mocks/ERC20PausableMock.sol +0 -33
  2724. package/lib/openzeppelin-contracts/contracts/mocks/ERC20PermitMock.sol +0 -20
  2725. package/lib/openzeppelin-contracts/contracts/mocks/ERC20SnapshotMock.sol +0 -28
  2726. package/lib/openzeppelin-contracts/contracts/mocks/ERC20VotesCompMock.sol +0 -21
  2727. package/lib/openzeppelin-contracts/contracts/mocks/ERC20VotesMock.sol +0 -21
  2728. package/lib/openzeppelin-contracts/contracts/mocks/ERC20WrapperMock.sol +0 -17
  2729. package/lib/openzeppelin-contracts/contracts/mocks/ERC4626Mock.sol +0 -60
  2730. package/lib/openzeppelin-contracts/contracts/mocks/ERC721BurnableMock.sol +0 -29
  2731. package/lib/openzeppelin-contracts/contracts/mocks/ERC721ConsecutiveEnumerableMock.sol +0 -55
  2732. package/lib/openzeppelin-contracts/contracts/mocks/ERC721ConsecutiveMock.sol +0 -86
  2733. package/lib/openzeppelin-contracts/contracts/mocks/ERC721EnumerableMock.sol +0 -51
  2734. package/lib/openzeppelin-contracts/contracts/mocks/ERC721Mock.sol +0 -41
  2735. package/lib/openzeppelin-contracts/contracts/mocks/ERC721PausableMock.sol +0 -45
  2736. package/lib/openzeppelin-contracts/contracts/mocks/ERC721ReceiverMock.sol +0 -42
  2737. package/lib/openzeppelin-contracts/contracts/mocks/ERC721RoyaltyMock.sol +0 -33
  2738. package/lib/openzeppelin-contracts/contracts/mocks/ERC721URIStorageMock.sol +0 -55
  2739. package/lib/openzeppelin-contracts/contracts/mocks/ERC721VotesMock.sol +0 -25
  2740. package/lib/openzeppelin-contracts/contracts/mocks/ERC777Mock.sol +0 -56
  2741. package/lib/openzeppelin-contracts/contracts/mocks/ERC777SenderRecipientMock.sol +0 -161
  2742. package/lib/openzeppelin-contracts/contracts/mocks/EnumerableMapMock.sol +0 -221
  2743. package/lib/openzeppelin-contracts/contracts/mocks/EnumerableSetMock.sol +0 -111
  2744. package/lib/openzeppelin-contracts/contracts/mocks/GovernorCompMock.sol +0 -31
  2745. package/lib/openzeppelin-contracts/contracts/mocks/GovernorCompatibilityBravoMock.sol +0 -127
  2746. package/lib/openzeppelin-contracts/contracts/mocks/GovernorMock.sol +0 -50
  2747. package/lib/openzeppelin-contracts/contracts/mocks/GovernorPreventLateQuorumMock.sol +0 -60
  2748. package/lib/openzeppelin-contracts/contracts/mocks/GovernorTimelockCompoundMock.sol +0 -96
  2749. package/lib/openzeppelin-contracts/contracts/mocks/GovernorTimelockControlMock.sol +0 -93
  2750. package/lib/openzeppelin-contracts/contracts/mocks/GovernorVoteMock.sol +0 -31
  2751. package/lib/openzeppelin-contracts/contracts/mocks/GovernorWithParamsMock.sol +0 -61
  2752. package/lib/openzeppelin-contracts/contracts/mocks/MathMock.sol +0 -48
  2753. package/lib/openzeppelin-contracts/contracts/mocks/MerkleProofWrapper.sol +0 -65
  2754. package/lib/openzeppelin-contracts/contracts/mocks/MulticallTest.sol +0 -23
  2755. package/lib/openzeppelin-contracts/contracts/mocks/MulticallTokenMock.sol +0 -10
  2756. package/lib/openzeppelin-contracts/contracts/mocks/Ownable2StepMock.sol +0 -7
  2757. package/lib/openzeppelin-contracts/contracts/mocks/OwnableMock.sol +0 -7
  2758. package/lib/openzeppelin-contracts/contracts/mocks/PullPaymentMock.sol +0 -15
  2759. package/lib/openzeppelin-contracts/contracts/mocks/SafeCastMock.sol +0 -267
  2760. package/lib/openzeppelin-contracts/contracts/mocks/SafeERC20Helper.sol +0 -194
  2761. package/lib/openzeppelin-contracts/contracts/mocks/SafeMathMock.sol +0 -138
  2762. package/lib/openzeppelin-contracts/contracts/mocks/SignatureCheckerMock.sol +0 -17
  2763. package/lib/openzeppelin-contracts/contracts/mocks/SignedMathMock.sol +0 -23
  2764. package/lib/openzeppelin-contracts/contracts/mocks/SignedSafeMathMock.sol +0 -23
  2765. package/lib/openzeppelin-contracts/contracts/mocks/StringsMock.sol +0 -23
  2766. package/lib/openzeppelin-contracts/contracts/mocks/TimersBlockNumberImpl.sol +0 -39
  2767. package/lib/openzeppelin-contracts/contracts/mocks/TimersTimestampImpl.sol +0 -39
  2768. package/lib/openzeppelin-contracts/contracts/mocks/UUPS/UUPSLegacy.sol +0 -58
  2769. package/lib/openzeppelin-contracts/contracts/mocks/UUPS/UUPSUpgradeableMock.sol +0 -21
  2770. package/lib/openzeppelin-contracts/contracts/mocks/crosschain/bridges.sol +0 -102
  2771. package/lib/openzeppelin-contracts/contracts/mocks/crosschain/receivers.sol +0 -54
  2772. package/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor1.sol +0 -87
  2773. package/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor2.sol +0 -93
  2774. package/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor3.sol +0 -96
  2775. package/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol +0 -185
  2776. package/lib/openzeppelin-contracts/contracts/security/Pausable.sol +0 -105
  2777. package/lib/openzeppelin-contracts/contracts/security/PullPayment.sol +0 -74
  2778. package/lib/openzeppelin-contracts/contracts/security/README.adoc +0 -20
  2779. package/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol +0 -69
  2780. package/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol +0 -128
  2781. package/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/README.md +0 -1
  2782. package/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol +0 -19
  2783. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Snapshot.sol +0 -195
  2784. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20VotesComp.sol +0 -46
  2785. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Permit.sol +0 -95
  2786. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol +0 -60
  2787. package/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol +0 -35
  2788. package/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol +0 -94
  2789. package/lib/openzeppelin-contracts/contracts/token/ERC20/presets/README.md +0 -1
  2790. package/lib/openzeppelin-contracts/contracts/token/ERC20/utils/TokenTimelock.sol +0 -76
  2791. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/draft-ERC721Votes.sol +0 -9
  2792. package/lib/openzeppelin-contracts/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol +0 -140
  2793. package/lib/openzeppelin-contracts/contracts/token/ERC721/presets/README.md +0 -1
  2794. package/lib/openzeppelin-contracts/contracts/token/ERC777/ERC777.sol +0 -547
  2795. package/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777.sol +0 -209
  2796. package/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Recipient.sol +0 -35
  2797. package/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Sender.sol +0 -35
  2798. package/lib/openzeppelin-contracts/contracts/token/ERC777/README.adoc +0 -30
  2799. package/lib/openzeppelin-contracts/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol +0 -30
  2800. package/lib/openzeppelin-contracts/contracts/utils/Checkpoints.sol +0 -554
  2801. package/lib/openzeppelin-contracts/contracts/utils/Counters.sol +0 -43
  2802. package/lib/openzeppelin-contracts/contracts/utils/Timers.sol +0 -73
  2803. package/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol +0 -8
  2804. package/lib/openzeppelin-contracts/contracts/utils/escrow/ConditionalEscrow.sol +0 -25
  2805. package/lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol +0 -67
  2806. package/lib/openzeppelin-contracts/contracts/utils/escrow/RefundEscrow.sol +0 -100
  2807. package/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Storage.sol +0 -42
  2808. package/lib/openzeppelin-contracts/contracts/utils/introspection/ERC1820Implementer.sol +0 -44
  2809. package/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Implementer.sol +0 -20
  2810. package/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Registry.sol +0 -116
  2811. package/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol +0 -227
  2812. package/lib/openzeppelin-contracts/contracts/utils/math/SignedSafeMath.sol +0 -68
  2813. package/lib/openzeppelin-contracts/contracts/vendor/amb/IAMB.sol +0 -49
  2814. package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IArbSys.sol +0 -141
  2815. package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IBridge.sol +0 -109
  2816. package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IDelayedMessageProvider.sol +0 -16
  2817. package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IInbox.sol +0 -152
  2818. package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IOutbox.sol +0 -121
  2819. package/lib/openzeppelin-contracts/contracts/vendor/optimism/ICrossDomainMessenger.sol +0 -38
  2820. package/lib/openzeppelin-contracts/contracts/vendor/optimism/LICENSE +0 -22
  2821. package/lib/openzeppelin-contracts/contracts/vendor/polygon/IFxMessageProcessor.sol +0 -11
  2822. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crosschain.adoc +0 -210
  2823. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crowdsales.adoc +0 -11
  2824. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/drafts.adoc +0 -19
  2825. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc777.adoc +0 -73
  2826. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/releases-stability.adoc +0 -85
  2827. package/lib/openzeppelin-contracts/hardhat/env-contract.js +0 -10
  2828. package/lib/openzeppelin-contracts/lib/forge-std/.gitmodules +0 -3
  2829. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/LICENSE +0 -674
  2830. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/Makefile +0 -14
  2831. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/default.nix +0 -4
  2832. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/demo/demo.sol +0 -222
  2833. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/package.json +0 -15
  2834. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol +0 -469
  2835. package/lib/openzeppelin-contracts/scripts/generate/templates/CheckpointsMock.js +0 -80
  2836. package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMapMock.js +0 -66
  2837. package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSetMock.js +0 -56
  2838. package/lib/openzeppelin-contracts/scripts/generate/templates/SafeCastMock.js +0 -50
  2839. package/lib/openzeppelin-contracts/scripts/migrate-imports.js +0 -177
  2840. package/lib/openzeppelin-contracts/scripts/prepare-contracts-package.sh +0 -15
  2841. package/lib/openzeppelin-contracts/scripts/prepare.sh +0 -10
  2842. package/lib/openzeppelin-contracts/scripts/release/release.sh +0 -145
  2843. package/lib/openzeppelin-contracts/scripts/release/update-changelog-release-date.js +0 -34
  2844. package/lib/openzeppelin-contracts/test/access/AccessControlCrossChain.test.js +0 -59
  2845. package/lib/openzeppelin-contracts/test/access/AccessControlEnumerable.test.js +0 -15
  2846. package/lib/openzeppelin-contracts/test/crosschain/CrossChainEnabled.test.js +0 -88
  2847. package/lib/openzeppelin-contracts/test/finance/PaymentSplitter.test.js +0 -217
  2848. package/lib/openzeppelin-contracts/test/governance/compatibility/GovernorCompatibilityBravo.test.js +0 -265
  2849. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorComp.test.js +0 -78
  2850. package/lib/openzeppelin-contracts/test/helpers/create2.js +0 -12
  2851. package/lib/openzeppelin-contracts/test/helpers/crosschain.js +0 -63
  2852. package/lib/openzeppelin-contracts/test/helpers/customError.js +0 -24
  2853. package/lib/openzeppelin-contracts/test/helpers/erc1967.js +0 -24
  2854. package/lib/openzeppelin-contracts/test/helpers/sign.js +0 -47
  2855. package/lib/openzeppelin-contracts/test/metatx/MinimalForwarder.test.js +0 -184
  2856. package/lib/openzeppelin-contracts/test/migrate-imports.test.js +0 -29
  2857. package/lib/openzeppelin-contracts/test/security/Pausable.test.js +0 -89
  2858. package/lib/openzeppelin-contracts/test/security/PullPayment.test.js +0 -51
  2859. package/lib/openzeppelin-contracts/test/security/ReentrancyGuard.test.js +0 -40
  2860. package/lib/openzeppelin-contracts/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +0 -146
  2861. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.behavior.js +0 -109
  2862. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.behavior.js +0 -32
  2863. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Snapshot.test.js +0 -204
  2864. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20VotesComp.test.js +0 -496
  2865. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Permit.test.js +0 -109
  2866. package/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +0 -42
  2867. package/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +0 -113
  2868. package/lib/openzeppelin-contracts/test/token/ERC20/utils/TokenTimelock.test.js +0 -71
  2869. package/lib/openzeppelin-contracts/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +0 -125
  2870. package/lib/openzeppelin-contracts/test/token/ERC777/ERC777.behavior.js +0 -555
  2871. package/lib/openzeppelin-contracts/test/token/ERC777/ERC777.test.js +0 -610
  2872. package/lib/openzeppelin-contracts/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +0 -49
  2873. package/lib/openzeppelin-contracts/test/utils/Checkpoints.test.js +0 -189
  2874. package/lib/openzeppelin-contracts/test/utils/Counters.test.js +0 -84
  2875. package/lib/openzeppelin-contracts/test/utils/TimersBlockNumberImpl.test.js +0 -55
  2876. package/lib/openzeppelin-contracts/test/utils/TimersTimestamp.test.js +0 -55
  2877. package/lib/openzeppelin-contracts/test/utils/escrow/ConditionalEscrow.test.js +0 -36
  2878. package/lib/openzeppelin-contracts/test/utils/escrow/Escrow.behavior.js +0 -94
  2879. package/lib/openzeppelin-contracts/test/utils/escrow/Escrow.test.js +0 -14
  2880. package/lib/openzeppelin-contracts/test/utils/escrow/RefundEscrow.test.js +0 -148
  2881. package/lib/openzeppelin-contracts/test/utils/introspection/ERC165Storage.test.js +0 -25
  2882. package/lib/openzeppelin-contracts/test/utils/introspection/ERC1820Implementer.test.js +0 -66
  2883. package/lib/openzeppelin-contracts/test/utils/math/SafeMath.test.js +0 -403
  2884. package/lib/openzeppelin-contracts/test/utils/math/SignedSafeMath.test.js +0 -152
  2885. package/lib/openzeppelin-contracts-upgradeable/.changeset/new-ways-own.md +0 -5
  2886. package/lib/openzeppelin-contracts-upgradeable/.eslintrc +0 -62
  2887. package/lib/openzeppelin-contracts-upgradeable/.gitattributes +0 -1
  2888. package/lib/openzeppelin-contracts-upgradeable/.github/ISSUE_TEMPLATE/bug_report.md +0 -21
  2889. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/changelog.yml +0 -28
  2890. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/merge-upstream.yml +0 -28
  2891. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/transpile.yml +0 -27
  2892. package/lib/openzeppelin-contracts-upgradeable/.solhint.json +0 -14
  2893. package/lib/openzeppelin-contracts-upgradeable/UPGRADEABLE.md +0 -47
  2894. package/lib/openzeppelin-contracts-upgradeable/audit/2017-03.md +0 -292
  2895. package/lib/openzeppelin-contracts-upgradeable/certora/applyHarness.patch +0 -101
  2896. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC20VotesHarness.sol +0 -28
  2897. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/WizardControlFirstPriority.sol +0 -150
  2898. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/WizardFirstTry.sol +0 -141
  2899. package/lib/openzeppelin-contracts-upgradeable/certora/munged/.gitignore +0 -2
  2900. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/Governor.sh +0 -10
  2901. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/GovernorCountingSimple-counting.sh +0 -10
  2902. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/WizardControlFirstPriority.sh +0 -12
  2903. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/WizardFirstTry.sh +0 -10
  2904. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/sanity.sh +0 -14
  2905. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/verifyAll.sh +0 -39
  2906. package/lib/openzeppelin-contracts-upgradeable/certora/specs/GovernorBase.spec +0 -333
  2907. package/lib/openzeppelin-contracts-upgradeable/certora/specs/GovernorCountingSimple.spec +0 -221
  2908. package/lib/openzeppelin-contracts-upgradeable/certora/specs/RulesInProgress.spec +0 -139
  2909. package/lib/openzeppelin-contracts-upgradeable/certora/specs/sanity.spec +0 -14
  2910. package/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlCrossChainUpgradeable.sol +0 -58
  2911. package/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol +0 -77
  2912. package/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol +0 -31
  2913. package/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol +0 -88
  2914. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/CrossChainEnabledUpgradeable.sol +0 -67
  2915. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/README.adoc +0 -34
  2916. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/amb/CrossChainEnabledAMBUpgradeable.sol +0 -57
  2917. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/amb/LibAMBUpgradeable.sol +0 -35
  2918. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1Upgradeable.sol +0 -52
  2919. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2Upgradeable.sol +0 -53
  2920. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/arbitrum/LibArbitrumL1Upgradeable.sol +0 -42
  2921. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/arbitrum/LibArbitrumL2Upgradeable.sol +0 -45
  2922. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/errorsUpgradeable.sol +0 -7
  2923. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/optimism/CrossChainEnabledOptimismUpgradeable.sol +0 -49
  2924. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/optimism/LibOptimismUpgradeable.sol +0 -36
  2925. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/polygon/CrossChainEnabledPolygonChildUpgradeable.sol +0 -90
  2926. package/lib/openzeppelin-contracts-upgradeable/contracts/finance/PaymentSplitterUpgradeable.sol +0 -226
  2927. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/IGovernorUpgradeable.sol +0 -289
  2928. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/TimelockControllerWith46MigrationUpgradeable.sol +0 -56
  2929. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/compatibility/GovernorCompatibilityBravoUpgradeable.sol +0 -298
  2930. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/compatibility/IGovernorCompatibilityBravoUpgradeable.sol +0 -127
  2931. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorProposalThresholdUpgradeable.sol +0 -36
  2932. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorVotesCompUpgradeable.sol +0 -45
  2933. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/IGovernorTimelockUpgradeable.sol +0 -39
  2934. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/IVotesUpgradeable.sol +0 -61
  2935. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1155MetadataURIUpgradeable.sol +0 -6
  2936. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1155ReceiverUpgradeable.sol +0 -6
  2937. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1155Upgradeable.sol +0 -6
  2938. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1271Upgradeable.sol +0 -19
  2939. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1363ReceiverUpgradeable.sol +0 -32
  2940. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1363SpenderUpgradeable.sol +0 -30
  2941. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1363Upgradeable.sol +0 -95
  2942. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC165Upgradeable.sol +0 -6
  2943. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1820ImplementerUpgradeable.sol +0 -6
  2944. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1820RegistryUpgradeable.sol +0 -6
  2945. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20MetadataUpgradeable.sol +0 -6
  2946. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol +0 -6
  2947. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC2309Upgradeable.sol +0 -21
  2948. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC2981Upgradeable.sol +0 -25
  2949. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC3156FlashBorrowerUpgradeable.sol +0 -29
  2950. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC3156FlashLenderUpgradeable.sol +0 -43
  2951. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC3156Upgradeable.sol +0 -7
  2952. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC4626Upgradeable.sol +0 -240
  2953. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC721EnumerableUpgradeable.sol +0 -6
  2954. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC721MetadataUpgradeable.sol +0 -6
  2955. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC721ReceiverUpgradeable.sol +0 -6
  2956. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC721Upgradeable.sol +0 -6
  2957. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC777RecipientUpgradeable.sol +0 -6
  2958. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC777SenderUpgradeable.sol +0 -6
  2959. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC777Upgradeable.sol +0 -6
  2960. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol +0 -20
  2961. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC2612Upgradeable.sol +0 -8
  2962. package/lib/openzeppelin-contracts-upgradeable/contracts/metatx/MinimalForwarderUpgradeable.sol +0 -85
  2963. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessControlCrossChainMockUpgradeable.sol +0 -34
  2964. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessControlEnumerableMockUpgradeable.sol +0 -29
  2965. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessControlMockUpgradeable.sol +0 -29
  2966. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AddressImplUpgradeable.sol +0 -54
  2967. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/BadBeaconUpgradeable.sol +0 -36
  2968. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/Base64MockUpgradeable.sol +0 -24
  2969. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/BitmapMockUpgradeable.sol +0 -40
  2970. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/CheckpointsMockUpgradeable.sol +0 -157
  2971. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ClashingImplementationUpgradeable.sol +0 -31
  2972. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ClonesMockUpgradeable.sol +0 -49
  2973. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ConditionalEscrowMockUpgradeable.sol +0 -32
  2974. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/CountersImplUpgradeable.sol +0 -40
  2975. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/Create2ImplUpgradeable.sol +0 -47
  2976. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/DoubleEndedQueueMockUpgradeable.sol +0 -71
  2977. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ECDSAMockUpgradeable.sol +0 -54
  2978. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EIP712ExternalUpgradeable.sol +0 -43
  2979. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155BurnableMockUpgradeable.sol +0 -30
  2980. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155MockUpgradeable.sol +0 -63
  2981. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155PausableMockUpgradeable.sol +0 -43
  2982. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155ReceiverMockUpgradeable.sol +0 -69
  2983. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155SupplyMockUpgradeable.sol +0 -34
  2984. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155URIStorageMockUpgradeable.sol +0 -36
  2985. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165CheckerMockUpgradeable.sol +0 -42
  2986. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165MockUpgradeable.sol +0 -20
  2987. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165StorageMockUpgradeable.sol +0 -24
  2988. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1820ImplementerMockUpgradeable.sol +0 -24
  2989. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20BurnableMockUpgradeable.sol +0 -34
  2990. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20CappedMockUpgradeable.sol +0 -34
  2991. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20DecimalsMockUpgradeable.sol +0 -46
  2992. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20FlashMintMockUpgradeable.sol +0 -61
  2993. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20MockUpgradeable.sol +0 -59
  2994. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20PausableMockUpgradeable.sol +0 -52
  2995. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20PermitMockUpgradeable.sol +0 -40
  2996. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20SnapshotMockUpgradeable.sol +0 -46
  2997. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20VotesCompMockUpgradeable.sol +0 -35
  2998. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20VotesMockUpgradeable.sol +0 -35
  2999. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20WrapperMockUpgradeable.sol +0 -34
  3000. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC4626MockUpgradeable.sol +0 -96
  3001. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721BurnableMockUpgradeable.sol +0 -41
  3002. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721ConsecutiveEnumerableMockUpgradeable.sol +0 -73
  3003. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721ConsecutiveMockUpgradeable.sol +0 -119
  3004. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721EnumerableMockUpgradeable.sol +0 -63
  3005. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721MockUpgradeable.sol +0 -53
  3006. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721PausableMockUpgradeable.sol +0 -58
  3007. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721ReceiverMockUpgradeable.sol +0 -54
  3008. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721RoyaltyMockUpgradeable.sol +0 -45
  3009. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721URIStorageMockUpgradeable.sol +0 -67
  3010. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721VotesMockUpgradeable.sol +0 -38
  3011. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC777MockUpgradeable.sol +0 -75
  3012. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC777SenderRecipientMockUpgradeable.sol +0 -176
  3013. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EnumerableMapMockUpgradeable.sol +0 -282
  3014. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EnumerableSetMockUpgradeable.sol +0 -148
  3015. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorCompMockUpgradeable.sol +0 -45
  3016. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorCompatibilityBravoMockUpgradeable.sol +0 -145
  3017. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorMockUpgradeable.sol +0 -67
  3018. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorPreventLateQuorumMockUpgradeable.sol +0 -79
  3019. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorTimelockCompoundMockUpgradeable.sol +0 -114
  3020. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorTimelockControlMockUpgradeable.sol +0 -111
  3021. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorVoteMockUpgradeable.sol +0 -45
  3022. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorWithParamsMockUpgradeable.sol +0 -75
  3023. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MathMockUpgradeable.sol +0 -61
  3024. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MerkleProofWrapperUpgradeable.sol +0 -78
  3025. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MulticallTestUpgradeable.sol +0 -36
  3026. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MulticallTokenMockUpgradeable.sol +0 -23
  3027. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/Ownable2StepMockUpgradeable.sol +0 -21
  3028. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/OwnableMockUpgradeable.sol +0 -21
  3029. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/PullPaymentMockUpgradeable.sol +0 -27
  3030. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SafeCastMockUpgradeable.sol +0 -280
  3031. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SafeERC20HelperUpgradeable.sol +0 -257
  3032. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SafeMathMockUpgradeable.sol +0 -151
  3033. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SignatureCheckerMockUpgradeable.sol +0 -30
  3034. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SignedMathMockUpgradeable.sol +0 -36
  3035. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SignedSafeMathMockUpgradeable.sol +0 -36
  3036. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/StringsMockUpgradeable.sol +0 -36
  3037. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/TimersBlockNumberImplUpgradeable.sol +0 -52
  3038. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/TimersTimestampImplUpgradeable.sol +0 -52
  3039. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/UUPS/UUPSLegacyUpgradeable.sol +0 -81
  3040. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/UUPS/UUPSUpgradeableMockUpgradeable.sol +0 -46
  3041. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/crosschain/bridgesUpgradeable.sol +0 -199
  3042. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/crosschain/receiversUpgradeable.sol +0 -107
  3043. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/wizard/MyGovernor1Upgradeable.sol +0 -98
  3044. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/wizard/MyGovernor2Upgradeable.sol +0 -104
  3045. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/wizard/MyGovernor3Upgradeable.sol +0 -107
  3046. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol +0 -89
  3047. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol +0 -212
  3048. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol +0 -16
  3049. package/lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol +0 -117
  3050. package/lib/openzeppelin-contracts-upgradeable/contracts/security/PullPaymentUpgradeable.sol +0 -89
  3051. package/lib/openzeppelin-contracts-upgradeable/contracts/security/README.adoc +0 -20
  3052. package/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol +0 -81
  3053. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155ReceiverUpgradeable.sol +0 -58
  3054. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol +0 -125
  3055. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol +0 -22
  3056. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/presets/ERC1155PresetMinterPauserUpgradeable.sol +0 -145
  3057. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/presets/README.md +0 -1
  3058. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/utils/ERC1155ReceiverUpgradeable.sol +0 -32
  3059. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol +0 -82
  3060. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol +0 -208
  3061. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20VotesCompUpgradeable.sol +0 -59
  3062. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol +0 -28
  3063. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol +0 -109
  3064. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol +0 -60
  3065. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/presets/ERC20PresetFixedSupplyUpgradeable.sol +0 -61
  3066. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/presets/ERC20PresetMinterPauserUpgradeable.sol +0 -111
  3067. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/presets/README.md +0 -1
  3068. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol +0 -116
  3069. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/TokenTimelockUpgradeable.sol +0 -94
  3070. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol +0 -27
  3071. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol +0 -145
  3072. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol +0 -29
  3073. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol +0 -27
  3074. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/draft-ERC721VotesUpgradeable.sol +0 -9
  3075. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoIdUpgradeable.sol +0 -165
  3076. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/presets/README.md +0 -1
  3077. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/ERC777Upgradeable.sol +0 -563
  3078. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/IERC777RecipientUpgradeable.sol +0 -35
  3079. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/IERC777SenderUpgradeable.sol +0 -35
  3080. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/IERC777Upgradeable.sol +0 -209
  3081. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/README.adoc +0 -30
  3082. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/presets/ERC777PresetFixedSupplyUpgradeable.sol +0 -58
  3083. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol +0 -219
  3084. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/ArraysUpgradeable.sol +0 -96
  3085. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/Base64Upgradeable.sol +0 -92
  3086. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/CheckpointsUpgradeable.sol +0 -554
  3087. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol +0 -43
  3088. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/Create2Upgradeable.sol +0 -83
  3089. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol +0 -88
  3090. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol +0 -70
  3091. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/TimersUpgradeable.sol +0 -73
  3092. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/ECDSAUpgradeable.sol +0 -213
  3093. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/MerkleProofUpgradeable.sol +0 -223
  3094. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/SignatureCheckerUpgradeable.sol +0 -42
  3095. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/draft-EIP712Upgradeable.sol +0 -8
  3096. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/escrow/ConditionalEscrowUpgradeable.sol +0 -39
  3097. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/escrow/EscrowUpgradeable.sol +0 -84
  3098. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/escrow/RefundEscrowUpgradeable.sol +0 -113
  3099. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165CheckerUpgradeable.sol +0 -127
  3100. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165StorageUpgradeable.sol +0 -55
  3101. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC1820ImplementerUpgradeable.sol +0 -57
  3102. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol +0 -25
  3103. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC1820ImplementerUpgradeable.sol +0 -20
  3104. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC1820RegistryUpgradeable.sol +0 -116
  3105. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol +0 -345
  3106. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeCastUpgradeable.sol +0 -1136
  3107. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol +0 -227
  3108. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol +0 -43
  3109. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedSafeMathUpgradeable.sol +0 -68
  3110. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/BitMapsUpgradeable.sol +0 -55
  3111. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/DoubleEndedQueueUpgradeable.sol +0 -170
  3112. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableMapUpgradeable.sol +0 -530
  3113. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol +0 -378
  3114. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/amb/IAMBUpgradeable.sol +0 -49
  3115. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IArbSysUpgradeable.sol +0 -141
  3116. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IBridgeUpgradeable.sol +0 -109
  3117. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IDelayedMessageProviderUpgradeable.sol +0 -16
  3118. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IInboxUpgradeable.sol +0 -152
  3119. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IOutboxUpgradeable.sol +0 -121
  3120. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/compound/ICompoundTimelockUpgradeable.sol +0 -86
  3121. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/optimism/ICrossDomainMessengerUpgradeable.sol +0 -38
  3122. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/optimism/LICENSE +0 -22
  3123. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/polygon/IFxMessageProcessorUpgradeable.sol +0 -11
  3124. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/crosschain.adoc +0 -210
  3125. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/crowdsales.adoc +0 -11
  3126. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/drafts.adoc +0 -19
  3127. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc777.adoc +0 -73
  3128. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/releases-stability.adoc +0 -85
  3129. package/lib/openzeppelin-contracts-upgradeable/hardhat/env-contract.js +0 -10
  3130. package/lib/openzeppelin-contracts-upgradeable/hardhat/task-get-compiler-input.js +0 -10
  3131. package/lib/openzeppelin-contracts-upgradeable/icon.svg +0 -13
  3132. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/.gitmodules +0 -3
  3133. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/LICENSE +0 -674
  3134. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/Makefile +0 -14
  3135. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/default.nix +0 -4
  3136. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/demo/demo.sol +0 -222
  3137. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/package.json +0 -15
  3138. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/test.sol +0 -469
  3139. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/CheckpointsMock.js +0 -80
  3140. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/EnumerableMapMock.js +0 -66
  3141. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/EnumerableSetMock.js +0 -56
  3142. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/SafeCastMock.js +0 -50
  3143. package/lib/openzeppelin-contracts-upgradeable/scripts/migrate-imports.js +0 -177
  3144. package/lib/openzeppelin-contracts-upgradeable/scripts/prepare-contracts-package.sh +0 -15
  3145. package/lib/openzeppelin-contracts-upgradeable/scripts/prepare.sh +0 -10
  3146. package/lib/openzeppelin-contracts-upgradeable/scripts/release/release.sh +0 -145
  3147. package/lib/openzeppelin-contracts-upgradeable/scripts/release/update-changelog-release-date.js +0 -34
  3148. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/merge-upstream.sh +0 -33
  3149. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/patch/.gitkeep +0 -0
  3150. package/lib/openzeppelin-contracts-upgradeable/test/access/AccessControlCrossChain.test.js +0 -59
  3151. package/lib/openzeppelin-contracts-upgradeable/test/access/AccessControlEnumerable.test.js +0 -15
  3152. package/lib/openzeppelin-contracts-upgradeable/test/crosschain/CrossChainEnabled.test.js +0 -88
  3153. package/lib/openzeppelin-contracts-upgradeable/test/finance/PaymentSplitter.test.js +0 -217
  3154. package/lib/openzeppelin-contracts-upgradeable/test/governance/compatibility/GovernorCompatibilityBravo.test.js +0 -265
  3155. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorComp.test.js +0 -78
  3156. package/lib/openzeppelin-contracts-upgradeable/test/helpers/create2.js +0 -12
  3157. package/lib/openzeppelin-contracts-upgradeable/test/helpers/crosschain.js +0 -63
  3158. package/lib/openzeppelin-contracts-upgradeable/test/helpers/customError.js +0 -24
  3159. package/lib/openzeppelin-contracts-upgradeable/test/helpers/erc1967.js +0 -24
  3160. package/lib/openzeppelin-contracts-upgradeable/test/helpers/sign.js +0 -47
  3161. package/lib/openzeppelin-contracts-upgradeable/test/metatx/MinimalForwarder.test.js +0 -184
  3162. package/lib/openzeppelin-contracts-upgradeable/test/migrate-imports.test.js +0 -29
  3163. package/lib/openzeppelin-contracts-upgradeable/test/security/Pausable.test.js +0 -89
  3164. package/lib/openzeppelin-contracts-upgradeable/test/security/PullPayment.test.js +0 -51
  3165. package/lib/openzeppelin-contracts-upgradeable/test/security/ReentrancyGuard.test.js +0 -40
  3166. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +0 -146
  3167. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Burnable.behavior.js +0 -109
  3168. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Capped.behavior.js +0 -32
  3169. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Snapshot.test.js +0 -204
  3170. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20VotesComp.test.js +0 -496
  3171. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/draft-ERC20Permit.test.js +0 -109
  3172. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +0 -42
  3173. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +0 -113
  3174. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/utils/TokenTimelock.test.js +0 -71
  3175. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +0 -125
  3176. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC777/ERC777.behavior.js +0 -555
  3177. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC777/ERC777.test.js +0 -610
  3178. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +0 -49
  3179. package/lib/openzeppelin-contracts-upgradeable/test/utils/Checkpoints.test.js +0 -189
  3180. package/lib/openzeppelin-contracts-upgradeable/test/utils/Counters.test.js +0 -84
  3181. package/lib/openzeppelin-contracts-upgradeable/test/utils/TimersBlockNumberImpl.test.js +0 -55
  3182. package/lib/openzeppelin-contracts-upgradeable/test/utils/TimersTimestamp.test.js +0 -55
  3183. package/lib/openzeppelin-contracts-upgradeable/test/utils/escrow/ConditionalEscrow.test.js +0 -36
  3184. package/lib/openzeppelin-contracts-upgradeable/test/utils/escrow/Escrow.behavior.js +0 -94
  3185. package/lib/openzeppelin-contracts-upgradeable/test/utils/escrow/Escrow.test.js +0 -14
  3186. package/lib/openzeppelin-contracts-upgradeable/test/utils/escrow/RefundEscrow.test.js +0 -148
  3187. package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/ERC165Storage.test.js +0 -25
  3188. package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/ERC1820Implementer.test.js +0 -66
  3189. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SafeMath.test.js +0 -403
  3190. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SignedSafeMath.test.js +0 -152
  3191. package/migrations/10_deploy_weth.js +0 -5
  3192. package/migrations/11_deploy_full_flow.js +0 -99
  3193. package/migrations/12_deploy_pm_v3_querier.js +0 -7
  3194. package/migrations/13_deploy_pm_v3_factory.js +0 -14
  3195. package/migrations/15_deploy_ppmm.js +0 -10
  3196. package/migrations/16_deploy_raffle.js +0 -5
  3197. package/migrations/1_initial_migration.js +0 -5
  3198. package/migrations/2_deploy_erc20.js +0 -10
  3199. package/migrations/3_deploy_realitio.js +0 -11
  3200. package/migrations/4_deploy_pm.js +0 -20
  3201. package/migrations/5_seed_markets.js +0 -51
  3202. package/migrations/6_deploy_achievements.js +0 -5
  3203. package/migrations/7_deploy_voting.js +0 -14
  3204. package/migrations/8_deploy_pm_v2.js +0 -20
  3205. package/migrations/9_seed_markets_v2.js +0 -68
  3206. package/tests/PPMMarketContract.js +0 -340
  3207. package/tests/fantasyERC20Contract.js +0 -225
  3208. package/tests/getAverageOutcomeBuyPrice.test.ts +0 -179
  3209. package/tests/index.js +0 -10
  3210. package/tests/predictionMarketContract.js +0 -466
  3211. package/tests/predictionMarketV2Contract.js +0 -1042
  3212. package/tests/predictionMarketV3Contract.js +0 -1079
  3213. package/tests/predictionMarketV3ControllerContract.js +0 -613
  3214. package/tests/predictionMarketV3FactoryContract.js +0 -469
  3215. package/tests/predictionMarketV3ManagerContract.js +0 -610
  3216. package/tests/utils.js +0 -16
  3217. package/tests/votingContract.js +0 -490
  3218. package/truffle-config.js +0 -134
  3219. package/zkout/AccessControl.sol/AccessControl.json +0 -1
  3220. package/zkout/AccessControlEnumerable.sol/AccessControlEnumerable.json +0 -1
  3221. package/zkout/Address.sol/Address.json +0 -1
  3222. package/zkout/Clones.sol/Clones.json +0 -1
  3223. package/zkout/Context.sol/Context.json +0 -1
  3224. package/zkout/ERC165.sol/ERC165.json +0 -1
  3225. package/zkout/ERC20.sol/ERC20.json +0 -1
  3226. package/zkout/ERC20Burnable.sol/ERC20Burnable.json +0 -1
  3227. package/zkout/ERC20Pausable.sol/ERC20Pausable.json +0 -1
  3228. package/zkout/ERC20PresetMinterPauser.sol/ERC20PresetMinterPauser.json +0 -1
  3229. package/zkout/EnumerableSet.sol/EnumerableSet.json +0 -1
  3230. package/zkout/FantasyERC20.sol/FantasyERC20.json +0 -1
  3231. package/zkout/IAccessControl.sol/IAccessControl.json +0 -1
  3232. package/zkout/IAccessControlEnumerable.sol/IAccessControlEnumerable.json +0 -1
  3233. package/zkout/IERC165.sol/IERC165.json +0 -1
  3234. package/zkout/IERC20.sol/IERC20.json +0 -1
  3235. package/zkout/IERC20Metadata.sol/IERC20Metadata.json +0 -1
  3236. package/zkout/IFantasyERC20.sol/IFantasyERC20.json +0 -1
  3237. package/zkout/IPredictionMarketV3.sol/IPredictionMarketV3.json +0 -1
  3238. package/zkout/IPredictionMarketV3Factory.sol/IPredictionMarketV3Factory.json +0 -1
  3239. package/zkout/IPredictionMarketV3Manager.sol/IPredictionMarketV3Manager.json +0 -1
  3240. package/zkout/IRealityETH_ERC20.sol/IRealityETH_ERC20.json +0 -1
  3241. package/zkout/LandFactory.sol/LandFactory.json +0 -1
  3242. package/zkout/Math.sol/Math.json +0 -1
  3243. package/zkout/Migrations.sol/Migrations.json +0 -1
  3244. package/zkout/Ownable.sol/Ownable.json +0 -1
  3245. package/zkout/Pausable.sol/Pausable.json +0 -1
  3246. package/zkout/PredictionMarketV3.sol/CeilDiv.json +0 -1
  3247. package/zkout/PredictionMarketV3.sol/IWETH.json +0 -1
  3248. package/zkout/PredictionMarketV3.sol/PredictionMarketV3.json +0 -1
  3249. package/zkout/PredictionMarketV3Controller.sol/PredictionMarketV3Controller.json +0 -1
  3250. package/zkout/PredictionMarketV3Factory.sol/PredictionMarketV3Factory.json +0 -1
  3251. package/zkout/PredictionMarketV3Manager.sol/PredictionMarketV3Manager.json +0 -1
  3252. package/zkout/PredictionMarketV3Querier.sol/PredictionMarketV3Querier.json +0 -1
  3253. package/zkout/Proxy.sol/Proxy.json +0 -1
  3254. package/zkout/RealityETH_ERC20_Factory.sol/IRealityETH_IERC20.json +0 -1
  3255. package/zkout/RealityETH_ERC20_Factory.sol/RealityETH_ERC20_Factory.json +0 -1
  3256. package/zkout/RealityETH_ERC20_v3_0.sol/RealityETH_ERC20_v3_0_.json +0 -1
  3257. package/zkout/ReentrancyGuard.sol/ReentrancyGuard.json +0 -1
  3258. package/zkout/SafeERC20.sol/SafeERC20.json +0 -1
  3259. package/zkout/SafeMath.sol/SafeMath.json +0 -1
  3260. package/zkout/Strings.sol/Strings.json +0 -1
  3261. package/zkout/USDCERC20.sol/USDCERC20.json +0 -1
  3262. package/zkout/Voting.sol/Voting.json +0 -1
  3263. package/zkout/build-info/0fa499f04838f8c1f593bcbafd0fd1a5.json +0 -1
  3264. package/zkout/build-info/39c03363a71a9805ec8ec63c81a8aaaf.json +0 -1
  3265. package/zkout/build-info/637aa7b0942c0ead878e36bd5d598008.json +0 -1
  3266. package/zkout/build-info/810ab68b6fb1e3386ce5a111c7eb136f.json +0 -1
  3267. package/zkout/build-info/aec05d9534229710b5b5f567c42384a1.json +0 -1
  3268. package/zkout/build-info/cdd531656c4131c11667647afa1b2cca.json +0 -1
  3269. package/zkout/build-info/e702288987d16a0b64efe75b321dfb8a.json +0 -1
  3270. package/zkout/build-info/eccbfbbf7a8a18e02ebf05d3b7c6eea8.json +0 -1
  3271. package/zkout/contracts/BalanceHolder_ERC20.sol/BalanceHolder_ERC20.json +0 -1
  3272. package/zkout/contracts/IBalanceHolder_ERC20.sol/IBalanceHolder_ERC20.json +0 -1
  3273. package/zkout/contracts/RealityETH_ERC20-3.0.sol/RealityETH_ERC20_v3_0.json +0 -1
  3274. package/zkout/development/contracts/IERC20.sol/IERC20.json +0 -1
  3275. package/zkout/draft-IERC20Permit.sol/IERC20Permit.json +0 -1
  3276. /package/{build/contracts → abis}/AccessControlEnumerable.json +0 -0
  3277. /package/{build/contracts → abis}/Achievements.json +0 -0
  3278. /package/{build/contracts → abis}/BalanceHolder.json +0 -0
  3279. /package/{build/contracts → abis}/Counters.json +0 -0
  3280. /package/{build/contracts → abis}/ERC20PresetMinterPauser.json +0 -0
  3281. /package/{build/contracts → abis}/ERC721.json +0 -0
  3282. /package/{build/contracts → abis}/EnumerableMap.json +0 -0
  3283. /package/{build/contracts → abis}/EnumerableSet.json +0 -0
  3284. /package/{build/contracts → abis}/IAccessControlEnumerable.json +0 -0
  3285. /package/{build/contracts → abis}/IERC20Permit.json +0 -0
  3286. /package/{build/contracts → abis}/IERC721Receiver.json +0 -0
  3287. /package/{build/contracts → abis}/IPredictionMarketV3.json +0 -0
  3288. /package/{build/contracts → abis}/Math.json +0 -0
  3289. /package/{build/contracts → abis}/Migrations.json +0 -0
  3290. /package/{build/contracts → abis}/PredictionMarket.json +0 -0
  3291. /package/{build/contracts → abis}/PredictionMarketV2.json +0 -0
  3292. /package/{build/contracts → abis}/PredictionMarketV3.json +0 -0
  3293. /package/{build/contracts → abis}/RealitioERC20.json +0 -0
  3294. /package/{build/contracts → abis}/RealitioForeignArbitrationProxyWithAppeals.json +0 -0
  3295. /package/{build/contracts → abis}/RealitioHomeArbitrationProxy.json +0 -0
  3296. /package/{build/contracts → abis}/RealitioSafeMath256.json +0 -0
  3297. /package/{build/contracts → abis}/RealitioSafeMath32.json +0 -0
  3298. /package/{build/contracts → abis}/SafeMath.json +0 -0
  3299. /package/{build/contracts → abis}/Strings.json +0 -0
  3300. /package/{build/contracts → abis}/WETH9.json +0 -0
  3301. /package/lib/openzeppelin-contracts-upgradeable/{audit → audits}/2018-10.pdf +0 -0
  3302. /package/lib/openzeppelin-contracts-upgradeable/{DOCUMENTATION.md → docs/README.md} +0 -0
  3303. /package/lib/openzeppelin-contracts-upgradeable/{.github → lib/openzeppelin-contracts/.github}/ISSUE_TEMPLATE/feature_request.md +0 -0
  3304. /package/lib/{openzeppelin-contracts/audit → openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits}/2018-10.pdf +0 -0
  3305. /package/lib/{openzeppelin-contracts/DOCUMENTATION.md → openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/README.md} +0 -0
  3306. /package/lib/openzeppelin-contracts-upgradeable/{scripts/upgradeable → lib/openzeppelin-contracts/scripts}/git-user-config.sh +0 -0
@@ -1,118 +1,110 @@
1
- const { BN, constants, expectEvent, expectRevert, time } = require('@openzeppelin/test-helpers');
2
- const { ZERO_ADDRESS, ZERO_BYTES32 } = constants;
3
-
1
+ const { ethers } = require('hardhat');
4
2
  const { expect } = require('chai');
3
+ const { loadFixture } = require('@nomicfoundation/hardhat-network-helpers');
4
+ const { PANIC_CODES } = require('@nomicfoundation/hardhat-chai-matchers/panic');
5
5
 
6
- const {
7
- shouldSupportInterfaces,
8
- } = require('../utils/introspection/SupportsInterface.behavior');
9
-
10
- const TimelockController = artifacts.require('TimelockController');
11
- const CallReceiverMock = artifacts.require('CallReceiverMock');
12
- const Implementation2 = artifacts.require('Implementation2');
13
- const ERC721Mock = artifacts.require('ERC721Mock');
14
- const ERC1155Mock = artifacts.require('ERC1155Mock');
6
+ const { GovernorHelper } = require('../helpers/governance');
7
+ const { OperationState } = require('../helpers/enums');
8
+ const time = require('../helpers/time');
15
9
 
16
- const MINDELAY = time.duration.days(1);
10
+ const { shouldSupportInterfaces } = require('../utils/introspection/SupportsInterface.behavior');
17
11
 
18
12
  const salt = '0x025e7b0be353a74631ad648c667493c0e1cd31caa4cc2d3520fdc171ea0cc726'; // a random value
19
13
 
20
- function genOperation (target, value, data, predecessor, salt) {
21
- const id = web3.utils.keccak256(web3.eth.abi.encodeParameters([
22
- 'address',
23
- 'uint256',
24
- 'bytes',
25
- 'uint256',
26
- 'bytes32',
27
- ], [
28
- target,
29
- value,
30
- data,
31
- predecessor,
32
- salt,
33
- ]));
14
+ const MINDELAY = time.duration.days(1);
15
+ const DEFAULT_ADMIN_ROLE = ethers.ZeroHash;
16
+ const PROPOSER_ROLE = ethers.id('PROPOSER_ROLE');
17
+ const EXECUTOR_ROLE = ethers.id('EXECUTOR_ROLE');
18
+ const CANCELLER_ROLE = ethers.id('CANCELLER_ROLE');
19
+
20
+ const getAddress = obj => obj.address ?? obj.target ?? obj;
21
+
22
+ function genOperation(target, value, data, predecessor, salt) {
23
+ const id = ethers.keccak256(
24
+ ethers.AbiCoder.defaultAbiCoder().encode(
25
+ ['address', 'uint256', 'bytes', 'uint256', 'bytes32'],
26
+ [getAddress(target), value, data, predecessor, salt],
27
+ ),
28
+ );
34
29
  return { id, target, value, data, predecessor, salt };
35
30
  }
36
31
 
37
- function genOperationBatch (targets, values, payloads, predecessor, salt) {
38
- const id = web3.utils.keccak256(web3.eth.abi.encodeParameters([
39
- 'address[]',
40
- 'uint256[]',
41
- 'bytes[]',
42
- 'uint256',
43
- 'bytes32',
44
- ], [
45
- targets,
46
- values,
47
- payloads,
48
- predecessor,
49
- salt,
50
- ]));
32
+ function genOperationBatch(targets, values, payloads, predecessor, salt) {
33
+ const id = ethers.keccak256(
34
+ ethers.AbiCoder.defaultAbiCoder().encode(
35
+ ['address[]', 'uint256[]', 'bytes[]', 'uint256', 'bytes32'],
36
+ [targets.map(getAddress), values, payloads, predecessor, salt],
37
+ ),
38
+ );
51
39
  return { id, targets, values, payloads, predecessor, salt };
52
40
  }
53
41
 
54
- contract('TimelockController', function (accounts) {
55
- const [ , admin, proposer, canceller, executor, other ] = accounts;
56
-
57
- const TIMELOCK_ADMIN_ROLE = web3.utils.soliditySha3('TIMELOCK_ADMIN_ROLE');
58
- const PROPOSER_ROLE = web3.utils.soliditySha3('PROPOSER_ROLE');
59
- const EXECUTOR_ROLE = web3.utils.soliditySha3('EXECUTOR_ROLE');
60
- const CANCELLER_ROLE = web3.utils.soliditySha3('CANCELLER_ROLE');
42
+ async function fixture() {
43
+ const [admin, proposer, canceller, executor, other] = await ethers.getSigners();
44
+
45
+ const mock = await ethers.deployContract('TimelockController', [MINDELAY, [proposer], [executor], admin]);
46
+ const callreceivermock = await ethers.deployContract('CallReceiverMock');
47
+ const implementation2 = await ethers.deployContract('Implementation2');
48
+
49
+ expect(await mock.hasRole(CANCELLER_ROLE, proposer)).to.be.true;
50
+ await mock.connect(admin).revokeRole(CANCELLER_ROLE, proposer);
51
+ await mock.connect(admin).grantRole(CANCELLER_ROLE, canceller);
52
+
53
+ return {
54
+ admin,
55
+ proposer,
56
+ canceller,
57
+ executor,
58
+ other,
59
+ mock,
60
+ callreceivermock,
61
+ implementation2,
62
+ };
63
+ }
61
64
 
65
+ describe('TimelockController', function () {
62
66
  beforeEach(async function () {
63
- // Deploy new timelock
64
- this.mock = await TimelockController.new(
65
- MINDELAY,
66
- [ proposer ],
67
- [ executor ],
68
- admin,
69
- );
70
-
71
- expect(await this.mock.hasRole(CANCELLER_ROLE, proposer)).to.be.equal(true);
72
- await this.mock.revokeRole(CANCELLER_ROLE, proposer, { from: admin });
73
- await this.mock.grantRole(CANCELLER_ROLE, canceller, { from: admin });
74
-
75
- // Mocks
76
- this.callreceivermock = await CallReceiverMock.new({ from: admin });
77
- this.implementation2 = await Implementation2.new({ from: admin });
67
+ Object.assign(this, await loadFixture(fixture));
78
68
  });
79
69
 
80
- shouldSupportInterfaces([
81
- 'ERC1155Receiver',
82
- ]);
70
+ shouldSupportInterfaces(['ERC1155Receiver']);
83
71
 
84
72
  it('initial state', async function () {
85
- expect(await this.mock.getMinDelay()).to.be.bignumber.equal(MINDELAY);
86
-
87
- expect(await this.mock.TIMELOCK_ADMIN_ROLE()).to.be.equal(TIMELOCK_ADMIN_ROLE);
88
- expect(await this.mock.PROPOSER_ROLE()).to.be.equal(PROPOSER_ROLE);
89
- expect(await this.mock.EXECUTOR_ROLE()).to.be.equal(EXECUTOR_ROLE);
90
- expect(await this.mock.CANCELLER_ROLE()).to.be.equal(CANCELLER_ROLE);
91
-
92
- expect(await Promise.all([ PROPOSER_ROLE, CANCELLER_ROLE, EXECUTOR_ROLE ].map(role =>
93
- this.mock.hasRole(role, proposer),
94
- ))).to.be.deep.equal([ true, false, false ]);
95
-
96
- expect(await Promise.all([ PROPOSER_ROLE, CANCELLER_ROLE, EXECUTOR_ROLE ].map(role =>
97
- this.mock.hasRole(role, canceller),
98
- ))).to.be.deep.equal([ false, true, false ]);
99
-
100
- expect(await Promise.all([ PROPOSER_ROLE, CANCELLER_ROLE, EXECUTOR_ROLE ].map(role =>
101
- this.mock.hasRole(role, executor),
102
- ))).to.be.deep.equal([ false, false, true ]);
73
+ expect(await this.mock.getMinDelay()).to.equal(MINDELAY);
74
+
75
+ expect(await this.mock.DEFAULT_ADMIN_ROLE()).to.equal(DEFAULT_ADMIN_ROLE);
76
+ expect(await this.mock.PROPOSER_ROLE()).to.equal(PROPOSER_ROLE);
77
+ expect(await this.mock.EXECUTOR_ROLE()).to.equal(EXECUTOR_ROLE);
78
+ expect(await this.mock.CANCELLER_ROLE()).to.equal(CANCELLER_ROLE);
79
+
80
+ expect(
81
+ await Promise.all(
82
+ [PROPOSER_ROLE, CANCELLER_ROLE, EXECUTOR_ROLE].map(role => this.mock.hasRole(role, this.proposer)),
83
+ ),
84
+ ).to.deep.equal([true, false, false]);
85
+
86
+ expect(
87
+ await Promise.all(
88
+ [PROPOSER_ROLE, CANCELLER_ROLE, EXECUTOR_ROLE].map(role => this.mock.hasRole(role, this.canceller)),
89
+ ),
90
+ ).to.deep.equal([false, true, false]);
91
+
92
+ expect(
93
+ await Promise.all(
94
+ [PROPOSER_ROLE, CANCELLER_ROLE, EXECUTOR_ROLE].map(role => this.mock.hasRole(role, this.executor)),
95
+ ),
96
+ ).to.deep.equal([false, false, true]);
103
97
  });
104
98
 
105
99
  it('optional admin', async function () {
106
- const mock = await TimelockController.new(
100
+ const mock = await ethers.deployContract('TimelockController', [
107
101
  MINDELAY,
108
- [ proposer ],
109
- [ executor ],
110
- ZERO_ADDRESS,
111
- { from: other },
112
- );
113
-
114
- expect(await mock.hasRole(TIMELOCK_ADMIN_ROLE, admin)).to.be.equal(false);
115
- expect(await mock.hasRole(TIMELOCK_ADMIN_ROLE, other)).to.be.equal(false);
102
+ [this.proposer],
103
+ [this.executor],
104
+ ethers.ZeroAddress,
105
+ ]);
106
+ expect(await mock.hasRole(DEFAULT_ADMIN_ROLE, this.admin)).to.be.false;
107
+ expect(await mock.hasRole(DEFAULT_ADMIN_ROLE, mock.target)).to.be.true;
116
108
  });
117
109
 
118
110
  describe('methods', function () {
@@ -125,13 +117,15 @@ contract('TimelockController', function (accounts) {
125
117
  '0xba41db3be0a9929145cfe480bd0f1f003689104d275ae912099f925df424ef94',
126
118
  '0x60d9109846ab510ed75c15f979ae366a8a2ace11d34ba9788c13ac296db50e6e',
127
119
  );
128
- expect(await this.mock.hashOperation(
129
- this.operation.target,
130
- this.operation.value,
131
- this.operation.data,
132
- this.operation.predecessor,
133
- this.operation.salt,
134
- )).to.be.equal(this.operation.id);
120
+ expect(
121
+ await this.mock.hashOperation(
122
+ this.operation.target,
123
+ this.operation.value,
124
+ this.operation.data,
125
+ this.operation.predecessor,
126
+ this.operation.salt,
127
+ ),
128
+ ).to.equal(this.operation.id);
135
129
  });
136
130
 
137
131
  it('hashOperationBatch', async function () {
@@ -142,13 +136,15 @@ contract('TimelockController', function (accounts) {
142
136
  '0xce8f45069cc71d25f71ba05062de1a3974f9849b004de64a70998bca9d29c2e7',
143
137
  '0x8952d74c110f72bfe5accdf828c74d53a7dfb71235dfa8a1e8c75d8576b372ff',
144
138
  );
145
- expect(await this.mock.hashOperationBatch(
146
- this.operation.targets,
147
- this.operation.values,
148
- this.operation.payloads,
149
- this.operation.predecessor,
150
- this.operation.salt,
151
- )).to.be.equal(this.operation.id);
139
+ expect(
140
+ await this.mock.hashOperationBatch(
141
+ this.operation.targets,
142
+ this.operation.values,
143
+ this.operation.payloads,
144
+ this.operation.predecessor,
145
+ this.operation.salt,
146
+ ),
147
+ ).to.equal(this.operation.id);
152
148
  });
153
149
  });
154
150
  describe('simple', function () {
@@ -156,92 +152,119 @@ contract('TimelockController', function (accounts) {
156
152
  beforeEach(async function () {
157
153
  this.operation = genOperation(
158
154
  '0x31754f590B97fD975Eb86938f18Cc304E264D2F2',
159
- 0,
155
+ 0n,
160
156
  '0x3bf92ccc',
161
- ZERO_BYTES32,
157
+ ethers.ZeroHash,
162
158
  salt,
163
159
  );
164
160
  });
165
161
 
166
162
  it('proposer can schedule', async function () {
167
- const receipt = await this.mock.schedule(
168
- this.operation.target,
169
- this.operation.value,
170
- this.operation.data,
171
- this.operation.predecessor,
172
- this.operation.salt,
173
- MINDELAY,
174
- { from: proposer },
175
- );
176
- expectEvent(receipt, 'CallScheduled', {
177
- id: this.operation.id,
178
- index: web3.utils.toBN(0),
179
- target: this.operation.target,
180
- value: web3.utils.toBN(this.operation.value),
181
- data: this.operation.data,
182
- predecessor: this.operation.predecessor,
183
- delay: MINDELAY,
184
- });
185
-
186
- const block = await web3.eth.getBlock(receipt.receipt.blockHash);
187
-
188
- expect(await this.mock.getTimestamp(this.operation.id))
189
- .to.be.bignumber.equal(web3.utils.toBN(block.timestamp).add(MINDELAY));
190
- });
191
-
192
- it('prevent overwriting active operation', async function () {
193
- await this.mock.schedule(
194
- this.operation.target,
195
- this.operation.value,
196
- this.operation.data,
197
- this.operation.predecessor,
198
- this.operation.salt,
199
- MINDELAY,
200
- { from: proposer },
201
- );
202
-
203
- await expectRevert(
204
- this.mock.schedule(
163
+ const tx = await this.mock
164
+ .connect(this.proposer)
165
+ .schedule(
205
166
  this.operation.target,
206
167
  this.operation.value,
207
168
  this.operation.data,
208
169
  this.operation.predecessor,
209
170
  this.operation.salt,
210
171
  MINDELAY,
211
- { from: proposer },
212
- ),
213
- 'TimelockController: operation already scheduled',
214
- );
215
- });
172
+ );
216
173
 
217
- it('prevent non-proposer from committing', async function () {
218
- await expectRevert(
219
- this.mock.schedule(
174
+ await expect(tx)
175
+ .to.emit(this.mock, 'CallScheduled')
176
+ .withArgs(
177
+ this.operation.id,
178
+ 0n,
220
179
  this.operation.target,
221
180
  this.operation.value,
222
181
  this.operation.data,
223
182
  this.operation.predecessor,
224
- this.operation.salt,
225
183
  MINDELAY,
226
- { from: other },
227
- ),
228
- `AccessControl: account ${other.toLowerCase()} is missing role ${PROPOSER_ROLE}`,
184
+ )
185
+ .to.emit(this.mock, 'CallSalt')
186
+ .withArgs(this.operation.id, this.operation.salt);
187
+
188
+ expect(await this.mock.getTimestamp(this.operation.id)).to.equal(
189
+ (await time.clockFromReceipt.timestamp(tx)) + MINDELAY,
229
190
  );
230
191
  });
231
192
 
232
- it('enforce minimum delay', async function () {
233
- await expectRevert(
234
- this.mock.schedule(
193
+ it('prevent overwriting active operation', async function () {
194
+ await this.mock
195
+ .connect(this.proposer)
196
+ .schedule(
235
197
  this.operation.target,
236
198
  this.operation.value,
237
199
  this.operation.data,
238
200
  this.operation.predecessor,
239
201
  this.operation.salt,
240
- MINDELAY - 1,
241
- { from: proposer },
242
- ),
243
- 'TimelockController: insufficient delay',
244
- );
202
+ MINDELAY,
203
+ );
204
+
205
+ await expect(
206
+ this.mock
207
+ .connect(this.proposer)
208
+ .schedule(
209
+ this.operation.target,
210
+ this.operation.value,
211
+ this.operation.data,
212
+ this.operation.predecessor,
213
+ this.operation.salt,
214
+ MINDELAY,
215
+ ),
216
+ )
217
+ .to.be.revertedWithCustomError(this.mock, 'TimelockUnexpectedOperationState')
218
+ .withArgs(this.operation.id, GovernorHelper.proposalStatesToBitMap(OperationState.Unset));
219
+ });
220
+
221
+ it('prevent non-proposer from committing', async function () {
222
+ await expect(
223
+ this.mock
224
+ .connect(this.other)
225
+ .schedule(
226
+ this.operation.target,
227
+ this.operation.value,
228
+ this.operation.data,
229
+ this.operation.predecessor,
230
+ this.operation.salt,
231
+ MINDELAY,
232
+ ),
233
+ )
234
+ .to.be.revertedWithCustomError(this.mock, 'AccessControlUnauthorizedAccount')
235
+ .withArgs(this.other, PROPOSER_ROLE);
236
+ });
237
+
238
+ it('enforce minimum delay', async function () {
239
+ await expect(
240
+ this.mock
241
+ .connect(this.proposer)
242
+ .schedule(
243
+ this.operation.target,
244
+ this.operation.value,
245
+ this.operation.data,
246
+ this.operation.predecessor,
247
+ this.operation.salt,
248
+ MINDELAY - 1n,
249
+ ),
250
+ )
251
+ .to.be.revertedWithCustomError(this.mock, 'TimelockInsufficientDelay')
252
+ .withArgs(MINDELAY - 1n, MINDELAY);
253
+ });
254
+
255
+ it('schedule operation with salt zero', async function () {
256
+ await expect(
257
+ this.mock
258
+ .connect(this.proposer)
259
+ .schedule(
260
+ this.operation.target,
261
+ this.operation.value,
262
+ this.operation.data,
263
+ this.operation.predecessor,
264
+ ethers.ZeroHash,
265
+ MINDELAY,
266
+ ),
267
+ ).to.not.emit(this.mock, 'CallSalt');
245
268
  });
246
269
  });
247
270
 
@@ -249,107 +272,193 @@ contract('TimelockController', function (accounts) {
249
272
  beforeEach(async function () {
250
273
  this.operation = genOperation(
251
274
  '0xAe22104DCD970750610E6FE15E623468A98b15f7',
252
- 0,
275
+ 0n,
253
276
  '0x13e414de',
254
- ZERO_BYTES32,
277
+ ethers.ZeroHash,
255
278
  '0xc1059ed2dc130227aa1d1d539ac94c641306905c020436c636e19e3fab56fc7f',
256
279
  );
257
280
  });
258
281
 
259
282
  it('revert if operation is not scheduled', async function () {
260
- await expectRevert(
261
- this.mock.execute(
262
- this.operation.target,
263
- this.operation.value,
264
- this.operation.data,
265
- this.operation.predecessor,
266
- this.operation.salt,
267
- { from: executor },
268
- ),
269
- 'TimelockController: operation is not ready',
270
- );
283
+ await expect(
284
+ this.mock
285
+ .connect(this.executor)
286
+ .execute(
287
+ this.operation.target,
288
+ this.operation.value,
289
+ this.operation.data,
290
+ this.operation.predecessor,
291
+ this.operation.salt,
292
+ ),
293
+ )
294
+ .to.be.revertedWithCustomError(this.mock, 'TimelockUnexpectedOperationState')
295
+ .withArgs(this.operation.id, GovernorHelper.proposalStatesToBitMap(OperationState.Ready));
271
296
  });
272
297
 
273
298
  describe('with scheduled operation', function () {
274
299
  beforeEach(async function () {
275
- ({ receipt: this.receipt, logs: this.logs } = await this.mock.schedule(
276
- this.operation.target,
277
- this.operation.value,
278
- this.operation.data,
279
- this.operation.predecessor,
280
- this.operation.salt,
281
- MINDELAY,
282
- { from: proposer },
283
- ));
284
- });
285
-
286
- it('revert if execution comes too early 1/2', async function () {
287
- await expectRevert(
288
- this.mock.execute(
300
+ await this.mock
301
+ .connect(this.proposer)
302
+ .schedule(
289
303
  this.operation.target,
290
304
  this.operation.value,
291
305
  this.operation.data,
292
306
  this.operation.predecessor,
293
307
  this.operation.salt,
294
- { from: executor },
295
- ),
296
- 'TimelockController: operation is not ready',
297
- );
308
+ MINDELAY,
309
+ );
310
+ });
311
+
312
+ it('revert if execution comes too early 1/2', async function () {
313
+ await expect(
314
+ this.mock
315
+ .connect(this.executor)
316
+ .execute(
317
+ this.operation.target,
318
+ this.operation.value,
319
+ this.operation.data,
320
+ this.operation.predecessor,
321
+ this.operation.salt,
322
+ ),
323
+ )
324
+ .to.be.revertedWithCustomError(this.mock, 'TimelockUnexpectedOperationState')
325
+ .withArgs(this.operation.id, GovernorHelper.proposalStatesToBitMap(OperationState.Ready));
298
326
  });
299
327
 
300
328
  it('revert if execution comes too early 2/2', async function () {
301
- const timestamp = await this.mock.getTimestamp(this.operation.id);
302
- await time.increaseTo(timestamp - 5); // -1 is too tight, test sometime fails
329
+ // -1 is too tight, test sometime fails
330
+ await this.mock.getTimestamp(this.operation.id).then(clock => time.increaseTo.timestamp(clock - 5n));
303
331
 
304
- await expectRevert(
305
- this.mock.execute(
306
- this.operation.target,
307
- this.operation.value,
308
- this.operation.data,
309
- this.operation.predecessor,
310
- this.operation.salt,
311
- { from: executor },
312
- ),
313
- 'TimelockController: operation is not ready',
314
- );
332
+ await expect(
333
+ this.mock
334
+ .connect(this.executor)
335
+ .execute(
336
+ this.operation.target,
337
+ this.operation.value,
338
+ this.operation.data,
339
+ this.operation.predecessor,
340
+ this.operation.salt,
341
+ ),
342
+ )
343
+ .to.be.revertedWithCustomError(this.mock, 'TimelockUnexpectedOperationState')
344
+ .withArgs(this.operation.id, GovernorHelper.proposalStatesToBitMap(OperationState.Ready));
315
345
  });
316
346
 
317
347
  describe('on time', function () {
318
348
  beforeEach(async function () {
319
- const timestamp = await this.mock.getTimestamp(this.operation.id);
320
- await time.increaseTo(timestamp);
349
+ await this.mock.getTimestamp(this.operation.id).then(time.increaseTo.timestamp);
321
350
  });
322
351
 
323
352
  it('executor can reveal', async function () {
324
- const receipt = await this.mock.execute(
325
- this.operation.target,
326
- this.operation.value,
327
- this.operation.data,
328
- this.operation.predecessor,
329
- this.operation.salt,
330
- { from: executor },
331
- );
332
- expectEvent(receipt, 'CallExecuted', {
333
- id: this.operation.id,
334
- index: web3.utils.toBN(0),
335
- target: this.operation.target,
336
- value: web3.utils.toBN(this.operation.value),
337
- data: this.operation.data,
338
- });
353
+ await expect(
354
+ this.mock
355
+ .connect(this.executor)
356
+ .execute(
357
+ this.operation.target,
358
+ this.operation.value,
359
+ this.operation.data,
360
+ this.operation.predecessor,
361
+ this.operation.salt,
362
+ ),
363
+ )
364
+ .to.emit(this.mock, 'CallExecuted')
365
+ .withArgs(this.operation.id, 0n, this.operation.target, this.operation.value, this.operation.data);
339
366
  });
340
367
 
341
368
  it('prevent non-executor from revealing', async function () {
342
- await expectRevert(
343
- this.mock.execute(
344
- this.operation.target,
345
- this.operation.value,
346
- this.operation.data,
347
- this.operation.predecessor,
348
- this.operation.salt,
349
- { from: other },
350
- ),
351
- `AccessControl: account ${other.toLowerCase()} is missing role ${EXECUTOR_ROLE}`,
369
+ await expect(
370
+ this.mock
371
+ .connect(this.other)
372
+ .execute(
373
+ this.operation.target,
374
+ this.operation.value,
375
+ this.operation.data,
376
+ this.operation.predecessor,
377
+ this.operation.salt,
378
+ ),
379
+ )
380
+ .to.be.revertedWithCustomError(this.mock, 'AccessControlUnauthorizedAccount')
381
+ .withArgs(this.other, EXECUTOR_ROLE);
382
+ });
383
+
384
+ it('prevents reentrancy execution', async function () {
385
+ // Create operation
386
+ const reentrant = await ethers.deployContract('$TimelockReentrant');
387
+ const reentrantOperation = genOperation(
388
+ reentrant,
389
+ 0n,
390
+ reentrant.interface.encodeFunctionData('reenter'),
391
+ ethers.ZeroHash,
392
+ salt,
352
393
  );
394
+
395
+ // Schedule so it can be executed
396
+ await this.mock
397
+ .connect(this.proposer)
398
+ .schedule(
399
+ reentrantOperation.target,
400
+ reentrantOperation.value,
401
+ reentrantOperation.data,
402
+ reentrantOperation.predecessor,
403
+ reentrantOperation.salt,
404
+ MINDELAY,
405
+ );
406
+
407
+ // Advance on time to make the operation executable
408
+ await this.mock.getTimestamp(reentrantOperation.id).then(time.increaseTo.timestamp);
409
+
410
+ // Grant executor role to the reentrant contract
411
+ await this.mock.connect(this.admin).grantRole(EXECUTOR_ROLE, reentrant);
412
+
413
+ // Prepare reenter
414
+ const data = this.mock.interface.encodeFunctionData('execute', [
415
+ getAddress(reentrantOperation.target),
416
+ reentrantOperation.value,
417
+ reentrantOperation.data,
418
+ reentrantOperation.predecessor,
419
+ reentrantOperation.salt,
420
+ ]);
421
+ await reentrant.enableRentrancy(this.mock, data);
422
+
423
+ // Expect to fail
424
+ await expect(
425
+ this.mock
426
+ .connect(this.executor)
427
+ .execute(
428
+ reentrantOperation.target,
429
+ reentrantOperation.value,
430
+ reentrantOperation.data,
431
+ reentrantOperation.predecessor,
432
+ reentrantOperation.salt,
433
+ ),
434
+ )
435
+ .to.be.revertedWithCustomError(this.mock, 'TimelockUnexpectedOperationState')
436
+ .withArgs(reentrantOperation.id, GovernorHelper.proposalStatesToBitMap(OperationState.Ready));
437
+
438
+ // Disable reentrancy
439
+ await reentrant.disableReentrancy();
440
+ const nonReentrantOperation = reentrantOperation; // Not anymore
441
+
442
+ // Try again successfully
443
+ await expect(
444
+ this.mock
445
+ .connect(this.executor)
446
+ .execute(
447
+ nonReentrantOperation.target,
448
+ nonReentrantOperation.value,
449
+ nonReentrantOperation.data,
450
+ nonReentrantOperation.predecessor,
451
+ nonReentrantOperation.salt,
452
+ ),
453
+ )
454
+ .to.emit(this.mock, 'CallExecuted')
455
+ .withArgs(
456
+ nonReentrantOperation.id,
457
+ 0n,
458
+ getAddress(nonReentrantOperation),
459
+ nonReentrantOperation.value,
460
+ nonReentrantOperation.data,
461
+ );
353
462
  });
354
463
  });
355
464
  });
@@ -361,124 +470,139 @@ contract('TimelockController', function (accounts) {
361
470
  beforeEach(async function () {
362
471
  this.operation = genOperationBatch(
363
472
  Array(8).fill('0xEd912250835c812D4516BBD80BdaEA1bB63a293C'),
364
- Array(8).fill(0),
473
+ Array(8).fill(0n),
365
474
  Array(8).fill('0x2fcb7a88'),
366
- ZERO_BYTES32,
475
+ ethers.ZeroHash,
367
476
  '0x6cf9d042ade5de78bed9ffd075eb4b2a4f6b1736932c2dc8af517d6e066f51f5',
368
477
  );
369
478
  });
370
479
 
371
480
  it('proposer can schedule', async function () {
372
- const receipt = await this.mock.scheduleBatch(
373
- this.operation.targets,
374
- this.operation.values,
375
- this.operation.payloads,
376
- this.operation.predecessor,
377
- this.operation.salt,
378
- MINDELAY,
379
- { from: proposer },
380
- );
481
+ const tx = this.mock
482
+ .connect(this.proposer)
483
+ .scheduleBatch(
484
+ this.operation.targets,
485
+ this.operation.values,
486
+ this.operation.payloads,
487
+ this.operation.predecessor,
488
+ this.operation.salt,
489
+ MINDELAY,
490
+ );
381
491
  for (const i in this.operation.targets) {
382
- expectEvent(receipt, 'CallScheduled', {
383
- id: this.operation.id,
384
- index: web3.utils.toBN(i),
385
- target: this.operation.targets[i],
386
- value: web3.utils.toBN(this.operation.values[i]),
387
- data: this.operation.payloads[i],
388
- predecessor: this.operation.predecessor,
389
- delay: MINDELAY,
390
- });
492
+ await expect(tx)
493
+ .to.emit(this.mock, 'CallScheduled')
494
+ .withArgs(
495
+ this.operation.id,
496
+ i,
497
+ getAddress(this.operation.targets[i]),
498
+ this.operation.values[i],
499
+ this.operation.payloads[i],
500
+ this.operation.predecessor,
501
+ MINDELAY,
502
+ )
503
+ .to.emit(this.mock, 'CallSalt')
504
+ .withArgs(this.operation.id, this.operation.salt);
391
505
  }
392
506
 
393
- const block = await web3.eth.getBlock(receipt.receipt.blockHash);
394
-
395
- expect(await this.mock.getTimestamp(this.operation.id))
396
- .to.be.bignumber.equal(web3.utils.toBN(block.timestamp).add(MINDELAY));
507
+ expect(await this.mock.getTimestamp(this.operation.id)).to.equal(
508
+ (await time.clockFromReceipt.timestamp(tx)) + MINDELAY,
509
+ );
397
510
  });
398
511
 
399
512
  it('prevent overwriting active operation', async function () {
400
- await this.mock.scheduleBatch(
401
- this.operation.targets,
402
- this.operation.values,
403
- this.operation.payloads,
404
- this.operation.predecessor,
405
- this.operation.salt,
406
- MINDELAY,
407
- { from: proposer },
408
- );
409
-
410
- await expectRevert(
411
- this.mock.scheduleBatch(
513
+ await this.mock
514
+ .connect(this.proposer)
515
+ .scheduleBatch(
412
516
  this.operation.targets,
413
517
  this.operation.values,
414
518
  this.operation.payloads,
415
519
  this.operation.predecessor,
416
520
  this.operation.salt,
417
521
  MINDELAY,
418
- { from: proposer },
419
- ),
420
- 'TimelockController: operation already scheduled',
421
- );
522
+ );
523
+
524
+ await expect(
525
+ this.mock
526
+ .connect(this.proposer)
527
+ .scheduleBatch(
528
+ this.operation.targets,
529
+ this.operation.values,
530
+ this.operation.payloads,
531
+ this.operation.predecessor,
532
+ this.operation.salt,
533
+ MINDELAY,
534
+ ),
535
+ )
536
+ .to.be.revertedWithCustomError(this.mock, 'TimelockUnexpectedOperationState')
537
+ .withArgs(this.operation.id, GovernorHelper.proposalStatesToBitMap(OperationState.Unset));
422
538
  });
423
539
 
424
540
  it('length of batch parameter must match #1', async function () {
425
- await expectRevert(
426
- this.mock.scheduleBatch(
427
- this.operation.targets,
428
- [],
429
- this.operation.payloads,
430
- this.operation.predecessor,
431
- this.operation.salt,
432
- MINDELAY,
433
- { from: proposer },
434
- ),
435
- 'TimelockController: length mismatch',
436
- );
541
+ await expect(
542
+ this.mock
543
+ .connect(this.proposer)
544
+ .scheduleBatch(
545
+ this.operation.targets,
546
+ [],
547
+ this.operation.payloads,
548
+ this.operation.predecessor,
549
+ this.operation.salt,
550
+ MINDELAY,
551
+ ),
552
+ )
553
+ .to.be.revertedWithCustomError(this.mock, 'TimelockInvalidOperationLength')
554
+ .withArgs(this.operation.targets.length, this.operation.payloads.length, 0n);
437
555
  });
438
556
 
439
557
  it('length of batch parameter must match #1', async function () {
440
- await expectRevert(
441
- this.mock.scheduleBatch(
442
- this.operation.targets,
443
- this.operation.values,
444
- [],
445
- this.operation.predecessor,
446
- this.operation.salt,
447
- MINDELAY,
448
- { from: proposer },
449
- ),
450
- 'TimelockController: length mismatch',
451
- );
558
+ await expect(
559
+ this.mock
560
+ .connect(this.proposer)
561
+ .scheduleBatch(
562
+ this.operation.targets,
563
+ this.operation.values,
564
+ [],
565
+ this.operation.predecessor,
566
+ this.operation.salt,
567
+ MINDELAY,
568
+ ),
569
+ )
570
+ .to.be.revertedWithCustomError(this.mock, 'TimelockInvalidOperationLength')
571
+ .withArgs(this.operation.targets.length, 0n, this.operation.payloads.length);
452
572
  });
453
573
 
454
574
  it('prevent non-proposer from committing', async function () {
455
- await expectRevert(
456
- this.mock.scheduleBatch(
457
- this.operation.targets,
458
- this.operation.values,
459
- this.operation.payloads,
460
- this.operation.predecessor,
461
- this.operation.salt,
462
- MINDELAY,
463
- { from: other },
464
- ),
465
- `AccessControl: account ${other.toLowerCase()} is missing role ${PROPOSER_ROLE}`,
466
- );
575
+ await expect(
576
+ this.mock
577
+ .connect(this.other)
578
+ .scheduleBatch(
579
+ this.operation.targets,
580
+ this.operation.values,
581
+ this.operation.payloads,
582
+ this.operation.predecessor,
583
+ this.operation.salt,
584
+ MINDELAY,
585
+ ),
586
+ )
587
+ .to.be.revertedWithCustomError(this.mock, 'AccessControlUnauthorizedAccount')
588
+ .withArgs(this.other, PROPOSER_ROLE);
467
589
  });
468
590
 
469
591
  it('enforce minimum delay', async function () {
470
- await expectRevert(
471
- this.mock.scheduleBatch(
472
- this.operation.targets,
473
- this.operation.values,
474
- this.operation.payloads,
475
- this.operation.predecessor,
476
- this.operation.salt,
477
- MINDELAY - 1,
478
- { from: proposer },
479
- ),
480
- 'TimelockController: insufficient delay',
481
- );
592
+ await expect(
593
+ this.mock
594
+ .connect(this.proposer)
595
+ .scheduleBatch(
596
+ this.operation.targets,
597
+ this.operation.values,
598
+ this.operation.payloads,
599
+ this.operation.predecessor,
600
+ this.operation.salt,
601
+ MINDELAY - 1n,
602
+ ),
603
+ )
604
+ .to.be.revertedWithCustomError(this.mock, 'TimelockInsufficientDelay')
605
+ .withArgs(MINDELAY - 1n, MINDELAY);
482
606
  });
483
607
  });
484
608
 
@@ -486,197 +610,290 @@ contract('TimelockController', function (accounts) {
486
610
  beforeEach(async function () {
487
611
  this.operation = genOperationBatch(
488
612
  Array(8).fill('0x76E53CcEb05131Ef5248553bEBDb8F70536830b1'),
489
- Array(8).fill(0),
613
+ Array(8).fill(0n),
490
614
  Array(8).fill('0x58a60f63'),
491
- ZERO_BYTES32,
615
+ ethers.ZeroHash,
492
616
  '0x9545eeabc7a7586689191f78a5532443698538e54211b5bd4d7dc0fc0102b5c7',
493
617
  );
494
618
  });
495
619
 
496
620
  it('revert if operation is not scheduled', async function () {
497
- await expectRevert(
498
- this.mock.executeBatch(
499
- this.operation.targets,
500
- this.operation.values,
501
- this.operation.payloads,
502
- this.operation.predecessor,
503
- this.operation.salt,
504
- { from: executor },
505
- ),
506
- 'TimelockController: operation is not ready',
507
- );
508
- });
509
-
510
- describe('with scheduled operation', function () {
511
- beforeEach(async function () {
512
- ({ receipt: this.receipt, logs: this.logs } = await this.mock.scheduleBatch(
513
- this.operation.targets,
514
- this.operation.values,
515
- this.operation.payloads,
516
- this.operation.predecessor,
517
- this.operation.salt,
518
- MINDELAY,
519
- { from: proposer },
520
- ));
521
- });
522
-
523
- it('revert if execution comes too early 1/2', async function () {
524
- await expectRevert(
525
- this.mock.executeBatch(
621
+ await expect(
622
+ this.mock
623
+ .connect(this.executor)
624
+ .executeBatch(
526
625
  this.operation.targets,
527
626
  this.operation.values,
528
627
  this.operation.payloads,
529
628
  this.operation.predecessor,
530
629
  this.operation.salt,
531
- { from: executor },
532
630
  ),
533
- 'TimelockController: operation is not ready',
534
- );
535
- });
536
-
537
- it('revert if execution comes too early 2/2', async function () {
538
- const timestamp = await this.mock.getTimestamp(this.operation.id);
539
- await time.increaseTo(timestamp - 5); // -1 is to tight, test sometime fails
540
-
541
- await expectRevert(
542
- this.mock.executeBatch(
543
- this.operation.targets,
544
- this.operation.values,
545
- this.operation.payloads,
546
- this.operation.predecessor,
547
- this.operation.salt,
548
- { from: executor },
549
- ),
550
- 'TimelockController: operation is not ready',
551
- );
552
- });
553
-
554
- describe('on time', function () {
555
- beforeEach(async function () {
556
- const timestamp = await this.mock.getTimestamp(this.operation.id);
557
- await time.increaseTo(timestamp);
558
- });
631
+ )
632
+ .to.be.revertedWithCustomError(this.mock, 'TimelockUnexpectedOperationState')
633
+ .withArgs(this.operation.id, GovernorHelper.proposalStatesToBitMap(OperationState.Ready));
634
+ });
559
635
 
560
- it('executor can reveal', async function () {
561
- const receipt = await this.mock.executeBatch(
636
+ describe('with scheduled operation', function () {
637
+ beforeEach(async function () {
638
+ await this.mock
639
+ .connect(this.proposer)
640
+ .scheduleBatch(
562
641
  this.operation.targets,
563
642
  this.operation.values,
564
643
  this.operation.payloads,
565
644
  this.operation.predecessor,
566
645
  this.operation.salt,
567
- { from: executor },
646
+ MINDELAY,
568
647
  );
569
- for (const i in this.operation.targets) {
570
- expectEvent(receipt, 'CallExecuted', {
571
- id: this.operation.id,
572
- index: web3.utils.toBN(i),
573
- target: this.operation.targets[i],
574
- value: web3.utils.toBN(this.operation.values[i]),
575
- data: this.operation.payloads[i],
576
- });
577
- }
578
- });
648
+ });
579
649
 
580
- it('prevent non-executor from revealing', async function () {
581
- await expectRevert(
582
- this.mock.executeBatch(
650
+ it('revert if execution comes too early 1/2', async function () {
651
+ await expect(
652
+ this.mock
653
+ .connect(this.executor)
654
+ .executeBatch(
583
655
  this.operation.targets,
584
656
  this.operation.values,
585
657
  this.operation.payloads,
586
658
  this.operation.predecessor,
587
659
  this.operation.salt,
588
- { from: other },
589
660
  ),
590
- `AccessControl: account ${other.toLowerCase()} is missing role ${EXECUTOR_ROLE}`,
591
- );
592
- });
661
+ )
662
+ .to.be.revertedWithCustomError(this.mock, 'TimelockUnexpectedOperationState')
663
+ .withArgs(this.operation.id, GovernorHelper.proposalStatesToBitMap(OperationState.Ready));
664
+ });
593
665
 
594
- it('length mismatch #1', async function () {
595
- await expectRevert(
596
- this.mock.executeBatch(
597
- [],
666
+ it('revert if execution comes too early 2/2', async function () {
667
+ // -1 is to tight, test sometime fails
668
+ await this.mock.getTimestamp(this.operation.id).then(clock => time.increaseTo.timestamp(clock - 5n));
669
+
670
+ await expect(
671
+ this.mock
672
+ .connect(this.executor)
673
+ .executeBatch(
674
+ this.operation.targets,
598
675
  this.operation.values,
599
676
  this.operation.payloads,
600
677
  this.operation.predecessor,
601
678
  this.operation.salt,
602
- { from: executor },
603
679
  ),
604
- 'TimelockController: length mismatch',
605
- );
680
+ )
681
+ .to.be.revertedWithCustomError(this.mock, 'TimelockUnexpectedOperationState')
682
+ .withArgs(this.operation.id, GovernorHelper.proposalStatesToBitMap(OperationState.Ready));
683
+ });
684
+
685
+ describe('on time', function () {
686
+ beforeEach(async function () {
687
+ await this.mock.getTimestamp(this.operation.id).then(time.increaseTo.timestamp);
606
688
  });
607
689
 
608
- it('length mismatch #2', async function () {
609
- await expectRevert(
610
- this.mock.executeBatch(
690
+ it('executor can reveal', async function () {
691
+ const tx = this.mock
692
+ .connect(this.executor)
693
+ .executeBatch(
611
694
  this.operation.targets,
612
- [],
695
+ this.operation.values,
613
696
  this.operation.payloads,
614
697
  this.operation.predecessor,
615
698
  this.operation.salt,
616
- { from: executor },
617
- ),
618
- 'TimelockController: length mismatch',
619
- );
699
+ );
700
+ for (const i in this.operation.targets) {
701
+ await expect(tx)
702
+ .to.emit(this.mock, 'CallExecuted')
703
+ .withArgs(
704
+ this.operation.id,
705
+ i,
706
+ this.operation.targets[i],
707
+ this.operation.values[i],
708
+ this.operation.payloads[i],
709
+ );
710
+ }
711
+ });
712
+
713
+ it('prevent non-executor from revealing', async function () {
714
+ await expect(
715
+ this.mock
716
+ .connect(this.other)
717
+ .executeBatch(
718
+ this.operation.targets,
719
+ this.operation.values,
720
+ this.operation.payloads,
721
+ this.operation.predecessor,
722
+ this.operation.salt,
723
+ ),
724
+ )
725
+ .to.be.revertedWithCustomError(this.mock, 'AccessControlUnauthorizedAccount')
726
+ .withArgs(this.other, EXECUTOR_ROLE);
727
+ });
728
+
729
+ it('length mismatch #1', async function () {
730
+ await expect(
731
+ this.mock
732
+ .connect(this.executor)
733
+ .executeBatch(
734
+ [],
735
+ this.operation.values,
736
+ this.operation.payloads,
737
+ this.operation.predecessor,
738
+ this.operation.salt,
739
+ ),
740
+ )
741
+ .to.be.revertedWithCustomError(this.mock, 'TimelockInvalidOperationLength')
742
+ .withArgs(0, this.operation.payloads.length, this.operation.values.length);
743
+ });
744
+
745
+ it('length mismatch #2', async function () {
746
+ await expect(
747
+ this.mock
748
+ .connect(this.executor)
749
+ .executeBatch(
750
+ this.operation.targets,
751
+ [],
752
+ this.operation.payloads,
753
+ this.operation.predecessor,
754
+ this.operation.salt,
755
+ ),
756
+ )
757
+ .to.be.revertedWithCustomError(this.mock, 'TimelockInvalidOperationLength')
758
+ .withArgs(this.operation.targets.length, this.operation.payloads.length, 0n);
620
759
  });
621
760
 
622
761
  it('length mismatch #3', async function () {
623
- await expectRevert(
624
- this.mock.executeBatch(
625
- this.operation.targets,
626
- this.operation.values,
627
- [],
628
- this.operation.predecessor,
629
- this.operation.salt,
630
- { from: executor },
631
- ),
632
- 'TimelockController: length mismatch',
762
+ await expect(
763
+ this.mock
764
+ .connect(this.executor)
765
+ .executeBatch(
766
+ this.operation.targets,
767
+ this.operation.values,
768
+ [],
769
+ this.operation.predecessor,
770
+ this.operation.salt,
771
+ ),
772
+ )
773
+ .to.be.revertedWithCustomError(this.mock, 'TimelockInvalidOperationLength')
774
+ .withArgs(this.operation.targets.length, 0n, this.operation.values.length);
775
+ });
776
+
777
+ it('prevents reentrancy execution', async function () {
778
+ // Create operation
779
+ const reentrant = await ethers.deployContract('$TimelockReentrant');
780
+ const reentrantBatchOperation = genOperationBatch(
781
+ [reentrant],
782
+ [0n],
783
+ [reentrant.interface.encodeFunctionData('reenter')],
784
+ ethers.ZeroHash,
785
+ salt,
633
786
  );
787
+
788
+ // Schedule so it can be executed
789
+ await this.mock
790
+ .connect(this.proposer)
791
+ .scheduleBatch(
792
+ reentrantBatchOperation.targets,
793
+ reentrantBatchOperation.values,
794
+ reentrantBatchOperation.payloads,
795
+ reentrantBatchOperation.predecessor,
796
+ reentrantBatchOperation.salt,
797
+ MINDELAY,
798
+ );
799
+
800
+ // Advance on time to make the operation executable
801
+ await this.mock.getTimestamp(reentrantBatchOperation.id).then(time.increaseTo.timestamp);
802
+
803
+ // Grant executor role to the reentrant contract
804
+ await this.mock.connect(this.admin).grantRole(EXECUTOR_ROLE, reentrant);
805
+
806
+ // Prepare reenter
807
+ const data = this.mock.interface.encodeFunctionData('executeBatch', [
808
+ reentrantBatchOperation.targets.map(getAddress),
809
+ reentrantBatchOperation.values,
810
+ reentrantBatchOperation.payloads,
811
+ reentrantBatchOperation.predecessor,
812
+ reentrantBatchOperation.salt,
813
+ ]);
814
+ await reentrant.enableRentrancy(this.mock, data);
815
+
816
+ // Expect to fail
817
+ await expect(
818
+ this.mock
819
+ .connect(this.executor)
820
+ .executeBatch(
821
+ reentrantBatchOperation.targets,
822
+ reentrantBatchOperation.values,
823
+ reentrantBatchOperation.payloads,
824
+ reentrantBatchOperation.predecessor,
825
+ reentrantBatchOperation.salt,
826
+ ),
827
+ )
828
+ .to.be.revertedWithCustomError(this.mock, 'TimelockUnexpectedOperationState')
829
+ .withArgs(reentrantBatchOperation.id, GovernorHelper.proposalStatesToBitMap(OperationState.Ready));
830
+
831
+ // Disable reentrancy
832
+ await reentrant.disableReentrancy();
833
+ const nonReentrantBatchOperation = reentrantBatchOperation; // Not anymore
834
+
835
+ // Try again successfully
836
+ const tx = this.mock
837
+ .connect(this.executor)
838
+ .executeBatch(
839
+ nonReentrantBatchOperation.targets,
840
+ nonReentrantBatchOperation.values,
841
+ nonReentrantBatchOperation.payloads,
842
+ nonReentrantBatchOperation.predecessor,
843
+ nonReentrantBatchOperation.salt,
844
+ );
845
+ for (const i in nonReentrantBatchOperation.targets) {
846
+ await expect(tx)
847
+ .to.emit(this.mock, 'CallExecuted')
848
+ .withArgs(
849
+ nonReentrantBatchOperation.id,
850
+ i,
851
+ nonReentrantBatchOperation.targets[i],
852
+ nonReentrantBatchOperation.values[i],
853
+ nonReentrantBatchOperation.payloads[i],
854
+ );
855
+ }
634
856
  });
635
857
  });
636
858
  });
637
859
 
638
860
  it('partial execution', async function () {
639
861
  const operation = genOperationBatch(
862
+ [this.callreceivermock, this.callreceivermock, this.callreceivermock],
863
+ [0n, 0n, 0n],
640
864
  [
641
- this.callreceivermock.address,
642
- this.callreceivermock.address,
643
- this.callreceivermock.address,
644
- ],
645
- [
646
- 0,
647
- 0,
648
- 0,
865
+ this.callreceivermock.interface.encodeFunctionData('mockFunction'),
866
+ this.callreceivermock.interface.encodeFunctionData('mockFunctionRevertsNoReason'),
867
+ this.callreceivermock.interface.encodeFunctionData('mockFunction'),
649
868
  ],
650
- [
651
- this.callreceivermock.contract.methods.mockFunction().encodeABI(),
652
- this.callreceivermock.contract.methods.mockFunctionThrows().encodeABI(),
653
- this.callreceivermock.contract.methods.mockFunction().encodeABI(),
654
- ],
655
- ZERO_BYTES32,
869
+ ethers.ZeroHash,
656
870
  '0x8ac04aa0d6d66b8812fb41d39638d37af0a9ab11da507afd65c509f8ed079d3e',
657
871
  );
658
872
 
659
- await this.mock.scheduleBatch(
660
- operation.targets,
661
- operation.values,
662
- operation.payloads,
663
- operation.predecessor,
664
- operation.salt,
665
- MINDELAY,
666
- { from: proposer },
667
- );
668
- await time.increase(MINDELAY);
669
- await expectRevert(
670
- this.mock.executeBatch(
873
+ await this.mock
874
+ .connect(this.proposer)
875
+ .scheduleBatch(
671
876
  operation.targets,
672
877
  operation.values,
673
878
  operation.payloads,
674
879
  operation.predecessor,
675
880
  operation.salt,
676
- { from: executor },
677
- ),
678
- 'TimelockController: underlying transaction reverted',
679
- );
881
+ MINDELAY,
882
+ );
883
+
884
+ await this.mock.getTimestamp(operation.id).then(time.increaseTo.timestamp);
885
+
886
+ await expect(
887
+ this.mock
888
+ .connect(this.executor)
889
+ .executeBatch(
890
+ operation.targets,
891
+ operation.values,
892
+ operation.payloads,
893
+ operation.predecessor,
894
+ operation.salt,
895
+ ),
896
+ ).to.be.revertedWithCustomError(this.mock, 'FailedCall');
680
897
  });
681
898
  });
682
899
  });
@@ -685,82 +902,78 @@ contract('TimelockController', function (accounts) {
685
902
  beforeEach(async function () {
686
903
  this.operation = genOperation(
687
904
  '0xC6837c44AA376dbe1d2709F13879E040CAb653ca',
688
- 0,
905
+ 0n,
689
906
  '0x296e58dd',
690
- ZERO_BYTES32,
907
+ ethers.ZeroHash,
691
908
  '0xa2485763600634800df9fc9646fb2c112cf98649c55f63dd1d9c7d13a64399d9',
692
909
  );
693
- ({ receipt: this.receipt, logs: this.logs } = await this.mock.schedule(
694
- this.operation.target,
695
- this.operation.value,
696
- this.operation.data,
697
- this.operation.predecessor,
698
- this.operation.salt,
699
- MINDELAY,
700
- { from: proposer },
701
- ));
910
+ await this.mock
911
+ .connect(this.proposer)
912
+ .schedule(
913
+ this.operation.target,
914
+ this.operation.value,
915
+ this.operation.data,
916
+ this.operation.predecessor,
917
+ this.operation.salt,
918
+ MINDELAY,
919
+ );
702
920
  });
703
921
 
704
922
  it('canceller can cancel', async function () {
705
- const receipt = await this.mock.cancel(this.operation.id, { from: canceller });
706
- expectEvent(receipt, 'Cancelled', { id: this.operation.id });
923
+ await expect(this.mock.connect(this.canceller).cancel(this.operation.id))
924
+ .to.emit(this.mock, 'Cancelled')
925
+ .withArgs(this.operation.id);
707
926
  });
708
927
 
709
928
  it('cannot cancel invalid operation', async function () {
710
- await expectRevert(
711
- this.mock.cancel(constants.ZERO_BYTES32, { from: canceller }),
712
- 'TimelockController: operation cannot be cancelled',
713
- );
929
+ await expect(this.mock.connect(this.canceller).cancel(ethers.ZeroHash))
930
+ .to.be.revertedWithCustomError(this.mock, 'TimelockUnexpectedOperationState')
931
+ .withArgs(
932
+ ethers.ZeroHash,
933
+ GovernorHelper.proposalStatesToBitMap([OperationState.Waiting, OperationState.Ready]),
934
+ );
714
935
  });
715
936
 
716
937
  it('prevent non-canceller from canceling', async function () {
717
- await expectRevert(
718
- this.mock.cancel(this.operation.id, { from: other }),
719
- `AccessControl: account ${other.toLowerCase()} is missing role ${CANCELLER_ROLE}`,
720
- );
938
+ await expect(this.mock.connect(this.other).cancel(this.operation.id))
939
+ .to.be.revertedWithCustomError(this.mock, 'AccessControlUnauthorizedAccount')
940
+ .withArgs(this.other, CANCELLER_ROLE);
721
941
  });
722
942
  });
723
943
  });
724
944
 
725
945
  describe('maintenance', function () {
726
946
  it('prevent unauthorized maintenance', async function () {
727
- await expectRevert(
728
- this.mock.updateDelay(0, { from: other }),
729
- 'TimelockController: caller must be timelock',
730
- );
947
+ await expect(this.mock.connect(this.other).updateDelay(0n))
948
+ .to.be.revertedWithCustomError(this.mock, 'TimelockUnauthorizedCaller')
949
+ .withArgs(this.other);
731
950
  });
732
951
 
733
952
  it('timelock scheduled maintenance', async function () {
734
953
  const newDelay = time.duration.hours(6);
735
954
  const operation = genOperation(
736
- this.mock.address,
737
- 0,
738
- this.mock.contract.methods.updateDelay(newDelay.toString()).encodeABI(),
739
- ZERO_BYTES32,
955
+ this.mock,
956
+ 0n,
957
+ this.mock.interface.encodeFunctionData('updateDelay', [newDelay]),
958
+ ethers.ZeroHash,
740
959
  '0xf8e775b2c5f4d66fb5c7fa800f35ef518c262b6014b3c0aee6ea21bff157f108',
741
960
  );
742
961
 
743
- await this.mock.schedule(
744
- operation.target,
745
- operation.value,
746
- operation.data,
747
- operation.predecessor,
748
- operation.salt,
749
- MINDELAY,
750
- { from: proposer },
751
- );
752
- await time.increase(MINDELAY);
753
- const receipt = await this.mock.execute(
754
- operation.target,
755
- operation.value,
756
- operation.data,
757
- operation.predecessor,
758
- operation.salt,
759
- { from: executor },
760
- );
761
- expectEvent(receipt, 'MinDelayChange', { newDuration: newDelay.toString(), oldDuration: MINDELAY });
962
+ await this.mock
963
+ .connect(this.proposer)
964
+ .schedule(operation.target, operation.value, operation.data, operation.predecessor, operation.salt, MINDELAY);
965
+
966
+ await this.mock.getTimestamp(operation.id).then(time.increaseTo.timestamp);
762
967
 
763
- expect(await this.mock.getMinDelay()).to.be.bignumber.equal(newDelay);
968
+ await expect(
969
+ this.mock
970
+ .connect(this.executor)
971
+ .execute(operation.target, operation.value, operation.data, operation.predecessor, operation.salt),
972
+ )
973
+ .to.emit(this.mock, 'MinDelayChange')
974
+ .withArgs(MINDELAY, newDelay);
975
+
976
+ expect(await this.mock.getMinDelay()).to.equal(newDelay);
764
977
  });
765
978
  });
766
979
 
@@ -768,70 +981,77 @@ contract('TimelockController', function (accounts) {
768
981
  beforeEach(async function () {
769
982
  this.operation1 = genOperation(
770
983
  '0xdE66bD4c97304200A95aE0AadA32d6d01A867E39',
771
- 0,
984
+ 0n,
772
985
  '0x01dc731a',
773
- ZERO_BYTES32,
986
+ ethers.ZeroHash,
774
987
  '0x64e932133c7677402ead2926f86205e2ca4686aebecf5a8077627092b9bb2feb',
775
988
  );
776
989
  this.operation2 = genOperation(
777
990
  '0x3c7944a3F1ee7fc8c5A5134ba7c79D11c3A1FCa3',
778
- 0,
991
+ 0n,
779
992
  '0x8f531849',
780
993
  this.operation1.id,
781
994
  '0x036e1311cac523f9548e6461e29fb1f8f9196b91910a41711ea22f5de48df07d',
782
995
  );
783
- await this.mock.schedule(
784
- this.operation1.target,
785
- this.operation1.value,
786
- this.operation1.data,
787
- this.operation1.predecessor,
788
- this.operation1.salt,
789
- MINDELAY,
790
- { from: proposer },
791
- );
792
- await this.mock.schedule(
793
- this.operation2.target,
794
- this.operation2.value,
795
- this.operation2.data,
796
- this.operation2.predecessor,
797
- this.operation2.salt,
798
- MINDELAY,
799
- { from: proposer },
800
- );
801
- await time.increase(MINDELAY);
802
- });
803
-
804
- it('cannot execute before dependency', async function () {
805
- await expectRevert(
806
- this.mock.execute(
996
+ await this.mock
997
+ .connect(this.proposer)
998
+ .schedule(
999
+ this.operation1.target,
1000
+ this.operation1.value,
1001
+ this.operation1.data,
1002
+ this.operation1.predecessor,
1003
+ this.operation1.salt,
1004
+ MINDELAY,
1005
+ );
1006
+ await this.mock
1007
+ .connect(this.proposer)
1008
+ .schedule(
807
1009
  this.operation2.target,
808
1010
  this.operation2.value,
809
1011
  this.operation2.data,
810
1012
  this.operation2.predecessor,
811
1013
  this.operation2.salt,
812
- { from: executor },
813
- ),
814
- 'TimelockController: missing dependency',
815
- );
1014
+ MINDELAY,
1015
+ );
1016
+
1017
+ await this.mock.getTimestamp(this.operation2.id).then(time.increaseTo.timestamp);
1018
+ });
1019
+
1020
+ it('cannot execute before dependency', async function () {
1021
+ await expect(
1022
+ this.mock
1023
+ .connect(this.executor)
1024
+ .execute(
1025
+ this.operation2.target,
1026
+ this.operation2.value,
1027
+ this.operation2.data,
1028
+ this.operation2.predecessor,
1029
+ this.operation2.salt,
1030
+ ),
1031
+ )
1032
+ .to.be.revertedWithCustomError(this.mock, 'TimelockUnexecutedPredecessor')
1033
+ .withArgs(this.operation1.id);
816
1034
  });
817
1035
 
818
1036
  it('can execute after dependency', async function () {
819
- await this.mock.execute(
820
- this.operation1.target,
821
- this.operation1.value,
822
- this.operation1.data,
823
- this.operation1.predecessor,
824
- this.operation1.salt,
825
- { from: executor },
826
- );
827
- await this.mock.execute(
828
- this.operation2.target,
829
- this.operation2.value,
830
- this.operation2.data,
831
- this.operation2.predecessor,
832
- this.operation2.salt,
833
- { from: executor },
834
- );
1037
+ await this.mock
1038
+ .connect(this.executor)
1039
+ .execute(
1040
+ this.operation1.target,
1041
+ this.operation1.value,
1042
+ this.operation1.data,
1043
+ this.operation1.predecessor,
1044
+ this.operation1.salt,
1045
+ );
1046
+ await this.mock
1047
+ .connect(this.executor)
1048
+ .execute(
1049
+ this.operation2.target,
1050
+ this.operation2.value,
1051
+ this.operation2.data,
1052
+ this.operation2.predecessor,
1053
+ this.operation2.salt,
1054
+ );
835
1055
  });
836
1056
  });
837
1057
 
@@ -840,294 +1060,219 @@ contract('TimelockController', function (accounts) {
840
1060
 
841
1061
  it('call', async function () {
842
1062
  const operation = genOperation(
843
- this.implementation2.address,
844
- 0,
845
- this.implementation2.contract.methods.setValue(42).encodeABI(),
846
- ZERO_BYTES32,
1063
+ this.implementation2,
1064
+ 0n,
1065
+ this.implementation2.interface.encodeFunctionData('setValue', [42n]),
1066
+ ethers.ZeroHash,
847
1067
  '0x8043596363daefc89977b25f9d9b4d06c3910959ef0c4d213557a903e1b555e2',
848
1068
  );
849
1069
 
850
- await this.mock.schedule(
851
- operation.target,
852
- operation.value,
853
- operation.data,
854
- operation.predecessor,
855
- operation.salt,
856
- MINDELAY,
857
- { from: proposer },
858
- );
859
- await time.increase(MINDELAY);
860
- await this.mock.execute(
861
- operation.target,
862
- operation.value,
863
- operation.data,
864
- operation.predecessor,
865
- operation.salt,
866
- { from: executor },
867
- );
1070
+ await this.mock
1071
+ .connect(this.proposer)
1072
+ .schedule(operation.target, operation.value, operation.data, operation.predecessor, operation.salt, MINDELAY);
1073
+
1074
+ await this.mock.getTimestamp(operation.id).then(time.increaseTo.timestamp);
1075
+
1076
+ await this.mock
1077
+ .connect(this.executor)
1078
+ .execute(operation.target, operation.value, operation.data, operation.predecessor, operation.salt);
868
1079
 
869
- expect(await this.implementation2.getValue()).to.be.bignumber.equal(web3.utils.toBN(42));
1080
+ expect(await this.implementation2.getValue()).to.equal(42n);
870
1081
  });
871
1082
 
872
1083
  it('call reverting', async function () {
873
1084
  const operation = genOperation(
874
- this.callreceivermock.address,
875
- 0,
876
- this.callreceivermock.contract.methods.mockFunctionRevertsNoReason().encodeABI(),
877
- ZERO_BYTES32,
1085
+ this.callreceivermock,
1086
+ 0n,
1087
+ this.callreceivermock.interface.encodeFunctionData('mockFunctionRevertsNoReason'),
1088
+ ethers.ZeroHash,
878
1089
  '0xb1b1b276fdf1a28d1e00537ea73b04d56639128b08063c1a2f70a52e38cba693',
879
1090
  );
880
1091
 
881
- await this.mock.schedule(
882
- operation.target,
883
- operation.value,
884
- operation.data,
885
- operation.predecessor,
886
- operation.salt,
887
- MINDELAY,
888
- { from: proposer },
889
- );
890
- await time.increase(MINDELAY);
891
- await expectRevert(
892
- this.mock.execute(
893
- operation.target,
894
- operation.value,
895
- operation.data,
896
- operation.predecessor,
897
- operation.salt,
898
- { from: executor },
899
- ),
900
- 'TimelockController: underlying transaction reverted',
901
- );
1092
+ await this.mock
1093
+ .connect(this.proposer)
1094
+ .schedule(operation.target, operation.value, operation.data, operation.predecessor, operation.salt, MINDELAY);
1095
+
1096
+ await this.mock.getTimestamp(operation.id).then(time.increaseTo.timestamp);
1097
+
1098
+ await expect(
1099
+ this.mock
1100
+ .connect(this.executor)
1101
+ .execute(operation.target, operation.value, operation.data, operation.predecessor, operation.salt),
1102
+ ).to.be.revertedWithCustomError(this.mock, 'FailedCall');
902
1103
  });
903
1104
 
904
1105
  it('call throw', async function () {
905
1106
  const operation = genOperation(
906
- this.callreceivermock.address,
907
- 0,
908
- this.callreceivermock.contract.methods.mockFunctionThrows().encodeABI(),
909
- ZERO_BYTES32,
1107
+ this.callreceivermock,
1108
+ 0n,
1109
+ this.callreceivermock.interface.encodeFunctionData('mockFunctionThrows'),
1110
+ ethers.ZeroHash,
910
1111
  '0xe5ca79f295fc8327ee8a765fe19afb58f4a0cbc5053642bfdd7e73bc68e0fc67',
911
1112
  );
912
1113
 
913
- await this.mock.schedule(
914
- operation.target,
915
- operation.value,
916
- operation.data,
917
- operation.predecessor,
918
- operation.salt,
919
- MINDELAY,
920
- { from: proposer },
921
- );
922
- await time.increase(MINDELAY);
923
- await expectRevert(
924
- this.mock.execute(
925
- operation.target,
926
- operation.value,
927
- operation.data,
928
- operation.predecessor,
929
- operation.salt,
930
- { from: executor },
931
- ),
932
- 'TimelockController: underlying transaction reverted',
933
- );
1114
+ await this.mock
1115
+ .connect(this.proposer)
1116
+ .schedule(operation.target, operation.value, operation.data, operation.predecessor, operation.salt, MINDELAY);
1117
+
1118
+ await this.mock.getTimestamp(operation.id).then(time.increaseTo.timestamp);
1119
+
1120
+ // Targeted function reverts with a panic code (0x1) + the timelock bubble the panic code
1121
+ await expect(
1122
+ this.mock
1123
+ .connect(this.executor)
1124
+ .execute(operation.target, operation.value, operation.data, operation.predecessor, operation.salt),
1125
+ ).to.be.revertedWithPanic(PANIC_CODES.ASSERTION_ERROR);
934
1126
  });
935
1127
 
936
1128
  it('call out of gas', async function () {
937
1129
  const operation = genOperation(
938
- this.callreceivermock.address,
939
- 0,
940
- this.callreceivermock.contract.methods.mockFunctionOutOfGas().encodeABI(),
941
- ZERO_BYTES32,
1130
+ this.callreceivermock,
1131
+ 0n,
1132
+ this.callreceivermock.interface.encodeFunctionData('mockFunctionOutOfGas'),
1133
+ ethers.ZeroHash,
942
1134
  '0xf3274ce7c394c5b629d5215723563a744b817e1730cca5587c567099a14578fd',
943
1135
  );
944
1136
 
945
- await this.mock.schedule(
946
- operation.target,
947
- operation.value,
948
- operation.data,
949
- operation.predecessor,
950
- operation.salt,
951
- MINDELAY,
952
- { from: proposer },
953
- );
954
- await time.increase(MINDELAY);
955
- await expectRevert(
956
- this.mock.execute(
957
- operation.target,
958
- operation.value,
959
- operation.data,
960
- operation.predecessor,
961
- operation.salt,
962
- { from: executor, gas: '70000' },
963
- ),
964
- 'TimelockController: underlying transaction reverted',
965
- );
1137
+ await this.mock
1138
+ .connect(this.proposer)
1139
+ .schedule(operation.target, operation.value, operation.data, operation.predecessor, operation.salt, MINDELAY);
1140
+
1141
+ await this.mock.getTimestamp(operation.id).then(time.increaseTo.timestamp);
1142
+
1143
+ await expect(
1144
+ this.mock
1145
+ .connect(this.executor)
1146
+ .execute(operation.target, operation.value, operation.data, operation.predecessor, operation.salt, {
1147
+ gasLimit: '100000',
1148
+ }),
1149
+ ).to.be.revertedWithCustomError(this.mock, 'FailedCall');
966
1150
  });
967
1151
 
968
1152
  it('call payable with eth', async function () {
969
1153
  const operation = genOperation(
970
- this.callreceivermock.address,
1154
+ this.callreceivermock,
971
1155
  1,
972
- this.callreceivermock.contract.methods.mockFunction().encodeABI(),
973
- ZERO_BYTES32,
1156
+ this.callreceivermock.interface.encodeFunctionData('mockFunction'),
1157
+ ethers.ZeroHash,
974
1158
  '0x5ab73cd33477dcd36c1e05e28362719d0ed59a7b9ff14939de63a43073dc1f44',
975
1159
  );
976
1160
 
977
- await this.mock.schedule(
978
- operation.target,
979
- operation.value,
980
- operation.data,
981
- operation.predecessor,
982
- operation.salt,
983
- MINDELAY,
984
- { from: proposer },
985
- );
986
- await time.increase(MINDELAY);
987
-
988
- expect(await web3.eth.getBalance(this.mock.address)).to.be.bignumber.equal(web3.utils.toBN(0));
989
- expect(await web3.eth.getBalance(this.callreceivermock.address)).to.be.bignumber.equal(web3.utils.toBN(0));
990
-
991
- await this.mock.execute(
992
- operation.target,
993
- operation.value,
994
- operation.data,
995
- operation.predecessor,
996
- operation.salt,
997
- { from: executor, value: 1 },
998
- );
1161
+ await this.mock
1162
+ .connect(this.proposer)
1163
+ .schedule(operation.target, operation.value, operation.data, operation.predecessor, operation.salt, MINDELAY);
1164
+
1165
+ await this.mock.getTimestamp(operation.id).then(time.increaseTo.timestamp);
1166
+
1167
+ expect(await ethers.provider.getBalance(this.mock)).to.equal(0n);
1168
+ expect(await ethers.provider.getBalance(this.callreceivermock)).to.equal(0n);
1169
+
1170
+ await this.mock
1171
+ .connect(this.executor)
1172
+ .execute(operation.target, operation.value, operation.data, operation.predecessor, operation.salt, {
1173
+ value: 1,
1174
+ });
999
1175
 
1000
- expect(await web3.eth.getBalance(this.mock.address)).to.be.bignumber.equal(web3.utils.toBN(0));
1001
- expect(await web3.eth.getBalance(this.callreceivermock.address)).to.be.bignumber.equal(web3.utils.toBN(1));
1176
+ expect(await ethers.provider.getBalance(this.mock)).to.equal(0n);
1177
+ expect(await ethers.provider.getBalance(this.callreceivermock)).to.equal(1n);
1002
1178
  });
1003
1179
 
1004
1180
  it('call nonpayable with eth', async function () {
1005
1181
  const operation = genOperation(
1006
- this.callreceivermock.address,
1182
+ this.callreceivermock,
1007
1183
  1,
1008
- this.callreceivermock.contract.methods.mockFunctionNonPayable().encodeABI(),
1009
- ZERO_BYTES32,
1184
+ this.callreceivermock.interface.encodeFunctionData('mockFunctionNonPayable'),
1185
+ ethers.ZeroHash,
1010
1186
  '0xb78edbd920c7867f187e5aa6294ae5a656cfbf0dea1ccdca3751b740d0f2bdf8',
1011
1187
  );
1012
1188
 
1013
- await this.mock.schedule(
1014
- operation.target,
1015
- operation.value,
1016
- operation.data,
1017
- operation.predecessor,
1018
- operation.salt,
1019
- MINDELAY,
1020
- { from: proposer },
1021
- );
1022
- await time.increase(MINDELAY);
1023
-
1024
- expect(await web3.eth.getBalance(this.mock.address)).to.be.bignumber.equal(web3.utils.toBN(0));
1025
- expect(await web3.eth.getBalance(this.callreceivermock.address)).to.be.bignumber.equal(web3.utils.toBN(0));
1026
-
1027
- await expectRevert(
1028
- this.mock.execute(
1029
- operation.target,
1030
- operation.value,
1031
- operation.data,
1032
- operation.predecessor,
1033
- operation.salt,
1034
- { from: executor },
1035
- ),
1036
- 'TimelockController: underlying transaction reverted',
1037
- );
1189
+ await this.mock
1190
+ .connect(this.proposer)
1191
+ .schedule(operation.target, operation.value, operation.data, operation.predecessor, operation.salt, MINDELAY);
1192
+
1193
+ await this.mock.getTimestamp(operation.id).then(time.increaseTo.timestamp);
1038
1194
 
1039
- expect(await web3.eth.getBalance(this.mock.address)).to.be.bignumber.equal(web3.utils.toBN(0));
1040
- expect(await web3.eth.getBalance(this.callreceivermock.address)).to.be.bignumber.equal(web3.utils.toBN(0));
1195
+ expect(await ethers.provider.getBalance(this.mock)).to.equal(0n);
1196
+ expect(await ethers.provider.getBalance(this.callreceivermock)).to.equal(0n);
1197
+
1198
+ await expect(
1199
+ this.mock
1200
+ .connect(this.executor)
1201
+ .execute(operation.target, operation.value, operation.data, operation.predecessor, operation.salt),
1202
+ ).to.be.revertedWithCustomError(this.mock, 'FailedCall');
1203
+
1204
+ expect(await ethers.provider.getBalance(this.mock)).to.equal(0n);
1205
+ expect(await ethers.provider.getBalance(this.callreceivermock)).to.equal(0n);
1041
1206
  });
1042
1207
 
1043
1208
  it('call reverting with eth', async function () {
1044
1209
  const operation = genOperation(
1045
- this.callreceivermock.address,
1210
+ this.callreceivermock,
1046
1211
  1,
1047
- this.callreceivermock.contract.methods.mockFunctionRevertsNoReason().encodeABI(),
1048
- ZERO_BYTES32,
1212
+ this.callreceivermock.interface.encodeFunctionData('mockFunctionRevertsNoReason'),
1213
+ ethers.ZeroHash,
1049
1214
  '0xdedb4563ef0095db01d81d3f2decf57cf83e4a72aa792af14c43a792b56f4de6',
1050
1215
  );
1051
1216
 
1052
- await this.mock.schedule(
1053
- operation.target,
1054
- operation.value,
1055
- operation.data,
1056
- operation.predecessor,
1057
- operation.salt,
1058
- MINDELAY,
1059
- { from: proposer },
1060
- );
1061
- await time.increase(MINDELAY);
1062
-
1063
- expect(await web3.eth.getBalance(this.mock.address)).to.be.bignumber.equal(web3.utils.toBN(0));
1064
- expect(await web3.eth.getBalance(this.callreceivermock.address)).to.be.bignumber.equal(web3.utils.toBN(0));
1065
-
1066
- await expectRevert(
1067
- this.mock.execute(
1068
- operation.target,
1069
- operation.value,
1070
- operation.data,
1071
- operation.predecessor,
1072
- operation.salt,
1073
- { from: executor },
1074
- ),
1075
- 'TimelockController: underlying transaction reverted',
1076
- );
1217
+ await this.mock
1218
+ .connect(this.proposer)
1219
+ .schedule(operation.target, operation.value, operation.data, operation.predecessor, operation.salt, MINDELAY);
1220
+
1221
+ await this.mock.getTimestamp(operation.id).then(time.increaseTo.timestamp);
1222
+
1223
+ expect(await ethers.provider.getBalance(this.mock)).to.equal(0n);
1224
+ expect(await ethers.provider.getBalance(this.callreceivermock)).to.equal(0n);
1077
1225
 
1078
- expect(await web3.eth.getBalance(this.mock.address)).to.be.bignumber.equal(web3.utils.toBN(0));
1079
- expect(await web3.eth.getBalance(this.callreceivermock.address)).to.be.bignumber.equal(web3.utils.toBN(0));
1226
+ await expect(
1227
+ this.mock
1228
+ .connect(this.executor)
1229
+ .execute(operation.target, operation.value, operation.data, operation.predecessor, operation.salt),
1230
+ ).to.be.revertedWithCustomError(this.mock, 'FailedCall');
1231
+
1232
+ expect(await ethers.provider.getBalance(this.mock)).to.equal(0n);
1233
+ expect(await ethers.provider.getBalance(this.callreceivermock)).to.equal(0n);
1080
1234
  });
1081
1235
  });
1082
1236
 
1083
1237
  describe('safe receive', function () {
1084
1238
  describe('ERC721', function () {
1085
- const name = 'Non Fungible Token';
1086
- const symbol = 'NFT';
1087
- const tokenId = new BN(1);
1239
+ const tokenId = 1n;
1088
1240
 
1089
1241
  beforeEach(async function () {
1090
- this.token = await ERC721Mock.new(name, symbol);
1091
- await this.token.mint(other, tokenId);
1242
+ this.token = await ethers.deployContract('$ERC721', ['Non Fungible Token', 'NFT']);
1243
+ await this.token.$_mint(this.other, tokenId);
1092
1244
  });
1093
1245
 
1094
1246
  it('can receive an ERC721 safeTransfer', async function () {
1095
- await this.token.safeTransferFrom(other, this.mock.address, tokenId, { from: other });
1247
+ await this.token.connect(this.other).safeTransferFrom(this.other, this.mock, tokenId);
1096
1248
  });
1097
1249
  });
1098
1250
 
1099
1251
  describe('ERC1155', function () {
1100
- const uri = 'https://token-cdn-domain/{id}.json';
1101
1252
  const tokenIds = {
1102
- 1: new BN(1000),
1103
- 2: new BN(2000),
1104
- 3: new BN(3000),
1253
+ 1: 1000n,
1254
+ 2: 2000n,
1255
+ 3: 3000n,
1105
1256
  };
1106
1257
 
1107
1258
  beforeEach(async function () {
1108
- this.token = await ERC1155Mock.new(uri);
1109
- await this.token.mintBatch(other, Object.keys(tokenIds), Object.values(tokenIds), '0x');
1259
+ this.token = await ethers.deployContract('$ERC1155', ['https://token-cdn-domain/{id}.json']);
1260
+ await this.token.$_mintBatch(this.other, Object.keys(tokenIds), Object.values(tokenIds), '0x');
1110
1261
  });
1111
1262
 
1112
1263
  it('can receive ERC1155 safeTransfer', async function () {
1113
- await this.token.safeTransferFrom(
1114
- other,
1115
- this.mock.address,
1116
- ...Object.entries(tokenIds)[0], // id + amount
1264
+ await this.token.connect(this.other).safeTransferFrom(
1265
+ this.other,
1266
+ this.mock,
1267
+ ...Object.entries(tokenIds)[0n], // id + amount
1117
1268
  '0x',
1118
- { from: other },
1119
1269
  );
1120
1270
  });
1121
1271
 
1122
1272
  it('can receive ERC1155 safeBatchTransfer', async function () {
1123
- await this.token.safeBatchTransferFrom(
1124
- other,
1125
- this.mock.address,
1126
- Object.keys(tokenIds),
1127
- Object.values(tokenIds),
1128
- '0x',
1129
- { from: other },
1130
- );
1273
+ await this.token
1274
+ .connect(this.other)
1275
+ .safeBatchTransferFrom(this.other, this.mock, Object.keys(tokenIds), Object.values(tokenIds), '0x');
1131
1276
  });
1132
1277
  });
1133
1278
  });