polkamarkets-js 3.1.10 → 3.2.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 (3389) hide show
  1. package/.gitmodules +18 -0
  2. package/README.md +356 -53
  3. package/abis/AccessControl.json +1 -0
  4. package/abis/Address.json +1 -0
  5. package/abis/BalanceHolder_ERC20.json +1 -0
  6. package/abis/CeilDiv.json +1 -0
  7. package/abis/CeilDivBad.json +1 -0
  8. package/abis/CeilDivGood.json +1 -0
  9. package/abis/Clones.json +1 -0
  10. package/abis/CommonBase.json +1 -0
  11. package/abis/Context.json +1 -0
  12. package/abis/ContextUpgradeable.json +1 -0
  13. package/abis/Create2.json +1 -0
  14. package/abis/CreateMarketLib.json +1 -0
  15. package/abis/DeployProxy.json +1 -0
  16. package/abis/DeployUpgradeablePM.json +1 -0
  17. package/abis/ERC165.json +1 -0
  18. package/abis/ERC1967Proxy.json +1 -0
  19. package/abis/ERC1967Utils.json +1 -0
  20. package/abis/ERC20.json +1 -0
  21. package/abis/ERC20Burnable.json +1 -0
  22. package/abis/ERC20MinterPauser.json +1 -0
  23. package/abis/ERC20Pausable.json +1 -0
  24. package/abis/Errors.json +1 -0
  25. package/abis/FantasyERC20.json +1 -0
  26. package/abis/IAccessControl.json +1 -0
  27. package/abis/IBalanceHolder_ERC20.json +1 -0
  28. package/abis/IBeacon.json +1 -0
  29. package/abis/IERC1155Errors.json +1 -0
  30. package/abis/IERC1363.json +1 -0
  31. package/abis/IERC165.json +1 -0
  32. package/abis/IERC1822Proxiable.json +1 -0
  33. package/abis/IERC1967.json +1 -0
  34. package/abis/IERC20.json +1 -0
  35. package/abis/IERC20Errors.json +1 -0
  36. package/abis/IERC20Metadata.json +1 -0
  37. package/abis/IERC721.json +1 -0
  38. package/abis/IERC721Enumerable.json +1 -0
  39. package/abis/IERC721Errors.json +1 -0
  40. package/abis/IERC721Metadata.json +1 -0
  41. package/abis/IERC721TokenReceiver.json +1 -0
  42. package/abis/IFantasyERC20.json +1 -0
  43. package/abis/IMulticall3.json +1 -0
  44. package/abis/IPredictionMarketV3Factory.json +1 -0
  45. package/abis/IPredictionMarketV3Manager.json +1 -0
  46. package/abis/IPredictionMarketV3_2.json +1 -0
  47. package/abis/IPredictionMarketV3_4.json +1 -0
  48. package/abis/IRealityETH_ERC20.json +1 -0
  49. package/abis/IRealityETH_IERC20.json +1 -0
  50. package/abis/IWETH.json +1 -0
  51. package/abis/Initializable.json +1 -0
  52. package/abis/LandFactory.json +1 -0
  53. package/abis/MockERC20.json +1 -0
  54. package/abis/MockERC721.json +1 -0
  55. package/abis/Ownable.json +1 -0
  56. package/abis/Ownable2StepUpgradeable.json +1 -0
  57. package/abis/OwnableUpgradeable.json +1 -0
  58. package/abis/Pausable.json +1 -0
  59. package/abis/PredictionMarketManagerTest.json +1 -0
  60. package/abis/PredictionMarketTest.json +1 -0
  61. package/abis/PredictionMarketV33Flow.json +1 -0
  62. package/abis/PredictionMarketV3Controller.json +1 -0
  63. package/abis/PredictionMarketV3Factory.json +1 -0
  64. package/abis/PredictionMarketV3Manager.json +1 -0
  65. package/abis/PredictionMarketV3Querier.json +1 -0
  66. package/abis/PredictionMarketV3_2.json +1 -0
  67. package/abis/PredictionMarketV3_4.json +1 -0
  68. package/abis/PredictionMarketV3_4Bad.json +1 -0
  69. package/abis/PredictionMarketV3_4Good.json +1 -0
  70. package/abis/Proxy.json +1 -0
  71. package/abis/RealityETH_ERC20_Factory.json +1 -0
  72. package/abis/RealityETH_ERC20_v3_0.json +1 -0
  73. package/abis/ReentrancyGuard.json +1 -0
  74. package/abis/ReentrancyGuardUpgradeable.json +1 -0
  75. package/abis/SafeERC20.json +1 -0
  76. package/abis/Script.json +1 -0
  77. package/abis/ScriptBase.json +1 -0
  78. package/abis/StdAssertions.json +1 -0
  79. package/abis/StdChains.json +1 -0
  80. package/abis/StdCheats.json +1 -0
  81. package/abis/StdCheatsSafe.json +1 -0
  82. package/abis/StdInvariant.json +1 -0
  83. package/abis/StdStyle.json +1 -0
  84. package/abis/StdUtils.json +1 -0
  85. package/abis/StorageSlot.json +1 -0
  86. package/abis/TestBase.json +1 -0
  87. package/abis/UUPSUpgradeable.json +1 -0
  88. package/abis/Vm.json +1 -0
  89. package/abis/VmSafe.json +1 -0
  90. package/abis/Voting.json +1 -0
  91. package/abis/WETH.json +1 -0
  92. package/abis/console.json +1 -0
  93. package/abis/safeconsole.json +1 -0
  94. package/abis/stdError.json +1 -0
  95. package/abis/stdJson.json +1 -0
  96. package/abis/stdMath.json +1 -0
  97. package/abis/stdStorage.json +1 -0
  98. package/abis/stdStorageSafe.json +1 -0
  99. package/abis/stdToml.json +1 -0
  100. package/abis/test.json +1 -0
  101. package/contracts/ERC20MinterPauser.sol +100 -0
  102. package/contracts/FantasyERC20.sol +12 -10
  103. package/contracts/IFantasyERC20.sol +1 -1
  104. package/contracts/IPredictionMarketV3Factory.sol +1 -1
  105. package/contracts/IPredictionMarketV3Manager.sol +5 -1
  106. package/contracts/IPredictionMarketV3_4.sol +219 -0
  107. package/contracts/IRealityETH_ERC20.sol +1 -1
  108. package/contracts/IWETH.sol +12 -0
  109. package/contracts/LandFactory.sol +71 -27
  110. package/contracts/PredictionMarketV3Controller.sol +7 -7
  111. package/contracts/PredictionMarketV3Factory.sol +7 -5
  112. package/contracts/PredictionMarketV3Manager.sol +7 -7
  113. package/contracts/PredictionMarketV3Querier.sol +14 -4
  114. package/contracts/PredictionMarketV3_4.sol +1492 -0
  115. package/contracts/PredictionMarketV3_4Bad.sol +1487 -0
  116. package/contracts/PredictionMarketV3_4Good.sol +1508 -0
  117. package/contracts/Proxy.sol +35 -0
  118. package/contracts/RealityETH_ERC20_Factory.sol +4 -11
  119. package/contracts/Voting.sol +4 -7
  120. package/contracts/WETH.sol +58 -0
  121. package/dist/Application.d.ts +201 -0
  122. package/dist/Application.d.ts.map +1 -0
  123. package/dist/Application.js +411 -0
  124. package/dist/Application.js.map +1 -0
  125. package/dist/index.d.ts +7 -0
  126. package/dist/index.d.ts.map +1 -0
  127. package/dist/index.js +16 -0
  128. package/dist/index.js.map +1 -0
  129. package/dist/interfaces/index.d.ts +4 -0
  130. package/dist/interfaces/index.d.ts.map +1 -0
  131. package/dist/interfaces/index.js +22 -0
  132. package/dist/interfaces/index.js.map +1 -0
  133. package/dist/models/AchievementsContract.d.ts +43 -0
  134. package/dist/models/AchievementsContract.d.ts.map +1 -0
  135. package/dist/models/AchievementsContract.js +177 -0
  136. package/dist/models/AchievementsContract.js.map +1 -0
  137. package/dist/models/ArbitrationContract.d.ts +23 -0
  138. package/dist/models/ArbitrationContract.d.ts.map +1 -0
  139. package/dist/models/ArbitrationContract.js +47 -0
  140. package/dist/models/ArbitrationContract.js.map +1 -0
  141. package/dist/models/ArbitrationProxyContract.d.ts +14 -0
  142. package/dist/models/ArbitrationProxyContract.d.ts.map +1 -0
  143. package/dist/models/ArbitrationProxyContract.js +26 -0
  144. package/dist/models/ArbitrationProxyContract.js.map +1 -0
  145. package/dist/models/ERC20Contract.d.ts +50 -0
  146. package/dist/models/ERC20Contract.d.ts.map +1 -0
  147. package/dist/models/ERC20Contract.js +99 -0
  148. package/dist/models/ERC20Contract.js.map +1 -0
  149. package/dist/models/FantasyERC20Contract.d.ts +13 -0
  150. package/dist/models/FantasyERC20Contract.d.ts.map +1 -0
  151. package/dist/models/FantasyERC20Contract.js +43 -0
  152. package/dist/models/FantasyERC20Contract.js.map +1 -0
  153. package/dist/models/IContract.d.ts +57 -0
  154. package/dist/models/IContract.d.ts.map +1 -0
  155. package/dist/models/IContract.js +515 -0
  156. package/dist/models/IContract.js.map +1 -0
  157. package/dist/models/PolkamarketsSmartAccount.d.ts +26 -0
  158. package/dist/models/PolkamarketsSmartAccount.d.ts.map +1 -0
  159. package/dist/models/PolkamarketsSmartAccount.js +100 -0
  160. package/dist/models/PolkamarketsSmartAccount.js.map +1 -0
  161. package/dist/models/PredictionMarketContract.d.ts +113 -0
  162. package/dist/models/PredictionMarketContract.d.ts.map +1 -0
  163. package/dist/models/PredictionMarketContract.js +298 -0
  164. package/dist/models/PredictionMarketContract.js.map +1 -0
  165. package/dist/models/PredictionMarketV2Contract.d.ts +157 -0
  166. package/dist/models/PredictionMarketV2Contract.d.ts.map +1 -0
  167. package/dist/models/PredictionMarketV2Contract.js +431 -0
  168. package/dist/models/PredictionMarketV2Contract.js.map +1 -0
  169. package/dist/models/PredictionMarketV3Contract.d.ts +42 -0
  170. package/dist/models/PredictionMarketV3Contract.d.ts.map +1 -0
  171. package/dist/models/PredictionMarketV3Contract.js +277 -0
  172. package/dist/models/PredictionMarketV3Contract.js.map +1 -0
  173. package/dist/models/PredictionMarketV3ControllerContract.d.ts +128 -0
  174. package/dist/models/PredictionMarketV3ControllerContract.d.ts.map +1 -0
  175. package/dist/models/PredictionMarketV3ControllerContract.js +174 -0
  176. package/dist/models/PredictionMarketV3ControllerContract.js.map +1 -0
  177. package/dist/models/PredictionMarketV3FactoryContract.d.ts +31 -0
  178. package/dist/models/PredictionMarketV3FactoryContract.d.ts.map +1 -0
  179. package/dist/models/PredictionMarketV3FactoryContract.js +81 -0
  180. package/dist/models/PredictionMarketV3FactoryContract.js.map +1 -0
  181. package/dist/models/PredictionMarketV3ManagerContract.d.ts +67 -0
  182. package/dist/models/PredictionMarketV3ManagerContract.d.ts.map +1 -0
  183. package/dist/models/PredictionMarketV3ManagerContract.js +97 -0
  184. package/dist/models/PredictionMarketV3ManagerContract.js.map +1 -0
  185. package/dist/models/PredictionMarketV3QuerierContract.d.ts +33 -0
  186. package/dist/models/PredictionMarketV3QuerierContract.d.ts.map +1 -0
  187. package/dist/models/PredictionMarketV3QuerierContract.js +61 -0
  188. package/dist/models/PredictionMarketV3QuerierContract.js.map +1 -0
  189. package/dist/models/PredictionMarketV3_2Contract.d.ts +32 -0
  190. package/dist/models/PredictionMarketV3_2Contract.d.ts.map +1 -0
  191. package/dist/models/PredictionMarketV3_2Contract.js +169 -0
  192. package/dist/models/PredictionMarketV3_2Contract.js.map +1 -0
  193. package/dist/models/RealitioERC20Contract.d.ts +16 -0
  194. package/dist/models/RealitioERC20Contract.d.ts.map +1 -0
  195. package/dist/models/RealitioERC20Contract.js +18 -0
  196. package/dist/models/RealitioERC20Contract.js.map +1 -0
  197. package/dist/models/VotingContract.d.ts +38 -0
  198. package/dist/models/VotingContract.d.ts.map +1 -0
  199. package/dist/models/VotingContract.js +85 -0
  200. package/dist/models/VotingContract.js.map +1 -0
  201. package/dist/models/WETH9Contract.d.ts +29 -0
  202. package/dist/models/WETH9Contract.d.ts.map +1 -0
  203. package/dist/models/WETH9Contract.js +44 -0
  204. package/dist/models/WETH9Contract.js.map +1 -0
  205. package/dist/models/index.d.ts +18 -0
  206. package/dist/models/index.d.ts.map +1 -0
  207. package/dist/models/index.js +37 -0
  208. package/dist/models/index.js.map +1 -0
  209. package/dist/types/contracts.d.ts +46 -0
  210. package/dist/types/contracts.d.ts.map +1 -0
  211. package/dist/types/contracts.js +3 -0
  212. package/dist/types/contracts.js.map +1 -0
  213. package/dist/types/index.d.ts +1 -0
  214. package/dist/types/index.d.ts.map +1 -0
  215. package/dist/types/index.js +3 -0
  216. package/dist/types/index.js.map +1 -0
  217. package/dist/utils/Account.d.ts +34 -0
  218. package/dist/utils/Account.d.ts.map +1 -0
  219. package/dist/utils/Account.js +38 -0
  220. package/dist/utils/Account.js.map +1 -0
  221. package/dist/utils/Contract.d.ts +31 -0
  222. package/dist/utils/Contract.d.ts.map +1 -0
  223. package/dist/utils/Contract.js +123 -0
  224. package/dist/utils/Contract.js.map +1 -0
  225. package/dist/utils/Numbers.d.ts +27 -0
  226. package/dist/utils/Numbers.d.ts.map +1 -0
  227. package/dist/utils/Numbers.js +87 -0
  228. package/dist/utils/Numbers.js.map +1 -0
  229. package/foundry.toml +11 -0
  230. package/lib/openzeppelin-contracts/.changeset/all-geese-stand.md +5 -0
  231. package/lib/openzeppelin-contracts/.changeset/clean-ways-push.md +5 -0
  232. package/lib/openzeppelin-contracts/.changeset/config.json +12 -0
  233. package/lib/openzeppelin-contracts/.changeset/dull-students-eat.md +5 -0
  234. package/lib/openzeppelin-contracts/.changeset/eight-radios-check.md +5 -0
  235. package/lib/openzeppelin-contracts/.changeset/fine-frogs-bake.md +5 -0
  236. package/lib/openzeppelin-contracts/.changeset/full-ways-help.md +5 -0
  237. package/lib/openzeppelin-contracts/.changeset/funny-years-yawn.md +5 -0
  238. package/lib/openzeppelin-contracts/.changeset/hot-grapes-lie.md +5 -0
  239. package/lib/openzeppelin-contracts/.changeset/lazy-poets-cheer.md +5 -0
  240. package/lib/openzeppelin-contracts/.changeset/long-hornets-mate.md +5 -0
  241. package/lib/openzeppelin-contracts/.changeset/lucky-donuts-scream.md +5 -0
  242. package/lib/openzeppelin-contracts/.changeset/major-feet-write.md +5 -0
  243. package/lib/openzeppelin-contracts/.changeset/new-days-tease.md +5 -0
  244. package/lib/openzeppelin-contracts/.changeset/nice-rings-wish.md +5 -0
  245. package/lib/openzeppelin-contracts/.changeset/pink-dolls-shop.md +5 -0
  246. package/lib/openzeppelin-contracts/.changeset/popular-geese-tan.md +5 -0
  247. package/lib/openzeppelin-contracts/.changeset/proud-tables-sip.md +5 -0
  248. package/lib/openzeppelin-contracts/.changeset/public-crabs-heal.md +5 -0
  249. package/lib/openzeppelin-contracts/.changeset/quiet-kiwis-feel.md +5 -0
  250. package/lib/openzeppelin-contracts/.changeset/rare-shirts-unite.md +5 -0
  251. package/lib/openzeppelin-contracts/.changeset/rich-cows-repair.md +5 -0
  252. package/lib/openzeppelin-contracts/.changeset/ripe-bears-hide.md +5 -0
  253. package/lib/openzeppelin-contracts/.changeset/rotten-apes-lie.md +5 -0
  254. package/lib/openzeppelin-contracts/.changeset/social-walls-obey.md +5 -0
  255. package/lib/openzeppelin-contracts/.changeset/sour-pens-shake.md +5 -0
  256. package/lib/openzeppelin-contracts/.changeset/strong-points-change.md +5 -0
  257. package/lib/openzeppelin-contracts/.changeset/tame-bears-mix.md +5 -0
  258. package/lib/openzeppelin-contracts/.changeset/violet-turtles-like.md +5 -0
  259. package/lib/openzeppelin-contracts/.changeset/wet-dodos-reply.md +5 -0
  260. package/lib/openzeppelin-contracts/.changeset/whole-plums-speak.md +5 -0
  261. package/lib/openzeppelin-contracts/.changeset/wild-baths-buy.md +5 -0
  262. package/lib/openzeppelin-contracts/.codecov.yml +4 -0
  263. package/lib/openzeppelin-contracts/.github/CODEOWNERS +10 -0
  264. package/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/bug_report.md +1 -1
  265. package/lib/openzeppelin-contracts/.github/PULL_REQUEST_TEMPLATE.md +1 -1
  266. package/lib/openzeppelin-contracts/.github/actions/gas-compare/action.yml +7 -5
  267. package/lib/openzeppelin-contracts/.github/actions/setup/action.yml +9 -7
  268. package/lib/openzeppelin-contracts/.github/actions/storage-layout/action.yml +57 -0
  269. package/lib/openzeppelin-contracts/.github/workflows/actionlint.yml +18 -0
  270. package/lib/openzeppelin-contracts/.github/workflows/changeset.yml +28 -0
  271. package/lib/openzeppelin-contracts/.github/workflows/checks.yml +67 -25
  272. package/lib/openzeppelin-contracts/.github/workflows/docs.yml +1 -1
  273. package/lib/openzeppelin-contracts/.github/workflows/formal-verification.yml +86 -0
  274. package/lib/openzeppelin-contracts/.github/workflows/release-cycle.yml +214 -0
  275. package/lib/openzeppelin-contracts/.github/workflows/upgradeable.yml +23 -12
  276. package/lib/openzeppelin-contracts/.gitmodules +7 -0
  277. package/lib/openzeppelin-contracts/.husky/pre-commit +2 -0
  278. package/lib/openzeppelin-contracts/.prettierrc +5 -4
  279. package/lib/openzeppelin-contracts/.solcover.js +19 -13
  280. package/lib/openzeppelin-contracts/CHANGELOG.md +918 -325
  281. package/lib/openzeppelin-contracts/CODE_OF_CONDUCT.md +2 -2
  282. package/lib/openzeppelin-contracts/CONTRIBUTING.md +19 -47
  283. package/lib/openzeppelin-contracts/FUNDING.json +10 -0
  284. package/lib/openzeppelin-contracts/GUIDELINES.md +115 -65
  285. package/lib/openzeppelin-contracts/LICENSE +1 -1
  286. package/lib/openzeppelin-contracts/README.md +40 -16
  287. package/lib/openzeppelin-contracts/RELEASING.md +32 -23
  288. package/lib/openzeppelin-contracts/SECURITY.md +34 -11
  289. package/lib/openzeppelin-contracts/audits/2017-03.md +292 -0
  290. package/lib/openzeppelin-contracts/audits/2018-10.pdf +0 -0
  291. package/lib/openzeppelin-contracts/audits/2022-10-Checkpoints.pdf +0 -0
  292. package/lib/openzeppelin-contracts/audits/2022-10-ERC4626.pdf +0 -0
  293. package/lib/openzeppelin-contracts/audits/2023-05-v4.9.pdf +0 -0
  294. package/lib/openzeppelin-contracts/audits/2023-10-v5.0.pdf +0 -0
  295. package/lib/openzeppelin-contracts/audits/2024-10-v5.1.pdf +0 -0
  296. package/lib/openzeppelin-contracts/audits/2024-12-v5.2.pdf +0 -0
  297. package/lib/openzeppelin-contracts/audits/2025-04-v5.3.pdf +0 -0
  298. package/lib/openzeppelin-contracts/audits/README.md +20 -0
  299. package/lib/openzeppelin-contracts/certora/Makefile +44 -14
  300. package/lib/openzeppelin-contracts/certora/README.md +43 -39
  301. package/lib/openzeppelin-contracts/certora/diff/access_manager_AccessManager.sol.patch +97 -0
  302. package/lib/openzeppelin-contracts/certora/harnesses/AccessControlDefaultAdminRulesHarness.sol +46 -0
  303. package/lib/openzeppelin-contracts/certora/harnesses/AccessControlHarness.sol +6 -0
  304. package/lib/openzeppelin-contracts/certora/harnesses/AccessManagedHarness.sol +36 -0
  305. package/lib/openzeppelin-contracts/certora/harnesses/AccessManagerHarness.sol +116 -0
  306. package/lib/openzeppelin-contracts/certora/harnesses/DoubleEndedQueueHarness.sol +58 -0
  307. package/lib/openzeppelin-contracts/certora/harnesses/ERC20FlashMintHarness.sol +36 -0
  308. package/lib/openzeppelin-contracts/certora/harnesses/ERC20PermitHarness.sol +16 -0
  309. package/lib/openzeppelin-contracts/certora/harnesses/ERC20WrapperHarness.sol +34 -0
  310. package/lib/openzeppelin-contracts/certora/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
  311. package/lib/openzeppelin-contracts/certora/harnesses/ERC721Harness.sol +33 -0
  312. package/lib/openzeppelin-contracts/certora/harnesses/ERC721ReceiverHarness.sol +11 -0
  313. package/lib/openzeppelin-contracts/certora/harnesses/EnumerableMapHarness.sol +55 -0
  314. package/lib/openzeppelin-contracts/certora/harnesses/EnumerableSetHarness.sol +35 -0
  315. package/lib/openzeppelin-contracts/certora/harnesses/InitializableHarness.sol +23 -0
  316. package/lib/openzeppelin-contracts/certora/harnesses/NoncesHarness.sol +14 -0
  317. package/lib/openzeppelin-contracts/certora/harnesses/Ownable2StepHarness.sol +10 -0
  318. package/lib/openzeppelin-contracts/certora/harnesses/OwnableHarness.sol +10 -0
  319. package/lib/openzeppelin-contracts/certora/harnesses/PausableHarness.sol +18 -0
  320. package/lib/openzeppelin-contracts/certora/harnesses/TimelockControllerHarness.sol +13 -0
  321. package/lib/openzeppelin-contracts/certora/reports/2021-10.pdf +0 -0
  322. package/lib/openzeppelin-contracts/certora/reports/2022-03.pdf +0 -0
  323. package/lib/openzeppelin-contracts/certora/reports/2022-05.pdf +0 -0
  324. package/lib/openzeppelin-contracts/certora/run.js +168 -0
  325. package/lib/openzeppelin-contracts/certora/specs/AccessControl.spec +119 -0
  326. package/lib/openzeppelin-contracts/certora/specs/AccessControlDefaultAdminRules.spec +464 -0
  327. package/lib/openzeppelin-contracts/certora/specs/AccessManaged.spec +34 -0
  328. package/lib/openzeppelin-contracts/certora/specs/AccessManager.spec +826 -0
  329. package/lib/openzeppelin-contracts/certora/specs/DoubleEndedQueue.spec +300 -0
  330. package/lib/openzeppelin-contracts/certora/specs/ERC20.spec +352 -0
  331. package/lib/openzeppelin-contracts/certora/specs/ERC20FlashMint.spec +55 -0
  332. package/lib/openzeppelin-contracts/certora/specs/ERC20Wrapper.spec +198 -0
  333. package/lib/openzeppelin-contracts/certora/specs/ERC721.spec +679 -0
  334. package/lib/openzeppelin-contracts/certora/specs/EnumerableMap.spec +333 -0
  335. package/lib/openzeppelin-contracts/certora/specs/EnumerableSet.spec +246 -0
  336. package/lib/openzeppelin-contracts/certora/specs/Initializable.spec +165 -0
  337. package/lib/openzeppelin-contracts/certora/specs/Nonces.spec +92 -0
  338. package/lib/openzeppelin-contracts/certora/specs/Ownable.spec +77 -0
  339. package/lib/openzeppelin-contracts/certora/specs/Ownable2Step.spec +108 -0
  340. package/lib/openzeppelin-contracts/certora/specs/Pausable.spec +96 -0
  341. package/lib/openzeppelin-contracts/certora/specs/TimelockController.spec +274 -0
  342. package/lib/openzeppelin-contracts/certora/specs/helpers/helpers.spec +12 -0
  343. package/lib/openzeppelin-contracts/certora/specs/methods/IAccessControl.spec +8 -0
  344. package/lib/openzeppelin-contracts/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
  345. package/lib/openzeppelin-contracts/certora/specs/methods/IAccessManaged.spec +5 -0
  346. package/lib/openzeppelin-contracts/certora/specs/methods/IAccessManager.spec +33 -0
  347. package/lib/openzeppelin-contracts/certora/specs/methods/IERC20.spec +11 -0
  348. package/lib/openzeppelin-contracts/certora/specs/methods/IERC2612.spec +5 -0
  349. package/lib/openzeppelin-contracts/certora/specs/methods/IERC3156FlashBorrower.spec +3 -0
  350. package/lib/openzeppelin-contracts/certora/specs/methods/IERC3156FlashLender.spec +5 -0
  351. package/lib/openzeppelin-contracts/certora/specs/methods/IERC5313.spec +3 -0
  352. package/lib/openzeppelin-contracts/certora/specs/methods/IERC721.spec +17 -0
  353. package/lib/openzeppelin-contracts/certora/specs/methods/IERC721Receiver.spec +3 -0
  354. package/lib/openzeppelin-contracts/certora/specs/methods/IOwnable.spec +5 -0
  355. package/lib/openzeppelin-contracts/certora/specs/methods/IOwnable2Step.spec +7 -0
  356. package/lib/openzeppelin-contracts/certora/specs.json +110 -0
  357. package/lib/openzeppelin-contracts/contracts/access/AccessControl.sol +41 -81
  358. package/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol +20 -10
  359. package/lib/openzeppelin-contracts/contracts/access/Ownable.sol +29 -12
  360. package/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol +16 -6
  361. package/lib/openzeppelin-contracts/contracts/access/README.adoc +23 -3
  362. package/lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol +372 -0
  363. package/lib/openzeppelin-contracts/contracts/access/extensions/AccessControlEnumerable.sol +81 -0
  364. package/lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol +192 -0
  365. package/lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlEnumerable.sol +31 -0
  366. package/lib/openzeppelin-contracts/contracts/access/manager/AccessManaged.sol +112 -0
  367. package/lib/openzeppelin-contracts/contracts/access/manager/AccessManager.sol +740 -0
  368. package/lib/openzeppelin-contracts/contracts/access/manager/AuthorityUtils.sol +36 -0
  369. package/lib/openzeppelin-contracts/contracts/access/manager/IAccessManaged.sol +32 -0
  370. package/lib/openzeppelin-contracts/contracts/access/manager/IAccessManager.sol +399 -0
  371. package/lib/openzeppelin-contracts/contracts/access/manager/IAuthority.sol +14 -0
  372. package/lib/openzeppelin-contracts/contracts/account/Account.sol +144 -0
  373. package/lib/openzeppelin-contracts/contracts/account/README.adoc +30 -0
  374. package/lib/openzeppelin-contracts/contracts/account/extensions/draft-AccountERC7579.sol +413 -0
  375. package/lib/openzeppelin-contracts/contracts/account/extensions/draft-AccountERC7579Hooked.sol +106 -0
  376. package/lib/openzeppelin-contracts/contracts/account/extensions/draft-ERC7821.sol +69 -0
  377. package/lib/openzeppelin-contracts/contracts/account/utils/EIP7702Utils.sol +20 -0
  378. package/lib/openzeppelin-contracts/contracts/account/utils/draft-ERC4337Utils.sol +159 -0
  379. package/lib/openzeppelin-contracts/contracts/account/utils/draft-ERC7579Utils.sol +280 -0
  380. package/lib/openzeppelin-contracts/contracts/finance/README.adoc +1 -7
  381. package/lib/openzeppelin-contracts/contracts/finance/VestingWallet.sol +42 -32
  382. package/lib/openzeppelin-contracts/contracts/finance/VestingWalletCliff.sol +54 -0
  383. package/lib/openzeppelin-contracts/contracts/governance/Governor.sol +474 -253
  384. package/lib/openzeppelin-contracts/contracts/governance/IGovernor.sol +236 -58
  385. package/lib/openzeppelin-contracts/contracts/governance/README.adoc +37 -16
  386. package/lib/openzeppelin-contracts/contracts/governance/TimelockController.sol +153 -108
  387. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingFractional.sol +190 -0
  388. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingOverridable.sol +222 -0
  389. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol +22 -33
  390. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorNoncesKeyed.sol +90 -0
  391. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorPreventLateQuorum.sol +24 -40
  392. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalGuardian.sol +58 -0
  393. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSequentialProposalId.sol +75 -0
  394. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSettings.sol +19 -27
  395. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorStorage.sol +125 -0
  396. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSuperQuorum.sol +58 -0
  397. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockAccess.sol +346 -0
  398. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockCompound.sol +47 -75
  399. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol +57 -56
  400. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol +43 -11
  401. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +38 -44
  402. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol +134 -0
  403. package/lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol +16 -18
  404. package/lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol +116 -75
  405. package/lib/openzeppelin-contracts/contracts/governance/utils/VotesExtended.sol +84 -0
  406. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1155.sol +3 -3
  407. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1155MetadataURI.sol +3 -3
  408. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1155Receiver.sol +3 -3
  409. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol +5 -7
  410. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol +54 -63
  411. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Receiver.sol +20 -20
  412. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Spender.sol +19 -23
  413. package/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol +3 -3
  414. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Implementer.sol +17 -3
  415. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Registry.sol +109 -3
  416. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol +24 -0
  417. package/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol +3 -3
  418. package/lib/openzeppelin-contracts/contracts/interfaces/IERC20Metadata.sol +3 -3
  419. package/lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol +2 -4
  420. package/lib/openzeppelin-contracts/contracts/interfaces/IERC2612.sol +8 -0
  421. package/lib/openzeppelin-contracts/contracts/interfaces/IERC2981.sol +10 -9
  422. package/lib/openzeppelin-contracts/contracts/interfaces/IERC3156.sol +4 -4
  423. package/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol +4 -6
  424. package/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol +4 -6
  425. package/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol +8 -18
  426. package/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol +20 -0
  427. package/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol +28 -0
  428. package/lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol +16 -0
  429. package/lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol +9 -0
  430. package/lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol +17 -0
  431. package/lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol +3 -3
  432. package/lib/openzeppelin-contracts/contracts/interfaces/IERC721Enumerable.sol +3 -3
  433. package/lib/openzeppelin-contracts/contracts/interfaces/IERC721Metadata.sol +3 -3
  434. package/lib/openzeppelin-contracts/contracts/interfaces/IERC721Receiver.sol +3 -3
  435. package/lib/openzeppelin-contracts/contracts/interfaces/IERC777.sol +197 -3
  436. package/lib/openzeppelin-contracts/contracts/interfaces/IERC777Recipient.sol +32 -3
  437. package/lib/openzeppelin-contracts/contracts/interfaces/IERC777Sender.sol +32 -3
  438. package/lib/openzeppelin-contracts/contracts/interfaces/IERC7913.sol +17 -0
  439. package/lib/openzeppelin-contracts/contracts/interfaces/README.adoc +50 -1
  440. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol +3 -3
  441. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC4337.sol +253 -0
  442. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol +161 -0
  443. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6909.sol +125 -0
  444. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7579.sol +226 -0
  445. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7674.sol +17 -0
  446. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7786.sol +64 -0
  447. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7802.sol +30 -0
  448. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7821.sol +43 -0
  449. package/lib/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol +62 -15
  450. package/lib/openzeppelin-contracts/contracts/metatx/ERC2771Forwarder.sol +372 -0
  451. package/lib/openzeppelin-contracts/contracts/metatx/README.adoc +6 -1
  452. package/lib/openzeppelin-contracts/contracts/mocks/AccessManagedTarget.sol +34 -0
  453. package/lib/openzeppelin-contracts/contracts/mocks/AccessManagerMock.sol +20 -0
  454. package/lib/openzeppelin-contracts/contracts/mocks/ArraysMock.sol +124 -4
  455. package/lib/openzeppelin-contracts/contracts/mocks/AuthorityMock.sol +69 -0
  456. package/lib/openzeppelin-contracts/contracts/mocks/Base64Dirty.sol +19 -0
  457. package/lib/openzeppelin-contracts/contracts/mocks/BatchCaller.sol +20 -0
  458. package/lib/openzeppelin-contracts/contracts/mocks/CallReceiverMock.sol +26 -5
  459. package/lib/openzeppelin-contracts/contracts/mocks/ConstructorMock.sol +34 -0
  460. package/lib/openzeppelin-contracts/contracts/mocks/ContextMock.sol +9 -7
  461. package/lib/openzeppelin-contracts/contracts/mocks/DummyImplementation.sol +10 -6
  462. package/lib/openzeppelin-contracts/contracts/mocks/EIP712Verifier.sol +16 -0
  463. package/lib/openzeppelin-contracts/contracts/mocks/ERC1271WalletMock.sol +7 -9
  464. package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165InterfacesSupported.sol +4 -4
  465. package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MaliciousData.sol +1 -1
  466. package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MissingData.sol +1 -1
  467. package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165NotSupported.sol +1 -1
  468. package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165ReturnBomb.sol +2 -2
  469. package/lib/openzeppelin-contracts/contracts/mocks/ERC2771ContextMock.sol +10 -4
  470. package/lib/openzeppelin-contracts/contracts/mocks/ERC3156FlashBorrowerMock.sol +6 -6
  471. package/lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol +1 -1
  472. package/lib/openzeppelin-contracts/contracts/mocks/InitializableMock.sol +6 -6
  473. package/lib/openzeppelin-contracts/contracts/mocks/MerkleProofCustomHashMock.sol +62 -0
  474. package/lib/openzeppelin-contracts/contracts/mocks/MerkleTreeMock.sol +52 -0
  475. package/lib/openzeppelin-contracts/contracts/mocks/MulticallHelper.sol +23 -0
  476. package/lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol +7 -12
  477. package/lib/openzeppelin-contracts/contracts/mocks/PausableMock.sol +2 -2
  478. package/lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol +4 -4
  479. package/lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol +13 -6
  480. package/lib/openzeppelin-contracts/contracts/mocks/ReentrancyTransientMock.sol +50 -0
  481. package/lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol +2 -2
  482. package/lib/openzeppelin-contracts/contracts/mocks/SingleInheritanceInitializableMocks.sol +2 -2
  483. package/lib/openzeppelin-contracts/contracts/mocks/Stateless.sol +55 -0
  484. package/lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol +61 -15
  485. package/lib/openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol +26 -0
  486. package/lib/openzeppelin-contracts/contracts/mocks/TransientSlotMock.sol +61 -0
  487. package/lib/openzeppelin-contracts/contracts/mocks/UpgradeableBeaconMock.sol +27 -0
  488. package/lib/openzeppelin-contracts/contracts/mocks/VotesExtendedMock.sol +42 -0
  489. package/lib/openzeppelin-contracts/contracts/mocks/VotesMock.sol +20 -18
  490. package/lib/openzeppelin-contracts/contracts/mocks/account/AccountMock.sol +169 -0
  491. package/lib/openzeppelin-contracts/contracts/mocks/account/modules/ERC7579Mock.sol +122 -0
  492. package/lib/openzeppelin-contracts/contracts/mocks/account/utils/ERC7579UtilsMock.sol +23 -0
  493. package/lib/openzeppelin-contracts/contracts/mocks/compound/CompTimelock.sol +1 -1
  494. package/lib/openzeppelin-contracts/contracts/mocks/docs/ERC20WithAutoMinerReward.sol +22 -0
  495. package/lib/openzeppelin-contracts/contracts/mocks/docs/ERC4626Fees.sol +109 -0
  496. package/lib/openzeppelin-contracts/contracts/mocks/docs/MyNFT.sol +9 -0
  497. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintBase.sol +25 -0
  498. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintMissing.sol +24 -0
  499. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintOnlyRole.sol +23 -0
  500. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlModified.sol +14 -0
  501. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessManagedERC20MintBase.sol +16 -0
  502. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/MyContractOwnable.sol +17 -0
  503. package/lib/openzeppelin-contracts/contracts/mocks/docs/account/MyAccountERC7702.sol +20 -0
  504. package/lib/openzeppelin-contracts/contracts/mocks/docs/account/MyFactoryAccount.sol +37 -0
  505. package/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyGovernor.sol +80 -0
  506. package/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyToken.sol +21 -0
  507. package/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenTimestampBased.sol +32 -0
  508. package/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenWrapped.sol +28 -0
  509. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC1155/GameItems.sol +21 -0
  510. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC1155/MyERC115HolderContract.sol +7 -0
  511. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC20/GLDToken.sol +11 -0
  512. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC6909/ERC6909GameItems.sol +26 -0
  513. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC721/GameItem.sol +19 -0
  514. package/lib/openzeppelin-contracts/contracts/mocks/docs/utilities/Base64NFT.sol +27 -0
  515. package/lib/openzeppelin-contracts/contracts/mocks/docs/utilities/Multicall.sol +15 -0
  516. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCountingOverridableMock.sol +18 -0
  517. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorFractionalMock.sol +14 -0
  518. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorMock.sol +14 -0
  519. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorNoncesKeyedMock.sol +45 -0
  520. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorPreventLateQuorumMock.sol +40 -0
  521. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorProposalGuardianMock.sol +27 -0
  522. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorSequentialProposalIdMock.sol +39 -0
  523. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorStorageMock.sol +79 -0
  524. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorSuperQuorumMock.sol +95 -0
  525. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockAccessMock.sol +70 -0
  526. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockCompoundMock.sol +69 -0
  527. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockControlMock.sol +69 -0
  528. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVoteMock.sol +20 -0
  529. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVotesSuperQuorumFractionMock.sol +37 -0
  530. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorWithParamsMock.sol +51 -0
  531. package/lib/openzeppelin-contracts/contracts/mocks/proxy/BadBeacon.sol +11 -0
  532. package/lib/openzeppelin-contracts/contracts/mocks/proxy/ClashingImplementation.sol +19 -0
  533. package/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSUpgradeableMock.sol +35 -0
  534. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1155ReceiverMock.sol +74 -0
  535. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ForceApproveMock.sol +13 -0
  536. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363NoReturnMock.sol +33 -0
  537. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ReceiverMock.sol +52 -0
  538. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ReturnFalseMock.sol +34 -0
  539. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363SpenderMock.sol +47 -0
  540. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ApprovalMock.sol +10 -0
  541. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20BridgeableMock.sol +26 -0
  542. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20DecimalsMock.sol +17 -0
  543. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ExcessDecimalsMock.sol +9 -0
  544. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20FlashMintMock.sol +26 -0
  545. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ForceApproveMock.sol +13 -0
  546. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20GetterHelper.sol +38 -0
  547. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol +16 -0
  548. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20MulticallMock.sol +8 -0
  549. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20NoReturnMock.sol +28 -0
  550. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20Reentrant.sol +39 -0
  551. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ReturnFalseMock.sol +19 -0
  552. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesAdditionalCheckpointsMock.sol +31 -0
  553. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesLegacyMock.sol +253 -0
  554. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesTimestampMock.sol +29 -0
  555. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626LimitsMock.sol +23 -0
  556. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626Mock.sol +17 -0
  557. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626OffsetMock.sol +17 -0
  558. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC4646FeesMock.sol +40 -0
  559. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveEnumerableMock.sol +42 -0
  560. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol +61 -0
  561. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ReceiverMock.sol +47 -0
  562. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC721URIStorageMock.sol +17 -0
  563. package/lib/openzeppelin-contracts/contracts/mocks/utils/cryptography/ERC7739Mock.sol +13 -0
  564. package/lib/openzeppelin-contracts/contracts/package.json +2 -2
  565. package/lib/openzeppelin-contracts/contracts/proxy/Clones.sol +197 -24
  566. package/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol +21 -13
  567. package/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol +177 -0
  568. package/lib/openzeppelin-contracts/contracts/proxy/Proxy.sol +4 -21
  569. package/lib/openzeppelin-contracts/contracts/proxy/README.adoc +13 -11
  570. package/lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol +23 -27
  571. package/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol +3 -3
  572. package/lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol +16 -11
  573. package/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol +17 -53
  574. package/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +80 -86
  575. package/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol +108 -35
  576. package/lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol +81 -30
  577. package/lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol +197 -325
  578. package/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol +28 -30
  579. package/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol +7 -6
  580. package/lib/openzeppelin-contracts/contracts/token/ERC1155/README.adoc +6 -12
  581. package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +11 -23
  582. package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +11 -17
  583. package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Supply.sol +45 -21
  584. package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +9 -11
  585. package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +4 -6
  586. package/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol +11 -7
  587. package/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Utils.sol +88 -0
  588. package/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol +137 -221
  589. package/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol +13 -16
  590. package/lib/openzeppelin-contracts/contracts/token/ERC20/README.adoc +28 -36
  591. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC1363.sol +135 -0
  592. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol +13 -13
  593. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Capped.sol +27 -10
  594. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20FlashMint.sol +56 -31
  595. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Pausable.sol +9 -15
  596. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol +77 -0
  597. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol +43 -235
  598. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol +48 -22
  599. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.sol +130 -132
  600. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol +4 -6
  601. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol +90 -0
  602. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Bridgeable.sol +50 -0
  603. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20TemporaryApproval.sol +119 -0
  604. package/lib/openzeppelin-contracts/contracts/token/ERC20/utils/ERC1363Utils.sol +95 -0
  605. package/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol +241 -77
  606. package/lib/openzeppelin-contracts/contracts/token/ERC6909/README.adoc +27 -0
  607. package/lib/openzeppelin-contracts/contracts/token/ERC6909/draft-ERC6909.sol +224 -0
  608. package/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909ContentURI.sol +53 -0
  609. package/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909Metadata.sol +77 -0
  610. package/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909TokenSupply.sol +35 -0
  611. package/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol +250 -326
  612. package/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol +17 -27
  613. package/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol +6 -5
  614. package/lib/openzeppelin-contracts/contracts/token/ERC721/README.adoc +11 -12
  615. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Burnable.sol +9 -9
  616. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol +82 -54
  617. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol +61 -56
  618. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol +12 -15
  619. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Royalty.sol +10 -22
  620. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol +25 -29
  621. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol +22 -16
  622. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Wrapper.sol +102 -0
  623. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol +3 -3
  624. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol +3 -3
  625. package/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol +7 -11
  626. package/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Utils.sol +50 -0
  627. package/lib/openzeppelin-contracts/contracts/token/common/ERC2981.sol +56 -28
  628. package/lib/openzeppelin-contracts/contracts/token/common/README.adoc +2 -2
  629. package/lib/openzeppelin-contracts/contracts/utils/Address.sol +51 -146
  630. package/lib/openzeppelin-contracts/contracts/utils/Arrays.sol +481 -25
  631. package/lib/openzeppelin-contracts/contracts/utils/Base64.sol +65 -38
  632. package/lib/openzeppelin-contracts/contracts/utils/Blockhash.sol +52 -0
  633. package/lib/openzeppelin-contracts/contracts/utils/Bytes.sol +166 -0
  634. package/lib/openzeppelin-contracts/contracts/utils/CAIP10.sol +54 -0
  635. package/lib/openzeppelin-contracts/contracts/utils/CAIP2.sol +51 -0
  636. package/lib/openzeppelin-contracts/contracts/utils/Calldata.sol +25 -0
  637. package/lib/openzeppelin-contracts/contracts/utils/Comparators.sol +19 -0
  638. package/lib/openzeppelin-contracts/contracts/utils/Context.sol +6 -2
  639. package/lib/openzeppelin-contracts/contracts/utils/Create2.sol +29 -20
  640. package/lib/openzeppelin-contracts/contracts/utils/Errors.sol +34 -0
  641. package/lib/openzeppelin-contracts/contracts/utils/Memory.sol +44 -0
  642. package/lib/openzeppelin-contracts/contracts/utils/Multicall.sol +19 -6
  643. package/lib/openzeppelin-contracts/contracts/utils/Nonces.sol +46 -0
  644. package/lib/openzeppelin-contracts/contracts/utils/NoncesKeyed.sol +74 -0
  645. package/lib/openzeppelin-contracts/contracts/utils/Packing.sol +1656 -0
  646. package/lib/openzeppelin-contracts/contracts/utils/Panic.sol +57 -0
  647. package/lib/openzeppelin-contracts/contracts/utils/Pausable.sol +112 -0
  648. package/lib/openzeppelin-contracts/contracts/utils/README.adoc +79 -45
  649. package/lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol +87 -0
  650. package/lib/openzeppelin-contracts/contracts/utils/ReentrancyGuardTransient.sol +61 -0
  651. package/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol +122 -0
  652. package/lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol +155 -0
  653. package/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol +72 -17
  654. package/lib/openzeppelin-contracts/contracts/utils/Strings.sol +453 -16
  655. package/lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol +183 -0
  656. package/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol +96 -96
  657. package/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol +96 -40
  658. package/lib/openzeppelin-contracts/contracts/utils/cryptography/Hashes.sol +31 -0
  659. package/lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol +362 -71
  660. package/lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol +99 -0
  661. package/lib/openzeppelin-contracts/contracts/utils/cryptography/P256.sol +408 -0
  662. package/lib/openzeppelin-contracts/contracts/utils/cryptography/README.adoc +67 -0
  663. package/lib/openzeppelin-contracts/contracts/utils/cryptography/RSA.sol +154 -0
  664. package/lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol +143 -21
  665. package/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-ERC7739Utils.sol +206 -0
  666. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/AbstractSigner.sol +22 -0
  667. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/MultiSignerERC7913.sol +251 -0
  668. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol +207 -0
  669. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerECDSA.sol +55 -0
  670. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerERC7702.sol +24 -0
  671. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerERC7913.sol +62 -0
  672. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerP256.sol +63 -0
  673. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerRSA.sol +64 -0
  674. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/draft-ERC7739.sol +98 -0
  675. package/lib/openzeppelin-contracts/contracts/utils/cryptography/verifiers/ERC7913P256Verifier.sol +28 -0
  676. package/lib/openzeppelin-contracts/contracts/utils/cryptography/verifiers/ERC7913RSAVerifier.sol +22 -0
  677. package/lib/openzeppelin-contracts/contracts/utils/draft-InteroperableAddress.sol +234 -0
  678. package/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol +6 -10
  679. package/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol +18 -21
  680. package/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol +5 -5
  681. package/lib/openzeppelin-contracts/contracts/utils/math/Math.sol +580 -176
  682. package/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol +224 -198
  683. package/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol +31 -6
  684. package/lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol +14 -9
  685. package/lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol +833 -0
  686. package/lib/openzeppelin-contracts/contracts/utils/structs/CircularBuffer.sol +140 -0
  687. package/lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol +46 -60
  688. package/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol +919 -130
  689. package/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol +441 -27
  690. package/lib/openzeppelin-contracts/contracts/utils/structs/Heap.sol +256 -0
  691. package/lib/openzeppelin-contracts/contracts/utils/structs/MerkleTree.sol +267 -0
  692. package/lib/openzeppelin-contracts/contracts/utils/types/Time.sol +133 -0
  693. package/lib/openzeppelin-contracts/contracts/vendor/compound/ICompoundTimelock.sol +3 -3
  694. package/lib/openzeppelin-contracts/docs/README.md +16 -0
  695. package/lib/openzeppelin-contracts/docs/antora.yml +2 -1
  696. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-control-multiple.svg +97 -0
  697. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-manager-functions.svg +47 -0
  698. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-manager.svg +99 -0
  699. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
  700. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
  701. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
  702. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack.png +0 -0
  703. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
  704. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-mint.png +0 -0
  705. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
  706. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
  707. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
  708. package/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +13 -7
  709. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +168 -97
  710. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/account-abstraction.adoc +100 -0
  711. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/accounts.adoc +354 -0
  712. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/backwards-compatibility.adoc +50 -0
  713. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/eoa-delegation.adoc +143 -0
  714. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +19 -54
  715. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +13 -55
  716. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +7 -25
  717. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc4626.adoc +214 -0
  718. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc6909.adoc +47 -0
  719. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +10 -42
  720. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +4 -82
  721. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/faq.adoc +13 -0
  722. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +85 -167
  723. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +19 -12
  724. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/multisig.adoc +306 -0
  725. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +4 -5
  726. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +14 -10
  727. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +482 -81
  728. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/wizard.adoc +1 -1
  729. package/lib/openzeppelin-contracts/docs/templates/contract.hbs +57 -1
  730. package/lib/openzeppelin-contracts/docs/templates/helpers.js +8 -8
  731. package/lib/openzeppelin-contracts/docs/templates/properties.js +47 -8
  732. package/lib/openzeppelin-contracts/eslint.config.mjs +26 -0
  733. package/lib/openzeppelin-contracts/foundry.toml +15 -0
  734. package/lib/openzeppelin-contracts/fv-requirements.txt +4 -0
  735. package/lib/openzeppelin-contracts/hardhat/async-test-sanity.js +10 -0
  736. package/lib/openzeppelin-contracts/hardhat/common-contracts.js +69 -0
  737. package/lib/openzeppelin-contracts/hardhat/env-artifacts.js +29 -0
  738. package/lib/openzeppelin-contracts/hardhat/ignore-unreachable-warnings.js +2 -4
  739. package/lib/openzeppelin-contracts/hardhat/remappings.js +18 -0
  740. package/lib/openzeppelin-contracts/hardhat/skip-foundry-tests.js +3 -4
  741. package/lib/openzeppelin-contracts/hardhat/task-test-get-files.js +25 -0
  742. package/lib/openzeppelin-contracts/hardhat.config.js +67 -49
  743. package/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.prop.sol +404 -0
  744. package/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.test.sol +356 -0
  745. package/lib/openzeppelin-contracts/lib/erc4626-tests/LICENSE +661 -0
  746. package/lib/openzeppelin-contracts/lib/erc4626-tests/README.md +116 -0
  747. package/lib/openzeppelin-contracts/lib/forge-std/.gitattributes +1 -0
  748. package/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/ci.yml +48 -12
  749. package/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/sync.yml +31 -0
  750. package/lib/openzeppelin-contracts/lib/forge-std/CONTRIBUTING.md +193 -0
  751. package/lib/openzeppelin-contracts/lib/forge-std/README.md +19 -3
  752. package/lib/openzeppelin-contracts/lib/forge-std/foundry.toml +5 -3
  753. package/lib/openzeppelin-contracts/lib/forge-std/package.json +2 -2
  754. package/lib/openzeppelin-contracts/lib/forge-std/scripts/vm.py +646 -0
  755. package/lib/openzeppelin-contracts/lib/forge-std/src/Base.sol +7 -3
  756. package/lib/openzeppelin-contracts/lib/forge-std/src/Script.sol +4 -3
  757. package/lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol +595 -135
  758. package/lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol +146 -48
  759. package/lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol +303 -39
  760. package/lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol +122 -0
  761. package/lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol +129 -25
  762. package/lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol +245 -99
  763. package/lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol +333 -0
  764. package/lib/openzeppelin-contracts/lib/forge-std/src/StdToml.sol +283 -0
  765. package/lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol +125 -39
  766. package/lib/openzeppelin-contracts/lib/forge-std/src/Test.sol +10 -5
  767. package/lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol +2182 -304
  768. package/lib/openzeppelin-contracts/lib/forge-std/src/console.sol +635 -608
  769. package/lib/openzeppelin-contracts/lib/forge-std/src/console2.sol +1 -1543
  770. package/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC4626.sol +2 -2
  771. package/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
  772. package/lib/openzeppelin-contracts/lib/forge-std/src/safeconsole.sol +13937 -0
  773. package/lib/openzeppelin-contracts/lib/forge-std/test/StdAssertions.t.sol +126 -572
  774. package/lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol +166 -62
  775. package/lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol +348 -35
  776. package/lib/openzeppelin-contracts/lib/forge-std/test/StdError.t.sol +15 -13
  777. package/lib/openzeppelin-contracts/lib/forge-std/test/StdJson.t.sol +49 -0
  778. package/lib/openzeppelin-contracts/lib/forge-std/test/StdMath.t.sol +31 -26
  779. package/lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol +251 -46
  780. package/lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
  781. package/lib/openzeppelin-contracts/lib/forge-std/test/StdToml.t.sol +49 -0
  782. package/lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol +186 -35
  783. package/lib/openzeppelin-contracts/lib/forge-std/test/Vm.t.sol +18 -0
  784. package/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/test.json +8 -0
  785. package/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/test.toml +6 -0
  786. package/lib/openzeppelin-contracts/lib/halmos-cheatcodes/LICENSE +661 -0
  787. package/lib/openzeppelin-contracts/lib/halmos-cheatcodes/README.md +97 -0
  788. package/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/SVM.sol +49 -0
  789. package/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/SymTest.sol +11 -0
  790. package/lib/openzeppelin-contracts/package.json +59 -45
  791. package/lib/openzeppelin-contracts/remappings.txt +1 -0
  792. package/lib/openzeppelin-contracts/renovate.json +2 -9
  793. package/lib/openzeppelin-contracts/scripts/checks/compare-layout.js +28 -0
  794. package/lib/openzeppelin-contracts/scripts/checks/compareGasReports.js +130 -92
  795. package/lib/openzeppelin-contracts/scripts/checks/coverage.sh +24 -0
  796. package/lib/openzeppelin-contracts/scripts/checks/extract-layout.js +39 -0
  797. package/lib/openzeppelin-contracts/scripts/checks/inheritance-ordering.js +28 -23
  798. package/lib/openzeppelin-contracts/scripts/checks/pragma-validity.js +45 -0
  799. package/lib/openzeppelin-contracts/scripts/fetch-common-contracts.js +50 -0
  800. package/lib/openzeppelin-contracts/scripts/gen-nav.js +62 -22
  801. package/lib/openzeppelin-contracts/scripts/generate/format-lines.js +4 -4
  802. package/lib/openzeppelin-contracts/scripts/generate/helpers/sanitize.js +5 -0
  803. package/lib/openzeppelin-contracts/scripts/generate/run.js +38 -23
  804. package/lib/openzeppelin-contracts/scripts/generate/templates/Arrays.js +386 -0
  805. package/lib/openzeppelin-contracts/scripts/generate/templates/Arrays.opts.js +9 -0
  806. package/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.js +67 -128
  807. package/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.opts.js +18 -0
  808. package/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.t.js +141 -0
  809. package/lib/openzeppelin-contracts/scripts/generate/templates/Enumerable.opts.js +53 -0
  810. package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMap.js +269 -84
  811. package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSet.js +252 -36
  812. package/lib/openzeppelin-contracts/scripts/generate/templates/MerkleProof.js +187 -0
  813. package/lib/openzeppelin-contracts/scripts/generate/templates/MerkleProof.opts.js +11 -0
  814. package/lib/openzeppelin-contracts/scripts/generate/templates/Packing.js +92 -0
  815. package/lib/openzeppelin-contracts/scripts/generate/templates/Packing.opts.js +3 -0
  816. package/lib/openzeppelin-contracts/scripts/generate/templates/Packing.t.js +48 -0
  817. package/lib/openzeppelin-contracts/scripts/generate/templates/SafeCast.js +50 -82
  818. package/lib/openzeppelin-contracts/scripts/generate/templates/Slot.opts.js +15 -0
  819. package/lib/openzeppelin-contracts/scripts/generate/templates/SlotDerivation.js +119 -0
  820. package/lib/openzeppelin-contracts/scripts/generate/templates/SlotDerivation.t.js +127 -0
  821. package/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlot.js +77 -0
  822. package/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlotMock.js +57 -0
  823. package/lib/openzeppelin-contracts/scripts/generate/templates/TransientSlot.js +80 -0
  824. package/lib/openzeppelin-contracts/scripts/generate/templates/TransientSlotMock.js +35 -0
  825. package/lib/openzeppelin-contracts/scripts/generate/templates/conversion.js +18 -18
  826. package/lib/openzeppelin-contracts/scripts/get-contracts-metadata.js +55 -0
  827. package/lib/openzeppelin-contracts/scripts/helpers.js +4 -20
  828. package/lib/openzeppelin-contracts/scripts/minimize-pragma.js +138 -0
  829. package/lib/openzeppelin-contracts/scripts/prepack.sh +14 -3
  830. package/lib/openzeppelin-contracts/scripts/prepare-docs.sh +12 -1
  831. package/lib/openzeppelin-contracts/scripts/release/format-changelog.js +33 -0
  832. package/lib/openzeppelin-contracts/scripts/release/synchronize-versions.js +6 -7
  833. package/lib/openzeppelin-contracts/scripts/release/update-comment.js +2 -4
  834. package/lib/openzeppelin-contracts/scripts/release/version.sh +4 -2
  835. package/lib/openzeppelin-contracts/scripts/release/workflow/exit-prerelease.sh +8 -0
  836. package/lib/openzeppelin-contracts/scripts/release/workflow/github-release.js +48 -0
  837. package/lib/openzeppelin-contracts/scripts/release/workflow/integrity-check.sh +20 -0
  838. package/lib/openzeppelin-contracts/scripts/release/workflow/pack.sh +26 -0
  839. package/lib/openzeppelin-contracts/scripts/release/workflow/publish.sh +26 -0
  840. package/lib/openzeppelin-contracts/scripts/release/workflow/rerun.js +7 -0
  841. package/lib/openzeppelin-contracts/scripts/release/workflow/set-changesets-pr-title.js +17 -0
  842. package/lib/openzeppelin-contracts/scripts/release/workflow/start.sh +35 -0
  843. package/lib/openzeppelin-contracts/scripts/release/workflow/state.js +112 -0
  844. package/lib/openzeppelin-contracts/scripts/remove-ignored-artifacts.js +4 -4
  845. package/lib/openzeppelin-contracts/scripts/set-max-old-space-size.sh +10 -0
  846. package/lib/openzeppelin-contracts/scripts/solc-versions.js +15 -0
  847. package/lib/openzeppelin-contracts/scripts/solhint-custom/index.js +84 -0
  848. package/lib/openzeppelin-contracts/scripts/solhint-custom/package.json +8 -0
  849. package/lib/openzeppelin-contracts/scripts/update-docs-branch.js +15 -5
  850. package/lib/openzeppelin-contracts/scripts/upgradeable/README.md +21 -0
  851. package/lib/openzeppelin-contracts/scripts/upgradeable/patch-apply.sh +19 -0
  852. package/lib/openzeppelin-contracts/scripts/upgradeable/patch-save.sh +18 -0
  853. package/lib/openzeppelin-contracts/scripts/upgradeable/transpile-onto.sh +54 -0
  854. package/lib/openzeppelin-contracts/scripts/upgradeable/transpile.sh +50 -0
  855. package/lib/openzeppelin-contracts/scripts/upgradeable/upgradeable.patch +398 -0
  856. package/lib/openzeppelin-contracts/slither.config.json +3 -4
  857. package/lib/openzeppelin-contracts/solhint.config.js +29 -0
  858. package/lib/openzeppelin-contracts/test/TESTING.md +1 -1
  859. package/lib/openzeppelin-contracts/test/access/AccessControl.behavior.js +756 -98
  860. package/lib/openzeppelin-contracts/test/access/AccessControl.test.js +13 -7
  861. package/lib/openzeppelin-contracts/test/access/Ownable.test.js +50 -28
  862. package/lib/openzeppelin-contracts/test/access/Ownable2Step.test.js +77 -32
  863. package/lib/openzeppelin-contracts/test/access/extensions/AccessControlDefaultAdminRules.test.js +32 -0
  864. package/lib/openzeppelin-contracts/test/access/extensions/AccessControlEnumerable.test.js +24 -0
  865. package/lib/openzeppelin-contracts/test/access/manager/AccessManaged.test.js +146 -0
  866. package/lib/openzeppelin-contracts/test/access/manager/AccessManager.behavior.js +257 -0
  867. package/lib/openzeppelin-contracts/test/access/manager/AccessManager.predicate.js +456 -0
  868. package/lib/openzeppelin-contracts/test/access/manager/AccessManager.test.js +2489 -0
  869. package/lib/openzeppelin-contracts/test/access/manager/AuthorityUtils.test.js +112 -0
  870. package/lib/openzeppelin-contracts/test/account/Account.behavior.js +144 -0
  871. package/lib/openzeppelin-contracts/test/account/Account.test.js +48 -0
  872. package/lib/openzeppelin-contracts/test/account/AccountECDSA.test.js +52 -0
  873. package/lib/openzeppelin-contracts/test/account/AccountERC7702.t.sol +103 -0
  874. package/lib/openzeppelin-contracts/test/account/AccountERC7702.test.js +52 -0
  875. package/lib/openzeppelin-contracts/test/account/AccountERC7913.test.js +116 -0
  876. package/lib/openzeppelin-contracts/test/account/AccountMultiSigner.test.js +326 -0
  877. package/lib/openzeppelin-contracts/test/account/AccountMultiSignerWeighted.test.js +312 -0
  878. package/lib/openzeppelin-contracts/test/account/AccountP256.test.js +58 -0
  879. package/lib/openzeppelin-contracts/test/account/AccountRSA.test.js +58 -0
  880. package/lib/openzeppelin-contracts/test/account/examples/AccountERC7702WithModulesMock.test.js +99 -0
  881. package/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579.behavior.js +563 -0
  882. package/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579.test.js +60 -0
  883. package/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579Hooked.test.js +60 -0
  884. package/lib/openzeppelin-contracts/test/account/extensions/ERC7821.behavior.js +145 -0
  885. package/lib/openzeppelin-contracts/test/account/utils/EIP7702Utils.test.js +53 -0
  886. package/lib/openzeppelin-contracts/test/account/utils/draft-ERC4337Utils.test.js +289 -0
  887. package/lib/openzeppelin-contracts/test/account/utils/draft-ERC7579Utils.t.sol +426 -0
  888. package/lib/openzeppelin-contracts/test/account/utils/draft-ERC7579Utils.test.js +399 -0
  889. package/lib/openzeppelin-contracts/test/bin/EntryPoint070.abi +1 -0
  890. package/lib/openzeppelin-contracts/test/bin/EntryPoint070.bytecode +0 -0
  891. package/lib/openzeppelin-contracts/test/bin/EntryPoint080.abi +1 -0
  892. package/lib/openzeppelin-contracts/test/bin/EntryPoint080.bytecode +0 -0
  893. package/lib/openzeppelin-contracts/test/bin/SenderCreator070.abi +1 -0
  894. package/lib/openzeppelin-contracts/test/bin/SenderCreator070.bytecode +0 -0
  895. package/lib/openzeppelin-contracts/test/bin/SenderCreator080.abi +1 -0
  896. package/lib/openzeppelin-contracts/test/bin/SenderCreator080.bytecode +0 -0
  897. package/lib/openzeppelin-contracts/test/finance/VestingWallet.behavior.js +59 -46
  898. package/lib/openzeppelin-contracts/test/finance/VestingWallet.test.js +35 -37
  899. package/lib/openzeppelin-contracts/test/finance/VestingWalletCliff.test.js +70 -0
  900. package/lib/openzeppelin-contracts/test/governance/Governor.t.sol +59 -0
  901. package/lib/openzeppelin-contracts/test/governance/Governor.test.js +938 -590
  902. package/lib/openzeppelin-contracts/test/governance/TimelockController.test.js +910 -765
  903. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorCountingFractional.test.js +248 -0
  904. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorCountingOverridable.test.js +346 -0
  905. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorERC721.test.js +127 -100
  906. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorNoncesKeyed.test.js +244 -0
  907. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorPreventLateQuorum.test.js +181 -173
  908. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorProposalGuardian.test.js +132 -0
  909. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorSequentialProposalId.test.js +202 -0
  910. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorStorage.test.js +155 -0
  911. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorSuperQuorum.test.js +168 -0
  912. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorSuperQuorumGreaterThanQuorum.t.sol +83 -0
  913. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockAccess.test.js +864 -0
  914. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockCompound.test.js +419 -339
  915. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockControl.test.js +468 -384
  916. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesQuorumFraction.test.js +161 -133
  917. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesSuperQuorumFraction.test.js +160 -0
  918. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorWithParams.test.js +234 -155
  919. package/lib/openzeppelin-contracts/test/governance/utils/ERC6372.behavior.js +28 -0
  920. package/lib/openzeppelin-contracts/test/governance/utils/Votes.behavior.js +254 -273
  921. package/lib/openzeppelin-contracts/test/governance/utils/Votes.test.js +89 -48
  922. package/lib/openzeppelin-contracts/test/governance/utils/VotesExtended.test.js +152 -0
  923. package/lib/openzeppelin-contracts/test/helpers/access-manager.js +85 -0
  924. package/lib/openzeppelin-contracts/test/helpers/account.js +14 -0
  925. package/lib/openzeppelin-contracts/test/helpers/chains.js +56 -0
  926. package/lib/openzeppelin-contracts/test/helpers/constants.js +7 -0
  927. package/lib/openzeppelin-contracts/test/helpers/deploy.js +14 -0
  928. package/lib/openzeppelin-contracts/test/helpers/eip712-types.js +61 -0
  929. package/lib/openzeppelin-contracts/test/helpers/eip712.js +41 -26
  930. package/lib/openzeppelin-contracts/test/helpers/enums.js +9 -24
  931. package/lib/openzeppelin-contracts/test/helpers/erc4337.js +217 -0
  932. package/lib/openzeppelin-contracts/test/helpers/erc7579.js +58 -0
  933. package/lib/openzeppelin-contracts/test/helpers/erc7739.js +118 -0
  934. package/lib/openzeppelin-contracts/test/helpers/governance.js +194 -188
  935. package/lib/openzeppelin-contracts/test/helpers/iterate.js +41 -0
  936. package/lib/openzeppelin-contracts/test/helpers/math.js +33 -0
  937. package/lib/openzeppelin-contracts/test/helpers/methods.js +14 -0
  938. package/lib/openzeppelin-contracts/test/helpers/precompiles.js +12 -0
  939. package/lib/openzeppelin-contracts/test/helpers/random.js +24 -0
  940. package/lib/openzeppelin-contracts/test/helpers/signers.js +184 -0
  941. package/lib/openzeppelin-contracts/test/helpers/storage.js +48 -0
  942. package/lib/openzeppelin-contracts/test/helpers/strings.js +5 -0
  943. package/lib/openzeppelin-contracts/test/helpers/time.js +33 -0
  944. package/lib/openzeppelin-contracts/test/helpers/txpool.js +9 -20
  945. package/lib/openzeppelin-contracts/test/metatx/ERC2771Context.test.js +95 -71
  946. package/lib/openzeppelin-contracts/test/metatx/ERC2771Forwarder.t.sol +279 -0
  947. package/lib/openzeppelin-contracts/test/metatx/ERC2771Forwarder.test.js +384 -0
  948. package/lib/openzeppelin-contracts/test/proxy/Clones.behaviour.js +60 -50
  949. package/lib/openzeppelin-contracts/test/proxy/Clones.t.sol +91 -0
  950. package/lib/openzeppelin-contracts/test/proxy/Clones.test.js +164 -56
  951. package/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Proxy.test.js +17 -7
  952. package/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Utils.test.js +162 -0
  953. package/lib/openzeppelin-contracts/test/proxy/Proxy.behaviour.js +59 -98
  954. package/lib/openzeppelin-contracts/test/proxy/beacon/BeaconProxy.test.js +98 -113
  955. package/lib/openzeppelin-contracts/test/proxy/beacon/UpgradeableBeacon.test.js +34 -29
  956. package/lib/openzeppelin-contracts/test/proxy/transparent/ProxyAdmin.test.js +45 -88
  957. package/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +209 -283
  958. package/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.test.js +20 -7
  959. package/lib/openzeppelin-contracts/test/proxy/utils/Initializable.test.js +94 -96
  960. package/lib/openzeppelin-contracts/test/proxy/utils/UUPSUpgradeable.test.js +94 -59
  961. package/lib/openzeppelin-contracts/test/sanity.test.js +27 -0
  962. package/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.behavior.js +530 -541
  963. package/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.test.js +101 -152
  964. package/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Burnable.test.js +35 -36
  965. package/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Pausable.test.js +54 -57
  966. package/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Supply.test.js +59 -51
  967. package/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +37 -33
  968. package/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Holder.test.js +40 -46
  969. package/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Utils.test.js +299 -0
  970. package/lib/openzeppelin-contracts/test/token/ERC20/ERC20.behavior.js +142 -206
  971. package/lib/openzeppelin-contracts/test/token/ERC20/ERC20.test.js +133 -243
  972. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC1363.test.js +370 -0
  973. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.test.js +96 -10
  974. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.test.js +43 -15
  975. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20FlashMint.test.js +102 -82
  976. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Pausable.test.js +59 -64
  977. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Permit.test.js +109 -0
  978. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Votes.test.js +490 -462
  979. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Wrapper.test.js +133 -120
  980. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.t.sol +41 -0
  981. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.test.js +802 -536
  982. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Bridgeable.test.js +89 -0
  983. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20TemporaryApproval.test.js +142 -0
  984. package/lib/openzeppelin-contracts/test/token/ERC20/utils/SafeERC20.test.js +387 -179
  985. package/lib/openzeppelin-contracts/test/token/ERC6909/ERC6909.behavior.js +216 -0
  986. package/lib/openzeppelin-contracts/test/token/ERC6909/ERC6909.test.js +104 -0
  987. package/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909ContentURI.test.js +49 -0
  988. package/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909Metadata.test.js +58 -0
  989. package/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909TokenSupply.test.js +53 -0
  990. package/lib/openzeppelin-contracts/test/token/ERC721/ERC721.behavior.js +488 -479
  991. package/lib/openzeppelin-contracts/test/token/ERC721/ERC721.test.js +16 -11
  992. package/lib/openzeppelin-contracts/test/token/ERC721/ERC721Enumerable.test.js +16 -8
  993. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Burnable.test.js +43 -44
  994. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.t.sol +80 -19
  995. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.test.js +179 -176
  996. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Pausable.test.js +34 -51
  997. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Royalty.test.js +41 -24
  998. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721URIStorage.test.js +69 -44
  999. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Votes.test.js +187 -167
  1000. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Wrapper.test.js +201 -0
  1001. package/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Holder.test.js +12 -16
  1002. package/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Utils.test.js +94 -0
  1003. package/lib/openzeppelin-contracts/test/token/common/ERC2981.behavior.js +80 -88
  1004. package/lib/openzeppelin-contracts/test/utils/Address.test.js +159 -260
  1005. package/lib/openzeppelin-contracts/test/utils/Arrays.t.sol +31 -0
  1006. package/lib/openzeppelin-contracts/test/utils/Arrays.test.js +217 -95
  1007. package/lib/openzeppelin-contracts/test/utils/Base64.t.sol +34 -0
  1008. package/lib/openzeppelin-contracts/test/utils/Base64.test.js +48 -22
  1009. package/lib/openzeppelin-contracts/test/utils/Blockhash.t.sol +101 -0
  1010. package/lib/openzeppelin-contracts/test/utils/Blockhash.test.js +59 -0
  1011. package/lib/openzeppelin-contracts/test/utils/Bytes.t.sol +74 -0
  1012. package/lib/openzeppelin-contracts/test/utils/Bytes.test.js +212 -0
  1013. package/lib/openzeppelin-contracts/test/utils/CAIP.test.js +56 -0
  1014. package/lib/openzeppelin-contracts/test/utils/Calldata.test.js +22 -0
  1015. package/lib/openzeppelin-contracts/test/utils/Context.behavior.js +26 -20
  1016. package/lib/openzeppelin-contracts/test/utils/Context.test.js +10 -9
  1017. package/lib/openzeppelin-contracts/test/utils/Create2.t.sol +17 -0
  1018. package/lib/openzeppelin-contracts/test/utils/Create2.test.js +147 -49
  1019. package/lib/openzeppelin-contracts/test/utils/Memory.t.sol +21 -0
  1020. package/lib/openzeppelin-contracts/test/utils/Memory.test.js +39 -0
  1021. package/lib/openzeppelin-contracts/test/utils/Multicall.test.js +50 -35
  1022. package/lib/openzeppelin-contracts/test/utils/Nonces.behavior.js +189 -0
  1023. package/lib/openzeppelin-contracts/test/utils/Nonces.test.js +16 -0
  1024. package/lib/openzeppelin-contracts/test/utils/NoncesKeyed.test.js +17 -0
  1025. package/lib/openzeppelin-contracts/test/utils/Packing.t.sol +993 -0
  1026. package/lib/openzeppelin-contracts/test/utils/Packing.test.js +70 -0
  1027. package/lib/openzeppelin-contracts/test/utils/Panic.test.js +37 -0
  1028. package/lib/openzeppelin-contracts/test/utils/Pausable.test.js +90 -0
  1029. package/lib/openzeppelin-contracts/test/utils/ReentrancyGuard.test.js +50 -0
  1030. package/lib/openzeppelin-contracts/test/utils/ShortStrings.t.sol +109 -0
  1031. package/lib/openzeppelin-contracts/test/utils/ShortStrings.test.js +64 -0
  1032. package/lib/openzeppelin-contracts/test/utils/SlotDerivation.t.sol +248 -0
  1033. package/lib/openzeppelin-contracts/test/utils/SlotDerivation.test.js +58 -0
  1034. package/lib/openzeppelin-contracts/test/utils/StorageSlot.test.js +55 -92
  1035. package/lib/openzeppelin-contracts/test/utils/Strings.t.sol +50 -0
  1036. package/lib/openzeppelin-contracts/test/utils/Strings.test.js +323 -49
  1037. package/lib/openzeppelin-contracts/test/utils/TransientSlot.test.js +59 -0
  1038. package/lib/openzeppelin-contracts/test/utils/cryptography/ECDSA.test.js +167 -132
  1039. package/lib/openzeppelin-contracts/test/utils/cryptography/EIP712.test.js +100 -52
  1040. package/lib/openzeppelin-contracts/test/utils/cryptography/ERC1271.behavior.js +111 -0
  1041. package/lib/openzeppelin-contracts/test/utils/cryptography/ERC7739.test.js +42 -0
  1042. package/lib/openzeppelin-contracts/test/utils/cryptography/ERC7739Utils.test.js +203 -0
  1043. package/lib/openzeppelin-contracts/test/utils/cryptography/MerkleProof.test.js +210 -176
  1044. package/lib/openzeppelin-contracts/test/utils/cryptography/MessageHashUtils.t.sol +33 -0
  1045. package/lib/openzeppelin-contracts/test/utils/cryptography/MessageHashUtils.test.js +97 -0
  1046. package/lib/openzeppelin-contracts/test/utils/cryptography/P256.t.sol +65 -0
  1047. package/lib/openzeppelin-contracts/test/utils/cryptography/P256.test.js +182 -0
  1048. package/lib/openzeppelin-contracts/test/utils/cryptography/RSA.helper.js +17 -0
  1049. package/lib/openzeppelin-contracts/test/utils/cryptography/RSA.test.js +102 -0
  1050. package/lib/openzeppelin-contracts/test/utils/cryptography/SigVer15_186-3.rsp +3850 -0
  1051. package/lib/openzeppelin-contracts/test/utils/cryptography/SignatureChecker.test.js +397 -56
  1052. package/lib/openzeppelin-contracts/test/utils/cryptography/ecdsa_secp256r1_sha256_p1363_test.json +3719 -0
  1053. package/lib/openzeppelin-contracts/test/utils/draft-InteroperableAddress.t.sol +99 -0
  1054. package/lib/openzeppelin-contracts/test/utils/draft-InteroperableAddress.test.js +170 -0
  1055. package/lib/openzeppelin-contracts/test/utils/introspection/ERC165.test.js +11 -6
  1056. package/lib/openzeppelin-contracts/test/utils/introspection/ERC165Checker.test.js +84 -142
  1057. package/lib/openzeppelin-contracts/test/utils/introspection/SupportsInterface.behavior.js +109 -90
  1058. package/lib/openzeppelin-contracts/test/utils/math/Math.t.sol +255 -24
  1059. package/lib/openzeppelin-contracts/test/utils/math/Math.test.js +616 -215
  1060. package/lib/openzeppelin-contracts/test/utils/math/SafeCast.test.js +84 -89
  1061. package/lib/openzeppelin-contracts/test/utils/math/SignedMath.t.sol +80 -0
  1062. package/lib/openzeppelin-contracts/test/utils/math/SignedMath.test.js +25 -65
  1063. package/lib/openzeppelin-contracts/test/utils/structs/BitMap.test.js +83 -79
  1064. package/lib/openzeppelin-contracts/test/utils/structs/Checkpoints.t.sol +440 -0
  1065. package/lib/openzeppelin-contracts/test/utils/structs/Checkpoints.test.js +147 -0
  1066. package/lib/openzeppelin-contracts/test/utils/structs/CircularBuffer.test.js +83 -0
  1067. package/lib/openzeppelin-contracts/test/utils/structs/DoubleEndedQueue.test.js +47 -41
  1068. package/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.behavior.js +122 -89
  1069. package/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.test.js +70 -73
  1070. package/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.behavior.js +105 -61
  1071. package/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.test.js +53 -33
  1072. package/lib/openzeppelin-contracts/test/utils/structs/Heap.t.sol +74 -0
  1073. package/lib/openzeppelin-contracts/test/utils/structs/Heap.test.js +113 -0
  1074. package/lib/openzeppelin-contracts/test/utils/structs/MerkleTree.test.js +180 -0
  1075. package/lib/openzeppelin-contracts/test/utils/types/Time.test.js +135 -0
  1076. package/lib/openzeppelin-contracts-upgradeable/.changeset/all-geese-stand.md +5 -0
  1077. package/lib/openzeppelin-contracts-upgradeable/.changeset/clean-ways-push.md +5 -0
  1078. package/lib/openzeppelin-contracts-upgradeable/.changeset/config.json +12 -0
  1079. package/lib/openzeppelin-contracts-upgradeable/.changeset/dull-students-eat.md +5 -0
  1080. package/lib/openzeppelin-contracts-upgradeable/.changeset/eight-radios-check.md +5 -0
  1081. package/lib/openzeppelin-contracts-upgradeable/.changeset/fine-frogs-bake.md +5 -0
  1082. package/lib/openzeppelin-contracts-upgradeable/.changeset/full-ways-help.md +5 -0
  1083. package/lib/openzeppelin-contracts-upgradeable/.changeset/funny-years-yawn.md +5 -0
  1084. package/lib/openzeppelin-contracts-upgradeable/.changeset/hot-grapes-lie.md +5 -0
  1085. package/lib/openzeppelin-contracts-upgradeable/.changeset/lazy-poets-cheer.md +5 -0
  1086. package/lib/openzeppelin-contracts-upgradeable/.changeset/long-hornets-mate.md +5 -0
  1087. package/lib/openzeppelin-contracts-upgradeable/.changeset/lucky-donuts-scream.md +5 -0
  1088. package/lib/openzeppelin-contracts-upgradeable/.changeset/major-feet-write.md +5 -0
  1089. package/lib/openzeppelin-contracts-upgradeable/.changeset/new-days-tease.md +5 -0
  1090. package/lib/openzeppelin-contracts-upgradeable/.changeset/nice-rings-wish.md +5 -0
  1091. package/lib/openzeppelin-contracts-upgradeable/.changeset/pink-dolls-shop.md +5 -0
  1092. package/lib/openzeppelin-contracts-upgradeable/.changeset/popular-geese-tan.md +5 -0
  1093. package/lib/openzeppelin-contracts-upgradeable/.changeset/proud-tables-sip.md +5 -0
  1094. package/lib/openzeppelin-contracts-upgradeable/.changeset/public-crabs-heal.md +5 -0
  1095. package/lib/openzeppelin-contracts-upgradeable/.changeset/quiet-kiwis-feel.md +5 -0
  1096. package/lib/openzeppelin-contracts-upgradeable/.changeset/rare-shirts-unite.md +5 -0
  1097. package/lib/openzeppelin-contracts-upgradeable/.changeset/rich-cows-repair.md +5 -0
  1098. package/lib/openzeppelin-contracts-upgradeable/.changeset/ripe-bears-hide.md +5 -0
  1099. package/lib/openzeppelin-contracts-upgradeable/.changeset/rotten-apes-lie.md +5 -0
  1100. package/lib/openzeppelin-contracts-upgradeable/.changeset/social-walls-obey.md +5 -0
  1101. package/lib/openzeppelin-contracts-upgradeable/.changeset/sour-pens-shake.md +5 -0
  1102. package/lib/openzeppelin-contracts-upgradeable/.changeset/strong-points-change.md +5 -0
  1103. package/lib/openzeppelin-contracts-upgradeable/.changeset/tame-bears-mix.md +5 -0
  1104. package/lib/openzeppelin-contracts-upgradeable/.changeset/violet-turtles-like.md +5 -0
  1105. package/lib/openzeppelin-contracts-upgradeable/.changeset/wet-dodos-reply.md +5 -0
  1106. package/lib/openzeppelin-contracts-upgradeable/.changeset/whole-plums-speak.md +5 -0
  1107. package/lib/openzeppelin-contracts-upgradeable/.changeset/wild-baths-buy.md +5 -0
  1108. package/lib/openzeppelin-contracts-upgradeable/.codecov.yml +4 -0
  1109. package/lib/openzeppelin-contracts-upgradeable/.github/CODEOWNERS +10 -0
  1110. package/lib/openzeppelin-contracts-upgradeable/.github/ISSUE_TEMPLATE/config.yml +4 -0
  1111. package/lib/openzeppelin-contracts-upgradeable/.github/PULL_REQUEST_TEMPLATE.md +1 -1
  1112. package/lib/openzeppelin-contracts-upgradeable/.github/actions/gas-compare/action.yml +7 -5
  1113. package/lib/openzeppelin-contracts-upgradeable/.github/actions/setup/action.yml +9 -7
  1114. package/lib/openzeppelin-contracts-upgradeable/.github/actions/storage-layout/action.yml +57 -0
  1115. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/actionlint.yml +18 -0
  1116. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/changeset.yml +28 -0
  1117. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/checks.yml +67 -36
  1118. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/docs.yml +1 -1
  1119. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/formal-verification.yml +86 -0
  1120. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/release-cycle.yml +214 -0
  1121. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/upgradeable.yml +34 -0
  1122. package/lib/openzeppelin-contracts-upgradeable/.gitmodules +11 -0
  1123. package/lib/openzeppelin-contracts-upgradeable/.husky/pre-commit +2 -0
  1124. package/lib/openzeppelin-contracts-upgradeable/.prettierrc +5 -4
  1125. package/lib/openzeppelin-contracts-upgradeable/.solcover.js +19 -13
  1126. package/lib/openzeppelin-contracts-upgradeable/CHANGELOG.md +918 -328
  1127. package/lib/openzeppelin-contracts-upgradeable/CODE_OF_CONDUCT.md +2 -2
  1128. package/lib/openzeppelin-contracts-upgradeable/CONTRIBUTING.md +19 -47
  1129. package/lib/openzeppelin-contracts-upgradeable/FUNDING.json +10 -0
  1130. package/lib/openzeppelin-contracts-upgradeable/GUIDELINES.md +115 -65
  1131. package/lib/openzeppelin-contracts-upgradeable/LICENSE +1 -1
  1132. package/lib/openzeppelin-contracts-upgradeable/README.md +55 -47
  1133. package/lib/openzeppelin-contracts-upgradeable/RELEASING.md +32 -23
  1134. package/lib/openzeppelin-contracts-upgradeable/SECURITY.md +34 -11
  1135. package/lib/openzeppelin-contracts-upgradeable/audits/2017-03.md +292 -0
  1136. package/lib/openzeppelin-contracts-upgradeable/audits/2022-10-Checkpoints.pdf +0 -0
  1137. package/lib/openzeppelin-contracts-upgradeable/audits/2022-10-ERC4626.pdf +0 -0
  1138. package/lib/openzeppelin-contracts-upgradeable/audits/2023-05-v4.9.pdf +0 -0
  1139. package/lib/openzeppelin-contracts-upgradeable/audits/2023-10-v5.0.pdf +0 -0
  1140. package/lib/openzeppelin-contracts-upgradeable/audits/2024-10-v5.1.pdf +0 -0
  1141. package/lib/openzeppelin-contracts-upgradeable/audits/2024-12-v5.2.pdf +0 -0
  1142. package/lib/openzeppelin-contracts-upgradeable/audits/2025-04-v5.3.pdf +0 -0
  1143. package/lib/openzeppelin-contracts-upgradeable/audits/README.md +20 -0
  1144. package/lib/openzeppelin-contracts-upgradeable/certora/Makefile +44 -14
  1145. package/lib/openzeppelin-contracts-upgradeable/certora/README.md +43 -39
  1146. package/lib/openzeppelin-contracts-upgradeable/certora/diff/access_manager_AccessManager.sol.patch +97 -0
  1147. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/AccessControlDefaultAdminRulesHarness.sol +46 -0
  1148. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/AccessControlHarness.sol +6 -0
  1149. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/AccessManagedHarness.sol +36 -0
  1150. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/AccessManagerHarness.sol +116 -0
  1151. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/DoubleEndedQueueHarness.sol +58 -0
  1152. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC20FlashMintHarness.sol +36 -0
  1153. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC20PermitHarness.sol +16 -0
  1154. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC20WrapperHarness.sol +34 -0
  1155. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
  1156. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC721Harness.sol +33 -0
  1157. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC721ReceiverHarness.sol +11 -0
  1158. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/EnumerableMapHarness.sol +55 -0
  1159. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/EnumerableSetHarness.sol +35 -0
  1160. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/InitializableHarness.sol +23 -0
  1161. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/NoncesHarness.sol +14 -0
  1162. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/Ownable2StepHarness.sol +10 -0
  1163. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/OwnableHarness.sol +10 -0
  1164. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/PausableHarness.sol +18 -0
  1165. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/TimelockControllerHarness.sol +13 -0
  1166. package/lib/openzeppelin-contracts-upgradeable/certora/reports/2021-10.pdf +0 -0
  1167. package/lib/openzeppelin-contracts-upgradeable/certora/reports/2022-03.pdf +0 -0
  1168. package/lib/openzeppelin-contracts-upgradeable/certora/reports/2022-05.pdf +0 -0
  1169. package/lib/openzeppelin-contracts-upgradeable/certora/run.js +168 -0
  1170. package/lib/openzeppelin-contracts-upgradeable/certora/specs/AccessControl.spec +119 -0
  1171. package/lib/openzeppelin-contracts-upgradeable/certora/specs/AccessControlDefaultAdminRules.spec +464 -0
  1172. package/lib/openzeppelin-contracts-upgradeable/certora/specs/AccessManaged.spec +34 -0
  1173. package/lib/openzeppelin-contracts-upgradeable/certora/specs/AccessManager.spec +826 -0
  1174. package/lib/openzeppelin-contracts-upgradeable/certora/specs/DoubleEndedQueue.spec +300 -0
  1175. package/lib/openzeppelin-contracts-upgradeable/certora/specs/ERC20.spec +352 -0
  1176. package/lib/openzeppelin-contracts-upgradeable/certora/specs/ERC20FlashMint.spec +55 -0
  1177. package/lib/openzeppelin-contracts-upgradeable/certora/specs/ERC20Wrapper.spec +198 -0
  1178. package/lib/openzeppelin-contracts-upgradeable/certora/specs/ERC721.spec +679 -0
  1179. package/lib/openzeppelin-contracts-upgradeable/certora/specs/EnumerableMap.spec +333 -0
  1180. package/lib/openzeppelin-contracts-upgradeable/certora/specs/EnumerableSet.spec +246 -0
  1181. package/lib/openzeppelin-contracts-upgradeable/certora/specs/Initializable.spec +165 -0
  1182. package/lib/openzeppelin-contracts-upgradeable/certora/specs/Nonces.spec +92 -0
  1183. package/lib/openzeppelin-contracts-upgradeable/certora/specs/Ownable.spec +77 -0
  1184. package/lib/openzeppelin-contracts-upgradeable/certora/specs/Ownable2Step.spec +108 -0
  1185. package/lib/openzeppelin-contracts-upgradeable/certora/specs/Pausable.spec +96 -0
  1186. package/lib/openzeppelin-contracts-upgradeable/certora/specs/TimelockController.spec +274 -0
  1187. package/lib/openzeppelin-contracts-upgradeable/certora/specs/helpers/helpers.spec +12 -0
  1188. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IAccessControl.spec +8 -0
  1189. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
  1190. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IAccessManaged.spec +5 -0
  1191. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IAccessManager.spec +33 -0
  1192. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC20.spec +11 -0
  1193. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC2612.spec +5 -0
  1194. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC3156FlashBorrower.spec +3 -0
  1195. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC3156FlashLender.spec +5 -0
  1196. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC5313.spec +3 -0
  1197. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC721.spec +17 -0
  1198. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC721Receiver.spec +3 -0
  1199. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IOwnable.spec +5 -0
  1200. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IOwnable2Step.spec +7 -0
  1201. package/lib/openzeppelin-contracts-upgradeable/certora/specs.json +110 -0
  1202. package/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol +71 -99
  1203. package/lib/openzeppelin-contracts-upgradeable/contracts/access/Ownable2StepUpgradeable.sol +38 -21
  1204. package/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol +50 -26
  1205. package/lib/openzeppelin-contracts-upgradeable/contracts/access/README.adoc +23 -3
  1206. package/lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol +401 -0
  1207. package/lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlEnumerableUpgradeable.sol +104 -0
  1208. package/lib/openzeppelin-contracts-upgradeable/contracts/access/manager/AccessManagedUpgradeable.sol +133 -0
  1209. package/lib/openzeppelin-contracts-upgradeable/contracts/access/manager/AccessManagerUpgradeable.sol +783 -0
  1210. package/lib/openzeppelin-contracts-upgradeable/contracts/account/README.adoc +30 -0
  1211. package/lib/openzeppelin-contracts-upgradeable/contracts/account/extensions/draft-AccountERC7579HookedUpgradeable.sol +127 -0
  1212. package/lib/openzeppelin-contracts-upgradeable/contracts/account/extensions/draft-AccountERC7579Upgradeable.sol +426 -0
  1213. package/lib/openzeppelin-contracts-upgradeable/contracts/finance/README.adoc +1 -7
  1214. package/lib/openzeppelin-contracts-upgradeable/contracts/finance/VestingWalletCliffUpgradeable.sol +73 -0
  1215. package/lib/openzeppelin-contracts-upgradeable/contracts/finance/VestingWalletUpgradeable.sol +79 -59
  1216. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/GovernorUpgradeable.sol +509 -269
  1217. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/README.adoc +37 -16
  1218. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/TimelockControllerUpgradeable.sol +186 -131
  1219. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorCountingFractionalUpgradeable.sol +214 -0
  1220. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorCountingOverridableUpgradeable.sol +248 -0
  1221. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorCountingSimpleUpgradeable.sol +51 -51
  1222. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorNoncesKeyedUpgradeable.sol +96 -0
  1223. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorPreventLateQuorumUpgradeable.sol +46 -53
  1224. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorProposalGuardianUpgradeable.sol +78 -0
  1225. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorSequentialProposalIdUpgradeable.sol +98 -0
  1226. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorSettingsUpgradeable.sol +50 -50
  1227. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorStorageUpgradeable.sol +150 -0
  1228. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorSuperQuorumUpgradeable.sol +64 -0
  1229. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorTimelockAccessUpgradeable.sol +376 -0
  1230. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorTimelockCompoundUpgradeable.sol +77 -91
  1231. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorTimelockControlUpgradeable.sol +84 -70
  1232. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorVotesQuorumFractionUpgradeable.sol +51 -49
  1233. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorVotesSuperQuorumFractionUpgradeable.sol +155 -0
  1234. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorVotesUpgradeable.sol +60 -23
  1235. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesExtendedUpgradeable.sol +106 -0
  1236. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol +143 -87
  1237. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/README.adoc +50 -1
  1238. package/lib/openzeppelin-contracts-upgradeable/contracts/metatx/ERC2771ContextUpgradeable.sol +60 -20
  1239. package/lib/openzeppelin-contracts-upgradeable/contracts/metatx/ERC2771ForwarderUpgradeable.sol +380 -0
  1240. package/lib/openzeppelin-contracts-upgradeable/contracts/metatx/README.adoc +6 -1
  1241. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessManagedTargetUpgradeable.sol +40 -0
  1242. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessManagerMockUpgradeable.sol +25 -0
  1243. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ArraysMockUpgradeable.sol +133 -26
  1244. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AuthorityMockUpgradeable.sol +95 -0
  1245. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/Base64DirtyUpgradeable.sol +25 -0
  1246. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/BatchCallerUpgradeable.sol +26 -0
  1247. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/CallReceiverMockUpgradeable.sol +35 -17
  1248. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ConstructorMockUpgradeable.sol +39 -0
  1249. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ContextMockUpgradeable.sol +11 -23
  1250. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/DummyImplementationUpgradeable.sol +14 -31
  1251. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EIP712VerifierUpgradeable.sol +22 -0
  1252. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1271WalletMockUpgradeable.sol +12 -29
  1253. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165InterfacesSupportedUpgradeable.sol +6 -20
  1254. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165MaliciousDataUpgradeable.sol +2 -9
  1255. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165MissingDataUpgradeable.sol +2 -9
  1256. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165NotSupportedUpgradeable.sol +2 -9
  1257. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165ReturnBombUpgradeable.sol +5 -12
  1258. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC2771ContextMockUpgradeable.sol +10 -11
  1259. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC3156FlashBorrowerMockUpgradeable.sol +12 -19
  1260. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EtherReceiverMockUpgradeable.sol +4 -11
  1261. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/InitializableMock.sol +6 -6
  1262. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MerkleProofCustomHashMockUpgradeable.sol +68 -0
  1263. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MerkleTreeMockUpgradeable.sol +58 -0
  1264. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MulticallHelperUpgradeable.sol +29 -0
  1265. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MultipleInheritanceInitializableMocks.sol +7 -12
  1266. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/PausableMockUpgradeable.sol +3 -11
  1267. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ReentrancyAttackUpgradeable.sol +5 -12
  1268. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ReentrancyMockUpgradeable.sol +13 -13
  1269. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ReentrancyTransientMockUpgradeable.sol +55 -0
  1270. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/RegressionImplementation.sol +2 -2
  1271. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SingleInheritanceInitializableMocks.sol +2 -2
  1272. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/StatelessUpgradeable.sol +61 -0
  1273. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/StorageSlotMockUpgradeable.sol +62 -23
  1274. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/TimelockReentrantUpgradeable.sol +32 -0
  1275. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/TransientSlotMockUpgradeable.sol +67 -0
  1276. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/UpgradeableBeaconMockUpgradeable.sol +34 -0
  1277. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/VotesExtendedMockUpgradeable.sol +53 -0
  1278. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/VotesMockUpgradeable.sol +28 -27
  1279. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/WithInit.sol +849 -740
  1280. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/account/AccountMockUpgradeable.sol +223 -0
  1281. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/account/modules/ERC7579MockUpgradeable.sol +138 -0
  1282. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/account/utils/ERC7579UtilsMockUpgradeable.sol +29 -0
  1283. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/compound/CompTimelockUpgradeable.sol +2 -9
  1284. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/ERC20WithAutoMinerRewardUpgradeable.sol +28 -0
  1285. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/ERC4626FeesUpgradeable.sol +115 -0
  1286. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/MyNFTUpgradeable.sol +14 -0
  1287. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessControlERC20MintBaseUpgradeable.sol +31 -0
  1288. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessControlERC20MintMissingUpgradeable.sol +30 -0
  1289. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessControlERC20MintOnlyRoleUpgradeable.sol +29 -0
  1290. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessControlModifiedUpgradeable.sol +20 -0
  1291. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessManagedERC20MintBaseUpgradeable.sol +22 -0
  1292. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/MyContractOwnableUpgradeable.sol +22 -0
  1293. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/account/MyAccountERC7702Upgradeable.sol +26 -0
  1294. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/account/MyFactoryAccountUpgradeable.sol +42 -0
  1295. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/governance/MyGovernorUpgradeable.sol +92 -0
  1296. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/governance/MyTokenTimestampBasedUpgradeable.sol +39 -0
  1297. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/governance/MyTokenUpgradeable.sol +28 -0
  1298. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/governance/MyTokenWrappedUpgradeable.sol +39 -0
  1299. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC1155/GameItemsUpgradeable.sol +27 -0
  1300. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC1155/MyERC115HolderContractUpgradeable.sol +13 -0
  1301. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC20/GLDTokenUpgradeable.sol +17 -0
  1302. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC6909/ERC6909GameItemsUpgradeable.sol +31 -0
  1303. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC721/GameItemUpgradeable.sol +24 -0
  1304. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/utilities/Base64NFTUpgradeable.sol +32 -0
  1305. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/utilities/MulticallUpgradeable.sol +21 -0
  1306. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorCountingOverridableMockUpgradeable.sol +24 -0
  1307. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorFractionalMockUpgradeable.sol +20 -0
  1308. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorMockUpgradeable.sol +20 -0
  1309. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorNoncesKeyedMockUpgradeable.sol +51 -0
  1310. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorPreventLateQuorumMockUpgradeable.sol +45 -0
  1311. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorProposalGuardianMockUpgradeable.sol +33 -0
  1312. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorSequentialProposalIdMockUpgradeable.sol +45 -0
  1313. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorStorageMockUpgradeable.sol +85 -0
  1314. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorSuperQuorumMockUpgradeable.sol +100 -0
  1315. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorTimelockAccessMockUpgradeable.sol +76 -0
  1316. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorTimelockCompoundMockUpgradeable.sol +75 -0
  1317. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorTimelockControlMockUpgradeable.sol +75 -0
  1318. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorVoteMockUpgradeable.sol +26 -0
  1319. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorVotesSuperQuorumFractionMockUpgradeable.sol +43 -0
  1320. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorWithParamsMockUpgradeable.sol +57 -0
  1321. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/proxy/BadBeaconUpgradeable.sol +22 -0
  1322. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/proxy/ClashingImplementationUpgradeable.sol +25 -0
  1323. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/proxy/UUPSUpgradeableMockUpgradeable.sol +56 -0
  1324. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1155ReceiverMockUpgradeable.sol +79 -0
  1325. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1363ForceApproveMockUpgradeable.sol +19 -0
  1326. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1363NoReturnMockUpgradeable.sol +39 -0
  1327. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1363ReceiverMockUpgradeable.sol +57 -0
  1328. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1363ReturnFalseMockUpgradeable.sol +46 -0
  1329. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1363SpenderMockUpgradeable.sol +52 -0
  1330. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20ApprovalMockUpgradeable.sol +16 -0
  1331. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20BridgeableMockUpgradeable.sol +31 -0
  1332. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20DecimalsMockUpgradeable.sol +22 -0
  1333. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20ExcessDecimalsMockUpgradeable.sol +15 -0
  1334. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20FlashMintMockUpgradeable.sol +32 -0
  1335. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20ForceApproveMockUpgradeable.sol +19 -0
  1336. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20GetterHelperUpgradeable.sol +44 -0
  1337. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20MockUpgradeable.sol +21 -0
  1338. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20MulticallMockUpgradeable.sol +14 -0
  1339. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20NoReturnMockUpgradeable.sol +34 -0
  1340. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20ReentrantUpgradeable.sol +46 -0
  1341. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20ReturnFalseMockUpgradeable.sol +25 -0
  1342. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20VotesAdditionalCheckpointsMockUpgradeable.sol +42 -0
  1343. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20VotesLegacyMockUpgradeable.sol +259 -0
  1344. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20VotesTimestampMockUpgradeable.sol +40 -0
  1345. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC4626LimitsMockUpgradeable.sol +28 -0
  1346. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC4626MockUpgradeable.sol +24 -0
  1347. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC4626OffsetMockUpgradeable.sol +22 -0
  1348. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC4646FeesMockUpgradeable.sol +50 -0
  1349. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC721ConsecutiveEnumerableMockUpgradeable.sol +53 -0
  1350. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC721ConsecutiveMockUpgradeable.sol +80 -0
  1351. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC721ReceiverMockUpgradeable.sol +52 -0
  1352. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC721URIStorageMockUpgradeable.sol +23 -0
  1353. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/utils/cryptography/ERC7739MockUpgradeable.sol +29 -0
  1354. package/lib/openzeppelin-contracts-upgradeable/contracts/package.json +7 -4
  1355. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/README.adoc +13 -11
  1356. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol +108 -35
  1357. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol +84 -40
  1358. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol +227 -343
  1359. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/README.adoc +6 -12
  1360. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol +12 -31
  1361. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol +12 -26
  1362. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol +63 -31
  1363. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155URIStorageUpgradeable.sol +37 -30
  1364. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/utils/ERC1155HolderUpgradeable.sol +13 -15
  1365. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol +168 -239
  1366. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/README.adoc +28 -36
  1367. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC1363Upgradeable.sol +142 -0
  1368. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20BurnableUpgradeable.sol +14 -21
  1369. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20CappedUpgradeable.sol +45 -23
  1370. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20FlashMintUpgradeable.sol +60 -42
  1371. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20PausableUpgradeable.sol +10 -24
  1372. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20PermitUpgradeable.sol +82 -0
  1373. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20VotesUpgradeable.sol +46 -245
  1374. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20WrapperUpgradeable.sol +71 -34
  1375. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol +156 -148
  1376. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-ERC20BridgeableUpgradeable.sol +57 -0
  1377. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-ERC20TemporaryApprovalUpgradeable.sol +126 -0
  1378. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC6909/README.adoc +27 -0
  1379. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC6909/draft-ERC6909Upgradeable.sol +250 -0
  1380. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC6909/extensions/draft-ERC6909ContentURIUpgradeable.sol +75 -0
  1381. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC6909/extensions/draft-ERC6909MetadataUpgradeable.sol +101 -0
  1382. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC6909/extensions/draft-ERC6909TokenSupplyUpgradeable.sol +55 -0
  1383. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol +288 -347
  1384. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/README.adoc +11 -12
  1385. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol +10 -17
  1386. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721ConsecutiveUpgradeable.sol +106 -69
  1387. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol +100 -83
  1388. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721PausableUpgradeable.sol +13 -24
  1389. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721RoyaltyUpgradeable.sol +11 -30
  1390. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol +45 -42
  1391. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721VotesUpgradeable.sol +20 -21
  1392. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721WrapperUpgradeable.sol +122 -0
  1393. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/utils/ERC721HolderUpgradeable.sol +8 -19
  1394. package/lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.sol +86 -47
  1395. package/lib/openzeppelin-contracts-upgradeable/contracts/token/common/README.adoc +2 -2
  1396. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol +6 -9
  1397. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/MulticallUpgradeable.sol +20 -28
  1398. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesKeyedUpgradeable.sol +94 -0
  1399. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol +66 -0
  1400. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/PausableUpgradeable.sol +133 -0
  1401. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/README.adoc +79 -45
  1402. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardTransientUpgradeable.sol +67 -0
  1403. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol +108 -0
  1404. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol +127 -41
  1405. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/README.adoc +67 -0
  1406. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol +276 -0
  1407. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol +229 -0
  1408. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/SignerECDSAUpgradeable.sol +74 -0
  1409. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/SignerERC7913Upgradeable.sol +81 -0
  1410. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/SignerP256Upgradeable.sol +82 -0
  1411. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/SignerRSAUpgradeable.sol +83 -0
  1412. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/draft-ERC7739Upgradeable.sol +104 -0
  1413. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol +9 -20
  1414. package/lib/openzeppelin-contracts-upgradeable/docs/antora.yml +2 -1
  1415. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/access-control-multiple.svg +97 -0
  1416. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/access-manager-functions.svg +47 -0
  1417. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/access-manager.svg +99 -0
  1418. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
  1419. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
  1420. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
  1421. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-attack.png +0 -0
  1422. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
  1423. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-mint.png +0 -0
  1424. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
  1425. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
  1426. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
  1427. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/nav.adoc +13 -7
  1428. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/access-control.adoc +168 -97
  1429. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/account-abstraction.adoc +100 -0
  1430. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/accounts.adoc +354 -0
  1431. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/backwards-compatibility.adoc +50 -0
  1432. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/eoa-delegation.adoc +143 -0
  1433. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc1155.adoc +19 -54
  1434. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc20-supply.adoc +13 -55
  1435. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc20.adoc +7 -25
  1436. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc4626.adoc +214 -0
  1437. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc6909.adoc +47 -0
  1438. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc721.adoc +10 -42
  1439. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/extending-contracts.adoc +4 -82
  1440. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/faq.adoc +13 -0
  1441. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/governance.adoc +85 -167
  1442. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/index.adoc +19 -12
  1443. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/multisig.adoc +306 -0
  1444. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/tokens.adoc +4 -5
  1445. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/upgradeable.adoc +14 -10
  1446. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/utilities.adoc +482 -81
  1447. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/wizard.adoc +1 -1
  1448. package/lib/openzeppelin-contracts-upgradeable/docs/templates/contract.hbs +57 -1
  1449. package/lib/openzeppelin-contracts-upgradeable/docs/templates/helpers.js +8 -8
  1450. package/lib/openzeppelin-contracts-upgradeable/docs/templates/properties.js +47 -8
  1451. package/lib/openzeppelin-contracts-upgradeable/eslint.config.mjs +26 -0
  1452. package/lib/openzeppelin-contracts-upgradeable/foundry.toml +15 -0
  1453. package/lib/openzeppelin-contracts-upgradeable/fv-requirements.txt +4 -0
  1454. package/lib/openzeppelin-contracts-upgradeable/hardhat/async-test-sanity.js +10 -0
  1455. package/lib/openzeppelin-contracts-upgradeable/hardhat/common-contracts.js +69 -0
  1456. package/lib/openzeppelin-contracts-upgradeable/hardhat/env-artifacts.js +15 -6
  1457. package/lib/openzeppelin-contracts-upgradeable/hardhat/ignore-unreachable-warnings.js +2 -4
  1458. package/lib/openzeppelin-contracts-upgradeable/hardhat/remappings.js +18 -0
  1459. package/lib/openzeppelin-contracts-upgradeable/hardhat/skip-foundry-tests.js +3 -4
  1460. package/lib/openzeppelin-contracts-upgradeable/hardhat/task-test-get-files.js +22 -16
  1461. package/lib/openzeppelin-contracts-upgradeable/hardhat.config.js +67 -49
  1462. package/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/ERC4626.prop.sol +404 -0
  1463. package/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/ERC4626.test.sol +356 -0
  1464. package/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/LICENSE +661 -0
  1465. package/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/README.md +116 -0
  1466. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/.gitattributes +1 -0
  1467. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/.github/workflows/ci.yml +48 -12
  1468. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/.github/workflows/sync.yml +31 -0
  1469. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/CONTRIBUTING.md +193 -0
  1470. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/README.md +19 -3
  1471. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/foundry.toml +5 -3
  1472. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/package.json +2 -2
  1473. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/scripts/vm.py +646 -0
  1474. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/Base.sol +7 -3
  1475. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/Script.sol +4 -3
  1476. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdAssertions.sol +595 -135
  1477. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdChains.sol +146 -48
  1478. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdCheats.sol +303 -39
  1479. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdInvariant.sol +122 -0
  1480. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdJson.sol +129 -25
  1481. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdStorage.sol +245 -99
  1482. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdStyle.sol +333 -0
  1483. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdToml.sol +283 -0
  1484. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdUtils.sol +125 -39
  1485. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/Test.sol +10 -5
  1486. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/Vm.sol +2182 -304
  1487. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/console.sol +635 -608
  1488. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/console2.sol +1 -1543
  1489. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/interfaces/IERC4626.sol +2 -2
  1490. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
  1491. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/safeconsole.sol +13937 -0
  1492. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdAssertions.t.sol +126 -572
  1493. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdChains.t.sol +166 -62
  1494. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdCheats.t.sol +348 -35
  1495. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdError.t.sol +15 -13
  1496. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdJson.t.sol +49 -0
  1497. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdMath.t.sol +31 -26
  1498. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdStorage.t.sol +251 -46
  1499. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdStyle.t.sol +110 -0
  1500. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdToml.t.sol +49 -0
  1501. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdUtils.t.sol +186 -35
  1502. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/Vm.t.sol +18 -0
  1503. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/fixtures/test.json +8 -0
  1504. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/fixtures/test.toml +6 -0
  1505. package/lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/LICENSE +661 -0
  1506. package/lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/README.md +97 -0
  1507. package/lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/SVM.sol +49 -0
  1508. package/lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/SymTest.sol +11 -0
  1509. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/all-geese-stand.md +5 -0
  1510. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/clean-ways-push.md +5 -0
  1511. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/config.json +12 -0
  1512. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/dull-students-eat.md +5 -0
  1513. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/eight-radios-check.md +5 -0
  1514. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/fine-frogs-bake.md +5 -0
  1515. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/full-ways-help.md +5 -0
  1516. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/funny-years-yawn.md +5 -0
  1517. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/hot-grapes-lie.md +5 -0
  1518. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/lazy-poets-cheer.md +5 -0
  1519. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/long-hornets-mate.md +5 -0
  1520. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/lucky-donuts-scream.md +5 -0
  1521. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/major-feet-write.md +5 -0
  1522. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/new-days-tease.md +5 -0
  1523. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/nice-rings-wish.md +5 -0
  1524. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/pink-dolls-shop.md +5 -0
  1525. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/popular-geese-tan.md +5 -0
  1526. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/proud-tables-sip.md +5 -0
  1527. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/public-crabs-heal.md +5 -0
  1528. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/quiet-kiwis-feel.md +5 -0
  1529. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/rare-shirts-unite.md +5 -0
  1530. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/rich-cows-repair.md +5 -0
  1531. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/ripe-bears-hide.md +5 -0
  1532. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/rotten-apes-lie.md +5 -0
  1533. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/social-walls-obey.md +5 -0
  1534. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/sour-pens-shake.md +5 -0
  1535. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/strong-points-change.md +5 -0
  1536. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/tame-bears-mix.md +5 -0
  1537. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/violet-turtles-like.md +5 -0
  1538. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/wet-dodos-reply.md +5 -0
  1539. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/whole-plums-speak.md +5 -0
  1540. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/wild-baths-buy.md +5 -0
  1541. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.codecov.yml +16 -0
  1542. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.editorconfig +21 -0
  1543. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/CODEOWNERS +10 -0
  1544. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
  1545. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/config.yml +4 -0
  1546. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/PULL_REQUEST_TEMPLATE.md +20 -0
  1547. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/actions/gas-compare/action.yml +51 -0
  1548. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/actions/setup/action.yml +22 -0
  1549. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/actions/storage-layout/action.yml +57 -0
  1550. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/actionlint.yml +18 -0
  1551. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/changeset.yml +28 -0
  1552. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/checks.yml +132 -0
  1553. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/docs.yml +19 -0
  1554. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/formal-verification.yml +86 -0
  1555. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/release-cycle.yml +214 -0
  1556. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/upgradeable.yml +34 -0
  1557. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.gitmodules +10 -0
  1558. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.husky/pre-commit +2 -0
  1559. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.mocharc.js +4 -0
  1560. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.prettierrc +15 -0
  1561. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.solcover.js +21 -0
  1562. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/CHANGELOG.md +1220 -0
  1563. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/CODE_OF_CONDUCT.md +73 -0
  1564. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/CONTRIBUTING.md +36 -0
  1565. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/FUNDING.json +10 -0
  1566. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/GUIDELINES.md +155 -0
  1567. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/LICENSE +22 -0
  1568. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/README.md +108 -0
  1569. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/RELEASING.md +45 -0
  1570. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/SECURITY.md +43 -0
  1571. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2017-03.md +292 -0
  1572. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2022-10-Checkpoints.pdf +0 -0
  1573. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2022-10-ERC4626.pdf +0 -0
  1574. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2023-05-v4.9.pdf +0 -0
  1575. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2023-10-v5.0.pdf +0 -0
  1576. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2024-10-v5.1.pdf +0 -0
  1577. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2024-12-v5.2.pdf +0 -0
  1578. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2025-04-v5.3.pdf +0 -0
  1579. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/README.md +20 -0
  1580. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/Makefile +54 -0
  1581. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/README.md +60 -0
  1582. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/diff/access_manager_AccessManager.sol.patch +97 -0
  1583. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/AccessControlDefaultAdminRulesHarness.sol +46 -0
  1584. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/AccessControlHarness.sol +6 -0
  1585. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/AccessManagedHarness.sol +36 -0
  1586. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/AccessManagerHarness.sol +116 -0
  1587. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/DoubleEndedQueueHarness.sol +58 -0
  1588. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC20FlashMintHarness.sol +36 -0
  1589. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC20PermitHarness.sol +16 -0
  1590. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC20WrapperHarness.sol +34 -0
  1591. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
  1592. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC721Harness.sol +33 -0
  1593. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC721ReceiverHarness.sol +11 -0
  1594. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/EnumerableMapHarness.sol +55 -0
  1595. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/EnumerableSetHarness.sol +35 -0
  1596. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/InitializableHarness.sol +23 -0
  1597. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/NoncesHarness.sol +14 -0
  1598. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/Ownable2StepHarness.sol +10 -0
  1599. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/OwnableHarness.sol +10 -0
  1600. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/PausableHarness.sol +18 -0
  1601. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/TimelockControllerHarness.sol +13 -0
  1602. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/reports/2021-10.pdf +0 -0
  1603. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/reports/2022-03.pdf +0 -0
  1604. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/reports/2022-05.pdf +0 -0
  1605. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/run.js +168 -0
  1606. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/AccessControl.spec +119 -0
  1607. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/AccessControlDefaultAdminRules.spec +464 -0
  1608. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/AccessManaged.spec +34 -0
  1609. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/AccessManager.spec +826 -0
  1610. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/DoubleEndedQueue.spec +300 -0
  1611. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/ERC20.spec +352 -0
  1612. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/ERC20FlashMint.spec +55 -0
  1613. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/ERC20Wrapper.spec +198 -0
  1614. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/ERC721.spec +679 -0
  1615. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/EnumerableMap.spec +333 -0
  1616. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/EnumerableSet.spec +246 -0
  1617. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/Initializable.spec +165 -0
  1618. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/Nonces.spec +92 -0
  1619. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/Ownable.spec +77 -0
  1620. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/Ownable2Step.spec +108 -0
  1621. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/Pausable.spec +96 -0
  1622. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/TimelockController.spec +274 -0
  1623. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/helpers/helpers.spec +12 -0
  1624. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IAccessControl.spec +8 -0
  1625. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
  1626. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IAccessManaged.spec +5 -0
  1627. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IAccessManager.spec +33 -0
  1628. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC20.spec +11 -0
  1629. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC2612.spec +5 -0
  1630. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC3156FlashBorrower.spec +3 -0
  1631. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC3156FlashLender.spec +5 -0
  1632. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC5313.spec +3 -0
  1633. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC721.spec +17 -0
  1634. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC721Receiver.spec +3 -0
  1635. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IOwnable.spec +5 -0
  1636. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IOwnable2Step.spec +7 -0
  1637. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs.json +110 -0
  1638. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.sol +207 -0
  1639. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol +98 -0
  1640. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/Ownable.sol +100 -0
  1641. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol +67 -0
  1642. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/README.adoc +45 -0
  1643. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol +372 -0
  1644. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/extensions/AccessControlEnumerable.sol +81 -0
  1645. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol +192 -0
  1646. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlEnumerable.sol +31 -0
  1647. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/AccessManaged.sol +112 -0
  1648. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/AccessManager.sol +740 -0
  1649. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/AuthorityUtils.sol +36 -0
  1650. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/IAccessManaged.sol +32 -0
  1651. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/IAccessManager.sol +399 -0
  1652. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/IAuthority.sol +14 -0
  1653. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/Account.sol +144 -0
  1654. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/README.adoc +30 -0
  1655. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/extensions/draft-AccountERC7579.sol +413 -0
  1656. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/extensions/draft-AccountERC7579Hooked.sol +106 -0
  1657. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/extensions/draft-ERC7821.sol +69 -0
  1658. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/utils/EIP7702Utils.sol +20 -0
  1659. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/utils/draft-ERC4337Utils.sol +159 -0
  1660. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/utils/draft-ERC7579Utils.sol +280 -0
  1661. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/finance/README.adoc +14 -0
  1662. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/finance/VestingWallet.sol +159 -0
  1663. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/finance/VestingWalletCliff.sol +54 -0
  1664. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/Governor.sol +818 -0
  1665. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/IGovernor.sol +454 -0
  1666. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/README.adoc +197 -0
  1667. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/TimelockController.sol +471 -0
  1668. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingFractional.sol +190 -0
  1669. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingOverridable.sol +222 -0
  1670. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol +96 -0
  1671. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorNoncesKeyed.sol +90 -0
  1672. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorPreventLateQuorum.sol +92 -0
  1673. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalGuardian.sol +58 -0
  1674. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSequentialProposalId.sol +75 -0
  1675. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSettings.sol +106 -0
  1676. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorStorage.sol +125 -0
  1677. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSuperQuorum.sol +58 -0
  1678. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockAccess.sol +346 -0
  1679. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockCompound.sol +165 -0
  1680. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol +167 -0
  1681. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol +63 -0
  1682. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +113 -0
  1683. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol +134 -0
  1684. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol +59 -0
  1685. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol +252 -0
  1686. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/utils/VotesExtended.sol +84 -0
  1687. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1155.sol +6 -0
  1688. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1155MetadataURI.sol +6 -0
  1689. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1155Receiver.sol +6 -0
  1690. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol +17 -0
  1691. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol +86 -0
  1692. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Receiver.sol +32 -0
  1693. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Spender.sol +26 -0
  1694. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol +6 -0
  1695. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Implementer.sol +20 -0
  1696. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Registry.sol +112 -0
  1697. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol +24 -0
  1698. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol +6 -0
  1699. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC20Metadata.sol +6 -0
  1700. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol +19 -0
  1701. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC2612.sol +8 -0
  1702. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC2981.sol +26 -0
  1703. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC3156.sol +7 -0
  1704. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol +27 -0
  1705. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol +41 -0
  1706. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol +230 -0
  1707. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol +20 -0
  1708. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol +28 -0
  1709. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol +16 -0
  1710. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol +9 -0
  1711. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol +17 -0
  1712. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol +6 -0
  1713. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC721Enumerable.sol +6 -0
  1714. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC721Metadata.sol +6 -0
  1715. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC721Receiver.sol +6 -0
  1716. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC777.sol +200 -0
  1717. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC777Recipient.sol +35 -0
  1718. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC777Sender.sol +35 -0
  1719. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC7913.sol +17 -0
  1720. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/README.adoc +105 -0
  1721. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol +20 -0
  1722. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC4337.sol +253 -0
  1723. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol +161 -0
  1724. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6909.sol +125 -0
  1725. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7579.sol +226 -0
  1726. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7674.sol +17 -0
  1727. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7786.sol +64 -0
  1728. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7802.sol +30 -0
  1729. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7821.sol +43 -0
  1730. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol +90 -0
  1731. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/metatx/ERC2771Forwarder.sol +372 -0
  1732. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/metatx/README.adoc +17 -0
  1733. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/AccessManagedTarget.sol +34 -0
  1734. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/AccessManagerMock.sol +20 -0
  1735. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ArraysMock.sol +171 -0
  1736. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/AuthorityMock.sol +69 -0
  1737. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/Base64Dirty.sol +19 -0
  1738. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/BatchCaller.sol +20 -0
  1739. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/CallReceiverMock.sol +78 -0
  1740. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ConstructorMock.sol +34 -0
  1741. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ContextMock.sol +35 -0
  1742. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/DummyImplementation.sol +65 -0
  1743. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/EIP712Verifier.sol +16 -0
  1744. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC1271WalletMock.sol +24 -0
  1745. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165InterfacesSupported.sol +58 -0
  1746. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MaliciousData.sol +12 -0
  1747. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MissingData.sol +7 -0
  1748. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165NotSupported.sol +5 -0
  1749. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165ReturnBomb.sol +18 -0
  1750. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC2771ContextMock.sol +28 -0
  1751. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC3156FlashBorrowerMock.sol +53 -0
  1752. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol +17 -0
  1753. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/InitializableMock.sol +130 -0
  1754. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/MerkleProofCustomHashMock.sol +62 -0
  1755. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/MerkleTreeMock.sol +52 -0
  1756. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/MulticallHelper.sol +23 -0
  1757. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol +131 -0
  1758. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/PausableMock.sol +31 -0
  1759. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol +12 -0
  1760. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol +50 -0
  1761. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ReentrancyTransientMock.sol +50 -0
  1762. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol +61 -0
  1763. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/SingleInheritanceInitializableMocks.sol +49 -0
  1764. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/Stateless.sol +55 -0
  1765. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol +87 -0
  1766. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol +26 -0
  1767. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/TransientSlotMock.sol +61 -0
  1768. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/UpgradeableBeaconMock.sol +27 -0
  1769. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/VotesExtendedMock.sol +42 -0
  1770. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/VotesMock.sol +42 -0
  1771. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/account/AccountMock.sol +169 -0
  1772. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/account/modules/ERC7579Mock.sol +122 -0
  1773. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/account/utils/ERC7579UtilsMock.sol +23 -0
  1774. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/compound/CompTimelock.sol +174 -0
  1775. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/ERC20WithAutoMinerReward.sol +22 -0
  1776. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/ERC4626Fees.sol +109 -0
  1777. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/MyNFT.sol +9 -0
  1778. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintBase.sol +25 -0
  1779. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintMissing.sol +24 -0
  1780. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintOnlyRole.sol +23 -0
  1781. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlModified.sol +14 -0
  1782. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessManagedERC20MintBase.sol +16 -0
  1783. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/MyContractOwnable.sol +17 -0
  1784. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/account/MyAccountERC7702.sol +20 -0
  1785. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/account/MyFactoryAccount.sol +37 -0
  1786. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyGovernor.sol +80 -0
  1787. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyToken.sol +21 -0
  1788. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenTimestampBased.sol +32 -0
  1789. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenWrapped.sol +28 -0
  1790. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC1155/GameItems.sol +21 -0
  1791. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC1155/MyERC115HolderContract.sol +7 -0
  1792. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC20/GLDToken.sol +11 -0
  1793. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC6909/ERC6909GameItems.sol +26 -0
  1794. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC721/GameItem.sol +19 -0
  1795. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/utilities/Base64NFT.sol +27 -0
  1796. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/utilities/Multicall.sol +15 -0
  1797. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCountingOverridableMock.sol +18 -0
  1798. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorFractionalMock.sol +14 -0
  1799. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorMock.sol +14 -0
  1800. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorNoncesKeyedMock.sol +45 -0
  1801. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorPreventLateQuorumMock.sol +40 -0
  1802. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorProposalGuardianMock.sol +27 -0
  1803. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorSequentialProposalIdMock.sol +39 -0
  1804. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorStorageMock.sol +79 -0
  1805. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorSuperQuorumMock.sol +95 -0
  1806. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockAccessMock.sol +70 -0
  1807. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockCompoundMock.sol +69 -0
  1808. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockControlMock.sol +69 -0
  1809. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVoteMock.sol +20 -0
  1810. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVotesSuperQuorumFractionMock.sol +37 -0
  1811. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorWithParamsMock.sol +51 -0
  1812. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/proxy/BadBeacon.sol +11 -0
  1813. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/proxy/ClashingImplementation.sol +19 -0
  1814. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSUpgradeableMock.sol +35 -0
  1815. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1155ReceiverMock.sol +74 -0
  1816. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ForceApproveMock.sol +13 -0
  1817. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363NoReturnMock.sol +33 -0
  1818. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ReceiverMock.sol +52 -0
  1819. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ReturnFalseMock.sol +34 -0
  1820. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363SpenderMock.sol +47 -0
  1821. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ApprovalMock.sol +10 -0
  1822. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20BridgeableMock.sol +26 -0
  1823. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20DecimalsMock.sol +17 -0
  1824. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ExcessDecimalsMock.sol +9 -0
  1825. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20FlashMintMock.sol +26 -0
  1826. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ForceApproveMock.sol +13 -0
  1827. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20GetterHelper.sol +38 -0
  1828. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol +16 -0
  1829. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20MulticallMock.sol +8 -0
  1830. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20NoReturnMock.sol +28 -0
  1831. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20Reentrant.sol +39 -0
  1832. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ReturnFalseMock.sol +19 -0
  1833. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesAdditionalCheckpointsMock.sol +31 -0
  1834. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesLegacyMock.sol +253 -0
  1835. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesTimestampMock.sol +29 -0
  1836. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626LimitsMock.sol +23 -0
  1837. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626Mock.sol +17 -0
  1838. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626OffsetMock.sol +17 -0
  1839. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC4646FeesMock.sol +40 -0
  1840. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveEnumerableMock.sol +42 -0
  1841. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol +61 -0
  1842. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ReceiverMock.sol +47 -0
  1843. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC721URIStorageMock.sol +17 -0
  1844. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/utils/cryptography/ERC7739Mock.sol +13 -0
  1845. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/package.json +32 -0
  1846. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/Clones.sol +262 -0
  1847. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol +40 -0
  1848. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol +177 -0
  1849. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/Proxy.sol +69 -0
  1850. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/README.adoc +87 -0
  1851. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol +57 -0
  1852. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol +16 -0
  1853. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol +70 -0
  1854. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol +45 -0
  1855. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +118 -0
  1856. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol +238 -0
  1857. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol +146 -0
  1858. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol +389 -0
  1859. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol +123 -0
  1860. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol +59 -0
  1861. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/README.adoc +43 -0
  1862. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +28 -0
  1863. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +38 -0
  1864. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Supply.sol +88 -0
  1865. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +61 -0
  1866. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +20 -0
  1867. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol +40 -0
  1868. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Utils.sol +88 -0
  1869. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol +305 -0
  1870. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol +79 -0
  1871. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/README.adoc +78 -0
  1872. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC1363.sol +135 -0
  1873. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol +39 -0
  1874. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Capped.sol +54 -0
  1875. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20FlashMint.sol +134 -0
  1876. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Pausable.sol +33 -0
  1877. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol +77 -0
  1878. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol +83 -0
  1879. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol +89 -0
  1880. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.sol +282 -0
  1881. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol +26 -0
  1882. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol +90 -0
  1883. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Bridgeable.sol +50 -0
  1884. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20TemporaryApproval.sol +119 -0
  1885. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/utils/ERC1363Utils.sol +95 -0
  1886. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol +280 -0
  1887. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC6909/README.adoc +27 -0
  1888. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC6909/draft-ERC6909.sol +224 -0
  1889. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909ContentURI.sol +53 -0
  1890. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909Metadata.sol +77 -0
  1891. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909TokenSupply.sol +35 -0
  1892. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol +430 -0
  1893. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol +135 -0
  1894. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol +28 -0
  1895. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/README.adoc +69 -0
  1896. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Burnable.sol +26 -0
  1897. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol +176 -0
  1898. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol +164 -0
  1899. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol +37 -0
  1900. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Royalty.sol +26 -0
  1901. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol +58 -0
  1902. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol +47 -0
  1903. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Wrapper.sol +102 -0
  1904. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol +29 -0
  1905. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol +27 -0
  1906. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol +24 -0
  1907. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Utils.sol +50 -0
  1908. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/common/ERC2981.sol +139 -0
  1909. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/common/README.adoc +10 -0
  1910. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.sol +149 -0
  1911. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Arrays.sol +552 -0
  1912. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Base64.sol +119 -0
  1913. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Blockhash.sol +52 -0
  1914. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Bytes.sol +166 -0
  1915. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/CAIP10.sol +54 -0
  1916. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/CAIP2.sol +51 -0
  1917. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Calldata.sol +25 -0
  1918. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Comparators.sol +19 -0
  1919. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Context.sol +28 -0
  1920. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Create2.sol +92 -0
  1921. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Errors.sol +34 -0
  1922. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Memory.sol +44 -0
  1923. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Multicall.sol +37 -0
  1924. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Nonces.sol +46 -0
  1925. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/NoncesKeyed.sol +74 -0
  1926. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Packing.sol +1656 -0
  1927. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Panic.sol +57 -0
  1928. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Pausable.sol +112 -0
  1929. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/README.adoc +145 -0
  1930. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol +87 -0
  1931. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/ReentrancyGuardTransient.sol +61 -0
  1932. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol +122 -0
  1933. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol +155 -0
  1934. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol +143 -0
  1935. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.sol +507 -0
  1936. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol +183 -0
  1937. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol +213 -0
  1938. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol +160 -0
  1939. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/Hashes.sol +31 -0
  1940. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol +514 -0
  1941. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol +99 -0
  1942. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/P256.sol +408 -0
  1943. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/README.adoc +67 -0
  1944. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/RSA.sol +154 -0
  1945. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol +164 -0
  1946. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-ERC7739Utils.sol +206 -0
  1947. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/AbstractSigner.sol +22 -0
  1948. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/MultiSignerERC7913.sol +251 -0
  1949. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol +207 -0
  1950. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerECDSA.sol +55 -0
  1951. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerERC7702.sol +24 -0
  1952. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerERC7913.sol +62 -0
  1953. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerP256.sol +63 -0
  1954. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerRSA.sol +64 -0
  1955. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/draft-ERC7739.sol +98 -0
  1956. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/verifiers/ERC7913P256Verifier.sol +28 -0
  1957. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/verifiers/ERC7913RSAVerifier.sol +22 -0
  1958. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/draft-InteroperableAddress.sol +234 -0
  1959. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol +25 -0
  1960. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol +124 -0
  1961. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol +25 -0
  1962. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.sol +749 -0
  1963. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol +1162 -0
  1964. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol +68 -0
  1965. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol +60 -0
  1966. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol +833 -0
  1967. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/CircularBuffer.sol +140 -0
  1968. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol +156 -0
  1969. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol +1319 -0
  1970. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol +792 -0
  1971. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/Heap.sol +256 -0
  1972. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/MerkleTree.sol +267 -0
  1973. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/types/Time.sol +133 -0
  1974. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/vendor/compound/ICompoundTimelock.sol +86 -0
  1975. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/vendor/compound/LICENSE +11 -0
  1976. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/antora.yml +7 -0
  1977. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/config.js +21 -0
  1978. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-control-multiple.svg +97 -0
  1979. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-manager-functions.svg +47 -0
  1980. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-manager.svg +99 -0
  1981. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
  1982. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
  1983. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
  1984. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack.png +0 -0
  1985. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
  1986. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-mint.png +0 -0
  1987. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
  1988. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
  1989. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
  1990. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-exec.png +0 -0
  1991. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-vote.png +0 -0
  1992. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +29 -0
  1993. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +288 -0
  1994. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/account-abstraction.adoc +100 -0
  1995. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/accounts.adoc +354 -0
  1996. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/backwards-compatibility.adoc +50 -0
  1997. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/eoa-delegation.adoc +143 -0
  1998. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +118 -0
  1999. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +71 -0
  2000. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +67 -0
  2001. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc4626.adoc +214 -0
  2002. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc6909.adoc +47 -0
  2003. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +58 -0
  2004. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +51 -0
  2005. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/faq.adoc +13 -0
  2006. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +239 -0
  2007. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +70 -0
  2008. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/multisig.adoc +306 -0
  2009. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +31 -0
  2010. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +77 -0
  2011. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +591 -0
  2012. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/wizard.adoc +15 -0
  2013. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/templates/contract.hbs +141 -0
  2014. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/templates/helpers.js +46 -0
  2015. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/templates/page.hbs +4 -0
  2016. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/templates/properties.js +88 -0
  2017. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/eslint.config.mjs +26 -0
  2018. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/foundry.toml +15 -0
  2019. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/fv-requirements.txt +4 -0
  2020. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/async-test-sanity.js +10 -0
  2021. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/common-contracts.js +69 -0
  2022. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/env-artifacts.js +29 -0
  2023. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/ignore-unreachable-warnings.js +45 -0
  2024. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/remappings.js +18 -0
  2025. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/skip-foundry-tests.js +6 -0
  2026. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/task-test-get-files.js +25 -0
  2027. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat.config.js +124 -0
  2028. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.prop.sol +404 -0
  2029. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.test.sol +356 -0
  2030. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/erc4626-tests/LICENSE +661 -0
  2031. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/erc4626-tests/README.md +116 -0
  2032. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/.gitattributes +1 -0
  2033. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/ci.yml +128 -0
  2034. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/sync.yml +31 -0
  2035. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/CONTRIBUTING.md +193 -0
  2036. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/LICENSE-APACHE +203 -0
  2037. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/LICENSE-MIT +25 -0
  2038. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/README.md +266 -0
  2039. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/foundry.toml +23 -0
  2040. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/package.json +16 -0
  2041. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/scripts/vm.py +646 -0
  2042. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/Base.sol +35 -0
  2043. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/Script.sol +27 -0
  2044. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol +669 -0
  2045. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol +287 -0
  2046. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol +829 -0
  2047. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol +15 -0
  2048. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol +122 -0
  2049. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol +283 -0
  2050. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol +43 -0
  2051. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol +473 -0
  2052. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol +333 -0
  2053. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdToml.sol +283 -0
  2054. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol +209 -0
  2055. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/Test.sol +33 -0
  2056. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol +2263 -0
  2057. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/console.sol +1560 -0
  2058. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/console2.sol +4 -0
  2059. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
  2060. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC165.sol +12 -0
  2061. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC20.sol +43 -0
  2062. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
  2063. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC721.sol +164 -0
  2064. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
  2065. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/safeconsole.sol +13937 -0
  2066. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdAssertions.t.sol +141 -0
  2067. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol +227 -0
  2068. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol +618 -0
  2069. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdError.t.sol +120 -0
  2070. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdJson.t.sol +49 -0
  2071. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdMath.t.sol +202 -0
  2072. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol +488 -0
  2073. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
  2074. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdToml.t.sol +49 -0
  2075. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol +342 -0
  2076. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/Vm.t.sol +18 -0
  2077. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScript.sol +10 -0
  2078. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScriptBase.sol +10 -0
  2079. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTest.sol +10 -0
  2080. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTestBase.sol +10 -0
  2081. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
  2082. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/test.json +8 -0
  2083. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/test.toml +6 -0
  2084. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/halmos-cheatcodes/LICENSE +661 -0
  2085. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/halmos-cheatcodes/README.md +97 -0
  2086. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/SVM.sol +49 -0
  2087. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/SymTest.sol +11 -0
  2088. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/logo.svg +15 -0
  2089. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/netlify.toml +3 -0
  2090. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/package.json +106 -0
  2091. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/remappings.txt +1 -0
  2092. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/renovate.json +4 -0
  2093. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/compare-layout.js +28 -0
  2094. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/compareGasReports.js +249 -0
  2095. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/coverage.sh +24 -0
  2096. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/extract-layout.js +39 -0
  2097. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/generation.sh +6 -0
  2098. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/inheritance-ordering.js +55 -0
  2099. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/pragma-validity.js +45 -0
  2100. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/fetch-common-contracts.js +50 -0
  2101. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/gen-nav.js +81 -0
  2102. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/format-lines.js +16 -0
  2103. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/helpers/sanitize.js +5 -0
  2104. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/run.js +61 -0
  2105. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Arrays.js +386 -0
  2106. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Arrays.opts.js +9 -0
  2107. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.js +242 -0
  2108. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.opts.js +18 -0
  2109. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.t.js +141 -0
  2110. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Enumerable.opts.js +53 -0
  2111. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMap.js +463 -0
  2112. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSet.js +469 -0
  2113. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/MerkleProof.js +187 -0
  2114. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/MerkleProof.opts.js +11 -0
  2115. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Packing.js +92 -0
  2116. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Packing.opts.js +3 -0
  2117. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Packing.t.js +48 -0
  2118. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/SafeCast.js +136 -0
  2119. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Slot.opts.js +15 -0
  2120. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/SlotDerivation.js +119 -0
  2121. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/SlotDerivation.t.js +127 -0
  2122. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlot.js +77 -0
  2123. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlotMock.js +57 -0
  2124. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/TransientSlot.js +80 -0
  2125. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/TransientSlotMock.js +35 -0
  2126. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/conversion.js +30 -0
  2127. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/get-contracts-metadata.js +55 -0
  2128. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/helpers.js +7 -0
  2129. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/minimize-pragma.js +138 -0
  2130. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/prepack.sh +23 -0
  2131. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/prepare-docs.sh +26 -0
  2132. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/format-changelog.js +33 -0
  2133. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/synchronize-versions.js +15 -0
  2134. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/update-comment.js +34 -0
  2135. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/version.sh +11 -0
  2136. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/exit-prerelease.sh +8 -0
  2137. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/github-release.js +48 -0
  2138. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/integrity-check.sh +20 -0
  2139. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/pack.sh +26 -0
  2140. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/publish.sh +26 -0
  2141. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/rerun.js +7 -0
  2142. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/set-changesets-pr-title.js +17 -0
  2143. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/start.sh +35 -0
  2144. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/state.js +112 -0
  2145. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/remove-ignored-artifacts.js +45 -0
  2146. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/set-max-old-space-size.sh +10 -0
  2147. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/solc-versions.js +15 -0
  2148. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/solhint-custom/index.js +84 -0
  2149. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/solhint-custom/package.json +8 -0
  2150. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/update-docs-branch.js +65 -0
  2151. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/README.md +21 -0
  2152. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/patch-apply.sh +19 -0
  2153. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/patch-save.sh +18 -0
  2154. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/transpile-onto.sh +54 -0
  2155. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/transpile.sh +50 -0
  2156. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/upgradeable.patch +398 -0
  2157. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/slither.config.json +4 -0
  2158. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/solhint.config.js +29 -0
  2159. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/TESTING.md +3 -0
  2160. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/AccessControl.behavior.js +874 -0
  2161. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/AccessControl.test.js +19 -0
  2162. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/Ownable.test.js +79 -0
  2163. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/Ownable2Step.test.js +102 -0
  2164. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/extensions/AccessControlDefaultAdminRules.test.js +32 -0
  2165. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/extensions/AccessControlEnumerable.test.js +24 -0
  2166. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/manager/AccessManaged.test.js +146 -0
  2167. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/manager/AccessManager.behavior.js +257 -0
  2168. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/manager/AccessManager.predicate.js +456 -0
  2169. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/manager/AccessManager.test.js +2489 -0
  2170. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/manager/AuthorityUtils.test.js +112 -0
  2171. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/Account.behavior.js +144 -0
  2172. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/Account.test.js +48 -0
  2173. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountECDSA.test.js +52 -0
  2174. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountERC7702.t.sol +103 -0
  2175. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountERC7702.test.js +52 -0
  2176. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountERC7913.test.js +116 -0
  2177. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountMultiSigner.test.js +326 -0
  2178. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountMultiSignerWeighted.test.js +312 -0
  2179. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountP256.test.js +58 -0
  2180. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountRSA.test.js +58 -0
  2181. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/examples/AccountERC7702WithModulesMock.test.js +99 -0
  2182. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579.behavior.js +563 -0
  2183. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579.test.js +60 -0
  2184. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579Hooked.test.js +60 -0
  2185. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/extensions/ERC7821.behavior.js +145 -0
  2186. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/utils/EIP7702Utils.test.js +53 -0
  2187. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/utils/draft-ERC4337Utils.test.js +289 -0
  2188. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/utils/draft-ERC7579Utils.t.sol +426 -0
  2189. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/utils/draft-ERC7579Utils.test.js +399 -0
  2190. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/EntryPoint070.abi +1 -0
  2191. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/EntryPoint070.bytecode +0 -0
  2192. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/EntryPoint080.abi +1 -0
  2193. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/EntryPoint080.bytecode +0 -0
  2194. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/SenderCreator070.abi +1 -0
  2195. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/SenderCreator070.bytecode +0 -0
  2196. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/SenderCreator080.abi +1 -0
  2197. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/SenderCreator080.bytecode +0 -0
  2198. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/finance/VestingWallet.behavior.js +87 -0
  2199. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/finance/VestingWallet.test.js +65 -0
  2200. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/finance/VestingWalletCliff.test.js +70 -0
  2201. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/Governor.t.sol +59 -0
  2202. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/Governor.test.js +980 -0
  2203. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/TimelockController.test.js +1279 -0
  2204. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorCountingFractional.test.js +248 -0
  2205. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorCountingOverridable.test.js +346 -0
  2206. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorERC721.test.js +131 -0
  2207. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorNoncesKeyed.test.js +244 -0
  2208. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorPreventLateQuorum.test.js +185 -0
  2209. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorProposalGuardian.test.js +132 -0
  2210. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorSequentialProposalId.test.js +202 -0
  2211. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorStorage.test.js +155 -0
  2212. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorSuperQuorum.test.js +168 -0
  2213. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorSuperQuorumGreaterThanQuorum.t.sol +83 -0
  2214. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockAccess.test.js +864 -0
  2215. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockCompound.test.js +448 -0
  2216. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockControl.test.js +504 -0
  2217. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesQuorumFraction.test.js +165 -0
  2218. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesSuperQuorumFraction.test.js +160 -0
  2219. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorWithParams.test.js +245 -0
  2220. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/utils/ERC6372.behavior.js +28 -0
  2221. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/utils/Votes.behavior.js +325 -0
  2222. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/utils/Votes.test.js +102 -0
  2223. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/utils/VotesExtended.test.js +152 -0
  2224. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/access-manager.js +85 -0
  2225. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/account.js +14 -0
  2226. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/chains.js +56 -0
  2227. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/constants.js +7 -0
  2228. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/deploy.js +14 -0
  2229. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/eip712-types.js +61 -0
  2230. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/eip712.js +45 -0
  2231. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/enums.js +14 -0
  2232. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/erc4337.js +217 -0
  2233. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/erc7579.js +58 -0
  2234. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/erc7739.js +118 -0
  2235. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/governance.js +217 -0
  2236. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/iterate.js +41 -0
  2237. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/math.js +33 -0
  2238. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/methods.js +14 -0
  2239. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/precompiles.js +12 -0
  2240. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/random.js +24 -0
  2241. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/signers.js +184 -0
  2242. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/storage.js +48 -0
  2243. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/strings.js +5 -0
  2244. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/time.js +33 -0
  2245. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/txpool.js +29 -0
  2246. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/metatx/ERC2771Context.test.js +133 -0
  2247. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/metatx/ERC2771Forwarder.t.sol +279 -0
  2248. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/metatx/ERC2771Forwarder.test.js +384 -0
  2249. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/Clones.behaviour.js +160 -0
  2250. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/Clones.t.sol +91 -0
  2251. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/Clones.test.js +177 -0
  2252. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Proxy.test.js +23 -0
  2253. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Utils.test.js +162 -0
  2254. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/Proxy.behaviour.js +185 -0
  2255. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/beacon/BeaconProxy.test.js +141 -0
  2256. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/beacon/UpgradeableBeacon.test.js +55 -0
  2257. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/transparent/ProxyAdmin.test.js +82 -0
  2258. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +357 -0
  2259. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.test.js +28 -0
  2260. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/utils/Initializable.test.js +216 -0
  2261. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/utils/UUPSUpgradeable.test.js +120 -0
  2262. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/sanity.test.js +27 -0
  2263. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.behavior.js +763 -0
  2264. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.test.js +213 -0
  2265. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Burnable.test.js +66 -0
  2266. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Pausable.test.js +105 -0
  2267. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Supply.test.js +119 -0
  2268. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +70 -0
  2269. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Holder.test.js +56 -0
  2270. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Utils.test.js +299 -0
  2271. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/ERC20.behavior.js +269 -0
  2272. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/ERC20.test.js +199 -0
  2273. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC1363.test.js +370 -0
  2274. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.test.js +105 -0
  2275. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.test.js +55 -0
  2276. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20FlashMint.test.js +164 -0
  2277. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Pausable.test.js +129 -0
  2278. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Permit.test.js +109 -0
  2279. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Votes.test.js +546 -0
  2280. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Wrapper.test.js +203 -0
  2281. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.t.sol +41 -0
  2282. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.test.js +888 -0
  2283. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Bridgeable.test.js +89 -0
  2284. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20TemporaryApproval.test.js +142 -0
  2285. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/utils/SafeERC20.test.js +463 -0
  2286. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC6909/ERC6909.behavior.js +216 -0
  2287. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC6909/ERC6909.test.js +104 -0
  2288. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909ContentURI.test.js +49 -0
  2289. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909Metadata.test.js +58 -0
  2290. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909TokenSupply.test.js +53 -0
  2291. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/ERC721.behavior.js +946 -0
  2292. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/ERC721.test.js +23 -0
  2293. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/ERC721Enumerable.test.js +28 -0
  2294. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Burnable.test.js +77 -0
  2295. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.t.sol +181 -0
  2296. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.test.js +228 -0
  2297. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Pausable.test.js +81 -0
  2298. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Royalty.test.js +57 -0
  2299. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721URIStorage.test.js +121 -0
  2300. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Votes.test.js +194 -0
  2301. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Wrapper.test.js +201 -0
  2302. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Holder.test.js +20 -0
  2303. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Utils.test.js +94 -0
  2304. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/common/ERC2981.behavior.js +152 -0
  2305. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Address.test.js +281 -0
  2306. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Arrays.t.sol +31 -0
  2307. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Arrays.test.js +227 -0
  2308. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Base64.t.sol +34 -0
  2309. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Base64.test.js +59 -0
  2310. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Blockhash.t.sol +101 -0
  2311. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Blockhash.test.js +59 -0
  2312. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Bytes.t.sol +74 -0
  2313. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Bytes.test.js +212 -0
  2314. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/CAIP.test.js +56 -0
  2315. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Calldata.test.js +22 -0
  2316. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Context.behavior.js +48 -0
  2317. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Context.test.js +18 -0
  2318. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Create2.t.sol +17 -0
  2319. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Create2.test.js +190 -0
  2320. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Memory.t.sol +21 -0
  2321. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Memory.test.js +39 -0
  2322. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Multicall.test.js +72 -0
  2323. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Nonces.behavior.js +189 -0
  2324. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Nonces.test.js +16 -0
  2325. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/NoncesKeyed.test.js +17 -0
  2326. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Packing.t.sol +993 -0
  2327. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Packing.test.js +70 -0
  2328. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Panic.test.js +37 -0
  2329. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Pausable.test.js +90 -0
  2330. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/ReentrancyGuard.test.js +50 -0
  2331. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/ShortStrings.t.sol +109 -0
  2332. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/ShortStrings.test.js +64 -0
  2333. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/SlotDerivation.t.sol +248 -0
  2334. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/SlotDerivation.test.js +58 -0
  2335. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/StorageSlot.test.js +73 -0
  2336. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Strings.t.sol +50 -0
  2337. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Strings.test.js +360 -0
  2338. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/TransientSlot.test.js +59 -0
  2339. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/ECDSA.test.js +239 -0
  2340. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/EIP712.test.js +105 -0
  2341. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/ERC1271.behavior.js +111 -0
  2342. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/ERC7739.test.js +42 -0
  2343. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/ERC7739Utils.test.js +203 -0
  2344. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/MerkleProof.test.js +213 -0
  2345. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/MessageHashUtils.t.sol +33 -0
  2346. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/MessageHashUtils.test.js +97 -0
  2347. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/P256.t.sol +65 -0
  2348. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/P256.test.js +182 -0
  2349. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/RSA.helper.js +17 -0
  2350. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/RSA.test.js +102 -0
  2351. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/SigVer15_186-3.rsp +3850 -0
  2352. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/SignatureChecker.test.js +422 -0
  2353. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/ecdsa_secp256r1_sha256_p1363_test.json +3719 -0
  2354. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/draft-InteroperableAddress.t.sol +99 -0
  2355. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/draft-InteroperableAddress.test.js +170 -0
  2356. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/introspection/ERC165.test.js +18 -0
  2357. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/introspection/ERC165Checker.test.js +245 -0
  2358. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/introspection/SupportsInterface.behavior.js +166 -0
  2359. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/math/Math.t.sol +349 -0
  2360. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/math/Math.test.js +713 -0
  2361. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/math/SafeCast.test.js +159 -0
  2362. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/math/SignedMath.t.sol +80 -0
  2363. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/math/SignedMath.test.js +53 -0
  2364. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/BitMap.test.js +149 -0
  2365. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/Checkpoints.t.sol +440 -0
  2366. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/Checkpoints.test.js +147 -0
  2367. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/CircularBuffer.test.js +83 -0
  2368. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/DoubleEndedQueue.test.js +102 -0
  2369. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.behavior.js +214 -0
  2370. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.test.js +83 -0
  2371. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.behavior.js +175 -0
  2372. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.test.js +66 -0
  2373. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/Heap.t.sol +74 -0
  2374. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/Heap.test.js +113 -0
  2375. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/MerkleTree.test.js +180 -0
  2376. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/types/Time.test.js +135 -0
  2377. package/lib/openzeppelin-contracts-upgradeable/package.json +60 -47
  2378. package/lib/openzeppelin-contracts-upgradeable/remappings.txt +2 -0
  2379. package/lib/openzeppelin-contracts-upgradeable/renovate.json +2 -9
  2380. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/compare-layout.js +28 -0
  2381. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/compareGasReports.js +130 -92
  2382. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/coverage.sh +24 -0
  2383. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/extract-layout.js +39 -0
  2384. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/inheritance-ordering.js +28 -23
  2385. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/pragma-validity.js +45 -0
  2386. package/lib/openzeppelin-contracts-upgradeable/scripts/fetch-common-contracts.js +50 -0
  2387. package/lib/openzeppelin-contracts-upgradeable/scripts/gen-nav.js +62 -22
  2388. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/format-lines.js +4 -4
  2389. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/helpers/sanitize.js +5 -0
  2390. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/run.js +38 -23
  2391. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Arrays.js +386 -0
  2392. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Arrays.opts.js +9 -0
  2393. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Checkpoints.js +67 -128
  2394. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Checkpoints.opts.js +18 -0
  2395. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Checkpoints.t.js +141 -0
  2396. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Enumerable.opts.js +53 -0
  2397. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/EnumerableMap.js +269 -84
  2398. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/EnumerableSet.js +252 -36
  2399. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/MerkleProof.js +187 -0
  2400. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/MerkleProof.opts.js +11 -0
  2401. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Packing.js +92 -0
  2402. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Packing.opts.js +3 -0
  2403. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Packing.t.js +48 -0
  2404. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/SafeCast.js +50 -82
  2405. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Slot.opts.js +15 -0
  2406. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/SlotDerivation.js +119 -0
  2407. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/SlotDerivation.t.js +127 -0
  2408. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/StorageSlot.js +77 -0
  2409. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/StorageSlotMock.js +57 -0
  2410. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/TransientSlot.js +80 -0
  2411. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/TransientSlotMock.js +35 -0
  2412. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/conversion.js +18 -18
  2413. package/lib/openzeppelin-contracts-upgradeable/scripts/get-contracts-metadata.js +55 -0
  2414. package/lib/openzeppelin-contracts-upgradeable/scripts/helpers.js +4 -20
  2415. package/lib/openzeppelin-contracts-upgradeable/scripts/minimize-pragma.js +138 -0
  2416. package/lib/openzeppelin-contracts-upgradeable/scripts/prepack.sh +14 -3
  2417. package/lib/openzeppelin-contracts-upgradeable/scripts/prepare-docs.sh +12 -1
  2418. package/lib/openzeppelin-contracts-upgradeable/scripts/release/format-changelog.js +33 -0
  2419. package/lib/openzeppelin-contracts-upgradeable/scripts/release/synchronize-versions.js +6 -7
  2420. package/lib/openzeppelin-contracts-upgradeable/scripts/release/update-comment.js +2 -4
  2421. package/lib/openzeppelin-contracts-upgradeable/scripts/release/version.sh +4 -2
  2422. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/exit-prerelease.sh +8 -0
  2423. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/github-release.js +48 -0
  2424. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/integrity-check.sh +20 -0
  2425. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/pack.sh +26 -0
  2426. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/publish.sh +26 -0
  2427. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/rerun.js +7 -0
  2428. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/set-changesets-pr-title.js +17 -0
  2429. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/start.sh +35 -0
  2430. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/state.js +112 -0
  2431. package/lib/openzeppelin-contracts-upgradeable/scripts/remove-ignored-artifacts.js +4 -4
  2432. package/lib/openzeppelin-contracts-upgradeable/scripts/set-max-old-space-size.sh +10 -0
  2433. package/lib/openzeppelin-contracts-upgradeable/scripts/solc-versions.js +15 -0
  2434. package/lib/openzeppelin-contracts-upgradeable/scripts/solhint-custom/index.js +84 -0
  2435. package/lib/openzeppelin-contracts-upgradeable/scripts/solhint-custom/package.json +8 -0
  2436. package/lib/openzeppelin-contracts-upgradeable/scripts/update-docs-branch.js +15 -5
  2437. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/README.md +21 -0
  2438. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/patch-apply.sh +19 -0
  2439. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/patch-save.sh +18 -0
  2440. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/transpile-onto.sh +21 -5
  2441. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/transpile.sh +24 -8
  2442. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/upgradeable.patch +398 -0
  2443. package/lib/openzeppelin-contracts-upgradeable/slither.config.json +3 -4
  2444. package/lib/openzeppelin-contracts-upgradeable/solhint.config.js +29 -0
  2445. package/lib/openzeppelin-contracts-upgradeable/test/TESTING.md +1 -1
  2446. package/lib/openzeppelin-contracts-upgradeable/test/access/AccessControl.behavior.js +756 -98
  2447. package/lib/openzeppelin-contracts-upgradeable/test/access/AccessControl.test.js +13 -7
  2448. package/lib/openzeppelin-contracts-upgradeable/test/access/Ownable.test.js +50 -28
  2449. package/lib/openzeppelin-contracts-upgradeable/test/access/Ownable2Step.test.js +77 -32
  2450. package/lib/openzeppelin-contracts-upgradeable/test/access/extensions/AccessControlDefaultAdminRules.test.js +32 -0
  2451. package/lib/openzeppelin-contracts-upgradeable/test/access/extensions/AccessControlEnumerable.test.js +24 -0
  2452. package/lib/openzeppelin-contracts-upgradeable/test/access/manager/AccessManaged.test.js +146 -0
  2453. package/lib/openzeppelin-contracts-upgradeable/test/access/manager/AccessManager.behavior.js +257 -0
  2454. package/lib/openzeppelin-contracts-upgradeable/test/access/manager/AccessManager.predicate.js +456 -0
  2455. package/lib/openzeppelin-contracts-upgradeable/test/access/manager/AccessManager.test.js +2489 -0
  2456. package/lib/openzeppelin-contracts-upgradeable/test/access/manager/AuthorityUtils.test.js +112 -0
  2457. package/lib/openzeppelin-contracts-upgradeable/test/account/Account.behavior.js +144 -0
  2458. package/lib/openzeppelin-contracts-upgradeable/test/account/Account.test.js +48 -0
  2459. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountECDSA.test.js +52 -0
  2460. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountERC7702.t.sol +103 -0
  2461. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountERC7702.test.js +52 -0
  2462. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountERC7913.test.js +116 -0
  2463. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountMultiSigner.test.js +326 -0
  2464. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountMultiSignerWeighted.test.js +312 -0
  2465. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountP256.test.js +58 -0
  2466. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountRSA.test.js +58 -0
  2467. package/lib/openzeppelin-contracts-upgradeable/test/account/examples/AccountERC7702WithModulesMock.test.js +99 -0
  2468. package/lib/openzeppelin-contracts-upgradeable/test/account/extensions/AccountERC7579.behavior.js +563 -0
  2469. package/lib/openzeppelin-contracts-upgradeable/test/account/extensions/AccountERC7579.test.js +60 -0
  2470. package/lib/openzeppelin-contracts-upgradeable/test/account/extensions/AccountERC7579Hooked.test.js +60 -0
  2471. package/lib/openzeppelin-contracts-upgradeable/test/account/extensions/ERC7821.behavior.js +145 -0
  2472. package/lib/openzeppelin-contracts-upgradeable/test/account/utils/EIP7702Utils.test.js +53 -0
  2473. package/lib/openzeppelin-contracts-upgradeable/test/account/utils/draft-ERC4337Utils.test.js +289 -0
  2474. package/lib/openzeppelin-contracts-upgradeable/test/account/utils/draft-ERC7579Utils.t.sol +426 -0
  2475. package/lib/openzeppelin-contracts-upgradeable/test/account/utils/draft-ERC7579Utils.test.js +399 -0
  2476. package/lib/openzeppelin-contracts-upgradeable/test/bin/EntryPoint070.abi +1 -0
  2477. package/lib/openzeppelin-contracts-upgradeable/test/bin/EntryPoint070.bytecode +0 -0
  2478. package/lib/openzeppelin-contracts-upgradeable/test/bin/EntryPoint080.abi +1 -0
  2479. package/lib/openzeppelin-contracts-upgradeable/test/bin/EntryPoint080.bytecode +0 -0
  2480. package/lib/openzeppelin-contracts-upgradeable/test/bin/SenderCreator070.abi +1 -0
  2481. package/lib/openzeppelin-contracts-upgradeable/test/bin/SenderCreator070.bytecode +0 -0
  2482. package/lib/openzeppelin-contracts-upgradeable/test/bin/SenderCreator080.abi +1 -0
  2483. package/lib/openzeppelin-contracts-upgradeable/test/bin/SenderCreator080.bytecode +0 -0
  2484. package/lib/openzeppelin-contracts-upgradeable/test/finance/VestingWallet.behavior.js +59 -46
  2485. package/lib/openzeppelin-contracts-upgradeable/test/finance/VestingWallet.test.js +35 -37
  2486. package/lib/openzeppelin-contracts-upgradeable/test/finance/VestingWalletCliff.test.js +70 -0
  2487. package/lib/openzeppelin-contracts-upgradeable/test/governance/Governor.t.sol +59 -0
  2488. package/lib/openzeppelin-contracts-upgradeable/test/governance/Governor.test.js +938 -590
  2489. package/lib/openzeppelin-contracts-upgradeable/test/governance/TimelockController.test.js +910 -765
  2490. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorCountingFractional.test.js +248 -0
  2491. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorCountingOverridable.test.js +346 -0
  2492. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorERC721.test.js +127 -100
  2493. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorNoncesKeyed.test.js +244 -0
  2494. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorPreventLateQuorum.test.js +181 -173
  2495. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorProposalGuardian.test.js +132 -0
  2496. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorSequentialProposalId.test.js +202 -0
  2497. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorStorage.test.js +155 -0
  2498. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorSuperQuorum.test.js +168 -0
  2499. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorSuperQuorumGreaterThanQuorum.t.sol +83 -0
  2500. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorTimelockAccess.test.js +864 -0
  2501. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorTimelockCompound.test.js +419 -339
  2502. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorTimelockControl.test.js +468 -384
  2503. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorVotesQuorumFraction.test.js +161 -133
  2504. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorVotesSuperQuorumFraction.test.js +160 -0
  2505. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorWithParams.test.js +234 -155
  2506. package/lib/openzeppelin-contracts-upgradeable/test/governance/utils/ERC6372.behavior.js +28 -0
  2507. package/lib/openzeppelin-contracts-upgradeable/test/governance/utils/Votes.behavior.js +254 -273
  2508. package/lib/openzeppelin-contracts-upgradeable/test/governance/utils/Votes.test.js +89 -48
  2509. package/lib/openzeppelin-contracts-upgradeable/test/governance/utils/VotesExtended.test.js +152 -0
  2510. package/lib/openzeppelin-contracts-upgradeable/test/helpers/access-manager.js +85 -0
  2511. package/lib/openzeppelin-contracts-upgradeable/test/helpers/account.js +14 -0
  2512. package/lib/openzeppelin-contracts-upgradeable/test/helpers/chains.js +56 -0
  2513. package/lib/openzeppelin-contracts-upgradeable/test/helpers/constants.js +7 -0
  2514. package/lib/openzeppelin-contracts-upgradeable/test/helpers/deploy.js +14 -0
  2515. package/lib/openzeppelin-contracts-upgradeable/test/helpers/eip712-types.js +61 -0
  2516. package/lib/openzeppelin-contracts-upgradeable/test/helpers/eip712.js +41 -26
  2517. package/lib/openzeppelin-contracts-upgradeable/test/helpers/enums.js +9 -24
  2518. package/lib/openzeppelin-contracts-upgradeable/test/helpers/erc4337.js +217 -0
  2519. package/lib/openzeppelin-contracts-upgradeable/test/helpers/erc7579.js +58 -0
  2520. package/lib/openzeppelin-contracts-upgradeable/test/helpers/erc7739.js +118 -0
  2521. package/lib/openzeppelin-contracts-upgradeable/test/helpers/governance.js +194 -188
  2522. package/lib/openzeppelin-contracts-upgradeable/test/helpers/iterate.js +41 -0
  2523. package/lib/openzeppelin-contracts-upgradeable/test/helpers/math.js +33 -0
  2524. package/lib/openzeppelin-contracts-upgradeable/test/helpers/methods.js +14 -0
  2525. package/lib/openzeppelin-contracts-upgradeable/test/helpers/precompiles.js +12 -0
  2526. package/lib/openzeppelin-contracts-upgradeable/test/helpers/random.js +24 -0
  2527. package/lib/openzeppelin-contracts-upgradeable/test/helpers/signers.js +184 -0
  2528. package/lib/openzeppelin-contracts-upgradeable/test/helpers/storage.js +48 -0
  2529. package/lib/openzeppelin-contracts-upgradeable/test/helpers/strings.js +5 -0
  2530. package/lib/openzeppelin-contracts-upgradeable/test/helpers/time.js +33 -0
  2531. package/lib/openzeppelin-contracts-upgradeable/test/helpers/txpool.js +9 -20
  2532. package/lib/openzeppelin-contracts-upgradeable/test/metatx/ERC2771Context.test.js +95 -71
  2533. package/lib/openzeppelin-contracts-upgradeable/test/metatx/ERC2771Forwarder.t.sol +279 -0
  2534. package/lib/openzeppelin-contracts-upgradeable/test/metatx/ERC2771Forwarder.test.js +384 -0
  2535. package/lib/openzeppelin-contracts-upgradeable/test/proxy/Clones.behaviour.js +60 -50
  2536. package/lib/openzeppelin-contracts-upgradeable/test/proxy/Clones.t.sol +91 -0
  2537. package/lib/openzeppelin-contracts-upgradeable/test/proxy/Clones.test.js +164 -56
  2538. package/lib/openzeppelin-contracts-upgradeable/test/proxy/ERC1967/ERC1967Proxy.test.js +17 -7
  2539. package/lib/openzeppelin-contracts-upgradeable/test/proxy/ERC1967/ERC1967Utils.test.js +162 -0
  2540. package/lib/openzeppelin-contracts-upgradeable/test/proxy/Proxy.behaviour.js +59 -98
  2541. package/lib/openzeppelin-contracts-upgradeable/test/proxy/beacon/BeaconProxy.test.js +98 -113
  2542. package/lib/openzeppelin-contracts-upgradeable/test/proxy/beacon/UpgradeableBeacon.test.js +34 -29
  2543. package/lib/openzeppelin-contracts-upgradeable/test/proxy/transparent/ProxyAdmin.test.js +45 -88
  2544. package/lib/openzeppelin-contracts-upgradeable/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +209 -283
  2545. package/lib/openzeppelin-contracts-upgradeable/test/proxy/transparent/TransparentUpgradeableProxy.test.js +20 -7
  2546. package/lib/openzeppelin-contracts-upgradeable/test/proxy/utils/Initializable.test.js +94 -96
  2547. package/lib/openzeppelin-contracts-upgradeable/test/proxy/utils/UUPSUpgradeable.test.js +94 -59
  2548. package/lib/openzeppelin-contracts-upgradeable/test/sanity.test.js +27 -0
  2549. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/ERC1155.behavior.js +530 -541
  2550. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/ERC1155.test.js +101 -152
  2551. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/extensions/ERC1155Burnable.test.js +35 -36
  2552. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/extensions/ERC1155Pausable.test.js +54 -57
  2553. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/extensions/ERC1155Supply.test.js +59 -51
  2554. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +37 -33
  2555. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/utils/ERC1155Holder.test.js +40 -46
  2556. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/utils/ERC1155Utils.test.js +299 -0
  2557. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/ERC20.behavior.js +142 -206
  2558. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/ERC20.test.js +133 -243
  2559. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC1363.test.js +370 -0
  2560. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Burnable.test.js +96 -10
  2561. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Capped.test.js +43 -15
  2562. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20FlashMint.test.js +102 -82
  2563. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Pausable.test.js +59 -64
  2564. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Permit.test.js +109 -0
  2565. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Votes.test.js +490 -462
  2566. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Wrapper.test.js +133 -120
  2567. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC4626.t.sol +41 -0
  2568. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC4626.test.js +802 -536
  2569. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/draft-ERC20Bridgeable.test.js +89 -0
  2570. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/draft-ERC20TemporaryApproval.test.js +142 -0
  2571. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/utils/SafeERC20.test.js +387 -179
  2572. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC6909/ERC6909.behavior.js +216 -0
  2573. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC6909/ERC6909.test.js +104 -0
  2574. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC6909/extensions/ERC6909ContentURI.test.js +49 -0
  2575. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC6909/extensions/ERC6909Metadata.test.js +58 -0
  2576. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC6909/extensions/ERC6909TokenSupply.test.js +53 -0
  2577. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/ERC721.behavior.js +488 -479
  2578. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/ERC721.test.js +16 -11
  2579. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/ERC721Enumerable.test.js +16 -8
  2580. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Burnable.test.js +43 -44
  2581. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Consecutive.t.sol +80 -19
  2582. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Consecutive.test.js +181 -165
  2583. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Pausable.test.js +34 -51
  2584. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Royalty.test.js +41 -24
  2585. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721URIStorage.test.js +69 -44
  2586. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Votes.test.js +187 -167
  2587. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Wrapper.test.js +201 -0
  2588. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/utils/ERC721Holder.test.js +12 -16
  2589. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/utils/ERC721Utils.test.js +94 -0
  2590. package/lib/openzeppelin-contracts-upgradeable/test/token/common/ERC2981.behavior.js +80 -88
  2591. package/lib/openzeppelin-contracts-upgradeable/test/utils/Address.test.js +160 -261
  2592. package/lib/openzeppelin-contracts-upgradeable/test/utils/Arrays.t.sol +31 -0
  2593. package/lib/openzeppelin-contracts-upgradeable/test/utils/Arrays.test.js +217 -95
  2594. package/lib/openzeppelin-contracts-upgradeable/test/utils/Base64.t.sol +34 -0
  2595. package/lib/openzeppelin-contracts-upgradeable/test/utils/Base64.test.js +48 -22
  2596. package/lib/openzeppelin-contracts-upgradeable/test/utils/Blockhash.t.sol +101 -0
  2597. package/lib/openzeppelin-contracts-upgradeable/test/utils/Blockhash.test.js +59 -0
  2598. package/lib/openzeppelin-contracts-upgradeable/test/utils/Bytes.t.sol +74 -0
  2599. package/lib/openzeppelin-contracts-upgradeable/test/utils/Bytes.test.js +212 -0
  2600. package/lib/openzeppelin-contracts-upgradeable/test/utils/CAIP.test.js +56 -0
  2601. package/lib/openzeppelin-contracts-upgradeable/test/utils/Calldata.test.js +22 -0
  2602. package/lib/openzeppelin-contracts-upgradeable/test/utils/Context.behavior.js +26 -20
  2603. package/lib/openzeppelin-contracts-upgradeable/test/utils/Context.test.js +10 -9
  2604. package/lib/openzeppelin-contracts-upgradeable/test/utils/Create2.t.sol +17 -0
  2605. package/lib/openzeppelin-contracts-upgradeable/test/utils/Create2.test.js +147 -49
  2606. package/lib/openzeppelin-contracts-upgradeable/test/utils/Memory.t.sol +21 -0
  2607. package/lib/openzeppelin-contracts-upgradeable/test/utils/Memory.test.js +39 -0
  2608. package/lib/openzeppelin-contracts-upgradeable/test/utils/Multicall.test.js +50 -35
  2609. package/lib/openzeppelin-contracts-upgradeable/test/utils/Nonces.behavior.js +189 -0
  2610. package/lib/openzeppelin-contracts-upgradeable/test/utils/Nonces.test.js +16 -0
  2611. package/lib/openzeppelin-contracts-upgradeable/test/utils/NoncesKeyed.test.js +17 -0
  2612. package/lib/openzeppelin-contracts-upgradeable/test/utils/Packing.t.sol +993 -0
  2613. package/lib/openzeppelin-contracts-upgradeable/test/utils/Packing.test.js +70 -0
  2614. package/lib/openzeppelin-contracts-upgradeable/test/utils/Panic.test.js +37 -0
  2615. package/lib/openzeppelin-contracts-upgradeable/test/utils/Pausable.test.js +90 -0
  2616. package/lib/openzeppelin-contracts-upgradeable/test/utils/ReentrancyGuard.test.js +50 -0
  2617. package/lib/openzeppelin-contracts-upgradeable/test/utils/ShortStrings.t.sol +109 -0
  2618. package/lib/openzeppelin-contracts-upgradeable/test/utils/ShortStrings.test.js +64 -0
  2619. package/lib/openzeppelin-contracts-upgradeable/test/utils/SlotDerivation.t.sol +248 -0
  2620. package/lib/openzeppelin-contracts-upgradeable/test/utils/SlotDerivation.test.js +58 -0
  2621. package/lib/openzeppelin-contracts-upgradeable/test/utils/StorageSlot.test.js +55 -92
  2622. package/lib/openzeppelin-contracts-upgradeable/test/utils/Strings.t.sol +50 -0
  2623. package/lib/openzeppelin-contracts-upgradeable/test/utils/Strings.test.js +323 -49
  2624. package/lib/openzeppelin-contracts-upgradeable/test/utils/TransientSlot.test.js +59 -0
  2625. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/ECDSA.test.js +167 -132
  2626. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/EIP712.test.js +79 -52
  2627. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/ERC1271.behavior.js +111 -0
  2628. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/ERC7739.test.js +42 -0
  2629. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/ERC7739Utils.test.js +203 -0
  2630. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/MerkleProof.test.js +210 -176
  2631. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/MessageHashUtils.t.sol +33 -0
  2632. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/MessageHashUtils.test.js +97 -0
  2633. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/P256.t.sol +65 -0
  2634. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/P256.test.js +182 -0
  2635. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/RSA.helper.js +17 -0
  2636. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/RSA.test.js +102 -0
  2637. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/SigVer15_186-3.rsp +3850 -0
  2638. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/SignatureChecker.test.js +397 -56
  2639. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/ecdsa_secp256r1_sha256_p1363_test.json +3719 -0
  2640. package/lib/openzeppelin-contracts-upgradeable/test/utils/draft-InteroperableAddress.t.sol +99 -0
  2641. package/lib/openzeppelin-contracts-upgradeable/test/utils/draft-InteroperableAddress.test.js +170 -0
  2642. package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/ERC165.test.js +11 -6
  2643. package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/ERC165Checker.test.js +84 -142
  2644. package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/SupportsInterface.behavior.js +109 -90
  2645. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/Math.t.sol +255 -24
  2646. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/Math.test.js +616 -215
  2647. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SafeCast.test.js +84 -89
  2648. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SignedMath.t.sol +80 -0
  2649. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SignedMath.test.js +25 -65
  2650. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/BitMap.test.js +83 -79
  2651. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/Checkpoints.t.sol +440 -0
  2652. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/Checkpoints.test.js +147 -0
  2653. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/CircularBuffer.test.js +83 -0
  2654. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/DoubleEndedQueue.test.js +47 -41
  2655. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/EnumerableMap.behavior.js +122 -89
  2656. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/EnumerableMap.test.js +70 -73
  2657. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/EnumerableSet.behavior.js +105 -61
  2658. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/EnumerableSet.test.js +53 -33
  2659. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/Heap.t.sol +74 -0
  2660. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/Heap.test.js +113 -0
  2661. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/MerkleTree.test.js +180 -0
  2662. package/lib/openzeppelin-contracts-upgradeable/test/utils/types/Time.test.js +135 -0
  2663. package/package.json +10 -23
  2664. package/remappings.txt +5 -0
  2665. package/script/CreateMarketLib.sol +1873 -0
  2666. package/script/DeployProxy.s.sol +27 -0
  2667. package/script/DeployUpgradeablePM.s.sol +47 -0
  2668. package/script/PredictionMarketV3_3Flow.s.sol +132 -0
  2669. package/scripts/copy-abis.js +57 -0
  2670. package/src/Application.js +18 -0
  2671. package/src/interfaces/index.js +16 -15
  2672. package/src/models/PredictionMarketV2Contract.js +19 -15
  2673. package/src/models/PredictionMarketV3ControllerContract.js +2 -2
  2674. package/src/models/PredictionMarketV3ManagerContract.js +4 -0
  2675. package/src/models/PredictionMarketV3PlusContract.js +210 -0
  2676. package/src/models/index.js +2 -0
  2677. package/test/PredictionMarket.t.sol +923 -0
  2678. package/test/PredictionMarketManager.t.sol +909 -0
  2679. package/build/contracts/AccessControl.json +0 -1
  2680. package/build/contracts/Address.json +0 -1
  2681. package/build/contracts/BalanceHolder_ERC20.json +0 -1
  2682. package/build/contracts/CeilDiv.json +0 -1
  2683. package/build/contracts/Clones.json +0 -1
  2684. package/build/contracts/Context.json +0 -1
  2685. package/build/contracts/ERC165.json +0 -1
  2686. package/build/contracts/ERC20.json +0 -1
  2687. package/build/contracts/ERC20Burnable.json +0 -1
  2688. package/build/contracts/ERC20Pausable.json +0 -1
  2689. package/build/contracts/FantasyERC20.json +0 -1
  2690. package/build/contracts/IAccessControl.json +0 -1
  2691. package/build/contracts/IBalanceHolder_ERC20.json +0 -1
  2692. package/build/contracts/IERC165.json +0 -1
  2693. package/build/contracts/IERC20.json +0 -1
  2694. package/build/contracts/IERC20Metadata.json +0 -1
  2695. package/build/contracts/IERC721.json +0 -1
  2696. package/build/contracts/IERC721Enumerable.json +0 -1
  2697. package/build/contracts/IERC721Metadata.json +0 -1
  2698. package/build/contracts/IFantasyERC20.json +0 -1
  2699. package/build/contracts/IPredictionMarketV3Factory.json +0 -1
  2700. package/build/contracts/IPredictionMarketV3Manager.json +0 -1
  2701. package/build/contracts/IRealityETH_ERC20.json +0 -1
  2702. package/build/contracts/IRealityETH_IERC20.json +0 -1
  2703. package/build/contracts/IWETH.json +0 -1
  2704. package/build/contracts/LandFactory.json +0 -1
  2705. package/build/contracts/Ownable.json +0 -1
  2706. package/build/contracts/Pausable.json +0 -1
  2707. package/build/contracts/PredictionMarketV3Claimer.json +0 -1
  2708. package/build/contracts/PredictionMarketV3Controller.json +0 -1
  2709. package/build/contracts/PredictionMarketV3Factory.json +0 -1
  2710. package/build/contracts/PredictionMarketV3Manager.json +0 -1
  2711. package/build/contracts/PredictionMarketV3Querier.json +0 -1
  2712. package/build/contracts/RealityETH_ERC20_Factory.json +0 -1
  2713. package/build/contracts/RealityETH_ERC20_v3_0.json +0 -1
  2714. package/build/contracts/RealityETH_ERC20_v3_0_.json +0 -1
  2715. package/build/contracts/ReentrancyGuard.json +0 -1
  2716. package/build/contracts/SafeERC20.json +0 -1
  2717. package/build/contracts/StorageSlot.json +0 -1
  2718. package/build/contracts/TWProxy.json +0 -1
  2719. package/build/contracts/USDCERC20.json +0 -1
  2720. package/build/contracts/Voting.json +0 -1
  2721. package/build/contracts/test.json +0 -1
  2722. package/cache/solidity-files-cache.json +0 -1
  2723. package/cache/zksync-solidity-files-cache.json +0 -1
  2724. package/cleanContracts.js +0 -22
  2725. package/contracts/IPredictionMarketV3.sol +0 -207
  2726. package/contracts/Migrations.sol +0 -24
  2727. package/contracts/PredictionMarketV3.sol +0 -1332
  2728. package/contracts/RealityETH_ERC20_v3_0.sol +0 -8
  2729. package/contracts/TWProxy.sol +0 -42
  2730. package/contracts/USDCERC20.sol +0 -12
  2731. package/contracts/WETH9.sol +0 -62
  2732. package/lib/openzeppelin-contracts/.changeset/new-ways-own.md +0 -5
  2733. package/lib/openzeppelin-contracts/.eslintrc +0 -62
  2734. package/lib/openzeppelin-contracts/.gitattributes +0 -1
  2735. package/lib/openzeppelin-contracts/.github/workflows/changelog.yml +0 -28
  2736. package/lib/openzeppelin-contracts/.solhint.json +0 -14
  2737. package/lib/openzeppelin-contracts/audit/2017-03.md +0 -292
  2738. package/lib/openzeppelin-contracts/certora/applyHarness.patch +0 -101
  2739. package/lib/openzeppelin-contracts/certora/harnesses/ERC20VotesHarness.sol +0 -28
  2740. package/lib/openzeppelin-contracts/certora/harnesses/WizardControlFirstPriority.sol +0 -150
  2741. package/lib/openzeppelin-contracts/certora/harnesses/WizardFirstTry.sol +0 -141
  2742. package/lib/openzeppelin-contracts/certora/munged/.gitignore +0 -2
  2743. package/lib/openzeppelin-contracts/certora/scripts/Governor.sh +0 -10
  2744. package/lib/openzeppelin-contracts/certora/scripts/GovernorCountingSimple-counting.sh +0 -10
  2745. package/lib/openzeppelin-contracts/certora/scripts/WizardControlFirstPriority.sh +0 -12
  2746. package/lib/openzeppelin-contracts/certora/scripts/WizardFirstTry.sh +0 -10
  2747. package/lib/openzeppelin-contracts/certora/scripts/sanity.sh +0 -14
  2748. package/lib/openzeppelin-contracts/certora/scripts/verifyAll.sh +0 -39
  2749. package/lib/openzeppelin-contracts/certora/specs/GovernorBase.spec +0 -333
  2750. package/lib/openzeppelin-contracts/certora/specs/GovernorCountingSimple.spec +0 -221
  2751. package/lib/openzeppelin-contracts/certora/specs/RulesInProgress.spec +0 -139
  2752. package/lib/openzeppelin-contracts/certora/specs/sanity.spec +0 -14
  2753. package/lib/openzeppelin-contracts/contracts/access/AccessControlCrossChain.sol +0 -45
  2754. package/lib/openzeppelin-contracts/contracts/access/AccessControlEnumerable.sol +0 -64
  2755. package/lib/openzeppelin-contracts/contracts/access/IAccessControlEnumerable.sol +0 -31
  2756. package/lib/openzeppelin-contracts/contracts/crosschain/CrossChainEnabled.sol +0 -54
  2757. package/lib/openzeppelin-contracts/contracts/crosschain/README.adoc +0 -34
  2758. package/lib/openzeppelin-contracts/contracts/crosschain/amb/CrossChainEnabledAMB.sol +0 -49
  2759. package/lib/openzeppelin-contracts/contracts/crosschain/amb/LibAMB.sol +0 -35
  2760. package/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol +0 -44
  2761. package/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol +0 -40
  2762. package/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL1.sol +0 -42
  2763. package/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL2.sol +0 -45
  2764. package/lib/openzeppelin-contracts/contracts/crosschain/errors.sol +0 -7
  2765. package/lib/openzeppelin-contracts/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol +0 -41
  2766. package/lib/openzeppelin-contracts/contracts/crosschain/optimism/LibOptimism.sol +0 -36
  2767. package/lib/openzeppelin-contracts/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol +0 -72
  2768. package/lib/openzeppelin-contracts/contracts/finance/PaymentSplitter.sol +0 -214
  2769. package/lib/openzeppelin-contracts/contracts/governance/compatibility/GovernorCompatibilityBravo.sol +0 -285
  2770. package/lib/openzeppelin-contracts/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol +0 -114
  2771. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalThreshold.sol +0 -23
  2772. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesComp.sol +0 -31
  2773. package/lib/openzeppelin-contracts/contracts/governance/extensions/IGovernorTimelock.sol +0 -26
  2774. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC2612.sol +0 -8
  2775. package/lib/openzeppelin-contracts/contracts/metatx/MinimalForwarder.sol +0 -73
  2776. package/lib/openzeppelin-contracts/contracts/mocks/AccessControlCrossChainMock.sol +0 -22
  2777. package/lib/openzeppelin-contracts/contracts/mocks/AccessControlEnumerableMock.sol +0 -17
  2778. package/lib/openzeppelin-contracts/contracts/mocks/AccessControlMock.sol +0 -17
  2779. package/lib/openzeppelin-contracts/contracts/mocks/AddressImpl.sol +0 -46
  2780. package/lib/openzeppelin-contracts/contracts/mocks/BadBeacon.sol +0 -11
  2781. package/lib/openzeppelin-contracts/contracts/mocks/Base64Mock.sol +0 -11
  2782. package/lib/openzeppelin-contracts/contracts/mocks/BitmapMock.sol +0 -27
  2783. package/lib/openzeppelin-contracts/contracts/mocks/CheckpointsMock.sol +0 -120
  2784. package/lib/openzeppelin-contracts/contracts/mocks/ClashingImplementation.sol +0 -18
  2785. package/lib/openzeppelin-contracts/contracts/mocks/ClonesMock.sol +0 -36
  2786. package/lib/openzeppelin-contracts/contracts/mocks/ConditionalEscrowMock.sol +0 -18
  2787. package/lib/openzeppelin-contracts/contracts/mocks/CountersImpl.sol +0 -27
  2788. package/lib/openzeppelin-contracts/contracts/mocks/Create2Impl.sol +0 -34
  2789. package/lib/openzeppelin-contracts/contracts/mocks/DoubleEndedQueueMock.sol +0 -58
  2790. package/lib/openzeppelin-contracts/contracts/mocks/ECDSAMock.sol +0 -41
  2791. package/lib/openzeppelin-contracts/contracts/mocks/EIP712External.sol +0 -31
  2792. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155BurnableMock.sol +0 -18
  2793. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155Mock.sol +0 -51
  2794. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155PausableMock.sol +0 -29
  2795. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155ReceiverMock.sol +0 -52
  2796. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155SupplyMock.sol +0 -21
  2797. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155URIStorageMock.sol +0 -22
  2798. package/lib/openzeppelin-contracts/contracts/mocks/ERC165CheckerMock.sol +0 -29
  2799. package/lib/openzeppelin-contracts/contracts/mocks/ERC165Mock.sol +0 -7
  2800. package/lib/openzeppelin-contracts/contracts/mocks/ERC165StorageMock.sol +0 -11
  2801. package/lib/openzeppelin-contracts/contracts/mocks/ERC1820ImplementerMock.sol +0 -11
  2802. package/lib/openzeppelin-contracts/contracts/mocks/ERC20BurnableMock.sol +0 -16
  2803. package/lib/openzeppelin-contracts/contracts/mocks/ERC20CappedMock.sol +0 -17
  2804. package/lib/openzeppelin-contracts/contracts/mocks/ERC20DecimalsMock.sol +0 -29
  2805. package/lib/openzeppelin-contracts/contracts/mocks/ERC20FlashMintMock.sol +0 -43
  2806. package/lib/openzeppelin-contracts/contracts/mocks/ERC20Mock.sol +0 -41
  2807. package/lib/openzeppelin-contracts/contracts/mocks/ERC20PausableMock.sol +0 -33
  2808. package/lib/openzeppelin-contracts/contracts/mocks/ERC20PermitMock.sol +0 -20
  2809. package/lib/openzeppelin-contracts/contracts/mocks/ERC20SnapshotMock.sol +0 -28
  2810. package/lib/openzeppelin-contracts/contracts/mocks/ERC20VotesCompMock.sol +0 -21
  2811. package/lib/openzeppelin-contracts/contracts/mocks/ERC20VotesMock.sol +0 -21
  2812. package/lib/openzeppelin-contracts/contracts/mocks/ERC20WrapperMock.sol +0 -17
  2813. package/lib/openzeppelin-contracts/contracts/mocks/ERC4626Mock.sol +0 -60
  2814. package/lib/openzeppelin-contracts/contracts/mocks/ERC721BurnableMock.sol +0 -29
  2815. package/lib/openzeppelin-contracts/contracts/mocks/ERC721ConsecutiveEnumerableMock.sol +0 -55
  2816. package/lib/openzeppelin-contracts/contracts/mocks/ERC721ConsecutiveMock.sol +0 -86
  2817. package/lib/openzeppelin-contracts/contracts/mocks/ERC721EnumerableMock.sol +0 -51
  2818. package/lib/openzeppelin-contracts/contracts/mocks/ERC721Mock.sol +0 -41
  2819. package/lib/openzeppelin-contracts/contracts/mocks/ERC721PausableMock.sol +0 -45
  2820. package/lib/openzeppelin-contracts/contracts/mocks/ERC721ReceiverMock.sol +0 -42
  2821. package/lib/openzeppelin-contracts/contracts/mocks/ERC721RoyaltyMock.sol +0 -33
  2822. package/lib/openzeppelin-contracts/contracts/mocks/ERC721URIStorageMock.sol +0 -55
  2823. package/lib/openzeppelin-contracts/contracts/mocks/ERC721VotesMock.sol +0 -25
  2824. package/lib/openzeppelin-contracts/contracts/mocks/ERC777Mock.sol +0 -56
  2825. package/lib/openzeppelin-contracts/contracts/mocks/ERC777SenderRecipientMock.sol +0 -161
  2826. package/lib/openzeppelin-contracts/contracts/mocks/EnumerableMapMock.sol +0 -221
  2827. package/lib/openzeppelin-contracts/contracts/mocks/EnumerableSetMock.sol +0 -111
  2828. package/lib/openzeppelin-contracts/contracts/mocks/GovernorCompMock.sol +0 -31
  2829. package/lib/openzeppelin-contracts/contracts/mocks/GovernorCompatibilityBravoMock.sol +0 -127
  2830. package/lib/openzeppelin-contracts/contracts/mocks/GovernorMock.sol +0 -50
  2831. package/lib/openzeppelin-contracts/contracts/mocks/GovernorPreventLateQuorumMock.sol +0 -60
  2832. package/lib/openzeppelin-contracts/contracts/mocks/GovernorTimelockCompoundMock.sol +0 -96
  2833. package/lib/openzeppelin-contracts/contracts/mocks/GovernorTimelockControlMock.sol +0 -93
  2834. package/lib/openzeppelin-contracts/contracts/mocks/GovernorVoteMock.sol +0 -31
  2835. package/lib/openzeppelin-contracts/contracts/mocks/GovernorWithParamsMock.sol +0 -61
  2836. package/lib/openzeppelin-contracts/contracts/mocks/MathMock.sol +0 -48
  2837. package/lib/openzeppelin-contracts/contracts/mocks/MerkleProofWrapper.sol +0 -65
  2838. package/lib/openzeppelin-contracts/contracts/mocks/MulticallTest.sol +0 -23
  2839. package/lib/openzeppelin-contracts/contracts/mocks/MulticallTokenMock.sol +0 -10
  2840. package/lib/openzeppelin-contracts/contracts/mocks/Ownable2StepMock.sol +0 -7
  2841. package/lib/openzeppelin-contracts/contracts/mocks/OwnableMock.sol +0 -7
  2842. package/lib/openzeppelin-contracts/contracts/mocks/PullPaymentMock.sol +0 -15
  2843. package/lib/openzeppelin-contracts/contracts/mocks/SafeCastMock.sol +0 -267
  2844. package/lib/openzeppelin-contracts/contracts/mocks/SafeERC20Helper.sol +0 -194
  2845. package/lib/openzeppelin-contracts/contracts/mocks/SafeMathMock.sol +0 -138
  2846. package/lib/openzeppelin-contracts/contracts/mocks/SignatureCheckerMock.sol +0 -17
  2847. package/lib/openzeppelin-contracts/contracts/mocks/SignedMathMock.sol +0 -23
  2848. package/lib/openzeppelin-contracts/contracts/mocks/SignedSafeMathMock.sol +0 -23
  2849. package/lib/openzeppelin-contracts/contracts/mocks/StringsMock.sol +0 -23
  2850. package/lib/openzeppelin-contracts/contracts/mocks/TimersBlockNumberImpl.sol +0 -39
  2851. package/lib/openzeppelin-contracts/contracts/mocks/TimersTimestampImpl.sol +0 -39
  2852. package/lib/openzeppelin-contracts/contracts/mocks/UUPS/UUPSLegacy.sol +0 -58
  2853. package/lib/openzeppelin-contracts/contracts/mocks/UUPS/UUPSUpgradeableMock.sol +0 -21
  2854. package/lib/openzeppelin-contracts/contracts/mocks/crosschain/bridges.sol +0 -102
  2855. package/lib/openzeppelin-contracts/contracts/mocks/crosschain/receivers.sol +0 -54
  2856. package/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor1.sol +0 -87
  2857. package/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor2.sol +0 -93
  2858. package/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor3.sol +0 -96
  2859. package/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol +0 -185
  2860. package/lib/openzeppelin-contracts/contracts/security/Pausable.sol +0 -105
  2861. package/lib/openzeppelin-contracts/contracts/security/PullPayment.sol +0 -74
  2862. package/lib/openzeppelin-contracts/contracts/security/README.adoc +0 -20
  2863. package/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol +0 -69
  2864. package/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol +0 -128
  2865. package/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/README.md +0 -1
  2866. package/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol +0 -19
  2867. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Snapshot.sol +0 -195
  2868. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20VotesComp.sol +0 -46
  2869. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Permit.sol +0 -95
  2870. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol +0 -60
  2871. package/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol +0 -35
  2872. package/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol +0 -94
  2873. package/lib/openzeppelin-contracts/contracts/token/ERC20/presets/README.md +0 -1
  2874. package/lib/openzeppelin-contracts/contracts/token/ERC20/utils/TokenTimelock.sol +0 -76
  2875. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/draft-ERC721Votes.sol +0 -9
  2876. package/lib/openzeppelin-contracts/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol +0 -140
  2877. package/lib/openzeppelin-contracts/contracts/token/ERC721/presets/README.md +0 -1
  2878. package/lib/openzeppelin-contracts/contracts/token/ERC777/ERC777.sol +0 -547
  2879. package/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777.sol +0 -209
  2880. package/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Recipient.sol +0 -35
  2881. package/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Sender.sol +0 -35
  2882. package/lib/openzeppelin-contracts/contracts/token/ERC777/README.adoc +0 -30
  2883. package/lib/openzeppelin-contracts/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol +0 -30
  2884. package/lib/openzeppelin-contracts/contracts/utils/Checkpoints.sol +0 -554
  2885. package/lib/openzeppelin-contracts/contracts/utils/Counters.sol +0 -43
  2886. package/lib/openzeppelin-contracts/contracts/utils/Timers.sol +0 -73
  2887. package/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol +0 -8
  2888. package/lib/openzeppelin-contracts/contracts/utils/escrow/ConditionalEscrow.sol +0 -25
  2889. package/lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol +0 -67
  2890. package/lib/openzeppelin-contracts/contracts/utils/escrow/RefundEscrow.sol +0 -100
  2891. package/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Storage.sol +0 -42
  2892. package/lib/openzeppelin-contracts/contracts/utils/introspection/ERC1820Implementer.sol +0 -44
  2893. package/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Implementer.sol +0 -20
  2894. package/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Registry.sol +0 -116
  2895. package/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol +0 -227
  2896. package/lib/openzeppelin-contracts/contracts/utils/math/SignedSafeMath.sol +0 -68
  2897. package/lib/openzeppelin-contracts/contracts/vendor/amb/IAMB.sol +0 -49
  2898. package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IArbSys.sol +0 -141
  2899. package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IBridge.sol +0 -109
  2900. package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IDelayedMessageProvider.sol +0 -16
  2901. package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IInbox.sol +0 -152
  2902. package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IOutbox.sol +0 -121
  2903. package/lib/openzeppelin-contracts/contracts/vendor/optimism/ICrossDomainMessenger.sol +0 -38
  2904. package/lib/openzeppelin-contracts/contracts/vendor/optimism/LICENSE +0 -22
  2905. package/lib/openzeppelin-contracts/contracts/vendor/polygon/IFxMessageProcessor.sol +0 -11
  2906. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crosschain.adoc +0 -210
  2907. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crowdsales.adoc +0 -11
  2908. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/drafts.adoc +0 -19
  2909. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc777.adoc +0 -73
  2910. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/releases-stability.adoc +0 -85
  2911. package/lib/openzeppelin-contracts/hardhat/env-contract.js +0 -10
  2912. package/lib/openzeppelin-contracts/lib/forge-std/.gitmodules +0 -3
  2913. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/LICENSE +0 -674
  2914. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/Makefile +0 -14
  2915. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/default.nix +0 -4
  2916. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/demo/demo.sol +0 -222
  2917. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/package.json +0 -15
  2918. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol +0 -469
  2919. package/lib/openzeppelin-contracts/scripts/generate/templates/CheckpointsMock.js +0 -80
  2920. package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMapMock.js +0 -66
  2921. package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSetMock.js +0 -56
  2922. package/lib/openzeppelin-contracts/scripts/generate/templates/SafeCastMock.js +0 -50
  2923. package/lib/openzeppelin-contracts/scripts/migrate-imports.js +0 -177
  2924. package/lib/openzeppelin-contracts/scripts/prepare-contracts-package.sh +0 -15
  2925. package/lib/openzeppelin-contracts/scripts/prepare.sh +0 -10
  2926. package/lib/openzeppelin-contracts/scripts/release/release.sh +0 -145
  2927. package/lib/openzeppelin-contracts/scripts/release/update-changelog-release-date.js +0 -34
  2928. package/lib/openzeppelin-contracts/test/access/AccessControlCrossChain.test.js +0 -59
  2929. package/lib/openzeppelin-contracts/test/access/AccessControlEnumerable.test.js +0 -15
  2930. package/lib/openzeppelin-contracts/test/crosschain/CrossChainEnabled.test.js +0 -88
  2931. package/lib/openzeppelin-contracts/test/finance/PaymentSplitter.test.js +0 -217
  2932. package/lib/openzeppelin-contracts/test/governance/compatibility/GovernorCompatibilityBravo.test.js +0 -265
  2933. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorComp.test.js +0 -78
  2934. package/lib/openzeppelin-contracts/test/helpers/create2.js +0 -12
  2935. package/lib/openzeppelin-contracts/test/helpers/crosschain.js +0 -63
  2936. package/lib/openzeppelin-contracts/test/helpers/customError.js +0 -24
  2937. package/lib/openzeppelin-contracts/test/helpers/erc1967.js +0 -24
  2938. package/lib/openzeppelin-contracts/test/helpers/sign.js +0 -47
  2939. package/lib/openzeppelin-contracts/test/metatx/MinimalForwarder.test.js +0 -184
  2940. package/lib/openzeppelin-contracts/test/migrate-imports.test.js +0 -29
  2941. package/lib/openzeppelin-contracts/test/security/Pausable.test.js +0 -89
  2942. package/lib/openzeppelin-contracts/test/security/PullPayment.test.js +0 -51
  2943. package/lib/openzeppelin-contracts/test/security/ReentrancyGuard.test.js +0 -40
  2944. package/lib/openzeppelin-contracts/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +0 -146
  2945. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.behavior.js +0 -109
  2946. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.behavior.js +0 -32
  2947. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Snapshot.test.js +0 -204
  2948. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20VotesComp.test.js +0 -496
  2949. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Permit.test.js +0 -109
  2950. package/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +0 -42
  2951. package/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +0 -113
  2952. package/lib/openzeppelin-contracts/test/token/ERC20/utils/TokenTimelock.test.js +0 -71
  2953. package/lib/openzeppelin-contracts/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +0 -125
  2954. package/lib/openzeppelin-contracts/test/token/ERC777/ERC777.behavior.js +0 -555
  2955. package/lib/openzeppelin-contracts/test/token/ERC777/ERC777.test.js +0 -610
  2956. package/lib/openzeppelin-contracts/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +0 -49
  2957. package/lib/openzeppelin-contracts/test/utils/Checkpoints.test.js +0 -189
  2958. package/lib/openzeppelin-contracts/test/utils/Counters.test.js +0 -84
  2959. package/lib/openzeppelin-contracts/test/utils/TimersBlockNumberImpl.test.js +0 -55
  2960. package/lib/openzeppelin-contracts/test/utils/TimersTimestamp.test.js +0 -55
  2961. package/lib/openzeppelin-contracts/test/utils/escrow/ConditionalEscrow.test.js +0 -36
  2962. package/lib/openzeppelin-contracts/test/utils/escrow/Escrow.behavior.js +0 -94
  2963. package/lib/openzeppelin-contracts/test/utils/escrow/Escrow.test.js +0 -14
  2964. package/lib/openzeppelin-contracts/test/utils/escrow/RefundEscrow.test.js +0 -148
  2965. package/lib/openzeppelin-contracts/test/utils/introspection/ERC165Storage.test.js +0 -25
  2966. package/lib/openzeppelin-contracts/test/utils/introspection/ERC1820Implementer.test.js +0 -66
  2967. package/lib/openzeppelin-contracts/test/utils/math/SafeMath.test.js +0 -403
  2968. package/lib/openzeppelin-contracts/test/utils/math/SignedSafeMath.test.js +0 -152
  2969. package/lib/openzeppelin-contracts-upgradeable/.changeset/new-ways-own.md +0 -5
  2970. package/lib/openzeppelin-contracts-upgradeable/.eslintrc +0 -62
  2971. package/lib/openzeppelin-contracts-upgradeable/.gitattributes +0 -1
  2972. package/lib/openzeppelin-contracts-upgradeable/.github/ISSUE_TEMPLATE/bug_report.md +0 -21
  2973. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/changelog.yml +0 -28
  2974. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/merge-upstream.yml +0 -28
  2975. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/transpile.yml +0 -27
  2976. package/lib/openzeppelin-contracts-upgradeable/.solhint.json +0 -14
  2977. package/lib/openzeppelin-contracts-upgradeable/UPGRADEABLE.md +0 -47
  2978. package/lib/openzeppelin-contracts-upgradeable/audit/2017-03.md +0 -292
  2979. package/lib/openzeppelin-contracts-upgradeable/certora/applyHarness.patch +0 -101
  2980. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC20VotesHarness.sol +0 -28
  2981. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/WizardControlFirstPriority.sol +0 -150
  2982. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/WizardFirstTry.sol +0 -141
  2983. package/lib/openzeppelin-contracts-upgradeable/certora/munged/.gitignore +0 -2
  2984. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/Governor.sh +0 -10
  2985. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/GovernorCountingSimple-counting.sh +0 -10
  2986. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/WizardControlFirstPriority.sh +0 -12
  2987. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/WizardFirstTry.sh +0 -10
  2988. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/sanity.sh +0 -14
  2989. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/verifyAll.sh +0 -39
  2990. package/lib/openzeppelin-contracts-upgradeable/certora/specs/GovernorBase.spec +0 -333
  2991. package/lib/openzeppelin-contracts-upgradeable/certora/specs/GovernorCountingSimple.spec +0 -221
  2992. package/lib/openzeppelin-contracts-upgradeable/certora/specs/RulesInProgress.spec +0 -139
  2993. package/lib/openzeppelin-contracts-upgradeable/certora/specs/sanity.spec +0 -14
  2994. package/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlCrossChainUpgradeable.sol +0 -58
  2995. package/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol +0 -77
  2996. package/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol +0 -31
  2997. package/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol +0 -88
  2998. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/CrossChainEnabledUpgradeable.sol +0 -67
  2999. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/README.adoc +0 -34
  3000. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/amb/CrossChainEnabledAMBUpgradeable.sol +0 -57
  3001. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/amb/LibAMBUpgradeable.sol +0 -35
  3002. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1Upgradeable.sol +0 -52
  3003. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2Upgradeable.sol +0 -53
  3004. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/arbitrum/LibArbitrumL1Upgradeable.sol +0 -42
  3005. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/arbitrum/LibArbitrumL2Upgradeable.sol +0 -45
  3006. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/errorsUpgradeable.sol +0 -7
  3007. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/optimism/CrossChainEnabledOptimismUpgradeable.sol +0 -49
  3008. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/optimism/LibOptimismUpgradeable.sol +0 -36
  3009. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/polygon/CrossChainEnabledPolygonChildUpgradeable.sol +0 -90
  3010. package/lib/openzeppelin-contracts-upgradeable/contracts/finance/PaymentSplitterUpgradeable.sol +0 -226
  3011. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/IGovernorUpgradeable.sol +0 -289
  3012. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/TimelockControllerWith46MigrationUpgradeable.sol +0 -56
  3013. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/compatibility/GovernorCompatibilityBravoUpgradeable.sol +0 -298
  3014. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/compatibility/IGovernorCompatibilityBravoUpgradeable.sol +0 -127
  3015. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorProposalThresholdUpgradeable.sol +0 -36
  3016. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorVotesCompUpgradeable.sol +0 -45
  3017. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/IGovernorTimelockUpgradeable.sol +0 -39
  3018. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/IVotesUpgradeable.sol +0 -61
  3019. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1155MetadataURIUpgradeable.sol +0 -6
  3020. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1155ReceiverUpgradeable.sol +0 -6
  3021. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1155Upgradeable.sol +0 -6
  3022. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1271Upgradeable.sol +0 -19
  3023. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1363ReceiverUpgradeable.sol +0 -32
  3024. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1363SpenderUpgradeable.sol +0 -30
  3025. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1363Upgradeable.sol +0 -95
  3026. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC165Upgradeable.sol +0 -6
  3027. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1820ImplementerUpgradeable.sol +0 -6
  3028. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1820RegistryUpgradeable.sol +0 -6
  3029. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20MetadataUpgradeable.sol +0 -6
  3030. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol +0 -6
  3031. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC2309Upgradeable.sol +0 -21
  3032. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC2981Upgradeable.sol +0 -25
  3033. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC3156FlashBorrowerUpgradeable.sol +0 -29
  3034. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC3156FlashLenderUpgradeable.sol +0 -43
  3035. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC3156Upgradeable.sol +0 -7
  3036. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC4626Upgradeable.sol +0 -240
  3037. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC721EnumerableUpgradeable.sol +0 -6
  3038. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC721MetadataUpgradeable.sol +0 -6
  3039. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC721ReceiverUpgradeable.sol +0 -6
  3040. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC721Upgradeable.sol +0 -6
  3041. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC777RecipientUpgradeable.sol +0 -6
  3042. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC777SenderUpgradeable.sol +0 -6
  3043. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC777Upgradeable.sol +0 -6
  3044. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol +0 -20
  3045. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC2612Upgradeable.sol +0 -8
  3046. package/lib/openzeppelin-contracts-upgradeable/contracts/metatx/MinimalForwarderUpgradeable.sol +0 -85
  3047. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessControlCrossChainMockUpgradeable.sol +0 -34
  3048. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessControlEnumerableMockUpgradeable.sol +0 -29
  3049. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessControlMockUpgradeable.sol +0 -29
  3050. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AddressImplUpgradeable.sol +0 -54
  3051. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/BadBeaconUpgradeable.sol +0 -36
  3052. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/Base64MockUpgradeable.sol +0 -24
  3053. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/BitmapMockUpgradeable.sol +0 -40
  3054. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/CheckpointsMockUpgradeable.sol +0 -157
  3055. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ClashingImplementationUpgradeable.sol +0 -31
  3056. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ClonesMockUpgradeable.sol +0 -49
  3057. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ConditionalEscrowMockUpgradeable.sol +0 -32
  3058. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/CountersImplUpgradeable.sol +0 -40
  3059. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/Create2ImplUpgradeable.sol +0 -47
  3060. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/DoubleEndedQueueMockUpgradeable.sol +0 -71
  3061. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ECDSAMockUpgradeable.sol +0 -54
  3062. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EIP712ExternalUpgradeable.sol +0 -43
  3063. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155BurnableMockUpgradeable.sol +0 -30
  3064. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155MockUpgradeable.sol +0 -63
  3065. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155PausableMockUpgradeable.sol +0 -43
  3066. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155ReceiverMockUpgradeable.sol +0 -69
  3067. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155SupplyMockUpgradeable.sol +0 -34
  3068. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155URIStorageMockUpgradeable.sol +0 -36
  3069. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165CheckerMockUpgradeable.sol +0 -42
  3070. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165MockUpgradeable.sol +0 -20
  3071. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165StorageMockUpgradeable.sol +0 -24
  3072. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1820ImplementerMockUpgradeable.sol +0 -24
  3073. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20BurnableMockUpgradeable.sol +0 -34
  3074. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20CappedMockUpgradeable.sol +0 -34
  3075. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20DecimalsMockUpgradeable.sol +0 -46
  3076. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20FlashMintMockUpgradeable.sol +0 -61
  3077. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20MockUpgradeable.sol +0 -59
  3078. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20PausableMockUpgradeable.sol +0 -52
  3079. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20PermitMockUpgradeable.sol +0 -40
  3080. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20SnapshotMockUpgradeable.sol +0 -46
  3081. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20VotesCompMockUpgradeable.sol +0 -35
  3082. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20VotesMockUpgradeable.sol +0 -35
  3083. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20WrapperMockUpgradeable.sol +0 -34
  3084. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC4626MockUpgradeable.sol +0 -96
  3085. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721BurnableMockUpgradeable.sol +0 -41
  3086. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721ConsecutiveEnumerableMockUpgradeable.sol +0 -73
  3087. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721ConsecutiveMockUpgradeable.sol +0 -119
  3088. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721EnumerableMockUpgradeable.sol +0 -63
  3089. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721MockUpgradeable.sol +0 -53
  3090. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721PausableMockUpgradeable.sol +0 -58
  3091. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721ReceiverMockUpgradeable.sol +0 -54
  3092. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721RoyaltyMockUpgradeable.sol +0 -45
  3093. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721URIStorageMockUpgradeable.sol +0 -67
  3094. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721VotesMockUpgradeable.sol +0 -38
  3095. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC777MockUpgradeable.sol +0 -75
  3096. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC777SenderRecipientMockUpgradeable.sol +0 -176
  3097. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EnumerableMapMockUpgradeable.sol +0 -282
  3098. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EnumerableSetMockUpgradeable.sol +0 -148
  3099. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorCompMockUpgradeable.sol +0 -45
  3100. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorCompatibilityBravoMockUpgradeable.sol +0 -145
  3101. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorMockUpgradeable.sol +0 -67
  3102. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorPreventLateQuorumMockUpgradeable.sol +0 -79
  3103. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorTimelockCompoundMockUpgradeable.sol +0 -114
  3104. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorTimelockControlMockUpgradeable.sol +0 -111
  3105. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorVoteMockUpgradeable.sol +0 -45
  3106. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorWithParamsMockUpgradeable.sol +0 -75
  3107. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MathMockUpgradeable.sol +0 -61
  3108. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MerkleProofWrapperUpgradeable.sol +0 -78
  3109. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MulticallTestUpgradeable.sol +0 -36
  3110. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MulticallTokenMockUpgradeable.sol +0 -23
  3111. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/Ownable2StepMockUpgradeable.sol +0 -21
  3112. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/OwnableMockUpgradeable.sol +0 -21
  3113. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/PullPaymentMockUpgradeable.sol +0 -27
  3114. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SafeCastMockUpgradeable.sol +0 -280
  3115. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SafeERC20HelperUpgradeable.sol +0 -257
  3116. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SafeMathMockUpgradeable.sol +0 -151
  3117. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SignatureCheckerMockUpgradeable.sol +0 -30
  3118. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SignedMathMockUpgradeable.sol +0 -36
  3119. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SignedSafeMathMockUpgradeable.sol +0 -36
  3120. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/StringsMockUpgradeable.sol +0 -36
  3121. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/TimersBlockNumberImplUpgradeable.sol +0 -52
  3122. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/TimersTimestampImplUpgradeable.sol +0 -52
  3123. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/UUPS/UUPSLegacyUpgradeable.sol +0 -81
  3124. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/UUPS/UUPSUpgradeableMockUpgradeable.sol +0 -46
  3125. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/crosschain/bridgesUpgradeable.sol +0 -199
  3126. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/crosschain/receiversUpgradeable.sol +0 -107
  3127. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/wizard/MyGovernor1Upgradeable.sol +0 -98
  3128. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/wizard/MyGovernor2Upgradeable.sol +0 -104
  3129. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/wizard/MyGovernor3Upgradeable.sol +0 -107
  3130. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol +0 -89
  3131. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol +0 -212
  3132. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol +0 -16
  3133. package/lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol +0 -117
  3134. package/lib/openzeppelin-contracts-upgradeable/contracts/security/PullPaymentUpgradeable.sol +0 -89
  3135. package/lib/openzeppelin-contracts-upgradeable/contracts/security/README.adoc +0 -20
  3136. package/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol +0 -81
  3137. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155ReceiverUpgradeable.sol +0 -58
  3138. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol +0 -125
  3139. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol +0 -22
  3140. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/presets/ERC1155PresetMinterPauserUpgradeable.sol +0 -145
  3141. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/presets/README.md +0 -1
  3142. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/utils/ERC1155ReceiverUpgradeable.sol +0 -32
  3143. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol +0 -82
  3144. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol +0 -208
  3145. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20VotesCompUpgradeable.sol +0 -59
  3146. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol +0 -28
  3147. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol +0 -109
  3148. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol +0 -60
  3149. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/presets/ERC20PresetFixedSupplyUpgradeable.sol +0 -61
  3150. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/presets/ERC20PresetMinterPauserUpgradeable.sol +0 -111
  3151. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/presets/README.md +0 -1
  3152. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol +0 -116
  3153. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/TokenTimelockUpgradeable.sol +0 -94
  3154. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol +0 -27
  3155. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol +0 -145
  3156. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol +0 -29
  3157. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol +0 -27
  3158. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/draft-ERC721VotesUpgradeable.sol +0 -9
  3159. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoIdUpgradeable.sol +0 -165
  3160. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/presets/README.md +0 -1
  3161. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/ERC777Upgradeable.sol +0 -563
  3162. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/IERC777RecipientUpgradeable.sol +0 -35
  3163. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/IERC777SenderUpgradeable.sol +0 -35
  3164. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/IERC777Upgradeable.sol +0 -209
  3165. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/README.adoc +0 -30
  3166. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/presets/ERC777PresetFixedSupplyUpgradeable.sol +0 -58
  3167. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol +0 -219
  3168. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/ArraysUpgradeable.sol +0 -96
  3169. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/Base64Upgradeable.sol +0 -92
  3170. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/CheckpointsUpgradeable.sol +0 -554
  3171. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol +0 -43
  3172. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/Create2Upgradeable.sol +0 -83
  3173. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol +0 -88
  3174. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol +0 -70
  3175. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/TimersUpgradeable.sol +0 -73
  3176. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/ECDSAUpgradeable.sol +0 -213
  3177. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/MerkleProofUpgradeable.sol +0 -223
  3178. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/SignatureCheckerUpgradeable.sol +0 -42
  3179. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/draft-EIP712Upgradeable.sol +0 -8
  3180. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/escrow/ConditionalEscrowUpgradeable.sol +0 -39
  3181. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/escrow/EscrowUpgradeable.sol +0 -84
  3182. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/escrow/RefundEscrowUpgradeable.sol +0 -113
  3183. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165CheckerUpgradeable.sol +0 -127
  3184. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165StorageUpgradeable.sol +0 -55
  3185. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC1820ImplementerUpgradeable.sol +0 -57
  3186. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol +0 -25
  3187. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC1820ImplementerUpgradeable.sol +0 -20
  3188. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC1820RegistryUpgradeable.sol +0 -116
  3189. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol +0 -345
  3190. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeCastUpgradeable.sol +0 -1136
  3191. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol +0 -227
  3192. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol +0 -43
  3193. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedSafeMathUpgradeable.sol +0 -68
  3194. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/BitMapsUpgradeable.sol +0 -55
  3195. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/DoubleEndedQueueUpgradeable.sol +0 -170
  3196. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableMapUpgradeable.sol +0 -530
  3197. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol +0 -378
  3198. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/amb/IAMBUpgradeable.sol +0 -49
  3199. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IArbSysUpgradeable.sol +0 -141
  3200. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IBridgeUpgradeable.sol +0 -109
  3201. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IDelayedMessageProviderUpgradeable.sol +0 -16
  3202. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IInboxUpgradeable.sol +0 -152
  3203. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IOutboxUpgradeable.sol +0 -121
  3204. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/compound/ICompoundTimelockUpgradeable.sol +0 -86
  3205. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/optimism/ICrossDomainMessengerUpgradeable.sol +0 -38
  3206. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/optimism/LICENSE +0 -22
  3207. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/polygon/IFxMessageProcessorUpgradeable.sol +0 -11
  3208. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/crosschain.adoc +0 -210
  3209. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/crowdsales.adoc +0 -11
  3210. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/drafts.adoc +0 -19
  3211. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc777.adoc +0 -73
  3212. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/releases-stability.adoc +0 -85
  3213. package/lib/openzeppelin-contracts-upgradeable/hardhat/env-contract.js +0 -10
  3214. package/lib/openzeppelin-contracts-upgradeable/hardhat/task-get-compiler-input.js +0 -10
  3215. package/lib/openzeppelin-contracts-upgradeable/icon.svg +0 -13
  3216. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/.gitmodules +0 -3
  3217. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/LICENSE +0 -674
  3218. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/Makefile +0 -14
  3219. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/default.nix +0 -4
  3220. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/demo/demo.sol +0 -222
  3221. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/package.json +0 -15
  3222. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/test.sol +0 -469
  3223. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/CheckpointsMock.js +0 -80
  3224. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/EnumerableMapMock.js +0 -66
  3225. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/EnumerableSetMock.js +0 -56
  3226. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/SafeCastMock.js +0 -50
  3227. package/lib/openzeppelin-contracts-upgradeable/scripts/migrate-imports.js +0 -177
  3228. package/lib/openzeppelin-contracts-upgradeable/scripts/prepare-contracts-package.sh +0 -15
  3229. package/lib/openzeppelin-contracts-upgradeable/scripts/prepare.sh +0 -10
  3230. package/lib/openzeppelin-contracts-upgradeable/scripts/release/release.sh +0 -145
  3231. package/lib/openzeppelin-contracts-upgradeable/scripts/release/update-changelog-release-date.js +0 -34
  3232. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/merge-upstream.sh +0 -33
  3233. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/patch/.gitkeep +0 -0
  3234. package/lib/openzeppelin-contracts-upgradeable/test/access/AccessControlCrossChain.test.js +0 -59
  3235. package/lib/openzeppelin-contracts-upgradeable/test/access/AccessControlEnumerable.test.js +0 -15
  3236. package/lib/openzeppelin-contracts-upgradeable/test/crosschain/CrossChainEnabled.test.js +0 -88
  3237. package/lib/openzeppelin-contracts-upgradeable/test/finance/PaymentSplitter.test.js +0 -217
  3238. package/lib/openzeppelin-contracts-upgradeable/test/governance/compatibility/GovernorCompatibilityBravo.test.js +0 -265
  3239. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorComp.test.js +0 -78
  3240. package/lib/openzeppelin-contracts-upgradeable/test/helpers/create2.js +0 -12
  3241. package/lib/openzeppelin-contracts-upgradeable/test/helpers/crosschain.js +0 -63
  3242. package/lib/openzeppelin-contracts-upgradeable/test/helpers/customError.js +0 -24
  3243. package/lib/openzeppelin-contracts-upgradeable/test/helpers/erc1967.js +0 -24
  3244. package/lib/openzeppelin-contracts-upgradeable/test/helpers/sign.js +0 -47
  3245. package/lib/openzeppelin-contracts-upgradeable/test/metatx/MinimalForwarder.test.js +0 -184
  3246. package/lib/openzeppelin-contracts-upgradeable/test/migrate-imports.test.js +0 -29
  3247. package/lib/openzeppelin-contracts-upgradeable/test/security/Pausable.test.js +0 -89
  3248. package/lib/openzeppelin-contracts-upgradeable/test/security/PullPayment.test.js +0 -51
  3249. package/lib/openzeppelin-contracts-upgradeable/test/security/ReentrancyGuard.test.js +0 -40
  3250. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +0 -146
  3251. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Burnable.behavior.js +0 -109
  3252. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Capped.behavior.js +0 -32
  3253. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Snapshot.test.js +0 -204
  3254. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20VotesComp.test.js +0 -496
  3255. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/draft-ERC20Permit.test.js +0 -109
  3256. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +0 -42
  3257. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +0 -113
  3258. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/utils/TokenTimelock.test.js +0 -71
  3259. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +0 -125
  3260. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC777/ERC777.behavior.js +0 -555
  3261. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC777/ERC777.test.js +0 -610
  3262. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +0 -49
  3263. package/lib/openzeppelin-contracts-upgradeable/test/utils/Checkpoints.test.js +0 -189
  3264. package/lib/openzeppelin-contracts-upgradeable/test/utils/Counters.test.js +0 -84
  3265. package/lib/openzeppelin-contracts-upgradeable/test/utils/TimersBlockNumberImpl.test.js +0 -55
  3266. package/lib/openzeppelin-contracts-upgradeable/test/utils/TimersTimestamp.test.js +0 -55
  3267. package/lib/openzeppelin-contracts-upgradeable/test/utils/escrow/ConditionalEscrow.test.js +0 -36
  3268. package/lib/openzeppelin-contracts-upgradeable/test/utils/escrow/Escrow.behavior.js +0 -94
  3269. package/lib/openzeppelin-contracts-upgradeable/test/utils/escrow/Escrow.test.js +0 -14
  3270. package/lib/openzeppelin-contracts-upgradeable/test/utils/escrow/RefundEscrow.test.js +0 -148
  3271. package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/ERC165Storage.test.js +0 -25
  3272. package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/ERC1820Implementer.test.js +0 -66
  3273. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SafeMath.test.js +0 -403
  3274. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SignedSafeMath.test.js +0 -152
  3275. package/migrations/10_deploy_weth.js +0 -5
  3276. package/migrations/11_deploy_full_flow.js +0 -99
  3277. package/migrations/12_deploy_pm_v3_querier.js +0 -7
  3278. package/migrations/13_deploy_pm_v3_factory.js +0 -14
  3279. package/migrations/15_deploy_ppmm.js +0 -10
  3280. package/migrations/16_deploy_raffle.js +0 -5
  3281. package/migrations/1_initial_migration.js +0 -5
  3282. package/migrations/2_deploy_erc20.js +0 -10
  3283. package/migrations/3_deploy_realitio.js +0 -11
  3284. package/migrations/4_deploy_pm.js +0 -20
  3285. package/migrations/5_seed_markets.js +0 -51
  3286. package/migrations/6_deploy_achievements.js +0 -5
  3287. package/migrations/7_deploy_voting.js +0 -14
  3288. package/migrations/8_deploy_pm_v2.js +0 -20
  3289. package/migrations/9_seed_markets_v2.js +0 -68
  3290. package/tests/PPMMarketContract.js +0 -340
  3291. package/tests/fantasyERC20Contract.js +0 -225
  3292. package/tests/index.js +0 -10
  3293. package/tests/predictionMarketContract.js +0 -466
  3294. package/tests/predictionMarketV2Contract.js +0 -1042
  3295. package/tests/predictionMarketV3Contract.js +0 -1079
  3296. package/tests/predictionMarketV3ControllerContract.js +0 -613
  3297. package/tests/predictionMarketV3FactoryContract.js +0 -469
  3298. package/tests/predictionMarketV3ManagerContract.js +0 -610
  3299. package/tests/utils.js +0 -16
  3300. package/tests/votingContract.js +0 -490
  3301. package/truffle-config.js +0 -134
  3302. package/zkout/AccessControl.sol/AccessControl.json +0 -1
  3303. package/zkout/AccessControlEnumerable.sol/AccessControlEnumerable.json +0 -1
  3304. package/zkout/Address.sol/Address.json +0 -1
  3305. package/zkout/Clones.sol/Clones.json +0 -1
  3306. package/zkout/Context.sol/Context.json +0 -1
  3307. package/zkout/ERC165.sol/ERC165.json +0 -1
  3308. package/zkout/ERC20.sol/ERC20.json +0 -1
  3309. package/zkout/ERC20Burnable.sol/ERC20Burnable.json +0 -1
  3310. package/zkout/ERC20Pausable.sol/ERC20Pausable.json +0 -1
  3311. package/zkout/ERC20PresetMinterPauser.sol/ERC20PresetMinterPauser.json +0 -1
  3312. package/zkout/EnumerableSet.sol/EnumerableSet.json +0 -1
  3313. package/zkout/FantasyERC20.sol/FantasyERC20.json +0 -1
  3314. package/zkout/IAccessControl.sol/IAccessControl.json +0 -1
  3315. package/zkout/IAccessControlEnumerable.sol/IAccessControlEnumerable.json +0 -1
  3316. package/zkout/IERC165.sol/IERC165.json +0 -1
  3317. package/zkout/IERC20.sol/IERC20.json +0 -1
  3318. package/zkout/IERC20Metadata.sol/IERC20Metadata.json +0 -1
  3319. package/zkout/IFantasyERC20.sol/IFantasyERC20.json +0 -1
  3320. package/zkout/IPredictionMarketV3.sol/IPredictionMarketV3.json +0 -1
  3321. package/zkout/IPredictionMarketV3Factory.sol/IPredictionMarketV3Factory.json +0 -1
  3322. package/zkout/IPredictionMarketV3Manager.sol/IPredictionMarketV3Manager.json +0 -1
  3323. package/zkout/IRealityETH_ERC20.sol/IRealityETH_ERC20.json +0 -1
  3324. package/zkout/LandFactory.sol/LandFactory.json +0 -1
  3325. package/zkout/Math.sol/Math.json +0 -1
  3326. package/zkout/Migrations.sol/Migrations.json +0 -1
  3327. package/zkout/Ownable.sol/Ownable.json +0 -1
  3328. package/zkout/Pausable.sol/Pausable.json +0 -1
  3329. package/zkout/PredictionMarketV3.sol/CeilDiv.json +0 -1
  3330. package/zkout/PredictionMarketV3.sol/IWETH.json +0 -1
  3331. package/zkout/PredictionMarketV3.sol/PredictionMarketV3.json +0 -1
  3332. package/zkout/PredictionMarketV3Controller.sol/PredictionMarketV3Controller.json +0 -1
  3333. package/zkout/PredictionMarketV3Factory.sol/PredictionMarketV3Factory.json +0 -1
  3334. package/zkout/PredictionMarketV3Manager.sol/PredictionMarketV3Manager.json +0 -1
  3335. package/zkout/PredictionMarketV3Querier.sol/PredictionMarketV3Querier.json +0 -1
  3336. package/zkout/Proxy.sol/Proxy.json +0 -1
  3337. package/zkout/RealityETH_ERC20_Factory.sol/IRealityETH_IERC20.json +0 -1
  3338. package/zkout/RealityETH_ERC20_Factory.sol/RealityETH_ERC20_Factory.json +0 -1
  3339. package/zkout/RealityETH_ERC20_v3_0.sol/RealityETH_ERC20_v3_0_.json +0 -1
  3340. package/zkout/ReentrancyGuard.sol/ReentrancyGuard.json +0 -1
  3341. package/zkout/SafeERC20.sol/SafeERC20.json +0 -1
  3342. package/zkout/SafeMath.sol/SafeMath.json +0 -1
  3343. package/zkout/Strings.sol/Strings.json +0 -1
  3344. package/zkout/USDCERC20.sol/USDCERC20.json +0 -1
  3345. package/zkout/Voting.sol/Voting.json +0 -1
  3346. package/zkout/build-info/0fa499f04838f8c1f593bcbafd0fd1a5.json +0 -1
  3347. package/zkout/build-info/39c03363a71a9805ec8ec63c81a8aaaf.json +0 -1
  3348. package/zkout/build-info/637aa7b0942c0ead878e36bd5d598008.json +0 -1
  3349. package/zkout/build-info/810ab68b6fb1e3386ce5a111c7eb136f.json +0 -1
  3350. package/zkout/build-info/aec05d9534229710b5b5f567c42384a1.json +0 -1
  3351. package/zkout/build-info/cdd531656c4131c11667647afa1b2cca.json +0 -1
  3352. package/zkout/build-info/e702288987d16a0b64efe75b321dfb8a.json +0 -1
  3353. package/zkout/build-info/eccbfbbf7a8a18e02ebf05d3b7c6eea8.json +0 -1
  3354. package/zkout/contracts/BalanceHolder_ERC20.sol/BalanceHolder_ERC20.json +0 -1
  3355. package/zkout/contracts/IBalanceHolder_ERC20.sol/IBalanceHolder_ERC20.json +0 -1
  3356. package/zkout/contracts/RealityETH_ERC20-3.0.sol/RealityETH_ERC20_v3_0.json +0 -1
  3357. package/zkout/development/contracts/IERC20.sol/IERC20.json +0 -1
  3358. package/zkout/draft-IERC20Permit.sol/IERC20Permit.json +0 -1
  3359. /package/{build/contracts → abis}/AccessControlEnumerable.json +0 -0
  3360. /package/{build/contracts → abis}/Achievements.json +0 -0
  3361. /package/{build/contracts → abis}/BalanceHolder.json +0 -0
  3362. /package/{build/contracts → abis}/Counters.json +0 -0
  3363. /package/{build/contracts → abis}/ERC20PresetMinterPauser.json +0 -0
  3364. /package/{build/contracts → abis}/ERC721.json +0 -0
  3365. /package/{build/contracts → abis}/EnumerableMap.json +0 -0
  3366. /package/{build/contracts → abis}/EnumerableSet.json +0 -0
  3367. /package/{build/contracts → abis}/IAccessControlEnumerable.json +0 -0
  3368. /package/{build/contracts → abis}/IERC20Permit.json +0 -0
  3369. /package/{build/contracts → abis}/IERC721Receiver.json +0 -0
  3370. /package/{build/contracts → abis}/IPredictionMarketV3.json +0 -0
  3371. /package/{build/contracts → abis}/Math.json +0 -0
  3372. /package/{build/contracts → abis}/Migrations.json +0 -0
  3373. /package/{build/contracts → abis}/PredictionMarket.json +0 -0
  3374. /package/{build/contracts → abis}/PredictionMarketV2.json +0 -0
  3375. /package/{build/contracts → abis}/PredictionMarketV3.json +0 -0
  3376. /package/{build/contracts → abis}/RealitioERC20.json +0 -0
  3377. /package/{build/contracts → abis}/RealitioForeignArbitrationProxyWithAppeals.json +0 -0
  3378. /package/{build/contracts → abis}/RealitioHomeArbitrationProxy.json +0 -0
  3379. /package/{build/contracts → abis}/RealitioSafeMath256.json +0 -0
  3380. /package/{build/contracts → abis}/RealitioSafeMath32.json +0 -0
  3381. /package/{build/contracts → abis}/SafeMath.json +0 -0
  3382. /package/{build/contracts → abis}/Strings.json +0 -0
  3383. /package/{build/contracts → abis}/WETH9.json +0 -0
  3384. /package/lib/openzeppelin-contracts-upgradeable/{audit → audits}/2018-10.pdf +0 -0
  3385. /package/lib/openzeppelin-contracts-upgradeable/{DOCUMENTATION.md → docs/README.md} +0 -0
  3386. /package/lib/openzeppelin-contracts-upgradeable/{.github → lib/openzeppelin-contracts/.github}/ISSUE_TEMPLATE/feature_request.md +0 -0
  3387. /package/lib/{openzeppelin-contracts/audit → openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits}/2018-10.pdf +0 -0
  3388. /package/lib/{openzeppelin-contracts/DOCUMENTATION.md → openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/README.md} +0 -0
  3389. /package/lib/openzeppelin-contracts-upgradeable/{scripts/upgradeable → lib/openzeppelin-contracts/scripts}/git-user-config.sh +0 -0
@@ -0,0 +1,946 @@
1
+ const { ethers } = require('hardhat');
2
+ const { expect } = require('chai');
3
+ const { PANIC_CODES } = require('@nomicfoundation/hardhat-chai-matchers/panic');
4
+ const { anyValue } = require('@nomicfoundation/hardhat-chai-matchers/withArgs');
5
+
6
+ const { shouldSupportInterfaces } = require('../../utils/introspection/SupportsInterface.behavior');
7
+ const { RevertType } = require('../../helpers/enums');
8
+
9
+ const firstTokenId = 5042n;
10
+ const secondTokenId = 79217n;
11
+ const nonExistentTokenId = 13n;
12
+ const fourthTokenId = 4n;
13
+
14
+ const RECEIVER_MAGIC_VALUE = '0x150b7a02';
15
+
16
+ function shouldBehaveLikeERC721() {
17
+ beforeEach(async function () {
18
+ const [owner, newOwner, approved, operator, other] = this.accounts;
19
+ Object.assign(this, { owner, newOwner, approved, operator, other });
20
+ });
21
+
22
+ shouldSupportInterfaces(['ERC721']);
23
+
24
+ describe('with minted tokens', function () {
25
+ beforeEach(async function () {
26
+ await this.token.$_mint(this.owner, firstTokenId);
27
+ await this.token.$_mint(this.owner, secondTokenId);
28
+ this.to = this.other;
29
+ });
30
+
31
+ describe('balanceOf', function () {
32
+ describe('when the given address owns some tokens', function () {
33
+ it('returns the amount of tokens owned by the given address', async function () {
34
+ expect(await this.token.balanceOf(this.owner)).to.equal(2n);
35
+ });
36
+ });
37
+
38
+ describe('when the given address does not own any tokens', function () {
39
+ it('returns 0', async function () {
40
+ expect(await this.token.balanceOf(this.other)).to.equal(0n);
41
+ });
42
+ });
43
+
44
+ describe('when querying the zero address', function () {
45
+ it('throws', async function () {
46
+ await expect(this.token.balanceOf(ethers.ZeroAddress))
47
+ .to.be.revertedWithCustomError(this.token, 'ERC721InvalidOwner')
48
+ .withArgs(ethers.ZeroAddress);
49
+ });
50
+ });
51
+ });
52
+
53
+ describe('ownerOf', function () {
54
+ describe('when the given token ID was tracked by this token', function () {
55
+ const tokenId = firstTokenId;
56
+
57
+ it('returns the owner of the given token ID', async function () {
58
+ expect(await this.token.ownerOf(tokenId)).to.equal(this.owner);
59
+ });
60
+ });
61
+
62
+ describe('when the given token ID was not tracked by this token', function () {
63
+ const tokenId = nonExistentTokenId;
64
+
65
+ it('reverts', async function () {
66
+ await expect(this.token.ownerOf(tokenId))
67
+ .to.be.revertedWithCustomError(this.token, 'ERC721NonexistentToken')
68
+ .withArgs(tokenId);
69
+ });
70
+ });
71
+ });
72
+
73
+ describe('transfers', function () {
74
+ const tokenId = firstTokenId;
75
+ const data = '0x42';
76
+
77
+ beforeEach(async function () {
78
+ await this.token.connect(this.owner).approve(this.approved, tokenId);
79
+ await this.token.connect(this.owner).setApprovalForAll(this.operator, true);
80
+ });
81
+
82
+ const transferWasSuccessful = () => {
83
+ it('transfers the ownership of the given token ID to the given address', async function () {
84
+ await this.tx();
85
+ expect(await this.token.ownerOf(tokenId)).to.equal(this.to);
86
+ });
87
+
88
+ it('emits a Transfer event', async function () {
89
+ await expect(this.tx()).to.emit(this.token, 'Transfer').withArgs(this.owner, this.to, tokenId);
90
+ });
91
+
92
+ it('clears the approval for the token ID with no event', async function () {
93
+ await expect(this.tx()).to.not.emit(this.token, 'Approval');
94
+
95
+ expect(await this.token.getApproved(tokenId)).to.equal(ethers.ZeroAddress);
96
+ });
97
+
98
+ it('adjusts owners balances', async function () {
99
+ const balanceBefore = await this.token.balanceOf(this.owner);
100
+ await this.tx();
101
+ expect(await this.token.balanceOf(this.owner)).to.equal(balanceBefore - 1n);
102
+ });
103
+
104
+ it('adjusts owners tokens by index', async function () {
105
+ if (!this.token.tokenOfOwnerByIndex) return;
106
+
107
+ await this.tx();
108
+ expect(await this.token.tokenOfOwnerByIndex(this.to, 0n)).to.equal(tokenId);
109
+ expect(await this.token.tokenOfOwnerByIndex(this.owner, 0n)).to.not.equal(tokenId);
110
+ });
111
+ };
112
+
113
+ const shouldTransferTokensByUsers = function (fragment, opts = {}) {
114
+ describe('when called by the owner', function () {
115
+ beforeEach(async function () {
116
+ this.tx = () =>
117
+ this.token.connect(this.owner)[fragment](this.owner, this.to, tokenId, ...(opts.extra ?? []));
118
+ });
119
+ transferWasSuccessful();
120
+ });
121
+
122
+ describe('when called by the approved individual', function () {
123
+ beforeEach(async function () {
124
+ this.tx = () =>
125
+ this.token.connect(this.approved)[fragment](this.owner, this.to, tokenId, ...(opts.extra ?? []));
126
+ });
127
+ transferWasSuccessful();
128
+ });
129
+
130
+ describe('when called by the operator', function () {
131
+ beforeEach(async function () {
132
+ this.tx = () =>
133
+ this.token.connect(this.operator)[fragment](this.owner, this.to, tokenId, ...(opts.extra ?? []));
134
+ });
135
+ transferWasSuccessful();
136
+ });
137
+
138
+ describe('when called by the owner without an approved user', function () {
139
+ beforeEach(async function () {
140
+ await this.token.connect(this.owner).approve(ethers.ZeroAddress, tokenId);
141
+ this.tx = () =>
142
+ this.token.connect(this.operator)[fragment](this.owner, this.to, tokenId, ...(opts.extra ?? []));
143
+ });
144
+ transferWasSuccessful();
145
+ });
146
+
147
+ describe('when sent to the owner', function () {
148
+ beforeEach(async function () {
149
+ this.tx = () =>
150
+ this.token.connect(this.owner)[fragment](this.owner, this.owner, tokenId, ...(opts.extra ?? []));
151
+ });
152
+
153
+ it('keeps ownership of the token', async function () {
154
+ await this.tx();
155
+ expect(await this.token.ownerOf(tokenId)).to.equal(this.owner);
156
+ });
157
+
158
+ it('clears the approval for the token ID', async function () {
159
+ await this.tx();
160
+ expect(await this.token.getApproved(tokenId)).to.equal(ethers.ZeroAddress);
161
+ });
162
+
163
+ it('emits only a transfer event', async function () {
164
+ await expect(this.tx()).to.emit(this.token, 'Transfer').withArgs(this.owner, this.owner, tokenId);
165
+ });
166
+
167
+ it('keeps the owner balance', async function () {
168
+ const balanceBefore = await this.token.balanceOf(this.owner);
169
+ await this.tx();
170
+ expect(await this.token.balanceOf(this.owner)).to.equal(balanceBefore);
171
+ });
172
+
173
+ it('keeps same tokens by index', async function () {
174
+ if (!this.token.tokenOfOwnerByIndex) return;
175
+
176
+ expect(await Promise.all([0n, 1n].map(i => this.token.tokenOfOwnerByIndex(this.owner, i)))).to.have.members(
177
+ [firstTokenId, secondTokenId],
178
+ );
179
+ });
180
+ });
181
+
182
+ describe('when the address of the previous owner is incorrect', function () {
183
+ it('reverts', async function () {
184
+ await expect(
185
+ this.token.connect(this.owner)[fragment](this.other, this.other, tokenId, ...(opts.extra ?? [])),
186
+ )
187
+ .to.be.revertedWithCustomError(this.token, 'ERC721IncorrectOwner')
188
+ .withArgs(this.other, tokenId, this.owner);
189
+ });
190
+ });
191
+
192
+ describe('when the sender is not authorized for the token id', function () {
193
+ if (opts.unrestricted) {
194
+ it('does not revert', async function () {
195
+ await this.token.connect(this.other)[fragment](this.owner, this.other, tokenId, ...(opts.extra ?? []));
196
+ });
197
+ } else {
198
+ it('reverts', async function () {
199
+ await expect(
200
+ this.token.connect(this.other)[fragment](this.owner, this.other, tokenId, ...(opts.extra ?? [])),
201
+ )
202
+ .to.be.revertedWithCustomError(this.token, 'ERC721InsufficientApproval')
203
+ .withArgs(this.other, tokenId);
204
+ });
205
+ }
206
+ });
207
+
208
+ describe('when the given token ID does not exist', function () {
209
+ it('reverts', async function () {
210
+ await expect(
211
+ this.token
212
+ .connect(this.owner)
213
+ [fragment](this.owner, this.other, nonExistentTokenId, ...(opts.extra ?? [])),
214
+ )
215
+ .to.be.revertedWithCustomError(this.token, 'ERC721NonexistentToken')
216
+ .withArgs(nonExistentTokenId);
217
+ });
218
+ });
219
+
220
+ describe('when the address to transfer the token to is the zero address', function () {
221
+ it('reverts', async function () {
222
+ await expect(
223
+ this.token.connect(this.owner)[fragment](this.owner, ethers.ZeroAddress, tokenId, ...(opts.extra ?? [])),
224
+ )
225
+ .to.be.revertedWithCustomError(this.token, 'ERC721InvalidReceiver')
226
+ .withArgs(ethers.ZeroAddress);
227
+ });
228
+ });
229
+ };
230
+
231
+ const shouldTransferSafely = function (fragment, data, opts = {}) {
232
+ // sanity
233
+ it('function exists', async function () {
234
+ expect(this.token.interface.hasFunction(fragment)).to.be.true;
235
+ });
236
+
237
+ describe('to a user account', function () {
238
+ shouldTransferTokensByUsers(fragment, opts);
239
+ });
240
+
241
+ describe('to a valid receiver contract', function () {
242
+ beforeEach(async function () {
243
+ this.to = await ethers.deployContract('ERC721ReceiverMock', [RECEIVER_MAGIC_VALUE, RevertType.None]);
244
+ });
245
+
246
+ shouldTransferTokensByUsers(fragment, opts);
247
+
248
+ it('calls onERC721Received', async function () {
249
+ await expect(this.token.connect(this.owner)[fragment](this.owner, this.to, tokenId, ...(opts.extra ?? [])))
250
+ .to.emit(this.to, 'Received')
251
+ .withArgs(this.owner, this.owner, tokenId, data, anyValue);
252
+ });
253
+
254
+ it('calls onERC721Received from approved', async function () {
255
+ await expect(
256
+ this.token.connect(this.approved)[fragment](this.owner, this.to, tokenId, ...(opts.extra ?? [])),
257
+ )
258
+ .to.emit(this.to, 'Received')
259
+ .withArgs(this.approved, this.owner, tokenId, data, anyValue);
260
+ });
261
+
262
+ describe('with an invalid token id', function () {
263
+ it('reverts', async function () {
264
+ await expect(
265
+ this.token
266
+ .connect(this.approved)
267
+ [fragment](this.owner, this.to, nonExistentTokenId, ...(opts.extra ?? [])),
268
+ )
269
+ .to.be.revertedWithCustomError(this.token, 'ERC721NonexistentToken')
270
+ .withArgs(nonExistentTokenId);
271
+ });
272
+ });
273
+ });
274
+ };
275
+
276
+ for (const { fnName, opts } of [
277
+ { fnName: 'transferFrom', opts: {} },
278
+ { fnName: '$_transfer', opts: { unrestricted: true } },
279
+ ]) {
280
+ describe(`via ${fnName}`, function () {
281
+ shouldTransferTokensByUsers(fnName, opts);
282
+ });
283
+ }
284
+
285
+ for (const { fnName, opts } of [
286
+ { fnName: 'safeTransferFrom', opts: {} },
287
+ { fnName: '$_safeTransfer', opts: { unrestricted: true } },
288
+ ]) {
289
+ describe(`via ${fnName}`, function () {
290
+ describe('with data', function () {
291
+ shouldTransferSafely(fnName, data, { ...opts, extra: [ethers.Typed.bytes(data)] });
292
+ });
293
+
294
+ describe('without data', function () {
295
+ shouldTransferSafely(fnName, '0x', opts);
296
+ });
297
+
298
+ describe('to a receiver contract returning unexpected value', function () {
299
+ it('reverts', async function () {
300
+ const invalidReceiver = await ethers.deployContract('ERC721ReceiverMock', [
301
+ '0xdeadbeef',
302
+ RevertType.None,
303
+ ]);
304
+
305
+ await expect(this.token.connect(this.owner)[fnName](this.owner, invalidReceiver, tokenId))
306
+ .to.be.revertedWithCustomError(this.token, 'ERC721InvalidReceiver')
307
+ .withArgs(invalidReceiver);
308
+ });
309
+ });
310
+
311
+ describe('to a receiver contract that reverts with message', function () {
312
+ it('reverts', async function () {
313
+ const revertingReceiver = await ethers.deployContract('ERC721ReceiverMock', [
314
+ RECEIVER_MAGIC_VALUE,
315
+ RevertType.RevertWithMessage,
316
+ ]);
317
+
318
+ await expect(
319
+ this.token.connect(this.owner)[fnName](this.owner, revertingReceiver, tokenId),
320
+ ).to.be.revertedWith('ERC721ReceiverMock: reverting');
321
+ });
322
+ });
323
+
324
+ describe('to a receiver contract that reverts without message', function () {
325
+ it('reverts', async function () {
326
+ const revertingReceiver = await ethers.deployContract('ERC721ReceiverMock', [
327
+ RECEIVER_MAGIC_VALUE,
328
+ RevertType.RevertWithoutMessage,
329
+ ]);
330
+
331
+ await expect(this.token.connect(this.owner)[fnName](this.owner, revertingReceiver, tokenId))
332
+ .to.be.revertedWithCustomError(this.token, 'ERC721InvalidReceiver')
333
+ .withArgs(revertingReceiver);
334
+ });
335
+ });
336
+
337
+ describe('to a receiver contract that reverts with custom error', function () {
338
+ it('reverts', async function () {
339
+ const revertingReceiver = await ethers.deployContract('ERC721ReceiverMock', [
340
+ RECEIVER_MAGIC_VALUE,
341
+ RevertType.RevertWithCustomError,
342
+ ]);
343
+
344
+ await expect(this.token.connect(this.owner)[fnName](this.owner, revertingReceiver, tokenId))
345
+ .to.be.revertedWithCustomError(revertingReceiver, 'CustomError')
346
+ .withArgs(RECEIVER_MAGIC_VALUE);
347
+ });
348
+ });
349
+
350
+ describe('to a receiver contract that panics', function () {
351
+ it('reverts', async function () {
352
+ const revertingReceiver = await ethers.deployContract('ERC721ReceiverMock', [
353
+ RECEIVER_MAGIC_VALUE,
354
+ RevertType.Panic,
355
+ ]);
356
+
357
+ await expect(
358
+ this.token.connect(this.owner)[fnName](this.owner, revertingReceiver, tokenId),
359
+ ).to.be.revertedWithPanic(PANIC_CODES.DIVISION_BY_ZERO);
360
+ });
361
+ });
362
+
363
+ describe('to a contract that does not implement the required function', function () {
364
+ it('reverts', async function () {
365
+ const nonReceiver = await ethers.deployContract('CallReceiverMock');
366
+
367
+ await expect(this.token.connect(this.owner)[fnName](this.owner, nonReceiver, tokenId))
368
+ .to.be.revertedWithCustomError(this.token, 'ERC721InvalidReceiver')
369
+ .withArgs(nonReceiver);
370
+ });
371
+ });
372
+ });
373
+ }
374
+ });
375
+
376
+ describe('safe mint', function () {
377
+ const tokenId = fourthTokenId;
378
+ const data = '0x42';
379
+
380
+ describe('via safeMint', function () {
381
+ // regular minting is tested in ERC721Mintable.test.js and others
382
+ it('calls onERC721Received — with data', async function () {
383
+ const receiver = await ethers.deployContract('ERC721ReceiverMock', [RECEIVER_MAGIC_VALUE, RevertType.None]);
384
+
385
+ await expect(await this.token.$_safeMint(receiver, tokenId, ethers.Typed.bytes(data)))
386
+ .to.emit(receiver, 'Received')
387
+ .withArgs(anyValue, ethers.ZeroAddress, tokenId, data, anyValue);
388
+ });
389
+
390
+ it('calls onERC721Received — without data', async function () {
391
+ const receiver = await ethers.deployContract('ERC721ReceiverMock', [RECEIVER_MAGIC_VALUE, RevertType.None]);
392
+
393
+ await expect(await this.token.$_safeMint(receiver, tokenId))
394
+ .to.emit(receiver, 'Received')
395
+ .withArgs(anyValue, ethers.ZeroAddress, tokenId, '0x', anyValue);
396
+ });
397
+
398
+ describe('to a receiver contract returning unexpected value', function () {
399
+ it('reverts', async function () {
400
+ const invalidReceiver = await ethers.deployContract('ERC721ReceiverMock', ['0xdeadbeef', RevertType.None]);
401
+
402
+ await expect(this.token.$_safeMint(invalidReceiver, tokenId))
403
+ .to.be.revertedWithCustomError(this.token, 'ERC721InvalidReceiver')
404
+ .withArgs(invalidReceiver);
405
+ });
406
+ });
407
+
408
+ describe('to a receiver contract that reverts with message', function () {
409
+ it('reverts', async function () {
410
+ const revertingReceiver = await ethers.deployContract('ERC721ReceiverMock', [
411
+ RECEIVER_MAGIC_VALUE,
412
+ RevertType.RevertWithMessage,
413
+ ]);
414
+
415
+ await expect(this.token.$_safeMint(revertingReceiver, tokenId)).to.be.revertedWith(
416
+ 'ERC721ReceiverMock: reverting',
417
+ );
418
+ });
419
+ });
420
+
421
+ describe('to a receiver contract that reverts without message', function () {
422
+ it('reverts', async function () {
423
+ const revertingReceiver = await ethers.deployContract('ERC721ReceiverMock', [
424
+ RECEIVER_MAGIC_VALUE,
425
+ RevertType.RevertWithoutMessage,
426
+ ]);
427
+
428
+ await expect(this.token.$_safeMint(revertingReceiver, tokenId))
429
+ .to.be.revertedWithCustomError(this.token, 'ERC721InvalidReceiver')
430
+ .withArgs(revertingReceiver);
431
+ });
432
+ });
433
+
434
+ describe('to a receiver contract that reverts with custom error', function () {
435
+ it('reverts', async function () {
436
+ const revertingReceiver = await ethers.deployContract('ERC721ReceiverMock', [
437
+ RECEIVER_MAGIC_VALUE,
438
+ RevertType.RevertWithCustomError,
439
+ ]);
440
+
441
+ await expect(this.token.$_safeMint(revertingReceiver, tokenId))
442
+ .to.be.revertedWithCustomError(revertingReceiver, 'CustomError')
443
+ .withArgs(RECEIVER_MAGIC_VALUE);
444
+ });
445
+ });
446
+
447
+ describe('to a receiver contract that panics', function () {
448
+ it('reverts', async function () {
449
+ const revertingReceiver = await ethers.deployContract('ERC721ReceiverMock', [
450
+ RECEIVER_MAGIC_VALUE,
451
+ RevertType.Panic,
452
+ ]);
453
+
454
+ await expect(this.token.$_safeMint(revertingReceiver, tokenId)).to.be.revertedWithPanic(
455
+ PANIC_CODES.DIVISION_BY_ZERO,
456
+ );
457
+ });
458
+ });
459
+
460
+ describe('to a contract that does not implement the required function', function () {
461
+ it('reverts', async function () {
462
+ const nonReceiver = await ethers.deployContract('CallReceiverMock');
463
+
464
+ await expect(this.token.$_safeMint(nonReceiver, tokenId))
465
+ .to.be.revertedWithCustomError(this.token, 'ERC721InvalidReceiver')
466
+ .withArgs(nonReceiver);
467
+ });
468
+ });
469
+ });
470
+ });
471
+
472
+ describe('approve', function () {
473
+ const tokenId = firstTokenId;
474
+
475
+ const itClearsApproval = function () {
476
+ it('clears approval for the token', async function () {
477
+ expect(await this.token.getApproved(tokenId)).to.equal(ethers.ZeroAddress);
478
+ });
479
+ };
480
+
481
+ const itApproves = function () {
482
+ it('sets the approval for the target address', async function () {
483
+ expect(await this.token.getApproved(tokenId)).to.equal(this.approved ?? this.approved);
484
+ });
485
+ };
486
+
487
+ const itEmitsApprovalEvent = function () {
488
+ it('emits an approval event', async function () {
489
+ await expect(this.tx)
490
+ .to.emit(this.token, 'Approval')
491
+ .withArgs(this.owner, this.approved ?? this.approved, tokenId);
492
+ });
493
+ };
494
+
495
+ describe('when clearing approval', function () {
496
+ describe('when there was no prior approval', function () {
497
+ beforeEach(async function () {
498
+ this.approved = ethers.ZeroAddress;
499
+ this.tx = await this.token.connect(this.owner).approve(this.approved, tokenId);
500
+ });
501
+
502
+ itClearsApproval();
503
+ itEmitsApprovalEvent();
504
+ });
505
+
506
+ describe('when there was a prior approval', function () {
507
+ beforeEach(async function () {
508
+ await this.token.connect(this.owner).approve(this.other, tokenId);
509
+ this.approved = ethers.ZeroAddress;
510
+ this.tx = await this.token.connect(this.owner).approve(this.approved, tokenId);
511
+ });
512
+
513
+ itClearsApproval();
514
+ itEmitsApprovalEvent();
515
+ });
516
+ });
517
+
518
+ describe('when approving a non-zero address', function () {
519
+ describe('when there was no prior approval', function () {
520
+ beforeEach(async function () {
521
+ this.tx = await this.token.connect(this.owner).approve(this.approved, tokenId);
522
+ });
523
+
524
+ itApproves();
525
+ itEmitsApprovalEvent();
526
+ });
527
+
528
+ describe('when there was a prior approval to the same address', function () {
529
+ beforeEach(async function () {
530
+ await this.token.connect(this.owner).approve(this.approved, tokenId);
531
+ this.tx = await this.token.connect(this.owner).approve(this.approved, tokenId);
532
+ });
533
+
534
+ itApproves();
535
+ itEmitsApprovalEvent();
536
+ });
537
+
538
+ describe('when there was a prior approval to a different address', function () {
539
+ beforeEach(async function () {
540
+ await this.token.connect(this.owner).approve(this.other, tokenId);
541
+ this.tx = await this.token.connect(this.owner).approve(this.approved, tokenId);
542
+ });
543
+
544
+ itApproves();
545
+ itEmitsApprovalEvent();
546
+ });
547
+ });
548
+
549
+ describe('when the sender does not own the given token ID', function () {
550
+ it('reverts', async function () {
551
+ await expect(this.token.connect(this.other).approve(this.approved, tokenId))
552
+ .to.be.revertedWithCustomError(this.token, 'ERC721InvalidApprover')
553
+ .withArgs(this.other);
554
+ });
555
+ });
556
+
557
+ describe('when the sender is approved for the given token ID', function () {
558
+ it('reverts', async function () {
559
+ await this.token.connect(this.owner).approve(this.approved, tokenId);
560
+
561
+ await expect(this.token.connect(this.approved).approve(this.other, tokenId))
562
+ .to.be.revertedWithCustomError(this.token, 'ERC721InvalidApprover')
563
+ .withArgs(this.approved);
564
+ });
565
+ });
566
+
567
+ describe('when the sender is an operator', function () {
568
+ beforeEach(async function () {
569
+ await this.token.connect(this.owner).setApprovalForAll(this.operator, true);
570
+
571
+ this.tx = await this.token.connect(this.operator).approve(this.approved, tokenId);
572
+ });
573
+
574
+ itApproves();
575
+ itEmitsApprovalEvent();
576
+ });
577
+
578
+ describe('when the given token ID does not exist', function () {
579
+ it('reverts', async function () {
580
+ await expect(this.token.connect(this.operator).approve(this.approved, nonExistentTokenId))
581
+ .to.be.revertedWithCustomError(this.token, 'ERC721NonexistentToken')
582
+ .withArgs(nonExistentTokenId);
583
+ });
584
+ });
585
+ });
586
+
587
+ describe('setApprovalForAll', function () {
588
+ describe('when the operator willing to approve is not the owner', function () {
589
+ describe('when there is no operator approval set by the sender', function () {
590
+ it('approves the operator', async function () {
591
+ await this.token.connect(this.owner).setApprovalForAll(this.operator, true);
592
+
593
+ expect(await this.token.isApprovedForAll(this.owner, this.operator)).to.be.true;
594
+ });
595
+
596
+ it('emits an approval event', async function () {
597
+ await expect(this.token.connect(this.owner).setApprovalForAll(this.operator, true))
598
+ .to.emit(this.token, 'ApprovalForAll')
599
+ .withArgs(this.owner, this.operator, true);
600
+ });
601
+ });
602
+
603
+ describe('when the operator was set as not approved', function () {
604
+ beforeEach(async function () {
605
+ await this.token.connect(this.owner).setApprovalForAll(this.operator, false);
606
+ });
607
+
608
+ it('approves the operator', async function () {
609
+ await this.token.connect(this.owner).setApprovalForAll(this.operator, true);
610
+
611
+ expect(await this.token.isApprovedForAll(this.owner, this.operator)).to.be.true;
612
+ });
613
+
614
+ it('emits an approval event', async function () {
615
+ await expect(this.token.connect(this.owner).setApprovalForAll(this.operator, true))
616
+ .to.emit(this.token, 'ApprovalForAll')
617
+ .withArgs(this.owner, this.operator, true);
618
+ });
619
+
620
+ it('can unset the operator approval', async function () {
621
+ await this.token.connect(this.owner).setApprovalForAll(this.operator, false);
622
+
623
+ expect(await this.token.isApprovedForAll(this.owner, this.operator)).to.be.false;
624
+ });
625
+ });
626
+
627
+ describe('when the operator was already approved', function () {
628
+ beforeEach(async function () {
629
+ await this.token.connect(this.owner).setApprovalForAll(this.operator, true);
630
+ });
631
+
632
+ it('keeps the approval to the given address', async function () {
633
+ await this.token.connect(this.owner).setApprovalForAll(this.operator, true);
634
+
635
+ expect(await this.token.isApprovedForAll(this.owner, this.operator)).to.be.true;
636
+ });
637
+
638
+ it('emits an approval event', async function () {
639
+ await expect(this.token.connect(this.owner).setApprovalForAll(this.operator, true))
640
+ .to.emit(this.token, 'ApprovalForAll')
641
+ .withArgs(this.owner, this.operator, true);
642
+ });
643
+ });
644
+ });
645
+
646
+ describe('when the operator is address zero', function () {
647
+ it('reverts', async function () {
648
+ await expect(this.token.connect(this.owner).setApprovalForAll(ethers.ZeroAddress, true))
649
+ .to.be.revertedWithCustomError(this.token, 'ERC721InvalidOperator')
650
+ .withArgs(ethers.ZeroAddress);
651
+ });
652
+ });
653
+ });
654
+
655
+ describe('getApproved', function () {
656
+ describe('when token is not minted', function () {
657
+ it('reverts', async function () {
658
+ await expect(this.token.getApproved(nonExistentTokenId))
659
+ .to.be.revertedWithCustomError(this.token, 'ERC721NonexistentToken')
660
+ .withArgs(nonExistentTokenId);
661
+ });
662
+ });
663
+
664
+ describe('when token has been minted ', function () {
665
+ it('should return the zero address', async function () {
666
+ expect(await this.token.getApproved(firstTokenId)).to.equal(ethers.ZeroAddress);
667
+ });
668
+
669
+ describe('when account has been approved', function () {
670
+ beforeEach(async function () {
671
+ await this.token.connect(this.owner).approve(this.approved, firstTokenId);
672
+ });
673
+
674
+ it('returns approved account', async function () {
675
+ expect(await this.token.getApproved(firstTokenId)).to.equal(this.approved);
676
+ });
677
+ });
678
+ });
679
+ });
680
+ });
681
+
682
+ describe('_mint(address, uint256)', function () {
683
+ it('reverts with a null destination address', async function () {
684
+ await expect(this.token.$_mint(ethers.ZeroAddress, firstTokenId))
685
+ .to.be.revertedWithCustomError(this.token, 'ERC721InvalidReceiver')
686
+ .withArgs(ethers.ZeroAddress);
687
+ });
688
+
689
+ describe('with minted token', function () {
690
+ beforeEach(async function () {
691
+ this.tx = await this.token.$_mint(this.owner, firstTokenId);
692
+ });
693
+
694
+ it('emits a Transfer event', async function () {
695
+ await expect(this.tx).to.emit(this.token, 'Transfer').withArgs(ethers.ZeroAddress, this.owner, firstTokenId);
696
+ });
697
+
698
+ it('creates the token', async function () {
699
+ expect(await this.token.balanceOf(this.owner)).to.equal(1n);
700
+ expect(await this.token.ownerOf(firstTokenId)).to.equal(this.owner);
701
+ });
702
+
703
+ it('reverts when adding a token id that already exists', async function () {
704
+ await expect(this.token.$_mint(this.owner, firstTokenId))
705
+ .to.be.revertedWithCustomError(this.token, 'ERC721InvalidSender')
706
+ .withArgs(ethers.ZeroAddress);
707
+ });
708
+ });
709
+ });
710
+
711
+ describe('_burn', function () {
712
+ it('reverts when burning a non-existent token id', async function () {
713
+ await expect(this.token.$_burn(nonExistentTokenId))
714
+ .to.be.revertedWithCustomError(this.token, 'ERC721NonexistentToken')
715
+ .withArgs(nonExistentTokenId);
716
+ });
717
+
718
+ describe('with minted tokens', function () {
719
+ beforeEach(async function () {
720
+ await this.token.$_mint(this.owner, firstTokenId);
721
+ await this.token.$_mint(this.owner, secondTokenId);
722
+ });
723
+
724
+ describe('with burnt token', function () {
725
+ beforeEach(async function () {
726
+ this.tx = await this.token.$_burn(firstTokenId);
727
+ });
728
+
729
+ it('emits a Transfer event', async function () {
730
+ await expect(this.tx).to.emit(this.token, 'Transfer').withArgs(this.owner, ethers.ZeroAddress, firstTokenId);
731
+ });
732
+
733
+ it('deletes the token', async function () {
734
+ expect(await this.token.balanceOf(this.owner)).to.equal(1n);
735
+ await expect(this.token.ownerOf(firstTokenId))
736
+ .to.be.revertedWithCustomError(this.token, 'ERC721NonexistentToken')
737
+ .withArgs(firstTokenId);
738
+ });
739
+
740
+ it('reverts when burning a token id that has been deleted', async function () {
741
+ await expect(this.token.$_burn(firstTokenId))
742
+ .to.be.revertedWithCustomError(this.token, 'ERC721NonexistentToken')
743
+ .withArgs(firstTokenId);
744
+ });
745
+ });
746
+ });
747
+ });
748
+ }
749
+
750
+ function shouldBehaveLikeERC721Enumerable() {
751
+ beforeEach(async function () {
752
+ const [owner, newOwner, approved, operator, other] = this.accounts;
753
+ Object.assign(this, { owner, newOwner, approved, operator, other });
754
+ });
755
+
756
+ shouldSupportInterfaces(['ERC721Enumerable']);
757
+
758
+ describe('with minted tokens', function () {
759
+ beforeEach(async function () {
760
+ await this.token.$_mint(this.owner, firstTokenId);
761
+ await this.token.$_mint(this.owner, secondTokenId);
762
+ this.to = this.other;
763
+ });
764
+
765
+ describe('totalSupply', function () {
766
+ it('returns total token supply', async function () {
767
+ expect(await this.token.totalSupply()).to.equal(2n);
768
+ });
769
+ });
770
+
771
+ describe('tokenOfOwnerByIndex', function () {
772
+ describe('when the given index is lower than the amount of tokens owned by the given address', function () {
773
+ it('returns the token ID placed at the given index', async function () {
774
+ expect(await this.token.tokenOfOwnerByIndex(this.owner, 0n)).to.equal(firstTokenId);
775
+ });
776
+ });
777
+
778
+ describe('when the index is greater than or equal to the total tokens owned by the given address', function () {
779
+ it('reverts', async function () {
780
+ await expect(this.token.tokenOfOwnerByIndex(this.owner, 2n))
781
+ .to.be.revertedWithCustomError(this.token, 'ERC721OutOfBoundsIndex')
782
+ .withArgs(this.owner, 2n);
783
+ });
784
+ });
785
+
786
+ describe('when the given address does not own any token', function () {
787
+ it('reverts', async function () {
788
+ await expect(this.token.tokenOfOwnerByIndex(this.other, 0n))
789
+ .to.be.revertedWithCustomError(this.token, 'ERC721OutOfBoundsIndex')
790
+ .withArgs(this.other, 0n);
791
+ });
792
+ });
793
+
794
+ describe('after transferring all tokens to another user', function () {
795
+ beforeEach(async function () {
796
+ await this.token.connect(this.owner).transferFrom(this.owner, this.other, firstTokenId);
797
+ await this.token.connect(this.owner).transferFrom(this.owner, this.other, secondTokenId);
798
+ });
799
+
800
+ it('returns correct token IDs for target', async function () {
801
+ expect(await this.token.balanceOf(this.other)).to.equal(2n);
802
+
803
+ expect(await Promise.all([0n, 1n].map(i => this.token.tokenOfOwnerByIndex(this.other, i)))).to.have.members([
804
+ firstTokenId,
805
+ secondTokenId,
806
+ ]);
807
+ });
808
+
809
+ it('returns empty collection for original owner', async function () {
810
+ expect(await this.token.balanceOf(this.owner)).to.equal(0n);
811
+ await expect(this.token.tokenOfOwnerByIndex(this.owner, 0n))
812
+ .to.be.revertedWithCustomError(this.token, 'ERC721OutOfBoundsIndex')
813
+ .withArgs(this.owner, 0n);
814
+ });
815
+ });
816
+ });
817
+
818
+ describe('tokenByIndex', function () {
819
+ it('returns all tokens', async function () {
820
+ expect(await Promise.all([0n, 1n].map(i => this.token.tokenByIndex(i)))).to.have.members([
821
+ firstTokenId,
822
+ secondTokenId,
823
+ ]);
824
+ });
825
+
826
+ it('reverts if index is greater than supply', async function () {
827
+ await expect(this.token.tokenByIndex(2n))
828
+ .to.be.revertedWithCustomError(this.token, 'ERC721OutOfBoundsIndex')
829
+ .withArgs(ethers.ZeroAddress, 2n);
830
+ });
831
+
832
+ for (const tokenId of [firstTokenId, secondTokenId]) {
833
+ it(`returns all tokens after burning token ${tokenId} and minting new tokens`, async function () {
834
+ const newTokenId = 300n;
835
+ const anotherNewTokenId = 400n;
836
+
837
+ await this.token.$_burn(tokenId);
838
+ await this.token.$_mint(this.newOwner, newTokenId);
839
+ await this.token.$_mint(this.newOwner, anotherNewTokenId);
840
+
841
+ expect(await this.token.totalSupply()).to.equal(3n);
842
+
843
+ expect(await Promise.all([0n, 1n, 2n].map(i => this.token.tokenByIndex(i))))
844
+ .to.have.members([firstTokenId, secondTokenId, newTokenId, anotherNewTokenId].filter(x => x !== tokenId))
845
+ .to.not.include(tokenId);
846
+ });
847
+ }
848
+ });
849
+ });
850
+
851
+ describe('_mint(address, uint256)', function () {
852
+ it('reverts with a null destination address', async function () {
853
+ await expect(this.token.$_mint(ethers.ZeroAddress, firstTokenId))
854
+ .to.be.revertedWithCustomError(this.token, 'ERC721InvalidReceiver')
855
+ .withArgs(ethers.ZeroAddress);
856
+ });
857
+
858
+ describe('with minted token', function () {
859
+ beforeEach(async function () {
860
+ await this.token.$_mint(this.owner, firstTokenId);
861
+ });
862
+
863
+ it('adjusts owner tokens by index', async function () {
864
+ expect(await this.token.tokenOfOwnerByIndex(this.owner, 0n)).to.equal(firstTokenId);
865
+ });
866
+
867
+ it('adjusts all tokens list', async function () {
868
+ expect(await this.token.tokenByIndex(0n)).to.equal(firstTokenId);
869
+ });
870
+ });
871
+ });
872
+
873
+ describe('_burn', function () {
874
+ it('reverts when burning a non-existent token id', async function () {
875
+ await expect(this.token.$_burn(firstTokenId))
876
+ .to.be.revertedWithCustomError(this.token, 'ERC721NonexistentToken')
877
+ .withArgs(firstTokenId);
878
+ });
879
+
880
+ describe('with minted tokens', function () {
881
+ beforeEach(async function () {
882
+ await this.token.$_mint(this.owner, firstTokenId);
883
+ await this.token.$_mint(this.owner, secondTokenId);
884
+ });
885
+
886
+ describe('with burnt token', function () {
887
+ beforeEach(async function () {
888
+ await this.token.$_burn(firstTokenId);
889
+ });
890
+
891
+ it('removes that token from the token list of the owner', async function () {
892
+ expect(await this.token.tokenOfOwnerByIndex(this.owner, 0n)).to.equal(secondTokenId);
893
+ });
894
+
895
+ it('adjusts all tokens list', async function () {
896
+ expect(await this.token.tokenByIndex(0n)).to.equal(secondTokenId);
897
+ });
898
+
899
+ it('burns all tokens', async function () {
900
+ await this.token.$_burn(secondTokenId);
901
+ expect(await this.token.totalSupply()).to.equal(0n);
902
+
903
+ await expect(this.token.tokenByIndex(0n))
904
+ .to.be.revertedWithCustomError(this.token, 'ERC721OutOfBoundsIndex')
905
+ .withArgs(ethers.ZeroAddress, 0n);
906
+ });
907
+ });
908
+ });
909
+ });
910
+ }
911
+
912
+ function shouldBehaveLikeERC721Metadata(name, symbol) {
913
+ shouldSupportInterfaces(['ERC721Metadata']);
914
+
915
+ describe('metadata', function () {
916
+ it('has a name', async function () {
917
+ expect(await this.token.name()).to.equal(name);
918
+ });
919
+
920
+ it('has a symbol', async function () {
921
+ expect(await this.token.symbol()).to.equal(symbol);
922
+ });
923
+
924
+ describe('token URI', function () {
925
+ beforeEach(async function () {
926
+ await this.token.$_mint(this.owner, firstTokenId);
927
+ });
928
+
929
+ it('return empty string by default', async function () {
930
+ expect(await this.token.tokenURI(firstTokenId)).to.equal('');
931
+ });
932
+
933
+ it('reverts when queried for non existent token id', async function () {
934
+ await expect(this.token.tokenURI(nonExistentTokenId))
935
+ .to.be.revertedWithCustomError(this.token, 'ERC721NonexistentToken')
936
+ .withArgs(nonExistentTokenId);
937
+ });
938
+ });
939
+ });
940
+ }
941
+
942
+ module.exports = {
943
+ shouldBehaveLikeERC721,
944
+ shouldBehaveLikeERC721Enumerable,
945
+ shouldBehaveLikeERC721Metadata,
946
+ };