polkamarkets-js 3.1.11 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3306) hide show
  1. package/.gitmodules +18 -0
  2. package/README.md +356 -53
  3. package/abis/AccessControl.json +1 -0
  4. package/abis/AddAdminToLand.json +1 -0
  5. package/abis/Address.json +1 -0
  6. package/abis/BalanceHolder_ERC20.json +1 -0
  7. package/abis/CeilDiv.json +1 -0
  8. package/abis/CeilDivBad.json +1 -0
  9. package/abis/CeilDivGood.json +1 -0
  10. package/abis/ClaimMerkleRoot.json +1 -0
  11. package/abis/Clones.json +1 -0
  12. package/abis/CommonBase.json +1 -0
  13. package/abis/Context.json +1 -0
  14. package/abis/ContextUpgradeable.json +1 -0
  15. package/abis/Create2.json +1 -0
  16. package/abis/CreateLand.json +1 -0
  17. package/abis/CreateMarketLib.json +1 -0
  18. package/abis/CreateMarkets.json +1 -0
  19. package/abis/DeployContracts.json +1 -0
  20. package/abis/DeployMerkleRewardsDistributor.json +1 -0
  21. package/abis/DeployProxy.json +1 -0
  22. package/abis/DeployToken.json +1 -0
  23. package/abis/DeployUSDT.json +1 -0
  24. package/abis/DeployUpgradeablePM.json +1 -0
  25. package/abis/ERC165.json +1 -0
  26. package/abis/ERC1967Proxy.json +1 -0
  27. package/abis/ERC1967Utils.json +1 -0
  28. package/abis/ERC20.json +1 -0
  29. package/abis/ERC20Burnable.json +1 -0
  30. package/abis/ERC20MinterPauser.json +1 -0
  31. package/abis/ERC20Pausable.json +1 -0
  32. package/abis/Errors.json +1 -0
  33. package/abis/FantasyERC20.json +1 -0
  34. package/abis/IAccessControl.json +1 -0
  35. package/abis/IBalanceHolder_ERC20.json +1 -0
  36. package/abis/IBeacon.json +1 -0
  37. package/abis/IERC1155Errors.json +1 -0
  38. package/abis/IERC1363.json +1 -0
  39. package/abis/IERC165.json +1 -0
  40. package/abis/IERC1822Proxiable.json +1 -0
  41. package/abis/IERC1967.json +1 -0
  42. package/abis/IERC20.json +1 -0
  43. package/abis/IERC20Errors.json +1 -0
  44. package/abis/IERC20Metadata.json +1 -0
  45. package/abis/IERC721.json +1 -0
  46. package/abis/IERC721Enumerable.json +1 -0
  47. package/abis/IERC721Errors.json +1 -0
  48. package/abis/IERC721Metadata.json +1 -0
  49. package/abis/IERC721TokenReceiver.json +1 -0
  50. package/abis/IFantasyERC20.json +1 -0
  51. package/abis/IMulticall3.json +1 -0
  52. package/abis/IPredictionMarketV3Factory.json +1 -0
  53. package/abis/IPredictionMarketV3Manager.json +1 -0
  54. package/abis/IPredictionMarketV3_2.json +1 -0
  55. package/abis/IPredictionMarketV3_4.json +1 -0
  56. package/abis/IRealityETH_ERC20.json +1 -0
  57. package/abis/IRealityETH_IERC20.json +1 -0
  58. package/abis/IWETH.json +1 -0
  59. package/abis/Initializable.json +1 -0
  60. package/abis/LandFactory.json +1 -0
  61. package/abis/MintTokens.json +1 -0
  62. package/abis/MockERC20.json +1 -0
  63. package/abis/MockERC721.json +1 -0
  64. package/abis/Ownable.json +1 -0
  65. package/abis/Ownable2StepUpgradeable.json +1 -0
  66. package/abis/OwnableUpgradeable.json +1 -0
  67. package/abis/Pausable.json +1 -0
  68. package/abis/PredictionMarketManagerTest.json +1 -0
  69. package/abis/PredictionMarketTest.json +1 -0
  70. package/abis/PredictionMarketV33Flow.json +1 -0
  71. package/abis/PredictionMarketV3Controller.json +1 -0
  72. package/abis/PredictionMarketV3Factory.json +1 -0
  73. package/abis/PredictionMarketV3Manager.json +1 -0
  74. package/abis/PredictionMarketV3Querier.json +1 -0
  75. package/abis/PredictionMarketV3_2.json +1 -0
  76. package/abis/PredictionMarketV3_4.json +1 -0
  77. package/abis/PredictionMarketV3_4Bad.json +1 -0
  78. package/abis/PredictionMarketV3_4Good.json +1 -0
  79. package/abis/Proxy.json +1 -0
  80. package/abis/PublishMerkleRoot.json +1 -0
  81. package/abis/RealityETH_ERC20_Factory.json +1 -0
  82. package/abis/RealityETH_ERC20_v3_0.json +1 -0
  83. package/abis/ReentrancyGuard.json +1 -0
  84. package/abis/ReentrancyGuardUpgradeable.json +1 -0
  85. package/abis/ResolveMarket.json +1 -0
  86. package/abis/SafeERC20.json +1 -0
  87. package/abis/Script.json +1 -0
  88. package/abis/ScriptBase.json +1 -0
  89. package/abis/StdAssertions.json +1 -0
  90. package/abis/StdChains.json +1 -0
  91. package/abis/StdCheats.json +1 -0
  92. package/abis/StdCheatsSafe.json +1 -0
  93. package/abis/StdInvariant.json +1 -0
  94. package/abis/StdStyle.json +1 -0
  95. package/abis/StdUtils.json +1 -0
  96. package/abis/StorageSlot.json +1 -0
  97. package/abis/TestBase.json +1 -0
  98. package/abis/TradeMarket.json +1 -0
  99. package/abis/USDT.json +1 -0
  100. package/abis/UUPSUpgradeable.json +1 -0
  101. package/abis/Vm.json +1 -0
  102. package/abis/VmSafe.json +1 -0
  103. package/abis/Voting.json +1 -0
  104. package/abis/WETH.json +1 -0
  105. package/abis/console.json +1 -0
  106. package/abis/safeconsole.json +1 -0
  107. package/abis/stdError.json +1 -0
  108. package/abis/stdJson.json +1 -0
  109. package/abis/stdMath.json +1 -0
  110. package/abis/stdStorage.json +1 -0
  111. package/abis/stdStorageSafe.json +1 -0
  112. package/abis/stdToml.json +1 -0
  113. package/abis/test.json +1 -0
  114. package/contracts/ERC20MinterPauser.sol +100 -0
  115. package/contracts/FantasyERC20.sol +12 -10
  116. package/contracts/IFantasyERC20.sol +1 -1
  117. package/contracts/IPredictionMarketV3Factory.sol +1 -1
  118. package/contracts/IPredictionMarketV3Manager.sol +5 -1
  119. package/contracts/IPredictionMarketV3_4.sol +219 -0
  120. package/contracts/IRealityETH_ERC20.sol +1 -1
  121. package/contracts/IWETH.sol +12 -0
  122. package/contracts/LandFactory.sol +71 -27
  123. package/contracts/PredictionMarketV3Controller.sol +7 -7
  124. package/contracts/PredictionMarketV3Factory.sol +7 -5
  125. package/contracts/PredictionMarketV3Manager.sol +7 -7
  126. package/contracts/PredictionMarketV3Querier.sol +14 -4
  127. package/contracts/PredictionMarketV3_4.sol +1492 -0
  128. package/contracts/Proxy.sol +35 -0
  129. package/contracts/RealityETH_ERC20_Factory.sol +4 -11
  130. package/contracts/Voting.sol +4 -7
  131. package/contracts/WETH.sol +58 -0
  132. package/foundry.toml +11 -0
  133. package/lib/openzeppelin-contracts/.changeset/all-geese-stand.md +5 -0
  134. package/lib/openzeppelin-contracts/.changeset/clean-ways-push.md +5 -0
  135. package/lib/openzeppelin-contracts/.changeset/config.json +12 -0
  136. package/lib/openzeppelin-contracts/.changeset/dull-students-eat.md +5 -0
  137. package/lib/openzeppelin-contracts/.changeset/eight-radios-check.md +5 -0
  138. package/lib/openzeppelin-contracts/.changeset/fine-frogs-bake.md +5 -0
  139. package/lib/openzeppelin-contracts/.changeset/full-ways-help.md +5 -0
  140. package/lib/openzeppelin-contracts/.changeset/funny-years-yawn.md +5 -0
  141. package/lib/openzeppelin-contracts/.changeset/hot-grapes-lie.md +5 -0
  142. package/lib/openzeppelin-contracts/.changeset/lazy-poets-cheer.md +5 -0
  143. package/lib/openzeppelin-contracts/.changeset/long-hornets-mate.md +5 -0
  144. package/lib/openzeppelin-contracts/.changeset/lucky-donuts-scream.md +5 -0
  145. package/lib/openzeppelin-contracts/.changeset/major-feet-write.md +5 -0
  146. package/lib/openzeppelin-contracts/.changeset/new-days-tease.md +5 -0
  147. package/lib/openzeppelin-contracts/.changeset/nice-rings-wish.md +5 -0
  148. package/lib/openzeppelin-contracts/.changeset/pink-dolls-shop.md +5 -0
  149. package/lib/openzeppelin-contracts/.changeset/popular-geese-tan.md +5 -0
  150. package/lib/openzeppelin-contracts/.changeset/proud-tables-sip.md +5 -0
  151. package/lib/openzeppelin-contracts/.changeset/public-crabs-heal.md +5 -0
  152. package/lib/openzeppelin-contracts/.changeset/quiet-kiwis-feel.md +5 -0
  153. package/lib/openzeppelin-contracts/.changeset/rare-shirts-unite.md +5 -0
  154. package/lib/openzeppelin-contracts/.changeset/rich-cows-repair.md +5 -0
  155. package/lib/openzeppelin-contracts/.changeset/ripe-bears-hide.md +5 -0
  156. package/lib/openzeppelin-contracts/.changeset/rotten-apes-lie.md +5 -0
  157. package/lib/openzeppelin-contracts/.changeset/social-walls-obey.md +5 -0
  158. package/lib/openzeppelin-contracts/.changeset/sour-pens-shake.md +5 -0
  159. package/lib/openzeppelin-contracts/.changeset/strong-points-change.md +5 -0
  160. package/lib/openzeppelin-contracts/.changeset/tame-bears-mix.md +5 -0
  161. package/lib/openzeppelin-contracts/.changeset/violet-turtles-like.md +5 -0
  162. package/lib/openzeppelin-contracts/.changeset/wet-dodos-reply.md +5 -0
  163. package/lib/openzeppelin-contracts/.changeset/whole-plums-speak.md +5 -0
  164. package/lib/openzeppelin-contracts/.changeset/wild-baths-buy.md +5 -0
  165. package/lib/openzeppelin-contracts/.codecov.yml +4 -0
  166. package/lib/openzeppelin-contracts/.github/CODEOWNERS +10 -0
  167. package/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/bug_report.md +1 -1
  168. package/lib/openzeppelin-contracts/.github/PULL_REQUEST_TEMPLATE.md +1 -1
  169. package/lib/openzeppelin-contracts/.github/actions/gas-compare/action.yml +7 -5
  170. package/lib/openzeppelin-contracts/.github/actions/setup/action.yml +9 -7
  171. package/lib/openzeppelin-contracts/.github/actions/storage-layout/action.yml +57 -0
  172. package/lib/openzeppelin-contracts/.github/workflows/actionlint.yml +18 -0
  173. package/lib/openzeppelin-contracts/.github/workflows/changeset.yml +28 -0
  174. package/lib/openzeppelin-contracts/.github/workflows/checks.yml +67 -25
  175. package/lib/openzeppelin-contracts/.github/workflows/docs.yml +1 -1
  176. package/lib/openzeppelin-contracts/.github/workflows/formal-verification.yml +86 -0
  177. package/lib/openzeppelin-contracts/.github/workflows/release-cycle.yml +214 -0
  178. package/lib/openzeppelin-contracts/.github/workflows/upgradeable.yml +23 -12
  179. package/lib/openzeppelin-contracts/.gitmodules +7 -0
  180. package/lib/openzeppelin-contracts/.husky/pre-commit +2 -0
  181. package/lib/openzeppelin-contracts/.prettierrc +5 -4
  182. package/lib/openzeppelin-contracts/.solcover.js +19 -13
  183. package/lib/openzeppelin-contracts/CHANGELOG.md +918 -325
  184. package/lib/openzeppelin-contracts/CODE_OF_CONDUCT.md +2 -2
  185. package/lib/openzeppelin-contracts/CONTRIBUTING.md +19 -47
  186. package/lib/openzeppelin-contracts/FUNDING.json +10 -0
  187. package/lib/openzeppelin-contracts/GUIDELINES.md +115 -65
  188. package/lib/openzeppelin-contracts/LICENSE +1 -1
  189. package/lib/openzeppelin-contracts/README.md +40 -16
  190. package/lib/openzeppelin-contracts/RELEASING.md +32 -23
  191. package/lib/openzeppelin-contracts/SECURITY.md +34 -11
  192. package/lib/openzeppelin-contracts/audits/2017-03.md +292 -0
  193. package/lib/openzeppelin-contracts/audits/2018-10.pdf +0 -0
  194. package/lib/openzeppelin-contracts/audits/2022-10-Checkpoints.pdf +0 -0
  195. package/lib/openzeppelin-contracts/audits/2022-10-ERC4626.pdf +0 -0
  196. package/lib/openzeppelin-contracts/audits/2023-05-v4.9.pdf +0 -0
  197. package/lib/openzeppelin-contracts/audits/2023-10-v5.0.pdf +0 -0
  198. package/lib/openzeppelin-contracts/audits/2024-10-v5.1.pdf +0 -0
  199. package/lib/openzeppelin-contracts/audits/2024-12-v5.2.pdf +0 -0
  200. package/lib/openzeppelin-contracts/audits/2025-04-v5.3.pdf +0 -0
  201. package/lib/openzeppelin-contracts/audits/README.md +20 -0
  202. package/lib/openzeppelin-contracts/certora/Makefile +44 -14
  203. package/lib/openzeppelin-contracts/certora/README.md +43 -39
  204. package/lib/openzeppelin-contracts/certora/diff/access_manager_AccessManager.sol.patch +97 -0
  205. package/lib/openzeppelin-contracts/certora/harnesses/AccessControlDefaultAdminRulesHarness.sol +46 -0
  206. package/lib/openzeppelin-contracts/certora/harnesses/AccessControlHarness.sol +6 -0
  207. package/lib/openzeppelin-contracts/certora/harnesses/AccessManagedHarness.sol +36 -0
  208. package/lib/openzeppelin-contracts/certora/harnesses/AccessManagerHarness.sol +116 -0
  209. package/lib/openzeppelin-contracts/certora/harnesses/DoubleEndedQueueHarness.sol +58 -0
  210. package/lib/openzeppelin-contracts/certora/harnesses/ERC20FlashMintHarness.sol +36 -0
  211. package/lib/openzeppelin-contracts/certora/harnesses/ERC20PermitHarness.sol +16 -0
  212. package/lib/openzeppelin-contracts/certora/harnesses/ERC20WrapperHarness.sol +34 -0
  213. package/lib/openzeppelin-contracts/certora/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
  214. package/lib/openzeppelin-contracts/certora/harnesses/ERC721Harness.sol +33 -0
  215. package/lib/openzeppelin-contracts/certora/harnesses/ERC721ReceiverHarness.sol +11 -0
  216. package/lib/openzeppelin-contracts/certora/harnesses/EnumerableMapHarness.sol +55 -0
  217. package/lib/openzeppelin-contracts/certora/harnesses/EnumerableSetHarness.sol +35 -0
  218. package/lib/openzeppelin-contracts/certora/harnesses/InitializableHarness.sol +23 -0
  219. package/lib/openzeppelin-contracts/certora/harnesses/NoncesHarness.sol +14 -0
  220. package/lib/openzeppelin-contracts/certora/harnesses/Ownable2StepHarness.sol +10 -0
  221. package/lib/openzeppelin-contracts/certora/harnesses/OwnableHarness.sol +10 -0
  222. package/lib/openzeppelin-contracts/certora/harnesses/PausableHarness.sol +18 -0
  223. package/lib/openzeppelin-contracts/certora/harnesses/TimelockControllerHarness.sol +13 -0
  224. package/lib/openzeppelin-contracts/certora/reports/2021-10.pdf +0 -0
  225. package/lib/openzeppelin-contracts/certora/reports/2022-03.pdf +0 -0
  226. package/lib/openzeppelin-contracts/certora/reports/2022-05.pdf +0 -0
  227. package/lib/openzeppelin-contracts/certora/run.js +168 -0
  228. package/lib/openzeppelin-contracts/certora/specs/AccessControl.spec +119 -0
  229. package/lib/openzeppelin-contracts/certora/specs/AccessControlDefaultAdminRules.spec +464 -0
  230. package/lib/openzeppelin-contracts/certora/specs/AccessManaged.spec +34 -0
  231. package/lib/openzeppelin-contracts/certora/specs/AccessManager.spec +826 -0
  232. package/lib/openzeppelin-contracts/certora/specs/DoubleEndedQueue.spec +300 -0
  233. package/lib/openzeppelin-contracts/certora/specs/ERC20.spec +352 -0
  234. package/lib/openzeppelin-contracts/certora/specs/ERC20FlashMint.spec +55 -0
  235. package/lib/openzeppelin-contracts/certora/specs/ERC20Wrapper.spec +198 -0
  236. package/lib/openzeppelin-contracts/certora/specs/ERC721.spec +679 -0
  237. package/lib/openzeppelin-contracts/certora/specs/EnumerableMap.spec +333 -0
  238. package/lib/openzeppelin-contracts/certora/specs/EnumerableSet.spec +246 -0
  239. package/lib/openzeppelin-contracts/certora/specs/Initializable.spec +165 -0
  240. package/lib/openzeppelin-contracts/certora/specs/Nonces.spec +92 -0
  241. package/lib/openzeppelin-contracts/certora/specs/Ownable.spec +77 -0
  242. package/lib/openzeppelin-contracts/certora/specs/Ownable2Step.spec +108 -0
  243. package/lib/openzeppelin-contracts/certora/specs/Pausable.spec +96 -0
  244. package/lib/openzeppelin-contracts/certora/specs/TimelockController.spec +274 -0
  245. package/lib/openzeppelin-contracts/certora/specs/helpers/helpers.spec +12 -0
  246. package/lib/openzeppelin-contracts/certora/specs/methods/IAccessControl.spec +8 -0
  247. package/lib/openzeppelin-contracts/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
  248. package/lib/openzeppelin-contracts/certora/specs/methods/IAccessManaged.spec +5 -0
  249. package/lib/openzeppelin-contracts/certora/specs/methods/IAccessManager.spec +33 -0
  250. package/lib/openzeppelin-contracts/certora/specs/methods/IERC20.spec +11 -0
  251. package/lib/openzeppelin-contracts/certora/specs/methods/IERC2612.spec +5 -0
  252. package/lib/openzeppelin-contracts/certora/specs/methods/IERC3156FlashBorrower.spec +3 -0
  253. package/lib/openzeppelin-contracts/certora/specs/methods/IERC3156FlashLender.spec +5 -0
  254. package/lib/openzeppelin-contracts/certora/specs/methods/IERC5313.spec +3 -0
  255. package/lib/openzeppelin-contracts/certora/specs/methods/IERC721.spec +17 -0
  256. package/lib/openzeppelin-contracts/certora/specs/methods/IERC721Receiver.spec +3 -0
  257. package/lib/openzeppelin-contracts/certora/specs/methods/IOwnable.spec +5 -0
  258. package/lib/openzeppelin-contracts/certora/specs/methods/IOwnable2Step.spec +7 -0
  259. package/lib/openzeppelin-contracts/certora/specs.json +110 -0
  260. package/lib/openzeppelin-contracts/contracts/access/AccessControl.sol +41 -81
  261. package/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol +20 -10
  262. package/lib/openzeppelin-contracts/contracts/access/Ownable.sol +29 -12
  263. package/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol +16 -6
  264. package/lib/openzeppelin-contracts/contracts/access/README.adoc +23 -3
  265. package/lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol +372 -0
  266. package/lib/openzeppelin-contracts/contracts/access/extensions/AccessControlEnumerable.sol +81 -0
  267. package/lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol +192 -0
  268. package/lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlEnumerable.sol +31 -0
  269. package/lib/openzeppelin-contracts/contracts/access/manager/AccessManaged.sol +112 -0
  270. package/lib/openzeppelin-contracts/contracts/access/manager/AccessManager.sol +740 -0
  271. package/lib/openzeppelin-contracts/contracts/access/manager/AuthorityUtils.sol +36 -0
  272. package/lib/openzeppelin-contracts/contracts/access/manager/IAccessManaged.sol +32 -0
  273. package/lib/openzeppelin-contracts/contracts/access/manager/IAccessManager.sol +399 -0
  274. package/lib/openzeppelin-contracts/contracts/access/manager/IAuthority.sol +14 -0
  275. package/lib/openzeppelin-contracts/contracts/account/Account.sol +144 -0
  276. package/lib/openzeppelin-contracts/contracts/account/README.adoc +30 -0
  277. package/lib/openzeppelin-contracts/contracts/account/extensions/draft-AccountERC7579.sol +413 -0
  278. package/lib/openzeppelin-contracts/contracts/account/extensions/draft-AccountERC7579Hooked.sol +106 -0
  279. package/lib/openzeppelin-contracts/contracts/account/extensions/draft-ERC7821.sol +69 -0
  280. package/lib/openzeppelin-contracts/contracts/account/utils/EIP7702Utils.sol +20 -0
  281. package/lib/openzeppelin-contracts/contracts/account/utils/draft-ERC4337Utils.sol +159 -0
  282. package/lib/openzeppelin-contracts/contracts/account/utils/draft-ERC7579Utils.sol +280 -0
  283. package/lib/openzeppelin-contracts/contracts/finance/README.adoc +1 -7
  284. package/lib/openzeppelin-contracts/contracts/finance/VestingWallet.sol +42 -32
  285. package/lib/openzeppelin-contracts/contracts/finance/VestingWalletCliff.sol +54 -0
  286. package/lib/openzeppelin-contracts/contracts/governance/Governor.sol +474 -253
  287. package/lib/openzeppelin-contracts/contracts/governance/IGovernor.sol +236 -58
  288. package/lib/openzeppelin-contracts/contracts/governance/README.adoc +37 -16
  289. package/lib/openzeppelin-contracts/contracts/governance/TimelockController.sol +153 -108
  290. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingFractional.sol +190 -0
  291. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingOverridable.sol +222 -0
  292. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol +22 -33
  293. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorNoncesKeyed.sol +90 -0
  294. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorPreventLateQuorum.sol +24 -40
  295. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalGuardian.sol +58 -0
  296. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSequentialProposalId.sol +75 -0
  297. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSettings.sol +19 -27
  298. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorStorage.sol +125 -0
  299. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSuperQuorum.sol +58 -0
  300. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockAccess.sol +346 -0
  301. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockCompound.sol +47 -75
  302. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol +57 -56
  303. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol +43 -11
  304. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +38 -44
  305. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol +134 -0
  306. package/lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol +16 -18
  307. package/lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol +116 -75
  308. package/lib/openzeppelin-contracts/contracts/governance/utils/VotesExtended.sol +84 -0
  309. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1155.sol +3 -3
  310. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1155MetadataURI.sol +3 -3
  311. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1155Receiver.sol +3 -3
  312. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol +5 -7
  313. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol +54 -63
  314. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Receiver.sol +20 -20
  315. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Spender.sol +19 -23
  316. package/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol +3 -3
  317. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Implementer.sol +17 -3
  318. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Registry.sol +109 -3
  319. package/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol +24 -0
  320. package/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol +3 -3
  321. package/lib/openzeppelin-contracts/contracts/interfaces/IERC20Metadata.sol +3 -3
  322. package/lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol +2 -4
  323. package/lib/openzeppelin-contracts/contracts/interfaces/IERC2612.sol +8 -0
  324. package/lib/openzeppelin-contracts/contracts/interfaces/IERC2981.sol +10 -9
  325. package/lib/openzeppelin-contracts/contracts/interfaces/IERC3156.sol +4 -4
  326. package/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol +4 -6
  327. package/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol +4 -6
  328. package/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol +8 -18
  329. package/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol +20 -0
  330. package/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol +28 -0
  331. package/lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol +16 -0
  332. package/lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol +9 -0
  333. package/lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol +17 -0
  334. package/lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol +3 -3
  335. package/lib/openzeppelin-contracts/contracts/interfaces/IERC721Enumerable.sol +3 -3
  336. package/lib/openzeppelin-contracts/contracts/interfaces/IERC721Metadata.sol +3 -3
  337. package/lib/openzeppelin-contracts/contracts/interfaces/IERC721Receiver.sol +3 -3
  338. package/lib/openzeppelin-contracts/contracts/interfaces/IERC777.sol +197 -3
  339. package/lib/openzeppelin-contracts/contracts/interfaces/IERC777Recipient.sol +32 -3
  340. package/lib/openzeppelin-contracts/contracts/interfaces/IERC777Sender.sol +32 -3
  341. package/lib/openzeppelin-contracts/contracts/interfaces/IERC7913.sol +17 -0
  342. package/lib/openzeppelin-contracts/contracts/interfaces/README.adoc +50 -1
  343. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol +3 -3
  344. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC4337.sol +253 -0
  345. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol +161 -0
  346. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6909.sol +125 -0
  347. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7579.sol +226 -0
  348. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7674.sol +17 -0
  349. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7786.sol +64 -0
  350. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7802.sol +30 -0
  351. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7821.sol +43 -0
  352. package/lib/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol +62 -15
  353. package/lib/openzeppelin-contracts/contracts/metatx/ERC2771Forwarder.sol +372 -0
  354. package/lib/openzeppelin-contracts/contracts/metatx/README.adoc +6 -1
  355. package/lib/openzeppelin-contracts/contracts/mocks/AccessManagedTarget.sol +34 -0
  356. package/lib/openzeppelin-contracts/contracts/mocks/AccessManagerMock.sol +20 -0
  357. package/lib/openzeppelin-contracts/contracts/mocks/ArraysMock.sol +124 -4
  358. package/lib/openzeppelin-contracts/contracts/mocks/AuthorityMock.sol +69 -0
  359. package/lib/openzeppelin-contracts/contracts/mocks/Base64Dirty.sol +19 -0
  360. package/lib/openzeppelin-contracts/contracts/mocks/BatchCaller.sol +20 -0
  361. package/lib/openzeppelin-contracts/contracts/mocks/CallReceiverMock.sol +26 -5
  362. package/lib/openzeppelin-contracts/contracts/mocks/ConstructorMock.sol +34 -0
  363. package/lib/openzeppelin-contracts/contracts/mocks/ContextMock.sol +9 -7
  364. package/lib/openzeppelin-contracts/contracts/mocks/DummyImplementation.sol +10 -6
  365. package/lib/openzeppelin-contracts/contracts/mocks/EIP712Verifier.sol +16 -0
  366. package/lib/openzeppelin-contracts/contracts/mocks/ERC1271WalletMock.sol +7 -9
  367. package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165InterfacesSupported.sol +4 -4
  368. package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MaliciousData.sol +1 -1
  369. package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MissingData.sol +1 -1
  370. package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165NotSupported.sol +1 -1
  371. package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165ReturnBomb.sol +2 -2
  372. package/lib/openzeppelin-contracts/contracts/mocks/ERC2771ContextMock.sol +10 -4
  373. package/lib/openzeppelin-contracts/contracts/mocks/ERC3156FlashBorrowerMock.sol +6 -6
  374. package/lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol +1 -1
  375. package/lib/openzeppelin-contracts/contracts/mocks/InitializableMock.sol +6 -6
  376. package/lib/openzeppelin-contracts/contracts/mocks/MerkleProofCustomHashMock.sol +62 -0
  377. package/lib/openzeppelin-contracts/contracts/mocks/MerkleTreeMock.sol +52 -0
  378. package/lib/openzeppelin-contracts/contracts/mocks/MulticallHelper.sol +23 -0
  379. package/lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol +7 -12
  380. package/lib/openzeppelin-contracts/contracts/mocks/PausableMock.sol +2 -2
  381. package/lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol +4 -4
  382. package/lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol +13 -6
  383. package/lib/openzeppelin-contracts/contracts/mocks/ReentrancyTransientMock.sol +50 -0
  384. package/lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol +2 -2
  385. package/lib/openzeppelin-contracts/contracts/mocks/SingleInheritanceInitializableMocks.sol +2 -2
  386. package/lib/openzeppelin-contracts/contracts/mocks/Stateless.sol +55 -0
  387. package/lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol +61 -15
  388. package/lib/openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol +26 -0
  389. package/lib/openzeppelin-contracts/contracts/mocks/TransientSlotMock.sol +61 -0
  390. package/lib/openzeppelin-contracts/contracts/mocks/UpgradeableBeaconMock.sol +27 -0
  391. package/lib/openzeppelin-contracts/contracts/mocks/VotesExtendedMock.sol +42 -0
  392. package/lib/openzeppelin-contracts/contracts/mocks/VotesMock.sol +20 -18
  393. package/lib/openzeppelin-contracts/contracts/mocks/account/AccountMock.sol +169 -0
  394. package/lib/openzeppelin-contracts/contracts/mocks/account/modules/ERC7579Mock.sol +122 -0
  395. package/lib/openzeppelin-contracts/contracts/mocks/account/utils/ERC7579UtilsMock.sol +23 -0
  396. package/lib/openzeppelin-contracts/contracts/mocks/compound/CompTimelock.sol +1 -1
  397. package/lib/openzeppelin-contracts/contracts/mocks/docs/ERC20WithAutoMinerReward.sol +22 -0
  398. package/lib/openzeppelin-contracts/contracts/mocks/docs/ERC4626Fees.sol +109 -0
  399. package/lib/openzeppelin-contracts/contracts/mocks/docs/MyNFT.sol +9 -0
  400. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintBase.sol +25 -0
  401. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintMissing.sol +24 -0
  402. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintOnlyRole.sol +23 -0
  403. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlModified.sol +14 -0
  404. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessManagedERC20MintBase.sol +16 -0
  405. package/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/MyContractOwnable.sol +17 -0
  406. package/lib/openzeppelin-contracts/contracts/mocks/docs/account/MyAccountERC7702.sol +20 -0
  407. package/lib/openzeppelin-contracts/contracts/mocks/docs/account/MyFactoryAccount.sol +37 -0
  408. package/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyGovernor.sol +80 -0
  409. package/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyToken.sol +21 -0
  410. package/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenTimestampBased.sol +32 -0
  411. package/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenWrapped.sol +28 -0
  412. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC1155/GameItems.sol +21 -0
  413. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC1155/MyERC115HolderContract.sol +7 -0
  414. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC20/GLDToken.sol +11 -0
  415. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC6909/ERC6909GameItems.sol +26 -0
  416. package/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC721/GameItem.sol +19 -0
  417. package/lib/openzeppelin-contracts/contracts/mocks/docs/utilities/Base64NFT.sol +27 -0
  418. package/lib/openzeppelin-contracts/contracts/mocks/docs/utilities/Multicall.sol +15 -0
  419. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCountingOverridableMock.sol +18 -0
  420. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorFractionalMock.sol +14 -0
  421. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorMock.sol +14 -0
  422. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorNoncesKeyedMock.sol +45 -0
  423. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorPreventLateQuorumMock.sol +40 -0
  424. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorProposalGuardianMock.sol +27 -0
  425. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorSequentialProposalIdMock.sol +39 -0
  426. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorStorageMock.sol +79 -0
  427. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorSuperQuorumMock.sol +95 -0
  428. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockAccessMock.sol +70 -0
  429. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockCompoundMock.sol +69 -0
  430. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockControlMock.sol +69 -0
  431. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVoteMock.sol +20 -0
  432. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVotesSuperQuorumFractionMock.sol +37 -0
  433. package/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorWithParamsMock.sol +51 -0
  434. package/lib/openzeppelin-contracts/contracts/mocks/proxy/BadBeacon.sol +11 -0
  435. package/lib/openzeppelin-contracts/contracts/mocks/proxy/ClashingImplementation.sol +19 -0
  436. package/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSUpgradeableMock.sol +35 -0
  437. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1155ReceiverMock.sol +74 -0
  438. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ForceApproveMock.sol +13 -0
  439. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363NoReturnMock.sol +33 -0
  440. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ReceiverMock.sol +52 -0
  441. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ReturnFalseMock.sol +34 -0
  442. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363SpenderMock.sol +47 -0
  443. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ApprovalMock.sol +10 -0
  444. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20BridgeableMock.sol +26 -0
  445. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20DecimalsMock.sol +17 -0
  446. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ExcessDecimalsMock.sol +9 -0
  447. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20FlashMintMock.sol +26 -0
  448. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ForceApproveMock.sol +13 -0
  449. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20GetterHelper.sol +38 -0
  450. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol +16 -0
  451. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20MulticallMock.sol +8 -0
  452. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20NoReturnMock.sol +28 -0
  453. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20Reentrant.sol +39 -0
  454. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ReturnFalseMock.sol +19 -0
  455. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesAdditionalCheckpointsMock.sol +31 -0
  456. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesLegacyMock.sol +253 -0
  457. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesTimestampMock.sol +29 -0
  458. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626LimitsMock.sol +23 -0
  459. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626Mock.sol +17 -0
  460. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626OffsetMock.sol +17 -0
  461. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC4646FeesMock.sol +40 -0
  462. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveEnumerableMock.sol +42 -0
  463. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol +61 -0
  464. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ReceiverMock.sol +47 -0
  465. package/lib/openzeppelin-contracts/contracts/mocks/token/ERC721URIStorageMock.sol +17 -0
  466. package/lib/openzeppelin-contracts/contracts/mocks/utils/cryptography/ERC7739Mock.sol +13 -0
  467. package/lib/openzeppelin-contracts/contracts/package.json +2 -2
  468. package/lib/openzeppelin-contracts/contracts/proxy/Clones.sol +197 -24
  469. package/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol +21 -13
  470. package/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol +177 -0
  471. package/lib/openzeppelin-contracts/contracts/proxy/Proxy.sol +4 -21
  472. package/lib/openzeppelin-contracts/contracts/proxy/README.adoc +13 -11
  473. package/lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol +23 -27
  474. package/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol +3 -3
  475. package/lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol +16 -11
  476. package/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol +17 -53
  477. package/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +80 -86
  478. package/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol +108 -35
  479. package/lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol +81 -30
  480. package/lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol +197 -325
  481. package/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol +28 -30
  482. package/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol +7 -6
  483. package/lib/openzeppelin-contracts/contracts/token/ERC1155/README.adoc +6 -12
  484. package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +11 -23
  485. package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +11 -17
  486. package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Supply.sol +45 -21
  487. package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +9 -11
  488. package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +4 -6
  489. package/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol +11 -7
  490. package/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Utils.sol +88 -0
  491. package/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol +137 -221
  492. package/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol +13 -16
  493. package/lib/openzeppelin-contracts/contracts/token/ERC20/README.adoc +28 -36
  494. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC1363.sol +135 -0
  495. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol +13 -13
  496. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Capped.sol +27 -10
  497. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20FlashMint.sol +56 -31
  498. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Pausable.sol +9 -15
  499. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol +77 -0
  500. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol +43 -235
  501. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol +48 -22
  502. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.sol +130 -132
  503. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol +4 -6
  504. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol +90 -0
  505. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Bridgeable.sol +50 -0
  506. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20TemporaryApproval.sol +119 -0
  507. package/lib/openzeppelin-contracts/contracts/token/ERC20/utils/ERC1363Utils.sol +95 -0
  508. package/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol +241 -77
  509. package/lib/openzeppelin-contracts/contracts/token/ERC6909/README.adoc +27 -0
  510. package/lib/openzeppelin-contracts/contracts/token/ERC6909/draft-ERC6909.sol +224 -0
  511. package/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909ContentURI.sol +53 -0
  512. package/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909Metadata.sol +77 -0
  513. package/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909TokenSupply.sol +35 -0
  514. package/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol +250 -326
  515. package/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol +17 -27
  516. package/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol +6 -5
  517. package/lib/openzeppelin-contracts/contracts/token/ERC721/README.adoc +11 -12
  518. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Burnable.sol +9 -9
  519. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol +82 -54
  520. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol +61 -56
  521. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol +12 -15
  522. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Royalty.sol +10 -22
  523. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol +25 -29
  524. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol +22 -16
  525. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Wrapper.sol +102 -0
  526. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol +3 -3
  527. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol +3 -3
  528. package/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol +7 -11
  529. package/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Utils.sol +50 -0
  530. package/lib/openzeppelin-contracts/contracts/token/common/ERC2981.sol +56 -28
  531. package/lib/openzeppelin-contracts/contracts/token/common/README.adoc +2 -2
  532. package/lib/openzeppelin-contracts/contracts/utils/Address.sol +51 -146
  533. package/lib/openzeppelin-contracts/contracts/utils/Arrays.sol +481 -25
  534. package/lib/openzeppelin-contracts/contracts/utils/Base64.sol +65 -38
  535. package/lib/openzeppelin-contracts/contracts/utils/Blockhash.sol +52 -0
  536. package/lib/openzeppelin-contracts/contracts/utils/Bytes.sol +166 -0
  537. package/lib/openzeppelin-contracts/contracts/utils/CAIP10.sol +54 -0
  538. package/lib/openzeppelin-contracts/contracts/utils/CAIP2.sol +51 -0
  539. package/lib/openzeppelin-contracts/contracts/utils/Calldata.sol +25 -0
  540. package/lib/openzeppelin-contracts/contracts/utils/Comparators.sol +19 -0
  541. package/lib/openzeppelin-contracts/contracts/utils/Context.sol +6 -2
  542. package/lib/openzeppelin-contracts/contracts/utils/Create2.sol +29 -20
  543. package/lib/openzeppelin-contracts/contracts/utils/Errors.sol +34 -0
  544. package/lib/openzeppelin-contracts/contracts/utils/Memory.sol +44 -0
  545. package/lib/openzeppelin-contracts/contracts/utils/Multicall.sol +19 -6
  546. package/lib/openzeppelin-contracts/contracts/utils/Nonces.sol +46 -0
  547. package/lib/openzeppelin-contracts/contracts/utils/NoncesKeyed.sol +74 -0
  548. package/lib/openzeppelin-contracts/contracts/utils/Packing.sol +1656 -0
  549. package/lib/openzeppelin-contracts/contracts/utils/Panic.sol +57 -0
  550. package/lib/openzeppelin-contracts/contracts/utils/Pausable.sol +112 -0
  551. package/lib/openzeppelin-contracts/contracts/utils/README.adoc +79 -45
  552. package/lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol +87 -0
  553. package/lib/openzeppelin-contracts/contracts/utils/ReentrancyGuardTransient.sol +61 -0
  554. package/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol +122 -0
  555. package/lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol +155 -0
  556. package/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol +72 -17
  557. package/lib/openzeppelin-contracts/contracts/utils/Strings.sol +453 -16
  558. package/lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol +183 -0
  559. package/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol +96 -96
  560. package/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol +96 -40
  561. package/lib/openzeppelin-contracts/contracts/utils/cryptography/Hashes.sol +31 -0
  562. package/lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol +362 -71
  563. package/lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol +99 -0
  564. package/lib/openzeppelin-contracts/contracts/utils/cryptography/P256.sol +408 -0
  565. package/lib/openzeppelin-contracts/contracts/utils/cryptography/README.adoc +67 -0
  566. package/lib/openzeppelin-contracts/contracts/utils/cryptography/RSA.sol +154 -0
  567. package/lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol +143 -21
  568. package/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-ERC7739Utils.sol +206 -0
  569. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/AbstractSigner.sol +22 -0
  570. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/MultiSignerERC7913.sol +251 -0
  571. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol +207 -0
  572. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerECDSA.sol +55 -0
  573. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerERC7702.sol +24 -0
  574. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerERC7913.sol +62 -0
  575. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerP256.sol +63 -0
  576. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerRSA.sol +64 -0
  577. package/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/draft-ERC7739.sol +98 -0
  578. package/lib/openzeppelin-contracts/contracts/utils/cryptography/verifiers/ERC7913P256Verifier.sol +28 -0
  579. package/lib/openzeppelin-contracts/contracts/utils/cryptography/verifiers/ERC7913RSAVerifier.sol +22 -0
  580. package/lib/openzeppelin-contracts/contracts/utils/draft-InteroperableAddress.sol +234 -0
  581. package/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol +6 -10
  582. package/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol +18 -21
  583. package/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol +5 -5
  584. package/lib/openzeppelin-contracts/contracts/utils/math/Math.sol +580 -176
  585. package/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol +224 -198
  586. package/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol +31 -6
  587. package/lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol +14 -9
  588. package/lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol +833 -0
  589. package/lib/openzeppelin-contracts/contracts/utils/structs/CircularBuffer.sol +140 -0
  590. package/lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol +46 -60
  591. package/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol +919 -130
  592. package/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol +441 -27
  593. package/lib/openzeppelin-contracts/contracts/utils/structs/Heap.sol +256 -0
  594. package/lib/openzeppelin-contracts/contracts/utils/structs/MerkleTree.sol +267 -0
  595. package/lib/openzeppelin-contracts/contracts/utils/types/Time.sol +133 -0
  596. package/lib/openzeppelin-contracts/contracts/vendor/compound/ICompoundTimelock.sol +3 -3
  597. package/lib/openzeppelin-contracts/docs/README.md +16 -0
  598. package/lib/openzeppelin-contracts/docs/antora.yml +2 -1
  599. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-control-multiple.svg +97 -0
  600. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-manager-functions.svg +47 -0
  601. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-manager.svg +99 -0
  602. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
  603. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
  604. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
  605. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack.png +0 -0
  606. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
  607. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-mint.png +0 -0
  608. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
  609. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
  610. package/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
  611. package/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +13 -7
  612. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +168 -97
  613. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/account-abstraction.adoc +100 -0
  614. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/accounts.adoc +354 -0
  615. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/backwards-compatibility.adoc +50 -0
  616. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/eoa-delegation.adoc +143 -0
  617. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +19 -54
  618. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +13 -55
  619. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +7 -25
  620. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc4626.adoc +214 -0
  621. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc6909.adoc +47 -0
  622. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +10 -42
  623. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +4 -82
  624. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/faq.adoc +13 -0
  625. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +85 -167
  626. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +19 -12
  627. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/multisig.adoc +306 -0
  628. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +4 -5
  629. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +14 -10
  630. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +482 -81
  631. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/wizard.adoc +1 -1
  632. package/lib/openzeppelin-contracts/docs/templates/contract.hbs +57 -1
  633. package/lib/openzeppelin-contracts/docs/templates/helpers.js +8 -8
  634. package/lib/openzeppelin-contracts/docs/templates/properties.js +47 -8
  635. package/lib/openzeppelin-contracts/eslint.config.mjs +26 -0
  636. package/lib/openzeppelin-contracts/foundry.toml +15 -0
  637. package/lib/openzeppelin-contracts/fv-requirements.txt +4 -0
  638. package/lib/openzeppelin-contracts/hardhat/async-test-sanity.js +10 -0
  639. package/lib/openzeppelin-contracts/hardhat/common-contracts.js +69 -0
  640. package/lib/openzeppelin-contracts/hardhat/env-artifacts.js +29 -0
  641. package/lib/openzeppelin-contracts/hardhat/ignore-unreachable-warnings.js +2 -4
  642. package/lib/openzeppelin-contracts/hardhat/remappings.js +18 -0
  643. package/lib/openzeppelin-contracts/hardhat/skip-foundry-tests.js +3 -4
  644. package/lib/openzeppelin-contracts/hardhat/task-test-get-files.js +25 -0
  645. package/lib/openzeppelin-contracts/hardhat.config.js +67 -49
  646. package/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.prop.sol +404 -0
  647. package/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.test.sol +356 -0
  648. package/lib/openzeppelin-contracts/lib/erc4626-tests/LICENSE +661 -0
  649. package/lib/openzeppelin-contracts/lib/erc4626-tests/README.md +116 -0
  650. package/lib/openzeppelin-contracts/lib/forge-std/.gitattributes +1 -0
  651. package/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/ci.yml +48 -12
  652. package/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/sync.yml +31 -0
  653. package/lib/openzeppelin-contracts/lib/forge-std/CONTRIBUTING.md +193 -0
  654. package/lib/openzeppelin-contracts/lib/forge-std/README.md +19 -3
  655. package/lib/openzeppelin-contracts/lib/forge-std/foundry.toml +5 -3
  656. package/lib/openzeppelin-contracts/lib/forge-std/package.json +2 -2
  657. package/lib/openzeppelin-contracts/lib/forge-std/scripts/vm.py +646 -0
  658. package/lib/openzeppelin-contracts/lib/forge-std/src/Base.sol +7 -3
  659. package/lib/openzeppelin-contracts/lib/forge-std/src/Script.sol +4 -3
  660. package/lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol +595 -135
  661. package/lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol +146 -48
  662. package/lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol +303 -39
  663. package/lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol +122 -0
  664. package/lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol +129 -25
  665. package/lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol +245 -99
  666. package/lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol +333 -0
  667. package/lib/openzeppelin-contracts/lib/forge-std/src/StdToml.sol +283 -0
  668. package/lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol +125 -39
  669. package/lib/openzeppelin-contracts/lib/forge-std/src/Test.sol +10 -5
  670. package/lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol +2182 -304
  671. package/lib/openzeppelin-contracts/lib/forge-std/src/console.sol +635 -608
  672. package/lib/openzeppelin-contracts/lib/forge-std/src/console2.sol +1 -1543
  673. package/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC4626.sol +2 -2
  674. package/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
  675. package/lib/openzeppelin-contracts/lib/forge-std/src/safeconsole.sol +13937 -0
  676. package/lib/openzeppelin-contracts/lib/forge-std/test/StdAssertions.t.sol +126 -572
  677. package/lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol +166 -62
  678. package/lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol +348 -35
  679. package/lib/openzeppelin-contracts/lib/forge-std/test/StdError.t.sol +15 -13
  680. package/lib/openzeppelin-contracts/lib/forge-std/test/StdJson.t.sol +49 -0
  681. package/lib/openzeppelin-contracts/lib/forge-std/test/StdMath.t.sol +31 -26
  682. package/lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol +251 -46
  683. package/lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
  684. package/lib/openzeppelin-contracts/lib/forge-std/test/StdToml.t.sol +49 -0
  685. package/lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol +186 -35
  686. package/lib/openzeppelin-contracts/lib/forge-std/test/Vm.t.sol +18 -0
  687. package/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/test.json +8 -0
  688. package/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/test.toml +6 -0
  689. package/lib/openzeppelin-contracts/lib/halmos-cheatcodes/LICENSE +661 -0
  690. package/lib/openzeppelin-contracts/lib/halmos-cheatcodes/README.md +97 -0
  691. package/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/SVM.sol +49 -0
  692. package/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/SymTest.sol +11 -0
  693. package/lib/openzeppelin-contracts/package.json +59 -45
  694. package/lib/openzeppelin-contracts/remappings.txt +1 -0
  695. package/lib/openzeppelin-contracts/renovate.json +2 -9
  696. package/lib/openzeppelin-contracts/scripts/checks/compare-layout.js +28 -0
  697. package/lib/openzeppelin-contracts/scripts/checks/compareGasReports.js +130 -92
  698. package/lib/openzeppelin-contracts/scripts/checks/coverage.sh +24 -0
  699. package/lib/openzeppelin-contracts/scripts/checks/extract-layout.js +39 -0
  700. package/lib/openzeppelin-contracts/scripts/checks/inheritance-ordering.js +28 -23
  701. package/lib/openzeppelin-contracts/scripts/checks/pragma-validity.js +45 -0
  702. package/lib/openzeppelin-contracts/scripts/fetch-common-contracts.js +50 -0
  703. package/lib/openzeppelin-contracts/scripts/gen-nav.js +62 -22
  704. package/lib/openzeppelin-contracts/scripts/generate/format-lines.js +4 -4
  705. package/lib/openzeppelin-contracts/scripts/generate/helpers/sanitize.js +5 -0
  706. package/lib/openzeppelin-contracts/scripts/generate/run.js +38 -23
  707. package/lib/openzeppelin-contracts/scripts/generate/templates/Arrays.js +386 -0
  708. package/lib/openzeppelin-contracts/scripts/generate/templates/Arrays.opts.js +9 -0
  709. package/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.js +67 -128
  710. package/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.opts.js +18 -0
  711. package/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.t.js +141 -0
  712. package/lib/openzeppelin-contracts/scripts/generate/templates/Enumerable.opts.js +53 -0
  713. package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMap.js +269 -84
  714. package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSet.js +252 -36
  715. package/lib/openzeppelin-contracts/scripts/generate/templates/MerkleProof.js +187 -0
  716. package/lib/openzeppelin-contracts/scripts/generate/templates/MerkleProof.opts.js +11 -0
  717. package/lib/openzeppelin-contracts/scripts/generate/templates/Packing.js +92 -0
  718. package/lib/openzeppelin-contracts/scripts/generate/templates/Packing.opts.js +3 -0
  719. package/lib/openzeppelin-contracts/scripts/generate/templates/Packing.t.js +48 -0
  720. package/lib/openzeppelin-contracts/scripts/generate/templates/SafeCast.js +50 -82
  721. package/lib/openzeppelin-contracts/scripts/generate/templates/Slot.opts.js +15 -0
  722. package/lib/openzeppelin-contracts/scripts/generate/templates/SlotDerivation.js +119 -0
  723. package/lib/openzeppelin-contracts/scripts/generate/templates/SlotDerivation.t.js +127 -0
  724. package/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlot.js +77 -0
  725. package/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlotMock.js +57 -0
  726. package/lib/openzeppelin-contracts/scripts/generate/templates/TransientSlot.js +80 -0
  727. package/lib/openzeppelin-contracts/scripts/generate/templates/TransientSlotMock.js +35 -0
  728. package/lib/openzeppelin-contracts/scripts/generate/templates/conversion.js +18 -18
  729. package/lib/openzeppelin-contracts/scripts/get-contracts-metadata.js +55 -0
  730. package/lib/openzeppelin-contracts/scripts/helpers.js +4 -20
  731. package/lib/openzeppelin-contracts/scripts/minimize-pragma.js +138 -0
  732. package/lib/openzeppelin-contracts/scripts/prepack.sh +14 -3
  733. package/lib/openzeppelin-contracts/scripts/prepare-docs.sh +12 -1
  734. package/lib/openzeppelin-contracts/scripts/release/format-changelog.js +33 -0
  735. package/lib/openzeppelin-contracts/scripts/release/synchronize-versions.js +6 -7
  736. package/lib/openzeppelin-contracts/scripts/release/update-comment.js +2 -4
  737. package/lib/openzeppelin-contracts/scripts/release/version.sh +4 -2
  738. package/lib/openzeppelin-contracts/scripts/release/workflow/exit-prerelease.sh +8 -0
  739. package/lib/openzeppelin-contracts/scripts/release/workflow/github-release.js +48 -0
  740. package/lib/openzeppelin-contracts/scripts/release/workflow/integrity-check.sh +20 -0
  741. package/lib/openzeppelin-contracts/scripts/release/workflow/pack.sh +26 -0
  742. package/lib/openzeppelin-contracts/scripts/release/workflow/publish.sh +26 -0
  743. package/lib/openzeppelin-contracts/scripts/release/workflow/rerun.js +7 -0
  744. package/lib/openzeppelin-contracts/scripts/release/workflow/set-changesets-pr-title.js +17 -0
  745. package/lib/openzeppelin-contracts/scripts/release/workflow/start.sh +35 -0
  746. package/lib/openzeppelin-contracts/scripts/release/workflow/state.js +112 -0
  747. package/lib/openzeppelin-contracts/scripts/remove-ignored-artifacts.js +4 -4
  748. package/lib/openzeppelin-contracts/scripts/set-max-old-space-size.sh +10 -0
  749. package/lib/openzeppelin-contracts/scripts/solc-versions.js +15 -0
  750. package/lib/openzeppelin-contracts/scripts/solhint-custom/index.js +84 -0
  751. package/lib/openzeppelin-contracts/scripts/solhint-custom/package.json +8 -0
  752. package/lib/openzeppelin-contracts/scripts/update-docs-branch.js +15 -5
  753. package/lib/openzeppelin-contracts/scripts/upgradeable/README.md +21 -0
  754. package/lib/openzeppelin-contracts/scripts/upgradeable/patch-apply.sh +19 -0
  755. package/lib/openzeppelin-contracts/scripts/upgradeable/patch-save.sh +18 -0
  756. package/lib/openzeppelin-contracts/scripts/upgradeable/transpile-onto.sh +54 -0
  757. package/lib/openzeppelin-contracts/scripts/upgradeable/transpile.sh +50 -0
  758. package/lib/openzeppelin-contracts/scripts/upgradeable/upgradeable.patch +398 -0
  759. package/lib/openzeppelin-contracts/slither.config.json +3 -4
  760. package/lib/openzeppelin-contracts/solhint.config.js +29 -0
  761. package/lib/openzeppelin-contracts/test/TESTING.md +1 -1
  762. package/lib/openzeppelin-contracts/test/access/AccessControl.behavior.js +756 -98
  763. package/lib/openzeppelin-contracts/test/access/AccessControl.test.js +13 -7
  764. package/lib/openzeppelin-contracts/test/access/Ownable.test.js +50 -28
  765. package/lib/openzeppelin-contracts/test/access/Ownable2Step.test.js +77 -32
  766. package/lib/openzeppelin-contracts/test/access/extensions/AccessControlDefaultAdminRules.test.js +32 -0
  767. package/lib/openzeppelin-contracts/test/access/extensions/AccessControlEnumerable.test.js +24 -0
  768. package/lib/openzeppelin-contracts/test/access/manager/AccessManaged.test.js +146 -0
  769. package/lib/openzeppelin-contracts/test/access/manager/AccessManager.behavior.js +257 -0
  770. package/lib/openzeppelin-contracts/test/access/manager/AccessManager.predicate.js +456 -0
  771. package/lib/openzeppelin-contracts/test/access/manager/AccessManager.test.js +2489 -0
  772. package/lib/openzeppelin-contracts/test/access/manager/AuthorityUtils.test.js +112 -0
  773. package/lib/openzeppelin-contracts/test/account/Account.behavior.js +144 -0
  774. package/lib/openzeppelin-contracts/test/account/Account.test.js +48 -0
  775. package/lib/openzeppelin-contracts/test/account/AccountECDSA.test.js +52 -0
  776. package/lib/openzeppelin-contracts/test/account/AccountERC7702.t.sol +103 -0
  777. package/lib/openzeppelin-contracts/test/account/AccountERC7702.test.js +52 -0
  778. package/lib/openzeppelin-contracts/test/account/AccountERC7913.test.js +116 -0
  779. package/lib/openzeppelin-contracts/test/account/AccountMultiSigner.test.js +326 -0
  780. package/lib/openzeppelin-contracts/test/account/AccountMultiSignerWeighted.test.js +312 -0
  781. package/lib/openzeppelin-contracts/test/account/AccountP256.test.js +58 -0
  782. package/lib/openzeppelin-contracts/test/account/AccountRSA.test.js +58 -0
  783. package/lib/openzeppelin-contracts/test/account/examples/AccountERC7702WithModulesMock.test.js +99 -0
  784. package/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579.behavior.js +563 -0
  785. package/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579.test.js +60 -0
  786. package/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579Hooked.test.js +60 -0
  787. package/lib/openzeppelin-contracts/test/account/extensions/ERC7821.behavior.js +145 -0
  788. package/lib/openzeppelin-contracts/test/account/utils/EIP7702Utils.test.js +53 -0
  789. package/lib/openzeppelin-contracts/test/account/utils/draft-ERC4337Utils.test.js +289 -0
  790. package/lib/openzeppelin-contracts/test/account/utils/draft-ERC7579Utils.t.sol +426 -0
  791. package/lib/openzeppelin-contracts/test/account/utils/draft-ERC7579Utils.test.js +399 -0
  792. package/lib/openzeppelin-contracts/test/bin/EntryPoint070.abi +1 -0
  793. package/lib/openzeppelin-contracts/test/bin/EntryPoint070.bytecode +0 -0
  794. package/lib/openzeppelin-contracts/test/bin/EntryPoint080.abi +1 -0
  795. package/lib/openzeppelin-contracts/test/bin/EntryPoint080.bytecode +0 -0
  796. package/lib/openzeppelin-contracts/test/bin/SenderCreator070.abi +1 -0
  797. package/lib/openzeppelin-contracts/test/bin/SenderCreator070.bytecode +0 -0
  798. package/lib/openzeppelin-contracts/test/bin/SenderCreator080.abi +1 -0
  799. package/lib/openzeppelin-contracts/test/bin/SenderCreator080.bytecode +0 -0
  800. package/lib/openzeppelin-contracts/test/finance/VestingWallet.behavior.js +59 -46
  801. package/lib/openzeppelin-contracts/test/finance/VestingWallet.test.js +35 -37
  802. package/lib/openzeppelin-contracts/test/finance/VestingWalletCliff.test.js +70 -0
  803. package/lib/openzeppelin-contracts/test/governance/Governor.t.sol +59 -0
  804. package/lib/openzeppelin-contracts/test/governance/Governor.test.js +938 -590
  805. package/lib/openzeppelin-contracts/test/governance/TimelockController.test.js +910 -765
  806. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorCountingFractional.test.js +248 -0
  807. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorCountingOverridable.test.js +346 -0
  808. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorERC721.test.js +127 -100
  809. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorNoncesKeyed.test.js +244 -0
  810. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorPreventLateQuorum.test.js +181 -173
  811. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorProposalGuardian.test.js +132 -0
  812. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorSequentialProposalId.test.js +202 -0
  813. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorStorage.test.js +155 -0
  814. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorSuperQuorum.test.js +168 -0
  815. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorSuperQuorumGreaterThanQuorum.t.sol +83 -0
  816. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockAccess.test.js +864 -0
  817. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockCompound.test.js +419 -339
  818. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockControl.test.js +468 -384
  819. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesQuorumFraction.test.js +161 -133
  820. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesSuperQuorumFraction.test.js +160 -0
  821. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorWithParams.test.js +234 -155
  822. package/lib/openzeppelin-contracts/test/governance/utils/ERC6372.behavior.js +28 -0
  823. package/lib/openzeppelin-contracts/test/governance/utils/Votes.behavior.js +254 -273
  824. package/lib/openzeppelin-contracts/test/governance/utils/Votes.test.js +89 -48
  825. package/lib/openzeppelin-contracts/test/governance/utils/VotesExtended.test.js +152 -0
  826. package/lib/openzeppelin-contracts/test/helpers/access-manager.js +85 -0
  827. package/lib/openzeppelin-contracts/test/helpers/account.js +14 -0
  828. package/lib/openzeppelin-contracts/test/helpers/chains.js +56 -0
  829. package/lib/openzeppelin-contracts/test/helpers/constants.js +7 -0
  830. package/lib/openzeppelin-contracts/test/helpers/deploy.js +14 -0
  831. package/lib/openzeppelin-contracts/test/helpers/eip712-types.js +61 -0
  832. package/lib/openzeppelin-contracts/test/helpers/eip712.js +41 -26
  833. package/lib/openzeppelin-contracts/test/helpers/enums.js +9 -24
  834. package/lib/openzeppelin-contracts/test/helpers/erc4337.js +217 -0
  835. package/lib/openzeppelin-contracts/test/helpers/erc7579.js +58 -0
  836. package/lib/openzeppelin-contracts/test/helpers/erc7739.js +118 -0
  837. package/lib/openzeppelin-contracts/test/helpers/governance.js +194 -188
  838. package/lib/openzeppelin-contracts/test/helpers/iterate.js +41 -0
  839. package/lib/openzeppelin-contracts/test/helpers/math.js +33 -0
  840. package/lib/openzeppelin-contracts/test/helpers/methods.js +14 -0
  841. package/lib/openzeppelin-contracts/test/helpers/precompiles.js +12 -0
  842. package/lib/openzeppelin-contracts/test/helpers/random.js +24 -0
  843. package/lib/openzeppelin-contracts/test/helpers/signers.js +184 -0
  844. package/lib/openzeppelin-contracts/test/helpers/storage.js +48 -0
  845. package/lib/openzeppelin-contracts/test/helpers/strings.js +5 -0
  846. package/lib/openzeppelin-contracts/test/helpers/time.js +33 -0
  847. package/lib/openzeppelin-contracts/test/helpers/txpool.js +9 -20
  848. package/lib/openzeppelin-contracts/test/metatx/ERC2771Context.test.js +95 -71
  849. package/lib/openzeppelin-contracts/test/metatx/ERC2771Forwarder.t.sol +279 -0
  850. package/lib/openzeppelin-contracts/test/metatx/ERC2771Forwarder.test.js +384 -0
  851. package/lib/openzeppelin-contracts/test/proxy/Clones.behaviour.js +60 -50
  852. package/lib/openzeppelin-contracts/test/proxy/Clones.t.sol +91 -0
  853. package/lib/openzeppelin-contracts/test/proxy/Clones.test.js +164 -56
  854. package/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Proxy.test.js +17 -7
  855. package/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Utils.test.js +162 -0
  856. package/lib/openzeppelin-contracts/test/proxy/Proxy.behaviour.js +59 -98
  857. package/lib/openzeppelin-contracts/test/proxy/beacon/BeaconProxy.test.js +98 -113
  858. package/lib/openzeppelin-contracts/test/proxy/beacon/UpgradeableBeacon.test.js +34 -29
  859. package/lib/openzeppelin-contracts/test/proxy/transparent/ProxyAdmin.test.js +45 -88
  860. package/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +209 -283
  861. package/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.test.js +20 -7
  862. package/lib/openzeppelin-contracts/test/proxy/utils/Initializable.test.js +94 -96
  863. package/lib/openzeppelin-contracts/test/proxy/utils/UUPSUpgradeable.test.js +94 -59
  864. package/lib/openzeppelin-contracts/test/sanity.test.js +27 -0
  865. package/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.behavior.js +530 -541
  866. package/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.test.js +101 -152
  867. package/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Burnable.test.js +35 -36
  868. package/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Pausable.test.js +54 -57
  869. package/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Supply.test.js +59 -51
  870. package/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +37 -33
  871. package/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Holder.test.js +40 -46
  872. package/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Utils.test.js +299 -0
  873. package/lib/openzeppelin-contracts/test/token/ERC20/ERC20.behavior.js +142 -206
  874. package/lib/openzeppelin-contracts/test/token/ERC20/ERC20.test.js +133 -243
  875. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC1363.test.js +370 -0
  876. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.test.js +96 -10
  877. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.test.js +43 -15
  878. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20FlashMint.test.js +102 -82
  879. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Pausable.test.js +59 -64
  880. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Permit.test.js +109 -0
  881. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Votes.test.js +490 -462
  882. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Wrapper.test.js +133 -120
  883. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.t.sol +41 -0
  884. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.test.js +802 -536
  885. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Bridgeable.test.js +89 -0
  886. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20TemporaryApproval.test.js +142 -0
  887. package/lib/openzeppelin-contracts/test/token/ERC20/utils/SafeERC20.test.js +387 -179
  888. package/lib/openzeppelin-contracts/test/token/ERC6909/ERC6909.behavior.js +216 -0
  889. package/lib/openzeppelin-contracts/test/token/ERC6909/ERC6909.test.js +104 -0
  890. package/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909ContentURI.test.js +49 -0
  891. package/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909Metadata.test.js +58 -0
  892. package/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909TokenSupply.test.js +53 -0
  893. package/lib/openzeppelin-contracts/test/token/ERC721/ERC721.behavior.js +488 -479
  894. package/lib/openzeppelin-contracts/test/token/ERC721/ERC721.test.js +16 -11
  895. package/lib/openzeppelin-contracts/test/token/ERC721/ERC721Enumerable.test.js +16 -8
  896. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Burnable.test.js +43 -44
  897. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.t.sol +80 -19
  898. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.test.js +179 -176
  899. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Pausable.test.js +34 -51
  900. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Royalty.test.js +41 -24
  901. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721URIStorage.test.js +69 -44
  902. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Votes.test.js +187 -167
  903. package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Wrapper.test.js +201 -0
  904. package/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Holder.test.js +12 -16
  905. package/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Utils.test.js +94 -0
  906. package/lib/openzeppelin-contracts/test/token/common/ERC2981.behavior.js +80 -88
  907. package/lib/openzeppelin-contracts/test/utils/Address.test.js +159 -260
  908. package/lib/openzeppelin-contracts/test/utils/Arrays.t.sol +31 -0
  909. package/lib/openzeppelin-contracts/test/utils/Arrays.test.js +217 -95
  910. package/lib/openzeppelin-contracts/test/utils/Base64.t.sol +34 -0
  911. package/lib/openzeppelin-contracts/test/utils/Base64.test.js +48 -22
  912. package/lib/openzeppelin-contracts/test/utils/Blockhash.t.sol +101 -0
  913. package/lib/openzeppelin-contracts/test/utils/Blockhash.test.js +59 -0
  914. package/lib/openzeppelin-contracts/test/utils/Bytes.t.sol +74 -0
  915. package/lib/openzeppelin-contracts/test/utils/Bytes.test.js +212 -0
  916. package/lib/openzeppelin-contracts/test/utils/CAIP.test.js +56 -0
  917. package/lib/openzeppelin-contracts/test/utils/Calldata.test.js +22 -0
  918. package/lib/openzeppelin-contracts/test/utils/Context.behavior.js +26 -20
  919. package/lib/openzeppelin-contracts/test/utils/Context.test.js +10 -9
  920. package/lib/openzeppelin-contracts/test/utils/Create2.t.sol +17 -0
  921. package/lib/openzeppelin-contracts/test/utils/Create2.test.js +147 -49
  922. package/lib/openzeppelin-contracts/test/utils/Memory.t.sol +21 -0
  923. package/lib/openzeppelin-contracts/test/utils/Memory.test.js +39 -0
  924. package/lib/openzeppelin-contracts/test/utils/Multicall.test.js +50 -35
  925. package/lib/openzeppelin-contracts/test/utils/Nonces.behavior.js +189 -0
  926. package/lib/openzeppelin-contracts/test/utils/Nonces.test.js +16 -0
  927. package/lib/openzeppelin-contracts/test/utils/NoncesKeyed.test.js +17 -0
  928. package/lib/openzeppelin-contracts/test/utils/Packing.t.sol +993 -0
  929. package/lib/openzeppelin-contracts/test/utils/Packing.test.js +70 -0
  930. package/lib/openzeppelin-contracts/test/utils/Panic.test.js +37 -0
  931. package/lib/openzeppelin-contracts/test/utils/Pausable.test.js +90 -0
  932. package/lib/openzeppelin-contracts/test/utils/ReentrancyGuard.test.js +50 -0
  933. package/lib/openzeppelin-contracts/test/utils/ShortStrings.t.sol +109 -0
  934. package/lib/openzeppelin-contracts/test/utils/ShortStrings.test.js +64 -0
  935. package/lib/openzeppelin-contracts/test/utils/SlotDerivation.t.sol +248 -0
  936. package/lib/openzeppelin-contracts/test/utils/SlotDerivation.test.js +58 -0
  937. package/lib/openzeppelin-contracts/test/utils/StorageSlot.test.js +55 -92
  938. package/lib/openzeppelin-contracts/test/utils/Strings.t.sol +50 -0
  939. package/lib/openzeppelin-contracts/test/utils/Strings.test.js +323 -49
  940. package/lib/openzeppelin-contracts/test/utils/TransientSlot.test.js +59 -0
  941. package/lib/openzeppelin-contracts/test/utils/cryptography/ECDSA.test.js +167 -132
  942. package/lib/openzeppelin-contracts/test/utils/cryptography/EIP712.test.js +100 -52
  943. package/lib/openzeppelin-contracts/test/utils/cryptography/ERC1271.behavior.js +111 -0
  944. package/lib/openzeppelin-contracts/test/utils/cryptography/ERC7739.test.js +42 -0
  945. package/lib/openzeppelin-contracts/test/utils/cryptography/ERC7739Utils.test.js +203 -0
  946. package/lib/openzeppelin-contracts/test/utils/cryptography/MerkleProof.test.js +210 -176
  947. package/lib/openzeppelin-contracts/test/utils/cryptography/MessageHashUtils.t.sol +33 -0
  948. package/lib/openzeppelin-contracts/test/utils/cryptography/MessageHashUtils.test.js +97 -0
  949. package/lib/openzeppelin-contracts/test/utils/cryptography/P256.t.sol +65 -0
  950. package/lib/openzeppelin-contracts/test/utils/cryptography/P256.test.js +182 -0
  951. package/lib/openzeppelin-contracts/test/utils/cryptography/RSA.helper.js +17 -0
  952. package/lib/openzeppelin-contracts/test/utils/cryptography/RSA.test.js +102 -0
  953. package/lib/openzeppelin-contracts/test/utils/cryptography/SigVer15_186-3.rsp +3850 -0
  954. package/lib/openzeppelin-contracts/test/utils/cryptography/SignatureChecker.test.js +397 -56
  955. package/lib/openzeppelin-contracts/test/utils/cryptography/ecdsa_secp256r1_sha256_p1363_test.json +3719 -0
  956. package/lib/openzeppelin-contracts/test/utils/draft-InteroperableAddress.t.sol +99 -0
  957. package/lib/openzeppelin-contracts/test/utils/draft-InteroperableAddress.test.js +170 -0
  958. package/lib/openzeppelin-contracts/test/utils/introspection/ERC165.test.js +11 -6
  959. package/lib/openzeppelin-contracts/test/utils/introspection/ERC165Checker.test.js +84 -142
  960. package/lib/openzeppelin-contracts/test/utils/introspection/SupportsInterface.behavior.js +109 -90
  961. package/lib/openzeppelin-contracts/test/utils/math/Math.t.sol +255 -24
  962. package/lib/openzeppelin-contracts/test/utils/math/Math.test.js +616 -215
  963. package/lib/openzeppelin-contracts/test/utils/math/SafeCast.test.js +84 -89
  964. package/lib/openzeppelin-contracts/test/utils/math/SignedMath.t.sol +80 -0
  965. package/lib/openzeppelin-contracts/test/utils/math/SignedMath.test.js +25 -65
  966. package/lib/openzeppelin-contracts/test/utils/structs/BitMap.test.js +83 -79
  967. package/lib/openzeppelin-contracts/test/utils/structs/Checkpoints.t.sol +440 -0
  968. package/lib/openzeppelin-contracts/test/utils/structs/Checkpoints.test.js +147 -0
  969. package/lib/openzeppelin-contracts/test/utils/structs/CircularBuffer.test.js +83 -0
  970. package/lib/openzeppelin-contracts/test/utils/structs/DoubleEndedQueue.test.js +47 -41
  971. package/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.behavior.js +122 -89
  972. package/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.test.js +70 -73
  973. package/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.behavior.js +105 -61
  974. package/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.test.js +53 -33
  975. package/lib/openzeppelin-contracts/test/utils/structs/Heap.t.sol +74 -0
  976. package/lib/openzeppelin-contracts/test/utils/structs/Heap.test.js +113 -0
  977. package/lib/openzeppelin-contracts/test/utils/structs/MerkleTree.test.js +180 -0
  978. package/lib/openzeppelin-contracts/test/utils/types/Time.test.js +135 -0
  979. package/lib/openzeppelin-contracts-upgradeable/.changeset/all-geese-stand.md +5 -0
  980. package/lib/openzeppelin-contracts-upgradeable/.changeset/clean-ways-push.md +5 -0
  981. package/lib/openzeppelin-contracts-upgradeable/.changeset/config.json +12 -0
  982. package/lib/openzeppelin-contracts-upgradeable/.changeset/dull-students-eat.md +5 -0
  983. package/lib/openzeppelin-contracts-upgradeable/.changeset/eight-radios-check.md +5 -0
  984. package/lib/openzeppelin-contracts-upgradeable/.changeset/fine-frogs-bake.md +5 -0
  985. package/lib/openzeppelin-contracts-upgradeable/.changeset/full-ways-help.md +5 -0
  986. package/lib/openzeppelin-contracts-upgradeable/.changeset/funny-years-yawn.md +5 -0
  987. package/lib/openzeppelin-contracts-upgradeable/.changeset/hot-grapes-lie.md +5 -0
  988. package/lib/openzeppelin-contracts-upgradeable/.changeset/lazy-poets-cheer.md +5 -0
  989. package/lib/openzeppelin-contracts-upgradeable/.changeset/long-hornets-mate.md +5 -0
  990. package/lib/openzeppelin-contracts-upgradeable/.changeset/lucky-donuts-scream.md +5 -0
  991. package/lib/openzeppelin-contracts-upgradeable/.changeset/major-feet-write.md +5 -0
  992. package/lib/openzeppelin-contracts-upgradeable/.changeset/new-days-tease.md +5 -0
  993. package/lib/openzeppelin-contracts-upgradeable/.changeset/nice-rings-wish.md +5 -0
  994. package/lib/openzeppelin-contracts-upgradeable/.changeset/pink-dolls-shop.md +5 -0
  995. package/lib/openzeppelin-contracts-upgradeable/.changeset/popular-geese-tan.md +5 -0
  996. package/lib/openzeppelin-contracts-upgradeable/.changeset/proud-tables-sip.md +5 -0
  997. package/lib/openzeppelin-contracts-upgradeable/.changeset/public-crabs-heal.md +5 -0
  998. package/lib/openzeppelin-contracts-upgradeable/.changeset/quiet-kiwis-feel.md +5 -0
  999. package/lib/openzeppelin-contracts-upgradeable/.changeset/rare-shirts-unite.md +5 -0
  1000. package/lib/openzeppelin-contracts-upgradeable/.changeset/rich-cows-repair.md +5 -0
  1001. package/lib/openzeppelin-contracts-upgradeable/.changeset/ripe-bears-hide.md +5 -0
  1002. package/lib/openzeppelin-contracts-upgradeable/.changeset/rotten-apes-lie.md +5 -0
  1003. package/lib/openzeppelin-contracts-upgradeable/.changeset/social-walls-obey.md +5 -0
  1004. package/lib/openzeppelin-contracts-upgradeable/.changeset/sour-pens-shake.md +5 -0
  1005. package/lib/openzeppelin-contracts-upgradeable/.changeset/strong-points-change.md +5 -0
  1006. package/lib/openzeppelin-contracts-upgradeable/.changeset/tame-bears-mix.md +5 -0
  1007. package/lib/openzeppelin-contracts-upgradeable/.changeset/violet-turtles-like.md +5 -0
  1008. package/lib/openzeppelin-contracts-upgradeable/.changeset/wet-dodos-reply.md +5 -0
  1009. package/lib/openzeppelin-contracts-upgradeable/.changeset/whole-plums-speak.md +5 -0
  1010. package/lib/openzeppelin-contracts-upgradeable/.changeset/wild-baths-buy.md +5 -0
  1011. package/lib/openzeppelin-contracts-upgradeable/.codecov.yml +4 -0
  1012. package/lib/openzeppelin-contracts-upgradeable/.github/CODEOWNERS +10 -0
  1013. package/lib/openzeppelin-contracts-upgradeable/.github/ISSUE_TEMPLATE/config.yml +4 -0
  1014. package/lib/openzeppelin-contracts-upgradeable/.github/PULL_REQUEST_TEMPLATE.md +1 -1
  1015. package/lib/openzeppelin-contracts-upgradeable/.github/actions/gas-compare/action.yml +7 -5
  1016. package/lib/openzeppelin-contracts-upgradeable/.github/actions/setup/action.yml +9 -7
  1017. package/lib/openzeppelin-contracts-upgradeable/.github/actions/storage-layout/action.yml +57 -0
  1018. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/actionlint.yml +18 -0
  1019. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/changeset.yml +28 -0
  1020. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/checks.yml +67 -36
  1021. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/docs.yml +1 -1
  1022. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/formal-verification.yml +86 -0
  1023. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/release-cycle.yml +214 -0
  1024. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/upgradeable.yml +34 -0
  1025. package/lib/openzeppelin-contracts-upgradeable/.gitmodules +11 -0
  1026. package/lib/openzeppelin-contracts-upgradeable/.husky/pre-commit +2 -0
  1027. package/lib/openzeppelin-contracts-upgradeable/.prettierrc +5 -4
  1028. package/lib/openzeppelin-contracts-upgradeable/.solcover.js +19 -13
  1029. package/lib/openzeppelin-contracts-upgradeable/CHANGELOG.md +918 -328
  1030. package/lib/openzeppelin-contracts-upgradeable/CODE_OF_CONDUCT.md +2 -2
  1031. package/lib/openzeppelin-contracts-upgradeable/CONTRIBUTING.md +19 -47
  1032. package/lib/openzeppelin-contracts-upgradeable/FUNDING.json +10 -0
  1033. package/lib/openzeppelin-contracts-upgradeable/GUIDELINES.md +115 -65
  1034. package/lib/openzeppelin-contracts-upgradeable/LICENSE +1 -1
  1035. package/lib/openzeppelin-contracts-upgradeable/README.md +55 -47
  1036. package/lib/openzeppelin-contracts-upgradeable/RELEASING.md +32 -23
  1037. package/lib/openzeppelin-contracts-upgradeable/SECURITY.md +34 -11
  1038. package/lib/openzeppelin-contracts-upgradeable/audits/2017-03.md +292 -0
  1039. package/lib/openzeppelin-contracts-upgradeable/audits/2022-10-Checkpoints.pdf +0 -0
  1040. package/lib/openzeppelin-contracts-upgradeable/audits/2022-10-ERC4626.pdf +0 -0
  1041. package/lib/openzeppelin-contracts-upgradeable/audits/2023-05-v4.9.pdf +0 -0
  1042. package/lib/openzeppelin-contracts-upgradeable/audits/2023-10-v5.0.pdf +0 -0
  1043. package/lib/openzeppelin-contracts-upgradeable/audits/2024-10-v5.1.pdf +0 -0
  1044. package/lib/openzeppelin-contracts-upgradeable/audits/2024-12-v5.2.pdf +0 -0
  1045. package/lib/openzeppelin-contracts-upgradeable/audits/2025-04-v5.3.pdf +0 -0
  1046. package/lib/openzeppelin-contracts-upgradeable/audits/README.md +20 -0
  1047. package/lib/openzeppelin-contracts-upgradeable/certora/Makefile +44 -14
  1048. package/lib/openzeppelin-contracts-upgradeable/certora/README.md +43 -39
  1049. package/lib/openzeppelin-contracts-upgradeable/certora/diff/access_manager_AccessManager.sol.patch +97 -0
  1050. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/AccessControlDefaultAdminRulesHarness.sol +46 -0
  1051. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/AccessControlHarness.sol +6 -0
  1052. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/AccessManagedHarness.sol +36 -0
  1053. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/AccessManagerHarness.sol +116 -0
  1054. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/DoubleEndedQueueHarness.sol +58 -0
  1055. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC20FlashMintHarness.sol +36 -0
  1056. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC20PermitHarness.sol +16 -0
  1057. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC20WrapperHarness.sol +34 -0
  1058. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
  1059. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC721Harness.sol +33 -0
  1060. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC721ReceiverHarness.sol +11 -0
  1061. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/EnumerableMapHarness.sol +55 -0
  1062. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/EnumerableSetHarness.sol +35 -0
  1063. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/InitializableHarness.sol +23 -0
  1064. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/NoncesHarness.sol +14 -0
  1065. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/Ownable2StepHarness.sol +10 -0
  1066. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/OwnableHarness.sol +10 -0
  1067. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/PausableHarness.sol +18 -0
  1068. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/TimelockControllerHarness.sol +13 -0
  1069. package/lib/openzeppelin-contracts-upgradeable/certora/reports/2021-10.pdf +0 -0
  1070. package/lib/openzeppelin-contracts-upgradeable/certora/reports/2022-03.pdf +0 -0
  1071. package/lib/openzeppelin-contracts-upgradeable/certora/reports/2022-05.pdf +0 -0
  1072. package/lib/openzeppelin-contracts-upgradeable/certora/run.js +168 -0
  1073. package/lib/openzeppelin-contracts-upgradeable/certora/specs/AccessControl.spec +119 -0
  1074. package/lib/openzeppelin-contracts-upgradeable/certora/specs/AccessControlDefaultAdminRules.spec +464 -0
  1075. package/lib/openzeppelin-contracts-upgradeable/certora/specs/AccessManaged.spec +34 -0
  1076. package/lib/openzeppelin-contracts-upgradeable/certora/specs/AccessManager.spec +826 -0
  1077. package/lib/openzeppelin-contracts-upgradeable/certora/specs/DoubleEndedQueue.spec +300 -0
  1078. package/lib/openzeppelin-contracts-upgradeable/certora/specs/ERC20.spec +352 -0
  1079. package/lib/openzeppelin-contracts-upgradeable/certora/specs/ERC20FlashMint.spec +55 -0
  1080. package/lib/openzeppelin-contracts-upgradeable/certora/specs/ERC20Wrapper.spec +198 -0
  1081. package/lib/openzeppelin-contracts-upgradeable/certora/specs/ERC721.spec +679 -0
  1082. package/lib/openzeppelin-contracts-upgradeable/certora/specs/EnumerableMap.spec +333 -0
  1083. package/lib/openzeppelin-contracts-upgradeable/certora/specs/EnumerableSet.spec +246 -0
  1084. package/lib/openzeppelin-contracts-upgradeable/certora/specs/Initializable.spec +165 -0
  1085. package/lib/openzeppelin-contracts-upgradeable/certora/specs/Nonces.spec +92 -0
  1086. package/lib/openzeppelin-contracts-upgradeable/certora/specs/Ownable.spec +77 -0
  1087. package/lib/openzeppelin-contracts-upgradeable/certora/specs/Ownable2Step.spec +108 -0
  1088. package/lib/openzeppelin-contracts-upgradeable/certora/specs/Pausable.spec +96 -0
  1089. package/lib/openzeppelin-contracts-upgradeable/certora/specs/TimelockController.spec +274 -0
  1090. package/lib/openzeppelin-contracts-upgradeable/certora/specs/helpers/helpers.spec +12 -0
  1091. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IAccessControl.spec +8 -0
  1092. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
  1093. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IAccessManaged.spec +5 -0
  1094. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IAccessManager.spec +33 -0
  1095. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC20.spec +11 -0
  1096. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC2612.spec +5 -0
  1097. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC3156FlashBorrower.spec +3 -0
  1098. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC3156FlashLender.spec +5 -0
  1099. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC5313.spec +3 -0
  1100. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC721.spec +17 -0
  1101. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IERC721Receiver.spec +3 -0
  1102. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IOwnable.spec +5 -0
  1103. package/lib/openzeppelin-contracts-upgradeable/certora/specs/methods/IOwnable2Step.spec +7 -0
  1104. package/lib/openzeppelin-contracts-upgradeable/certora/specs.json +110 -0
  1105. package/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol +71 -99
  1106. package/lib/openzeppelin-contracts-upgradeable/contracts/access/Ownable2StepUpgradeable.sol +38 -21
  1107. package/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol +50 -26
  1108. package/lib/openzeppelin-contracts-upgradeable/contracts/access/README.adoc +23 -3
  1109. package/lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol +401 -0
  1110. package/lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlEnumerableUpgradeable.sol +104 -0
  1111. package/lib/openzeppelin-contracts-upgradeable/contracts/access/manager/AccessManagedUpgradeable.sol +133 -0
  1112. package/lib/openzeppelin-contracts-upgradeable/contracts/access/manager/AccessManagerUpgradeable.sol +783 -0
  1113. package/lib/openzeppelin-contracts-upgradeable/contracts/account/README.adoc +30 -0
  1114. package/lib/openzeppelin-contracts-upgradeable/contracts/account/extensions/draft-AccountERC7579HookedUpgradeable.sol +127 -0
  1115. package/lib/openzeppelin-contracts-upgradeable/contracts/account/extensions/draft-AccountERC7579Upgradeable.sol +426 -0
  1116. package/lib/openzeppelin-contracts-upgradeable/contracts/finance/README.adoc +1 -7
  1117. package/lib/openzeppelin-contracts-upgradeable/contracts/finance/VestingWalletCliffUpgradeable.sol +73 -0
  1118. package/lib/openzeppelin-contracts-upgradeable/contracts/finance/VestingWalletUpgradeable.sol +79 -59
  1119. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/GovernorUpgradeable.sol +509 -269
  1120. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/README.adoc +37 -16
  1121. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/TimelockControllerUpgradeable.sol +186 -131
  1122. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorCountingFractionalUpgradeable.sol +214 -0
  1123. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorCountingOverridableUpgradeable.sol +248 -0
  1124. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorCountingSimpleUpgradeable.sol +51 -51
  1125. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorNoncesKeyedUpgradeable.sol +96 -0
  1126. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorPreventLateQuorumUpgradeable.sol +46 -53
  1127. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorProposalGuardianUpgradeable.sol +78 -0
  1128. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorSequentialProposalIdUpgradeable.sol +98 -0
  1129. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorSettingsUpgradeable.sol +50 -50
  1130. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorStorageUpgradeable.sol +150 -0
  1131. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorSuperQuorumUpgradeable.sol +64 -0
  1132. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorTimelockAccessUpgradeable.sol +376 -0
  1133. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorTimelockCompoundUpgradeable.sol +77 -91
  1134. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorTimelockControlUpgradeable.sol +84 -70
  1135. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorVotesQuorumFractionUpgradeable.sol +51 -49
  1136. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorVotesSuperQuorumFractionUpgradeable.sol +155 -0
  1137. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorVotesUpgradeable.sol +60 -23
  1138. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesExtendedUpgradeable.sol +106 -0
  1139. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol +143 -87
  1140. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/README.adoc +50 -1
  1141. package/lib/openzeppelin-contracts-upgradeable/contracts/metatx/ERC2771ContextUpgradeable.sol +60 -20
  1142. package/lib/openzeppelin-contracts-upgradeable/contracts/metatx/ERC2771ForwarderUpgradeable.sol +380 -0
  1143. package/lib/openzeppelin-contracts-upgradeable/contracts/metatx/README.adoc +6 -1
  1144. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessManagedTargetUpgradeable.sol +40 -0
  1145. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessManagerMockUpgradeable.sol +25 -0
  1146. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ArraysMockUpgradeable.sol +133 -26
  1147. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AuthorityMockUpgradeable.sol +95 -0
  1148. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/Base64DirtyUpgradeable.sol +25 -0
  1149. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/BatchCallerUpgradeable.sol +26 -0
  1150. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/CallReceiverMockUpgradeable.sol +35 -17
  1151. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ConstructorMockUpgradeable.sol +39 -0
  1152. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ContextMockUpgradeable.sol +11 -23
  1153. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/DummyImplementationUpgradeable.sol +14 -31
  1154. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EIP712VerifierUpgradeable.sol +22 -0
  1155. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1271WalletMockUpgradeable.sol +12 -29
  1156. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165InterfacesSupportedUpgradeable.sol +6 -20
  1157. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165MaliciousDataUpgradeable.sol +2 -9
  1158. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165MissingDataUpgradeable.sol +2 -9
  1159. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165NotSupportedUpgradeable.sol +2 -9
  1160. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165ReturnBombUpgradeable.sol +5 -12
  1161. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC2771ContextMockUpgradeable.sol +10 -11
  1162. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC3156FlashBorrowerMockUpgradeable.sol +12 -19
  1163. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EtherReceiverMockUpgradeable.sol +4 -11
  1164. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/InitializableMock.sol +6 -6
  1165. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MerkleProofCustomHashMockUpgradeable.sol +68 -0
  1166. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MerkleTreeMockUpgradeable.sol +58 -0
  1167. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MulticallHelperUpgradeable.sol +29 -0
  1168. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MultipleInheritanceInitializableMocks.sol +7 -12
  1169. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/PausableMockUpgradeable.sol +3 -11
  1170. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ReentrancyAttackUpgradeable.sol +5 -12
  1171. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ReentrancyMockUpgradeable.sol +13 -13
  1172. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ReentrancyTransientMockUpgradeable.sol +55 -0
  1173. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/RegressionImplementation.sol +2 -2
  1174. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SingleInheritanceInitializableMocks.sol +2 -2
  1175. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/StatelessUpgradeable.sol +61 -0
  1176. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/StorageSlotMockUpgradeable.sol +62 -23
  1177. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/TimelockReentrantUpgradeable.sol +32 -0
  1178. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/TransientSlotMockUpgradeable.sol +67 -0
  1179. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/UpgradeableBeaconMockUpgradeable.sol +34 -0
  1180. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/VotesExtendedMockUpgradeable.sol +53 -0
  1181. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/VotesMockUpgradeable.sol +28 -27
  1182. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/WithInit.sol +849 -740
  1183. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/account/AccountMockUpgradeable.sol +223 -0
  1184. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/account/modules/ERC7579MockUpgradeable.sol +138 -0
  1185. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/account/utils/ERC7579UtilsMockUpgradeable.sol +29 -0
  1186. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/compound/CompTimelockUpgradeable.sol +2 -9
  1187. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/ERC20WithAutoMinerRewardUpgradeable.sol +28 -0
  1188. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/ERC4626FeesUpgradeable.sol +115 -0
  1189. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/MyNFTUpgradeable.sol +14 -0
  1190. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessControlERC20MintBaseUpgradeable.sol +31 -0
  1191. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessControlERC20MintMissingUpgradeable.sol +30 -0
  1192. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessControlERC20MintOnlyRoleUpgradeable.sol +29 -0
  1193. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessControlModifiedUpgradeable.sol +20 -0
  1194. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/AccessManagedERC20MintBaseUpgradeable.sol +22 -0
  1195. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/access-control/MyContractOwnableUpgradeable.sol +22 -0
  1196. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/account/MyAccountERC7702Upgradeable.sol +26 -0
  1197. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/account/MyFactoryAccountUpgradeable.sol +42 -0
  1198. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/governance/MyGovernorUpgradeable.sol +92 -0
  1199. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/governance/MyTokenTimestampBasedUpgradeable.sol +39 -0
  1200. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/governance/MyTokenUpgradeable.sol +28 -0
  1201. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/governance/MyTokenWrappedUpgradeable.sol +39 -0
  1202. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC1155/GameItemsUpgradeable.sol +27 -0
  1203. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC1155/MyERC115HolderContractUpgradeable.sol +13 -0
  1204. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC20/GLDTokenUpgradeable.sol +17 -0
  1205. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC6909/ERC6909GameItemsUpgradeable.sol +31 -0
  1206. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/token/ERC721/GameItemUpgradeable.sol +24 -0
  1207. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/utilities/Base64NFTUpgradeable.sol +32 -0
  1208. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/docs/utilities/MulticallUpgradeable.sol +21 -0
  1209. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorCountingOverridableMockUpgradeable.sol +24 -0
  1210. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorFractionalMockUpgradeable.sol +20 -0
  1211. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorMockUpgradeable.sol +20 -0
  1212. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorNoncesKeyedMockUpgradeable.sol +51 -0
  1213. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorPreventLateQuorumMockUpgradeable.sol +45 -0
  1214. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorProposalGuardianMockUpgradeable.sol +33 -0
  1215. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorSequentialProposalIdMockUpgradeable.sol +45 -0
  1216. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorStorageMockUpgradeable.sol +85 -0
  1217. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorSuperQuorumMockUpgradeable.sol +100 -0
  1218. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorTimelockAccessMockUpgradeable.sol +76 -0
  1219. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorTimelockCompoundMockUpgradeable.sol +75 -0
  1220. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorTimelockControlMockUpgradeable.sol +75 -0
  1221. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorVoteMockUpgradeable.sol +26 -0
  1222. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorVotesSuperQuorumFractionMockUpgradeable.sol +43 -0
  1223. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/governance/GovernorWithParamsMockUpgradeable.sol +57 -0
  1224. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/proxy/BadBeaconUpgradeable.sol +22 -0
  1225. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/proxy/ClashingImplementationUpgradeable.sol +25 -0
  1226. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/proxy/UUPSUpgradeableMockUpgradeable.sol +56 -0
  1227. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1155ReceiverMockUpgradeable.sol +79 -0
  1228. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1363ForceApproveMockUpgradeable.sol +19 -0
  1229. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1363NoReturnMockUpgradeable.sol +39 -0
  1230. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1363ReceiverMockUpgradeable.sol +57 -0
  1231. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1363ReturnFalseMockUpgradeable.sol +46 -0
  1232. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC1363SpenderMockUpgradeable.sol +52 -0
  1233. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20ApprovalMockUpgradeable.sol +16 -0
  1234. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20BridgeableMockUpgradeable.sol +31 -0
  1235. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20DecimalsMockUpgradeable.sol +22 -0
  1236. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20ExcessDecimalsMockUpgradeable.sol +15 -0
  1237. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20FlashMintMockUpgradeable.sol +32 -0
  1238. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20ForceApproveMockUpgradeable.sol +19 -0
  1239. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20GetterHelperUpgradeable.sol +44 -0
  1240. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20MockUpgradeable.sol +21 -0
  1241. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20MulticallMockUpgradeable.sol +14 -0
  1242. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20NoReturnMockUpgradeable.sol +34 -0
  1243. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20ReentrantUpgradeable.sol +46 -0
  1244. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20ReturnFalseMockUpgradeable.sol +25 -0
  1245. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20VotesAdditionalCheckpointsMockUpgradeable.sol +42 -0
  1246. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20VotesLegacyMockUpgradeable.sol +259 -0
  1247. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC20VotesTimestampMockUpgradeable.sol +40 -0
  1248. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC4626LimitsMockUpgradeable.sol +28 -0
  1249. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC4626MockUpgradeable.sol +24 -0
  1250. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC4626OffsetMockUpgradeable.sol +22 -0
  1251. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC4646FeesMockUpgradeable.sol +50 -0
  1252. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC721ConsecutiveEnumerableMockUpgradeable.sol +53 -0
  1253. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC721ConsecutiveMockUpgradeable.sol +80 -0
  1254. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC721ReceiverMockUpgradeable.sol +52 -0
  1255. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/token/ERC721URIStorageMockUpgradeable.sol +23 -0
  1256. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/utils/cryptography/ERC7739MockUpgradeable.sol +29 -0
  1257. package/lib/openzeppelin-contracts-upgradeable/contracts/package.json +7 -4
  1258. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/README.adoc +13 -11
  1259. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol +108 -35
  1260. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol +84 -40
  1261. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol +227 -343
  1262. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/README.adoc +6 -12
  1263. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol +12 -31
  1264. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol +12 -26
  1265. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol +63 -31
  1266. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155URIStorageUpgradeable.sol +37 -30
  1267. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/utils/ERC1155HolderUpgradeable.sol +13 -15
  1268. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol +168 -239
  1269. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/README.adoc +28 -36
  1270. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC1363Upgradeable.sol +142 -0
  1271. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20BurnableUpgradeable.sol +14 -21
  1272. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20CappedUpgradeable.sol +45 -23
  1273. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20FlashMintUpgradeable.sol +60 -42
  1274. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20PausableUpgradeable.sol +10 -24
  1275. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20PermitUpgradeable.sol +82 -0
  1276. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20VotesUpgradeable.sol +46 -245
  1277. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20WrapperUpgradeable.sol +71 -34
  1278. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol +156 -148
  1279. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-ERC20BridgeableUpgradeable.sol +57 -0
  1280. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-ERC20TemporaryApprovalUpgradeable.sol +126 -0
  1281. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC6909/README.adoc +27 -0
  1282. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC6909/draft-ERC6909Upgradeable.sol +250 -0
  1283. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC6909/extensions/draft-ERC6909ContentURIUpgradeable.sol +75 -0
  1284. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC6909/extensions/draft-ERC6909MetadataUpgradeable.sol +101 -0
  1285. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC6909/extensions/draft-ERC6909TokenSupplyUpgradeable.sol +55 -0
  1286. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol +288 -347
  1287. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/README.adoc +11 -12
  1288. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol +10 -17
  1289. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721ConsecutiveUpgradeable.sol +106 -69
  1290. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol +100 -83
  1291. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721PausableUpgradeable.sol +13 -24
  1292. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721RoyaltyUpgradeable.sol +11 -30
  1293. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol +45 -42
  1294. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721VotesUpgradeable.sol +20 -21
  1295. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721WrapperUpgradeable.sol +122 -0
  1296. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/utils/ERC721HolderUpgradeable.sol +8 -19
  1297. package/lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.sol +86 -47
  1298. package/lib/openzeppelin-contracts-upgradeable/contracts/token/common/README.adoc +2 -2
  1299. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol +6 -9
  1300. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/MulticallUpgradeable.sol +20 -28
  1301. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesKeyedUpgradeable.sol +94 -0
  1302. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol +66 -0
  1303. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/PausableUpgradeable.sol +133 -0
  1304. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/README.adoc +79 -45
  1305. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardTransientUpgradeable.sol +67 -0
  1306. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol +108 -0
  1307. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol +127 -41
  1308. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/README.adoc +67 -0
  1309. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/MultiSignerERC7913Upgradeable.sol +276 -0
  1310. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/MultiSignerERC7913WeightedUpgradeable.sol +229 -0
  1311. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/SignerECDSAUpgradeable.sol +74 -0
  1312. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/SignerERC7913Upgradeable.sol +81 -0
  1313. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/SignerP256Upgradeable.sol +82 -0
  1314. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/SignerRSAUpgradeable.sol +83 -0
  1315. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/signers/draft-ERC7739Upgradeable.sol +104 -0
  1316. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol +9 -20
  1317. package/lib/openzeppelin-contracts-upgradeable/docs/antora.yml +2 -1
  1318. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/access-control-multiple.svg +97 -0
  1319. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/access-manager-functions.svg +47 -0
  1320. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/access-manager.svg +99 -0
  1321. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
  1322. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
  1323. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
  1324. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-attack.png +0 -0
  1325. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
  1326. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-mint.png +0 -0
  1327. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
  1328. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
  1329. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
  1330. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/nav.adoc +13 -7
  1331. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/access-control.adoc +168 -97
  1332. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/account-abstraction.adoc +100 -0
  1333. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/accounts.adoc +354 -0
  1334. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/backwards-compatibility.adoc +50 -0
  1335. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/eoa-delegation.adoc +143 -0
  1336. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc1155.adoc +19 -54
  1337. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc20-supply.adoc +13 -55
  1338. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc20.adoc +7 -25
  1339. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc4626.adoc +214 -0
  1340. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc6909.adoc +47 -0
  1341. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc721.adoc +10 -42
  1342. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/extending-contracts.adoc +4 -82
  1343. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/faq.adoc +13 -0
  1344. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/governance.adoc +85 -167
  1345. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/index.adoc +19 -12
  1346. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/multisig.adoc +306 -0
  1347. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/tokens.adoc +4 -5
  1348. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/upgradeable.adoc +14 -10
  1349. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/utilities.adoc +482 -81
  1350. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/wizard.adoc +1 -1
  1351. package/lib/openzeppelin-contracts-upgradeable/docs/templates/contract.hbs +57 -1
  1352. package/lib/openzeppelin-contracts-upgradeable/docs/templates/helpers.js +8 -8
  1353. package/lib/openzeppelin-contracts-upgradeable/docs/templates/properties.js +47 -8
  1354. package/lib/openzeppelin-contracts-upgradeable/eslint.config.mjs +26 -0
  1355. package/lib/openzeppelin-contracts-upgradeable/foundry.toml +15 -0
  1356. package/lib/openzeppelin-contracts-upgradeable/fv-requirements.txt +4 -0
  1357. package/lib/openzeppelin-contracts-upgradeable/hardhat/async-test-sanity.js +10 -0
  1358. package/lib/openzeppelin-contracts-upgradeable/hardhat/common-contracts.js +69 -0
  1359. package/lib/openzeppelin-contracts-upgradeable/hardhat/env-artifacts.js +15 -6
  1360. package/lib/openzeppelin-contracts-upgradeable/hardhat/ignore-unreachable-warnings.js +2 -4
  1361. package/lib/openzeppelin-contracts-upgradeable/hardhat/remappings.js +18 -0
  1362. package/lib/openzeppelin-contracts-upgradeable/hardhat/skip-foundry-tests.js +3 -4
  1363. package/lib/openzeppelin-contracts-upgradeable/hardhat/task-test-get-files.js +22 -16
  1364. package/lib/openzeppelin-contracts-upgradeable/hardhat.config.js +67 -49
  1365. package/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/ERC4626.prop.sol +404 -0
  1366. package/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/ERC4626.test.sol +356 -0
  1367. package/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/LICENSE +661 -0
  1368. package/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/README.md +116 -0
  1369. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/.gitattributes +1 -0
  1370. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/.github/workflows/ci.yml +48 -12
  1371. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/.github/workflows/sync.yml +31 -0
  1372. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/CONTRIBUTING.md +193 -0
  1373. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/README.md +19 -3
  1374. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/foundry.toml +5 -3
  1375. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/package.json +2 -2
  1376. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/scripts/vm.py +646 -0
  1377. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/Base.sol +7 -3
  1378. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/Script.sol +4 -3
  1379. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdAssertions.sol +595 -135
  1380. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdChains.sol +146 -48
  1381. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdCheats.sol +303 -39
  1382. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdInvariant.sol +122 -0
  1383. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdJson.sol +129 -25
  1384. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdStorage.sol +245 -99
  1385. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdStyle.sol +333 -0
  1386. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdToml.sol +283 -0
  1387. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdUtils.sol +125 -39
  1388. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/Test.sol +10 -5
  1389. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/Vm.sol +2182 -304
  1390. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/console.sol +635 -608
  1391. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/console2.sol +1 -1543
  1392. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/interfaces/IERC4626.sol +2 -2
  1393. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
  1394. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/safeconsole.sol +13937 -0
  1395. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdAssertions.t.sol +126 -572
  1396. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdChains.t.sol +166 -62
  1397. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdCheats.t.sol +348 -35
  1398. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdError.t.sol +15 -13
  1399. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdJson.t.sol +49 -0
  1400. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdMath.t.sol +31 -26
  1401. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdStorage.t.sol +251 -46
  1402. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdStyle.t.sol +110 -0
  1403. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdToml.t.sol +49 -0
  1404. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdUtils.t.sol +186 -35
  1405. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/Vm.t.sol +18 -0
  1406. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/fixtures/test.json +8 -0
  1407. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/fixtures/test.toml +6 -0
  1408. package/lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/LICENSE +661 -0
  1409. package/lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/README.md +97 -0
  1410. package/lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/SVM.sol +49 -0
  1411. package/lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/SymTest.sol +11 -0
  1412. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/all-geese-stand.md +5 -0
  1413. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/clean-ways-push.md +5 -0
  1414. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/config.json +12 -0
  1415. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/dull-students-eat.md +5 -0
  1416. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/eight-radios-check.md +5 -0
  1417. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/fine-frogs-bake.md +5 -0
  1418. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/full-ways-help.md +5 -0
  1419. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/funny-years-yawn.md +5 -0
  1420. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/hot-grapes-lie.md +5 -0
  1421. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/lazy-poets-cheer.md +5 -0
  1422. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/long-hornets-mate.md +5 -0
  1423. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/lucky-donuts-scream.md +5 -0
  1424. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/major-feet-write.md +5 -0
  1425. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/new-days-tease.md +5 -0
  1426. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/nice-rings-wish.md +5 -0
  1427. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/pink-dolls-shop.md +5 -0
  1428. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/popular-geese-tan.md +5 -0
  1429. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/proud-tables-sip.md +5 -0
  1430. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/public-crabs-heal.md +5 -0
  1431. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/quiet-kiwis-feel.md +5 -0
  1432. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/rare-shirts-unite.md +5 -0
  1433. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/rich-cows-repair.md +5 -0
  1434. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/ripe-bears-hide.md +5 -0
  1435. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/rotten-apes-lie.md +5 -0
  1436. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/social-walls-obey.md +5 -0
  1437. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/sour-pens-shake.md +5 -0
  1438. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/strong-points-change.md +5 -0
  1439. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/tame-bears-mix.md +5 -0
  1440. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/violet-turtles-like.md +5 -0
  1441. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/wet-dodos-reply.md +5 -0
  1442. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/whole-plums-speak.md +5 -0
  1443. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.changeset/wild-baths-buy.md +5 -0
  1444. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.codecov.yml +16 -0
  1445. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.editorconfig +21 -0
  1446. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/CODEOWNERS +10 -0
  1447. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
  1448. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/config.yml +4 -0
  1449. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/PULL_REQUEST_TEMPLATE.md +20 -0
  1450. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/actions/gas-compare/action.yml +51 -0
  1451. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/actions/setup/action.yml +22 -0
  1452. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/actions/storage-layout/action.yml +57 -0
  1453. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/actionlint.yml +18 -0
  1454. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/changeset.yml +28 -0
  1455. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/checks.yml +132 -0
  1456. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/docs.yml +19 -0
  1457. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/formal-verification.yml +86 -0
  1458. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/release-cycle.yml +214 -0
  1459. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.github/workflows/upgradeable.yml +34 -0
  1460. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.gitmodules +10 -0
  1461. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.husky/pre-commit +2 -0
  1462. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.mocharc.js +4 -0
  1463. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.prettierrc +15 -0
  1464. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/.solcover.js +21 -0
  1465. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/CHANGELOG.md +1220 -0
  1466. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/CODE_OF_CONDUCT.md +73 -0
  1467. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/CONTRIBUTING.md +36 -0
  1468. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/FUNDING.json +10 -0
  1469. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/GUIDELINES.md +155 -0
  1470. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/LICENSE +22 -0
  1471. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/README.md +108 -0
  1472. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/RELEASING.md +45 -0
  1473. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/SECURITY.md +43 -0
  1474. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2017-03.md +292 -0
  1475. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2022-10-Checkpoints.pdf +0 -0
  1476. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2022-10-ERC4626.pdf +0 -0
  1477. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2023-05-v4.9.pdf +0 -0
  1478. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2023-10-v5.0.pdf +0 -0
  1479. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2024-10-v5.1.pdf +0 -0
  1480. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2024-12-v5.2.pdf +0 -0
  1481. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/2025-04-v5.3.pdf +0 -0
  1482. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits/README.md +20 -0
  1483. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/Makefile +54 -0
  1484. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/README.md +60 -0
  1485. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/diff/access_manager_AccessManager.sol.patch +97 -0
  1486. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/AccessControlDefaultAdminRulesHarness.sol +46 -0
  1487. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/AccessControlHarness.sol +6 -0
  1488. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/AccessManagedHarness.sol +36 -0
  1489. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/AccessManagerHarness.sol +116 -0
  1490. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/DoubleEndedQueueHarness.sol +58 -0
  1491. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC20FlashMintHarness.sol +36 -0
  1492. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC20PermitHarness.sol +16 -0
  1493. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC20WrapperHarness.sol +34 -0
  1494. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
  1495. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC721Harness.sol +33 -0
  1496. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/ERC721ReceiverHarness.sol +11 -0
  1497. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/EnumerableMapHarness.sol +55 -0
  1498. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/EnumerableSetHarness.sol +35 -0
  1499. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/InitializableHarness.sol +23 -0
  1500. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/NoncesHarness.sol +14 -0
  1501. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/Ownable2StepHarness.sol +10 -0
  1502. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/OwnableHarness.sol +10 -0
  1503. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/PausableHarness.sol +18 -0
  1504. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/harnesses/TimelockControllerHarness.sol +13 -0
  1505. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/reports/2021-10.pdf +0 -0
  1506. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/reports/2022-03.pdf +0 -0
  1507. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/reports/2022-05.pdf +0 -0
  1508. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/run.js +168 -0
  1509. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/AccessControl.spec +119 -0
  1510. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/AccessControlDefaultAdminRules.spec +464 -0
  1511. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/AccessManaged.spec +34 -0
  1512. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/AccessManager.spec +826 -0
  1513. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/DoubleEndedQueue.spec +300 -0
  1514. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/ERC20.spec +352 -0
  1515. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/ERC20FlashMint.spec +55 -0
  1516. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/ERC20Wrapper.spec +198 -0
  1517. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/ERC721.spec +679 -0
  1518. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/EnumerableMap.spec +333 -0
  1519. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/EnumerableSet.spec +246 -0
  1520. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/Initializable.spec +165 -0
  1521. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/Nonces.spec +92 -0
  1522. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/Ownable.spec +77 -0
  1523. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/Ownable2Step.spec +108 -0
  1524. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/Pausable.spec +96 -0
  1525. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/TimelockController.spec +274 -0
  1526. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/helpers/helpers.spec +12 -0
  1527. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IAccessControl.spec +8 -0
  1528. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
  1529. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IAccessManaged.spec +5 -0
  1530. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IAccessManager.spec +33 -0
  1531. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC20.spec +11 -0
  1532. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC2612.spec +5 -0
  1533. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC3156FlashBorrower.spec +3 -0
  1534. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC3156FlashLender.spec +5 -0
  1535. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC5313.spec +3 -0
  1536. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC721.spec +17 -0
  1537. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IERC721Receiver.spec +3 -0
  1538. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IOwnable.spec +5 -0
  1539. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs/methods/IOwnable2Step.spec +7 -0
  1540. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/certora/specs.json +110 -0
  1541. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/AccessControl.sol +207 -0
  1542. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol +98 -0
  1543. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/Ownable.sol +100 -0
  1544. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol +67 -0
  1545. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/README.adoc +45 -0
  1546. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol +372 -0
  1547. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/extensions/AccessControlEnumerable.sol +81 -0
  1548. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol +192 -0
  1549. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlEnumerable.sol +31 -0
  1550. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/AccessManaged.sol +112 -0
  1551. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/AccessManager.sol +740 -0
  1552. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/AuthorityUtils.sol +36 -0
  1553. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/IAccessManaged.sol +32 -0
  1554. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/IAccessManager.sol +399 -0
  1555. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/access/manager/IAuthority.sol +14 -0
  1556. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/Account.sol +144 -0
  1557. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/README.adoc +30 -0
  1558. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/extensions/draft-AccountERC7579.sol +413 -0
  1559. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/extensions/draft-AccountERC7579Hooked.sol +106 -0
  1560. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/extensions/draft-ERC7821.sol +69 -0
  1561. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/utils/EIP7702Utils.sol +20 -0
  1562. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/utils/draft-ERC4337Utils.sol +159 -0
  1563. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/account/utils/draft-ERC7579Utils.sol +280 -0
  1564. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/finance/README.adoc +14 -0
  1565. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/finance/VestingWallet.sol +159 -0
  1566. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/finance/VestingWalletCliff.sol +54 -0
  1567. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/Governor.sol +818 -0
  1568. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/IGovernor.sol +454 -0
  1569. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/README.adoc +197 -0
  1570. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/TimelockController.sol +471 -0
  1571. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingFractional.sol +190 -0
  1572. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingOverridable.sol +222 -0
  1573. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol +96 -0
  1574. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorNoncesKeyed.sol +90 -0
  1575. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorPreventLateQuorum.sol +92 -0
  1576. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalGuardian.sol +58 -0
  1577. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSequentialProposalId.sol +75 -0
  1578. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSettings.sol +106 -0
  1579. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorStorage.sol +125 -0
  1580. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSuperQuorum.sol +58 -0
  1581. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockAccess.sol +346 -0
  1582. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockCompound.sol +165 -0
  1583. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol +167 -0
  1584. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol +63 -0
  1585. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +113 -0
  1586. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol +134 -0
  1587. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol +59 -0
  1588. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol +252 -0
  1589. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/governance/utils/VotesExtended.sol +84 -0
  1590. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1155.sol +6 -0
  1591. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1155MetadataURI.sol +6 -0
  1592. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1155Receiver.sol +6 -0
  1593. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol +17 -0
  1594. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol +86 -0
  1595. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Receiver.sol +32 -0
  1596. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Spender.sol +26 -0
  1597. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol +6 -0
  1598. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Implementer.sol +20 -0
  1599. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Registry.sol +112 -0
  1600. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol +24 -0
  1601. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol +6 -0
  1602. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC20Metadata.sol +6 -0
  1603. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol +19 -0
  1604. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC2612.sol +8 -0
  1605. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC2981.sol +26 -0
  1606. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC3156.sol +7 -0
  1607. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol +27 -0
  1608. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol +41 -0
  1609. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol +230 -0
  1610. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol +20 -0
  1611. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol +28 -0
  1612. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol +16 -0
  1613. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol +9 -0
  1614. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol +17 -0
  1615. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol +6 -0
  1616. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC721Enumerable.sol +6 -0
  1617. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC721Metadata.sol +6 -0
  1618. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC721Receiver.sol +6 -0
  1619. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC777.sol +200 -0
  1620. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC777Recipient.sol +35 -0
  1621. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC777Sender.sol +35 -0
  1622. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/IERC7913.sol +17 -0
  1623. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/README.adoc +105 -0
  1624. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol +20 -0
  1625. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC4337.sol +253 -0
  1626. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol +161 -0
  1627. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6909.sol +125 -0
  1628. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7579.sol +226 -0
  1629. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7674.sol +17 -0
  1630. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7786.sol +64 -0
  1631. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7802.sol +30 -0
  1632. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7821.sol +43 -0
  1633. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol +90 -0
  1634. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/metatx/ERC2771Forwarder.sol +372 -0
  1635. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/metatx/README.adoc +17 -0
  1636. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/AccessManagedTarget.sol +34 -0
  1637. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/AccessManagerMock.sol +20 -0
  1638. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ArraysMock.sol +171 -0
  1639. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/AuthorityMock.sol +69 -0
  1640. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/Base64Dirty.sol +19 -0
  1641. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/BatchCaller.sol +20 -0
  1642. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/CallReceiverMock.sol +78 -0
  1643. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ConstructorMock.sol +34 -0
  1644. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ContextMock.sol +35 -0
  1645. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/DummyImplementation.sol +65 -0
  1646. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/EIP712Verifier.sol +16 -0
  1647. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC1271WalletMock.sol +24 -0
  1648. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165InterfacesSupported.sol +58 -0
  1649. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MaliciousData.sol +12 -0
  1650. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MissingData.sol +7 -0
  1651. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165NotSupported.sol +5 -0
  1652. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165ReturnBomb.sol +18 -0
  1653. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC2771ContextMock.sol +28 -0
  1654. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ERC3156FlashBorrowerMock.sol +53 -0
  1655. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol +17 -0
  1656. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/InitializableMock.sol +130 -0
  1657. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/MerkleProofCustomHashMock.sol +62 -0
  1658. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/MerkleTreeMock.sol +52 -0
  1659. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/MulticallHelper.sol +23 -0
  1660. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol +131 -0
  1661. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/PausableMock.sol +31 -0
  1662. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol +12 -0
  1663. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol +50 -0
  1664. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/ReentrancyTransientMock.sol +50 -0
  1665. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol +61 -0
  1666. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/SingleInheritanceInitializableMocks.sol +49 -0
  1667. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/Stateless.sol +55 -0
  1668. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol +87 -0
  1669. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol +26 -0
  1670. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/TransientSlotMock.sol +61 -0
  1671. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/UpgradeableBeaconMock.sol +27 -0
  1672. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/VotesExtendedMock.sol +42 -0
  1673. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/VotesMock.sol +42 -0
  1674. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/account/AccountMock.sol +169 -0
  1675. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/account/modules/ERC7579Mock.sol +122 -0
  1676. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/account/utils/ERC7579UtilsMock.sol +23 -0
  1677. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/compound/CompTimelock.sol +174 -0
  1678. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/ERC20WithAutoMinerReward.sol +22 -0
  1679. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/ERC4626Fees.sol +109 -0
  1680. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/MyNFT.sol +9 -0
  1681. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintBase.sol +25 -0
  1682. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintMissing.sol +24 -0
  1683. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlERC20MintOnlyRole.sol +23 -0
  1684. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessControlModified.sol +14 -0
  1685. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/AccessManagedERC20MintBase.sol +16 -0
  1686. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/access-control/MyContractOwnable.sol +17 -0
  1687. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/account/MyAccountERC7702.sol +20 -0
  1688. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/account/MyFactoryAccount.sol +37 -0
  1689. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyGovernor.sol +80 -0
  1690. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyToken.sol +21 -0
  1691. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenTimestampBased.sol +32 -0
  1692. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenWrapped.sol +28 -0
  1693. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC1155/GameItems.sol +21 -0
  1694. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC1155/MyERC115HolderContract.sol +7 -0
  1695. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC20/GLDToken.sol +11 -0
  1696. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC6909/ERC6909GameItems.sol +26 -0
  1697. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/token/ERC721/GameItem.sol +19 -0
  1698. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/utilities/Base64NFT.sol +27 -0
  1699. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/docs/utilities/Multicall.sol +15 -0
  1700. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCountingOverridableMock.sol +18 -0
  1701. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorFractionalMock.sol +14 -0
  1702. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorMock.sol +14 -0
  1703. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorNoncesKeyedMock.sol +45 -0
  1704. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorPreventLateQuorumMock.sol +40 -0
  1705. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorProposalGuardianMock.sol +27 -0
  1706. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorSequentialProposalIdMock.sol +39 -0
  1707. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorStorageMock.sol +79 -0
  1708. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorSuperQuorumMock.sol +95 -0
  1709. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockAccessMock.sol +70 -0
  1710. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockCompoundMock.sol +69 -0
  1711. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockControlMock.sol +69 -0
  1712. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVoteMock.sol +20 -0
  1713. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVotesSuperQuorumFractionMock.sol +37 -0
  1714. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorWithParamsMock.sol +51 -0
  1715. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/proxy/BadBeacon.sol +11 -0
  1716. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/proxy/ClashingImplementation.sol +19 -0
  1717. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSUpgradeableMock.sol +35 -0
  1718. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1155ReceiverMock.sol +74 -0
  1719. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ForceApproveMock.sol +13 -0
  1720. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363NoReturnMock.sol +33 -0
  1721. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ReceiverMock.sol +52 -0
  1722. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ReturnFalseMock.sol +34 -0
  1723. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363SpenderMock.sol +47 -0
  1724. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ApprovalMock.sol +10 -0
  1725. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20BridgeableMock.sol +26 -0
  1726. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20DecimalsMock.sol +17 -0
  1727. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ExcessDecimalsMock.sol +9 -0
  1728. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20FlashMintMock.sol +26 -0
  1729. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ForceApproveMock.sol +13 -0
  1730. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20GetterHelper.sol +38 -0
  1731. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol +16 -0
  1732. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20MulticallMock.sol +8 -0
  1733. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20NoReturnMock.sol +28 -0
  1734. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20Reentrant.sol +39 -0
  1735. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ReturnFalseMock.sol +19 -0
  1736. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesAdditionalCheckpointsMock.sol +31 -0
  1737. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesLegacyMock.sol +253 -0
  1738. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesTimestampMock.sol +29 -0
  1739. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626LimitsMock.sol +23 -0
  1740. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626Mock.sol +17 -0
  1741. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626OffsetMock.sol +17 -0
  1742. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC4646FeesMock.sol +40 -0
  1743. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveEnumerableMock.sol +42 -0
  1744. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol +61 -0
  1745. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ReceiverMock.sol +47 -0
  1746. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/token/ERC721URIStorageMock.sol +17 -0
  1747. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/mocks/utils/cryptography/ERC7739Mock.sol +13 -0
  1748. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/package.json +32 -0
  1749. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/Clones.sol +262 -0
  1750. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol +40 -0
  1751. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol +177 -0
  1752. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/Proxy.sol +69 -0
  1753. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/README.adoc +87 -0
  1754. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol +57 -0
  1755. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol +16 -0
  1756. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol +70 -0
  1757. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol +45 -0
  1758. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +118 -0
  1759. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol +238 -0
  1760. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol +146 -0
  1761. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol +389 -0
  1762. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol +123 -0
  1763. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol +59 -0
  1764. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/README.adoc +43 -0
  1765. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +28 -0
  1766. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +38 -0
  1767. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Supply.sol +88 -0
  1768. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +61 -0
  1769. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +20 -0
  1770. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol +40 -0
  1771. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Utils.sol +88 -0
  1772. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol +305 -0
  1773. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol +79 -0
  1774. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/README.adoc +78 -0
  1775. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC1363.sol +135 -0
  1776. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol +39 -0
  1777. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Capped.sol +54 -0
  1778. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20FlashMint.sol +134 -0
  1779. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Pausable.sol +33 -0
  1780. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol +77 -0
  1781. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol +83 -0
  1782. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol +89 -0
  1783. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.sol +282 -0
  1784. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol +26 -0
  1785. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol +90 -0
  1786. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Bridgeable.sol +50 -0
  1787. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20TemporaryApproval.sol +119 -0
  1788. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/utils/ERC1363Utils.sol +95 -0
  1789. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol +280 -0
  1790. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC6909/README.adoc +27 -0
  1791. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC6909/draft-ERC6909.sol +224 -0
  1792. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909ContentURI.sol +53 -0
  1793. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909Metadata.sol +77 -0
  1794. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/draft-ERC6909TokenSupply.sol +35 -0
  1795. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol +430 -0
  1796. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol +135 -0
  1797. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol +28 -0
  1798. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/README.adoc +69 -0
  1799. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Burnable.sol +26 -0
  1800. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol +176 -0
  1801. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol +164 -0
  1802. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol +37 -0
  1803. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Royalty.sol +26 -0
  1804. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol +58 -0
  1805. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol +47 -0
  1806. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Wrapper.sol +102 -0
  1807. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol +29 -0
  1808. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol +27 -0
  1809. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol +24 -0
  1810. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Utils.sol +50 -0
  1811. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/common/ERC2981.sol +139 -0
  1812. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/common/README.adoc +10 -0
  1813. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Address.sol +149 -0
  1814. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Arrays.sol +552 -0
  1815. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Base64.sol +119 -0
  1816. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Blockhash.sol +52 -0
  1817. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Bytes.sol +166 -0
  1818. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/CAIP10.sol +54 -0
  1819. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/CAIP2.sol +51 -0
  1820. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Calldata.sol +25 -0
  1821. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Comparators.sol +19 -0
  1822. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Context.sol +28 -0
  1823. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Create2.sol +92 -0
  1824. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Errors.sol +34 -0
  1825. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Memory.sol +44 -0
  1826. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Multicall.sol +37 -0
  1827. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Nonces.sol +46 -0
  1828. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/NoncesKeyed.sol +74 -0
  1829. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Packing.sol +1656 -0
  1830. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Panic.sol +57 -0
  1831. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Pausable.sol +112 -0
  1832. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/README.adoc +145 -0
  1833. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol +87 -0
  1834. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/ReentrancyGuardTransient.sol +61 -0
  1835. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol +122 -0
  1836. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol +155 -0
  1837. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol +143 -0
  1838. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.sol +507 -0
  1839. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol +183 -0
  1840. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol +213 -0
  1841. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol +160 -0
  1842. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/Hashes.sol +31 -0
  1843. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol +514 -0
  1844. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol +99 -0
  1845. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/P256.sol +408 -0
  1846. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/README.adoc +67 -0
  1847. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/RSA.sol +154 -0
  1848. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol +164 -0
  1849. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-ERC7739Utils.sol +206 -0
  1850. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/AbstractSigner.sol +22 -0
  1851. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/MultiSignerERC7913.sol +251 -0
  1852. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol +207 -0
  1853. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerECDSA.sol +55 -0
  1854. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerERC7702.sol +24 -0
  1855. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerERC7913.sol +62 -0
  1856. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerP256.sol +63 -0
  1857. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerRSA.sol +64 -0
  1858. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/draft-ERC7739.sol +98 -0
  1859. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/verifiers/ERC7913P256Verifier.sol +28 -0
  1860. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/cryptography/verifiers/ERC7913RSAVerifier.sol +22 -0
  1861. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/draft-InteroperableAddress.sol +234 -0
  1862. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol +25 -0
  1863. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol +124 -0
  1864. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol +25 -0
  1865. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.sol +749 -0
  1866. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol +1162 -0
  1867. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol +68 -0
  1868. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol +60 -0
  1869. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol +833 -0
  1870. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/CircularBuffer.sol +140 -0
  1871. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol +156 -0
  1872. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol +1319 -0
  1873. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol +792 -0
  1874. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/Heap.sol +256 -0
  1875. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/structs/MerkleTree.sol +267 -0
  1876. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/types/Time.sol +133 -0
  1877. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/vendor/compound/ICompoundTimelock.sol +86 -0
  1878. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/vendor/compound/LICENSE +11 -0
  1879. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/antora.yml +7 -0
  1880. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/config.js +21 -0
  1881. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-control-multiple.svg +97 -0
  1882. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-manager-functions.svg +47 -0
  1883. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/access-manager.svg +99 -0
  1884. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
  1885. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
  1886. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
  1887. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack.png +0 -0
  1888. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
  1889. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-mint.png +0 -0
  1890. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
  1891. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
  1892. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
  1893. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-exec.png +0 -0
  1894. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-vote.png +0 -0
  1895. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +29 -0
  1896. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +288 -0
  1897. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/account-abstraction.adoc +100 -0
  1898. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/accounts.adoc +354 -0
  1899. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/backwards-compatibility.adoc +50 -0
  1900. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/eoa-delegation.adoc +143 -0
  1901. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +118 -0
  1902. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +71 -0
  1903. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +67 -0
  1904. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc4626.adoc +214 -0
  1905. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc6909.adoc +47 -0
  1906. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +58 -0
  1907. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +51 -0
  1908. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/faq.adoc +13 -0
  1909. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +239 -0
  1910. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +70 -0
  1911. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/multisig.adoc +306 -0
  1912. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +31 -0
  1913. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +77 -0
  1914. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +591 -0
  1915. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/modules/ROOT/pages/wizard.adoc +15 -0
  1916. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/templates/contract.hbs +141 -0
  1917. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/templates/helpers.js +46 -0
  1918. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/templates/page.hbs +4 -0
  1919. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/templates/properties.js +88 -0
  1920. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/eslint.config.mjs +26 -0
  1921. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/foundry.toml +15 -0
  1922. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/fv-requirements.txt +4 -0
  1923. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/async-test-sanity.js +10 -0
  1924. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/common-contracts.js +69 -0
  1925. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/env-artifacts.js +29 -0
  1926. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/ignore-unreachable-warnings.js +45 -0
  1927. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/remappings.js +18 -0
  1928. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/skip-foundry-tests.js +6 -0
  1929. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat/task-test-get-files.js +25 -0
  1930. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/hardhat.config.js +124 -0
  1931. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.prop.sol +404 -0
  1932. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.test.sol +356 -0
  1933. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/erc4626-tests/LICENSE +661 -0
  1934. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/erc4626-tests/README.md +116 -0
  1935. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/.gitattributes +1 -0
  1936. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/ci.yml +128 -0
  1937. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/sync.yml +31 -0
  1938. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/CONTRIBUTING.md +193 -0
  1939. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/LICENSE-APACHE +203 -0
  1940. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/LICENSE-MIT +25 -0
  1941. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/README.md +266 -0
  1942. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/foundry.toml +23 -0
  1943. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/package.json +16 -0
  1944. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/scripts/vm.py +646 -0
  1945. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/Base.sol +35 -0
  1946. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/Script.sol +27 -0
  1947. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol +669 -0
  1948. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol +287 -0
  1949. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol +829 -0
  1950. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol +15 -0
  1951. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol +122 -0
  1952. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol +283 -0
  1953. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol +43 -0
  1954. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol +473 -0
  1955. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol +333 -0
  1956. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdToml.sol +283 -0
  1957. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol +209 -0
  1958. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/Test.sol +33 -0
  1959. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol +2263 -0
  1960. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/console.sol +1560 -0
  1961. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/console2.sol +4 -0
  1962. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
  1963. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC165.sol +12 -0
  1964. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC20.sol +43 -0
  1965. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
  1966. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC721.sol +164 -0
  1967. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
  1968. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/src/safeconsole.sol +13937 -0
  1969. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdAssertions.t.sol +141 -0
  1970. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol +227 -0
  1971. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol +618 -0
  1972. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdError.t.sol +120 -0
  1973. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdJson.t.sol +49 -0
  1974. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdMath.t.sol +202 -0
  1975. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol +488 -0
  1976. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
  1977. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdToml.t.sol +49 -0
  1978. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol +342 -0
  1979. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/Vm.t.sol +18 -0
  1980. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScript.sol +10 -0
  1981. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScriptBase.sol +10 -0
  1982. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTest.sol +10 -0
  1983. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTestBase.sol +10 -0
  1984. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
  1985. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/test.json +8 -0
  1986. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/test.toml +6 -0
  1987. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/halmos-cheatcodes/LICENSE +661 -0
  1988. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/halmos-cheatcodes/README.md +97 -0
  1989. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/SVM.sol +49 -0
  1990. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/SymTest.sol +11 -0
  1991. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/logo.svg +15 -0
  1992. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/netlify.toml +3 -0
  1993. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/package.json +106 -0
  1994. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/remappings.txt +1 -0
  1995. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/renovate.json +4 -0
  1996. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/compare-layout.js +28 -0
  1997. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/compareGasReports.js +249 -0
  1998. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/coverage.sh +24 -0
  1999. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/extract-layout.js +39 -0
  2000. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/generation.sh +6 -0
  2001. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/inheritance-ordering.js +55 -0
  2002. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/checks/pragma-validity.js +45 -0
  2003. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/fetch-common-contracts.js +50 -0
  2004. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/gen-nav.js +81 -0
  2005. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/format-lines.js +16 -0
  2006. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/helpers/sanitize.js +5 -0
  2007. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/run.js +61 -0
  2008. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Arrays.js +386 -0
  2009. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Arrays.opts.js +9 -0
  2010. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.js +242 -0
  2011. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.opts.js +18 -0
  2012. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.t.js +141 -0
  2013. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Enumerable.opts.js +53 -0
  2014. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMap.js +463 -0
  2015. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSet.js +469 -0
  2016. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/MerkleProof.js +187 -0
  2017. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/MerkleProof.opts.js +11 -0
  2018. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Packing.js +92 -0
  2019. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Packing.opts.js +3 -0
  2020. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Packing.t.js +48 -0
  2021. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/SafeCast.js +136 -0
  2022. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/Slot.opts.js +15 -0
  2023. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/SlotDerivation.js +119 -0
  2024. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/SlotDerivation.t.js +127 -0
  2025. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlot.js +77 -0
  2026. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlotMock.js +57 -0
  2027. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/TransientSlot.js +80 -0
  2028. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/TransientSlotMock.js +35 -0
  2029. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/generate/templates/conversion.js +30 -0
  2030. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/get-contracts-metadata.js +55 -0
  2031. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/helpers.js +7 -0
  2032. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/minimize-pragma.js +138 -0
  2033. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/prepack.sh +23 -0
  2034. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/prepare-docs.sh +26 -0
  2035. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/format-changelog.js +33 -0
  2036. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/synchronize-versions.js +15 -0
  2037. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/update-comment.js +34 -0
  2038. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/version.sh +11 -0
  2039. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/exit-prerelease.sh +8 -0
  2040. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/github-release.js +48 -0
  2041. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/integrity-check.sh +20 -0
  2042. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/pack.sh +26 -0
  2043. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/publish.sh +26 -0
  2044. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/rerun.js +7 -0
  2045. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/set-changesets-pr-title.js +17 -0
  2046. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/start.sh +35 -0
  2047. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/release/workflow/state.js +112 -0
  2048. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/remove-ignored-artifacts.js +45 -0
  2049. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/set-max-old-space-size.sh +10 -0
  2050. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/solc-versions.js +15 -0
  2051. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/solhint-custom/index.js +84 -0
  2052. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/solhint-custom/package.json +8 -0
  2053. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/update-docs-branch.js +65 -0
  2054. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/README.md +21 -0
  2055. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/patch-apply.sh +19 -0
  2056. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/patch-save.sh +18 -0
  2057. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/transpile-onto.sh +54 -0
  2058. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/transpile.sh +50 -0
  2059. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/scripts/upgradeable/upgradeable.patch +398 -0
  2060. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/slither.config.json +4 -0
  2061. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/solhint.config.js +29 -0
  2062. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/TESTING.md +3 -0
  2063. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/AccessControl.behavior.js +874 -0
  2064. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/AccessControl.test.js +19 -0
  2065. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/Ownable.test.js +79 -0
  2066. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/Ownable2Step.test.js +102 -0
  2067. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/extensions/AccessControlDefaultAdminRules.test.js +32 -0
  2068. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/extensions/AccessControlEnumerable.test.js +24 -0
  2069. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/manager/AccessManaged.test.js +146 -0
  2070. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/manager/AccessManager.behavior.js +257 -0
  2071. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/manager/AccessManager.predicate.js +456 -0
  2072. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/manager/AccessManager.test.js +2489 -0
  2073. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/access/manager/AuthorityUtils.test.js +112 -0
  2074. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/Account.behavior.js +144 -0
  2075. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/Account.test.js +48 -0
  2076. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountECDSA.test.js +52 -0
  2077. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountERC7702.t.sol +103 -0
  2078. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountERC7702.test.js +52 -0
  2079. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountERC7913.test.js +116 -0
  2080. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountMultiSigner.test.js +326 -0
  2081. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountMultiSignerWeighted.test.js +312 -0
  2082. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountP256.test.js +58 -0
  2083. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/AccountRSA.test.js +58 -0
  2084. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/examples/AccountERC7702WithModulesMock.test.js +99 -0
  2085. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579.behavior.js +563 -0
  2086. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579.test.js +60 -0
  2087. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579Hooked.test.js +60 -0
  2088. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/extensions/ERC7821.behavior.js +145 -0
  2089. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/utils/EIP7702Utils.test.js +53 -0
  2090. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/utils/draft-ERC4337Utils.test.js +289 -0
  2091. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/utils/draft-ERC7579Utils.t.sol +426 -0
  2092. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/account/utils/draft-ERC7579Utils.test.js +399 -0
  2093. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/EntryPoint070.abi +1 -0
  2094. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/EntryPoint070.bytecode +0 -0
  2095. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/EntryPoint080.abi +1 -0
  2096. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/EntryPoint080.bytecode +0 -0
  2097. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/SenderCreator070.abi +1 -0
  2098. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/SenderCreator070.bytecode +0 -0
  2099. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/SenderCreator080.abi +1 -0
  2100. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/bin/SenderCreator080.bytecode +0 -0
  2101. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/finance/VestingWallet.behavior.js +87 -0
  2102. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/finance/VestingWallet.test.js +65 -0
  2103. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/finance/VestingWalletCliff.test.js +70 -0
  2104. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/Governor.t.sol +59 -0
  2105. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/Governor.test.js +980 -0
  2106. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/TimelockController.test.js +1279 -0
  2107. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorCountingFractional.test.js +248 -0
  2108. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorCountingOverridable.test.js +346 -0
  2109. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorERC721.test.js +131 -0
  2110. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorNoncesKeyed.test.js +244 -0
  2111. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorPreventLateQuorum.test.js +185 -0
  2112. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorProposalGuardian.test.js +132 -0
  2113. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorSequentialProposalId.test.js +202 -0
  2114. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorStorage.test.js +155 -0
  2115. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorSuperQuorum.test.js +168 -0
  2116. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorSuperQuorumGreaterThanQuorum.t.sol +83 -0
  2117. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockAccess.test.js +864 -0
  2118. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockCompound.test.js +448 -0
  2119. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockControl.test.js +504 -0
  2120. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesQuorumFraction.test.js +165 -0
  2121. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesSuperQuorumFraction.test.js +160 -0
  2122. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/extensions/GovernorWithParams.test.js +245 -0
  2123. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/utils/ERC6372.behavior.js +28 -0
  2124. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/utils/Votes.behavior.js +325 -0
  2125. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/utils/Votes.test.js +102 -0
  2126. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/governance/utils/VotesExtended.test.js +152 -0
  2127. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/access-manager.js +85 -0
  2128. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/account.js +14 -0
  2129. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/chains.js +56 -0
  2130. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/constants.js +7 -0
  2131. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/deploy.js +14 -0
  2132. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/eip712-types.js +61 -0
  2133. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/eip712.js +45 -0
  2134. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/enums.js +14 -0
  2135. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/erc4337.js +217 -0
  2136. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/erc7579.js +58 -0
  2137. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/erc7739.js +118 -0
  2138. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/governance.js +217 -0
  2139. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/iterate.js +41 -0
  2140. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/math.js +33 -0
  2141. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/methods.js +14 -0
  2142. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/precompiles.js +12 -0
  2143. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/random.js +24 -0
  2144. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/signers.js +184 -0
  2145. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/storage.js +48 -0
  2146. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/strings.js +5 -0
  2147. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/time.js +33 -0
  2148. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/helpers/txpool.js +29 -0
  2149. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/metatx/ERC2771Context.test.js +133 -0
  2150. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/metatx/ERC2771Forwarder.t.sol +279 -0
  2151. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/metatx/ERC2771Forwarder.test.js +384 -0
  2152. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/Clones.behaviour.js +160 -0
  2153. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/Clones.t.sol +91 -0
  2154. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/Clones.test.js +177 -0
  2155. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Proxy.test.js +23 -0
  2156. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Utils.test.js +162 -0
  2157. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/Proxy.behaviour.js +185 -0
  2158. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/beacon/BeaconProxy.test.js +141 -0
  2159. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/beacon/UpgradeableBeacon.test.js +55 -0
  2160. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/transparent/ProxyAdmin.test.js +82 -0
  2161. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +357 -0
  2162. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.test.js +28 -0
  2163. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/utils/Initializable.test.js +216 -0
  2164. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/proxy/utils/UUPSUpgradeable.test.js +120 -0
  2165. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/sanity.test.js +27 -0
  2166. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.behavior.js +763 -0
  2167. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.test.js +213 -0
  2168. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Burnable.test.js +66 -0
  2169. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Pausable.test.js +105 -0
  2170. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Supply.test.js +119 -0
  2171. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +70 -0
  2172. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Holder.test.js +56 -0
  2173. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Utils.test.js +299 -0
  2174. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/ERC20.behavior.js +269 -0
  2175. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/ERC20.test.js +199 -0
  2176. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC1363.test.js +370 -0
  2177. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.test.js +105 -0
  2178. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.test.js +55 -0
  2179. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20FlashMint.test.js +164 -0
  2180. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Pausable.test.js +129 -0
  2181. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Permit.test.js +109 -0
  2182. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Votes.test.js +546 -0
  2183. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Wrapper.test.js +203 -0
  2184. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.t.sol +41 -0
  2185. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.test.js +888 -0
  2186. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Bridgeable.test.js +89 -0
  2187. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20TemporaryApproval.test.js +142 -0
  2188. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC20/utils/SafeERC20.test.js +463 -0
  2189. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC6909/ERC6909.behavior.js +216 -0
  2190. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC6909/ERC6909.test.js +104 -0
  2191. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909ContentURI.test.js +49 -0
  2192. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909Metadata.test.js +58 -0
  2193. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909TokenSupply.test.js +53 -0
  2194. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/ERC721.behavior.js +946 -0
  2195. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/ERC721.test.js +23 -0
  2196. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/ERC721Enumerable.test.js +28 -0
  2197. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Burnable.test.js +77 -0
  2198. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.t.sol +181 -0
  2199. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.test.js +228 -0
  2200. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Pausable.test.js +81 -0
  2201. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Royalty.test.js +57 -0
  2202. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721URIStorage.test.js +121 -0
  2203. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Votes.test.js +194 -0
  2204. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Wrapper.test.js +201 -0
  2205. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Holder.test.js +20 -0
  2206. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Utils.test.js +94 -0
  2207. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/token/common/ERC2981.behavior.js +152 -0
  2208. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Address.test.js +281 -0
  2209. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Arrays.t.sol +31 -0
  2210. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Arrays.test.js +227 -0
  2211. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Base64.t.sol +34 -0
  2212. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Base64.test.js +59 -0
  2213. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Blockhash.t.sol +101 -0
  2214. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Blockhash.test.js +59 -0
  2215. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Bytes.t.sol +74 -0
  2216. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Bytes.test.js +212 -0
  2217. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/CAIP.test.js +56 -0
  2218. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Calldata.test.js +22 -0
  2219. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Context.behavior.js +48 -0
  2220. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Context.test.js +18 -0
  2221. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Create2.t.sol +17 -0
  2222. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Create2.test.js +190 -0
  2223. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Memory.t.sol +21 -0
  2224. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Memory.test.js +39 -0
  2225. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Multicall.test.js +72 -0
  2226. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Nonces.behavior.js +189 -0
  2227. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Nonces.test.js +16 -0
  2228. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/NoncesKeyed.test.js +17 -0
  2229. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Packing.t.sol +993 -0
  2230. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Packing.test.js +70 -0
  2231. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Panic.test.js +37 -0
  2232. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Pausable.test.js +90 -0
  2233. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/ReentrancyGuard.test.js +50 -0
  2234. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/ShortStrings.t.sol +109 -0
  2235. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/ShortStrings.test.js +64 -0
  2236. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/SlotDerivation.t.sol +248 -0
  2237. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/SlotDerivation.test.js +58 -0
  2238. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/StorageSlot.test.js +73 -0
  2239. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Strings.t.sol +50 -0
  2240. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/Strings.test.js +360 -0
  2241. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/TransientSlot.test.js +59 -0
  2242. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/ECDSA.test.js +239 -0
  2243. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/EIP712.test.js +105 -0
  2244. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/ERC1271.behavior.js +111 -0
  2245. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/ERC7739.test.js +42 -0
  2246. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/ERC7739Utils.test.js +203 -0
  2247. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/MerkleProof.test.js +213 -0
  2248. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/MessageHashUtils.t.sol +33 -0
  2249. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/MessageHashUtils.test.js +97 -0
  2250. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/P256.t.sol +65 -0
  2251. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/P256.test.js +182 -0
  2252. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/RSA.helper.js +17 -0
  2253. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/RSA.test.js +102 -0
  2254. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/SigVer15_186-3.rsp +3850 -0
  2255. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/SignatureChecker.test.js +422 -0
  2256. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/cryptography/ecdsa_secp256r1_sha256_p1363_test.json +3719 -0
  2257. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/draft-InteroperableAddress.t.sol +99 -0
  2258. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/draft-InteroperableAddress.test.js +170 -0
  2259. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/introspection/ERC165.test.js +18 -0
  2260. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/introspection/ERC165Checker.test.js +245 -0
  2261. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/introspection/SupportsInterface.behavior.js +166 -0
  2262. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/math/Math.t.sol +349 -0
  2263. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/math/Math.test.js +713 -0
  2264. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/math/SafeCast.test.js +159 -0
  2265. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/math/SignedMath.t.sol +80 -0
  2266. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/math/SignedMath.test.js +53 -0
  2267. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/BitMap.test.js +149 -0
  2268. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/Checkpoints.t.sol +440 -0
  2269. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/Checkpoints.test.js +147 -0
  2270. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/CircularBuffer.test.js +83 -0
  2271. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/DoubleEndedQueue.test.js +102 -0
  2272. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.behavior.js +214 -0
  2273. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.test.js +83 -0
  2274. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.behavior.js +175 -0
  2275. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.test.js +66 -0
  2276. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/Heap.t.sol +74 -0
  2277. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/Heap.test.js +113 -0
  2278. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/structs/MerkleTree.test.js +180 -0
  2279. package/lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/test/utils/types/Time.test.js +135 -0
  2280. package/lib/openzeppelin-contracts-upgradeable/package.json +60 -47
  2281. package/lib/openzeppelin-contracts-upgradeable/remappings.txt +2 -0
  2282. package/lib/openzeppelin-contracts-upgradeable/renovate.json +2 -9
  2283. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/compare-layout.js +28 -0
  2284. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/compareGasReports.js +130 -92
  2285. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/coverage.sh +24 -0
  2286. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/extract-layout.js +39 -0
  2287. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/inheritance-ordering.js +28 -23
  2288. package/lib/openzeppelin-contracts-upgradeable/scripts/checks/pragma-validity.js +45 -0
  2289. package/lib/openzeppelin-contracts-upgradeable/scripts/fetch-common-contracts.js +50 -0
  2290. package/lib/openzeppelin-contracts-upgradeable/scripts/gen-nav.js +62 -22
  2291. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/format-lines.js +4 -4
  2292. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/helpers/sanitize.js +5 -0
  2293. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/run.js +38 -23
  2294. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Arrays.js +386 -0
  2295. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Arrays.opts.js +9 -0
  2296. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Checkpoints.js +67 -128
  2297. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Checkpoints.opts.js +18 -0
  2298. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Checkpoints.t.js +141 -0
  2299. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Enumerable.opts.js +53 -0
  2300. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/EnumerableMap.js +269 -84
  2301. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/EnumerableSet.js +252 -36
  2302. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/MerkleProof.js +187 -0
  2303. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/MerkleProof.opts.js +11 -0
  2304. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Packing.js +92 -0
  2305. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Packing.opts.js +3 -0
  2306. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Packing.t.js +48 -0
  2307. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/SafeCast.js +50 -82
  2308. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Slot.opts.js +15 -0
  2309. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/SlotDerivation.js +119 -0
  2310. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/SlotDerivation.t.js +127 -0
  2311. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/StorageSlot.js +77 -0
  2312. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/StorageSlotMock.js +57 -0
  2313. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/TransientSlot.js +80 -0
  2314. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/TransientSlotMock.js +35 -0
  2315. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/conversion.js +18 -18
  2316. package/lib/openzeppelin-contracts-upgradeable/scripts/get-contracts-metadata.js +55 -0
  2317. package/lib/openzeppelin-contracts-upgradeable/scripts/helpers.js +4 -20
  2318. package/lib/openzeppelin-contracts-upgradeable/scripts/minimize-pragma.js +138 -0
  2319. package/lib/openzeppelin-contracts-upgradeable/scripts/prepack.sh +14 -3
  2320. package/lib/openzeppelin-contracts-upgradeable/scripts/prepare-docs.sh +12 -1
  2321. package/lib/openzeppelin-contracts-upgradeable/scripts/release/format-changelog.js +33 -0
  2322. package/lib/openzeppelin-contracts-upgradeable/scripts/release/synchronize-versions.js +6 -7
  2323. package/lib/openzeppelin-contracts-upgradeable/scripts/release/update-comment.js +2 -4
  2324. package/lib/openzeppelin-contracts-upgradeable/scripts/release/version.sh +4 -2
  2325. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/exit-prerelease.sh +8 -0
  2326. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/github-release.js +48 -0
  2327. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/integrity-check.sh +20 -0
  2328. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/pack.sh +26 -0
  2329. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/publish.sh +26 -0
  2330. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/rerun.js +7 -0
  2331. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/set-changesets-pr-title.js +17 -0
  2332. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/start.sh +35 -0
  2333. package/lib/openzeppelin-contracts-upgradeable/scripts/release/workflow/state.js +112 -0
  2334. package/lib/openzeppelin-contracts-upgradeable/scripts/remove-ignored-artifacts.js +4 -4
  2335. package/lib/openzeppelin-contracts-upgradeable/scripts/set-max-old-space-size.sh +10 -0
  2336. package/lib/openzeppelin-contracts-upgradeable/scripts/solc-versions.js +15 -0
  2337. package/lib/openzeppelin-contracts-upgradeable/scripts/solhint-custom/index.js +84 -0
  2338. package/lib/openzeppelin-contracts-upgradeable/scripts/solhint-custom/package.json +8 -0
  2339. package/lib/openzeppelin-contracts-upgradeable/scripts/update-docs-branch.js +15 -5
  2340. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/README.md +21 -0
  2341. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/patch-apply.sh +19 -0
  2342. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/patch-save.sh +18 -0
  2343. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/transpile-onto.sh +21 -5
  2344. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/transpile.sh +24 -8
  2345. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/upgradeable.patch +398 -0
  2346. package/lib/openzeppelin-contracts-upgradeable/slither.config.json +3 -4
  2347. package/lib/openzeppelin-contracts-upgradeable/solhint.config.js +29 -0
  2348. package/lib/openzeppelin-contracts-upgradeable/test/TESTING.md +1 -1
  2349. package/lib/openzeppelin-contracts-upgradeable/test/access/AccessControl.behavior.js +756 -98
  2350. package/lib/openzeppelin-contracts-upgradeable/test/access/AccessControl.test.js +13 -7
  2351. package/lib/openzeppelin-contracts-upgradeable/test/access/Ownable.test.js +50 -28
  2352. package/lib/openzeppelin-contracts-upgradeable/test/access/Ownable2Step.test.js +77 -32
  2353. package/lib/openzeppelin-contracts-upgradeable/test/access/extensions/AccessControlDefaultAdminRules.test.js +32 -0
  2354. package/lib/openzeppelin-contracts-upgradeable/test/access/extensions/AccessControlEnumerable.test.js +24 -0
  2355. package/lib/openzeppelin-contracts-upgradeable/test/access/manager/AccessManaged.test.js +146 -0
  2356. package/lib/openzeppelin-contracts-upgradeable/test/access/manager/AccessManager.behavior.js +257 -0
  2357. package/lib/openzeppelin-contracts-upgradeable/test/access/manager/AccessManager.predicate.js +456 -0
  2358. package/lib/openzeppelin-contracts-upgradeable/test/access/manager/AccessManager.test.js +2489 -0
  2359. package/lib/openzeppelin-contracts-upgradeable/test/access/manager/AuthorityUtils.test.js +112 -0
  2360. package/lib/openzeppelin-contracts-upgradeable/test/account/Account.behavior.js +144 -0
  2361. package/lib/openzeppelin-contracts-upgradeable/test/account/Account.test.js +48 -0
  2362. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountECDSA.test.js +52 -0
  2363. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountERC7702.t.sol +103 -0
  2364. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountERC7702.test.js +52 -0
  2365. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountERC7913.test.js +116 -0
  2366. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountMultiSigner.test.js +326 -0
  2367. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountMultiSignerWeighted.test.js +312 -0
  2368. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountP256.test.js +58 -0
  2369. package/lib/openzeppelin-contracts-upgradeable/test/account/AccountRSA.test.js +58 -0
  2370. package/lib/openzeppelin-contracts-upgradeable/test/account/examples/AccountERC7702WithModulesMock.test.js +99 -0
  2371. package/lib/openzeppelin-contracts-upgradeable/test/account/extensions/AccountERC7579.behavior.js +563 -0
  2372. package/lib/openzeppelin-contracts-upgradeable/test/account/extensions/AccountERC7579.test.js +60 -0
  2373. package/lib/openzeppelin-contracts-upgradeable/test/account/extensions/AccountERC7579Hooked.test.js +60 -0
  2374. package/lib/openzeppelin-contracts-upgradeable/test/account/extensions/ERC7821.behavior.js +145 -0
  2375. package/lib/openzeppelin-contracts-upgradeable/test/account/utils/EIP7702Utils.test.js +53 -0
  2376. package/lib/openzeppelin-contracts-upgradeable/test/account/utils/draft-ERC4337Utils.test.js +289 -0
  2377. package/lib/openzeppelin-contracts-upgradeable/test/account/utils/draft-ERC7579Utils.t.sol +426 -0
  2378. package/lib/openzeppelin-contracts-upgradeable/test/account/utils/draft-ERC7579Utils.test.js +399 -0
  2379. package/lib/openzeppelin-contracts-upgradeable/test/bin/EntryPoint070.abi +1 -0
  2380. package/lib/openzeppelin-contracts-upgradeable/test/bin/EntryPoint070.bytecode +0 -0
  2381. package/lib/openzeppelin-contracts-upgradeable/test/bin/EntryPoint080.abi +1 -0
  2382. package/lib/openzeppelin-contracts-upgradeable/test/bin/EntryPoint080.bytecode +0 -0
  2383. package/lib/openzeppelin-contracts-upgradeable/test/bin/SenderCreator070.abi +1 -0
  2384. package/lib/openzeppelin-contracts-upgradeable/test/bin/SenderCreator070.bytecode +0 -0
  2385. package/lib/openzeppelin-contracts-upgradeable/test/bin/SenderCreator080.abi +1 -0
  2386. package/lib/openzeppelin-contracts-upgradeable/test/bin/SenderCreator080.bytecode +0 -0
  2387. package/lib/openzeppelin-contracts-upgradeable/test/finance/VestingWallet.behavior.js +59 -46
  2388. package/lib/openzeppelin-contracts-upgradeable/test/finance/VestingWallet.test.js +35 -37
  2389. package/lib/openzeppelin-contracts-upgradeable/test/finance/VestingWalletCliff.test.js +70 -0
  2390. package/lib/openzeppelin-contracts-upgradeable/test/governance/Governor.t.sol +59 -0
  2391. package/lib/openzeppelin-contracts-upgradeable/test/governance/Governor.test.js +938 -590
  2392. package/lib/openzeppelin-contracts-upgradeable/test/governance/TimelockController.test.js +910 -765
  2393. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorCountingFractional.test.js +248 -0
  2394. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorCountingOverridable.test.js +346 -0
  2395. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorERC721.test.js +127 -100
  2396. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorNoncesKeyed.test.js +244 -0
  2397. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorPreventLateQuorum.test.js +181 -173
  2398. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorProposalGuardian.test.js +132 -0
  2399. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorSequentialProposalId.test.js +202 -0
  2400. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorStorage.test.js +155 -0
  2401. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorSuperQuorum.test.js +168 -0
  2402. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorSuperQuorumGreaterThanQuorum.t.sol +83 -0
  2403. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorTimelockAccess.test.js +864 -0
  2404. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorTimelockCompound.test.js +419 -339
  2405. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorTimelockControl.test.js +468 -384
  2406. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorVotesQuorumFraction.test.js +161 -133
  2407. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorVotesSuperQuorumFraction.test.js +160 -0
  2408. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorWithParams.test.js +234 -155
  2409. package/lib/openzeppelin-contracts-upgradeable/test/governance/utils/ERC6372.behavior.js +28 -0
  2410. package/lib/openzeppelin-contracts-upgradeable/test/governance/utils/Votes.behavior.js +254 -273
  2411. package/lib/openzeppelin-contracts-upgradeable/test/governance/utils/Votes.test.js +89 -48
  2412. package/lib/openzeppelin-contracts-upgradeable/test/governance/utils/VotesExtended.test.js +152 -0
  2413. package/lib/openzeppelin-contracts-upgradeable/test/helpers/access-manager.js +85 -0
  2414. package/lib/openzeppelin-contracts-upgradeable/test/helpers/account.js +14 -0
  2415. package/lib/openzeppelin-contracts-upgradeable/test/helpers/chains.js +56 -0
  2416. package/lib/openzeppelin-contracts-upgradeable/test/helpers/constants.js +7 -0
  2417. package/lib/openzeppelin-contracts-upgradeable/test/helpers/deploy.js +14 -0
  2418. package/lib/openzeppelin-contracts-upgradeable/test/helpers/eip712-types.js +61 -0
  2419. package/lib/openzeppelin-contracts-upgradeable/test/helpers/eip712.js +41 -26
  2420. package/lib/openzeppelin-contracts-upgradeable/test/helpers/enums.js +9 -24
  2421. package/lib/openzeppelin-contracts-upgradeable/test/helpers/erc4337.js +217 -0
  2422. package/lib/openzeppelin-contracts-upgradeable/test/helpers/erc7579.js +58 -0
  2423. package/lib/openzeppelin-contracts-upgradeable/test/helpers/erc7739.js +118 -0
  2424. package/lib/openzeppelin-contracts-upgradeable/test/helpers/governance.js +194 -188
  2425. package/lib/openzeppelin-contracts-upgradeable/test/helpers/iterate.js +41 -0
  2426. package/lib/openzeppelin-contracts-upgradeable/test/helpers/math.js +33 -0
  2427. package/lib/openzeppelin-contracts-upgradeable/test/helpers/methods.js +14 -0
  2428. package/lib/openzeppelin-contracts-upgradeable/test/helpers/precompiles.js +12 -0
  2429. package/lib/openzeppelin-contracts-upgradeable/test/helpers/random.js +24 -0
  2430. package/lib/openzeppelin-contracts-upgradeable/test/helpers/signers.js +184 -0
  2431. package/lib/openzeppelin-contracts-upgradeable/test/helpers/storage.js +48 -0
  2432. package/lib/openzeppelin-contracts-upgradeable/test/helpers/strings.js +5 -0
  2433. package/lib/openzeppelin-contracts-upgradeable/test/helpers/time.js +33 -0
  2434. package/lib/openzeppelin-contracts-upgradeable/test/helpers/txpool.js +9 -20
  2435. package/lib/openzeppelin-contracts-upgradeable/test/metatx/ERC2771Context.test.js +95 -71
  2436. package/lib/openzeppelin-contracts-upgradeable/test/metatx/ERC2771Forwarder.t.sol +279 -0
  2437. package/lib/openzeppelin-contracts-upgradeable/test/metatx/ERC2771Forwarder.test.js +384 -0
  2438. package/lib/openzeppelin-contracts-upgradeable/test/proxy/Clones.behaviour.js +60 -50
  2439. package/lib/openzeppelin-contracts-upgradeable/test/proxy/Clones.t.sol +91 -0
  2440. package/lib/openzeppelin-contracts-upgradeable/test/proxy/Clones.test.js +164 -56
  2441. package/lib/openzeppelin-contracts-upgradeable/test/proxy/ERC1967/ERC1967Proxy.test.js +17 -7
  2442. package/lib/openzeppelin-contracts-upgradeable/test/proxy/ERC1967/ERC1967Utils.test.js +162 -0
  2443. package/lib/openzeppelin-contracts-upgradeable/test/proxy/Proxy.behaviour.js +59 -98
  2444. package/lib/openzeppelin-contracts-upgradeable/test/proxy/beacon/BeaconProxy.test.js +98 -113
  2445. package/lib/openzeppelin-contracts-upgradeable/test/proxy/beacon/UpgradeableBeacon.test.js +34 -29
  2446. package/lib/openzeppelin-contracts-upgradeable/test/proxy/transparent/ProxyAdmin.test.js +45 -88
  2447. package/lib/openzeppelin-contracts-upgradeable/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +209 -283
  2448. package/lib/openzeppelin-contracts-upgradeable/test/proxy/transparent/TransparentUpgradeableProxy.test.js +20 -7
  2449. package/lib/openzeppelin-contracts-upgradeable/test/proxy/utils/Initializable.test.js +94 -96
  2450. package/lib/openzeppelin-contracts-upgradeable/test/proxy/utils/UUPSUpgradeable.test.js +94 -59
  2451. package/lib/openzeppelin-contracts-upgradeable/test/sanity.test.js +27 -0
  2452. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/ERC1155.behavior.js +530 -541
  2453. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/ERC1155.test.js +101 -152
  2454. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/extensions/ERC1155Burnable.test.js +35 -36
  2455. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/extensions/ERC1155Pausable.test.js +54 -57
  2456. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/extensions/ERC1155Supply.test.js +59 -51
  2457. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +37 -33
  2458. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/utils/ERC1155Holder.test.js +40 -46
  2459. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/utils/ERC1155Utils.test.js +299 -0
  2460. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/ERC20.behavior.js +142 -206
  2461. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/ERC20.test.js +133 -243
  2462. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC1363.test.js +370 -0
  2463. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Burnable.test.js +96 -10
  2464. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Capped.test.js +43 -15
  2465. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20FlashMint.test.js +102 -82
  2466. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Pausable.test.js +59 -64
  2467. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Permit.test.js +109 -0
  2468. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Votes.test.js +490 -462
  2469. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Wrapper.test.js +133 -120
  2470. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC4626.t.sol +41 -0
  2471. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC4626.test.js +802 -536
  2472. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/draft-ERC20Bridgeable.test.js +89 -0
  2473. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/draft-ERC20TemporaryApproval.test.js +142 -0
  2474. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/utils/SafeERC20.test.js +387 -179
  2475. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC6909/ERC6909.behavior.js +216 -0
  2476. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC6909/ERC6909.test.js +104 -0
  2477. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC6909/extensions/ERC6909ContentURI.test.js +49 -0
  2478. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC6909/extensions/ERC6909Metadata.test.js +58 -0
  2479. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC6909/extensions/ERC6909TokenSupply.test.js +53 -0
  2480. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/ERC721.behavior.js +488 -479
  2481. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/ERC721.test.js +16 -11
  2482. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/ERC721Enumerable.test.js +16 -8
  2483. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Burnable.test.js +43 -44
  2484. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Consecutive.t.sol +80 -19
  2485. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Consecutive.test.js +181 -165
  2486. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Pausable.test.js +34 -51
  2487. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Royalty.test.js +41 -24
  2488. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721URIStorage.test.js +69 -44
  2489. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Votes.test.js +187 -167
  2490. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Wrapper.test.js +201 -0
  2491. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/utils/ERC721Holder.test.js +12 -16
  2492. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/utils/ERC721Utils.test.js +94 -0
  2493. package/lib/openzeppelin-contracts-upgradeable/test/token/common/ERC2981.behavior.js +80 -88
  2494. package/lib/openzeppelin-contracts-upgradeable/test/utils/Address.test.js +160 -261
  2495. package/lib/openzeppelin-contracts-upgradeable/test/utils/Arrays.t.sol +31 -0
  2496. package/lib/openzeppelin-contracts-upgradeable/test/utils/Arrays.test.js +217 -95
  2497. package/lib/openzeppelin-contracts-upgradeable/test/utils/Base64.t.sol +34 -0
  2498. package/lib/openzeppelin-contracts-upgradeable/test/utils/Base64.test.js +48 -22
  2499. package/lib/openzeppelin-contracts-upgradeable/test/utils/Blockhash.t.sol +101 -0
  2500. package/lib/openzeppelin-contracts-upgradeable/test/utils/Blockhash.test.js +59 -0
  2501. package/lib/openzeppelin-contracts-upgradeable/test/utils/Bytes.t.sol +74 -0
  2502. package/lib/openzeppelin-contracts-upgradeable/test/utils/Bytes.test.js +212 -0
  2503. package/lib/openzeppelin-contracts-upgradeable/test/utils/CAIP.test.js +56 -0
  2504. package/lib/openzeppelin-contracts-upgradeable/test/utils/Calldata.test.js +22 -0
  2505. package/lib/openzeppelin-contracts-upgradeable/test/utils/Context.behavior.js +26 -20
  2506. package/lib/openzeppelin-contracts-upgradeable/test/utils/Context.test.js +10 -9
  2507. package/lib/openzeppelin-contracts-upgradeable/test/utils/Create2.t.sol +17 -0
  2508. package/lib/openzeppelin-contracts-upgradeable/test/utils/Create2.test.js +147 -49
  2509. package/lib/openzeppelin-contracts-upgradeable/test/utils/Memory.t.sol +21 -0
  2510. package/lib/openzeppelin-contracts-upgradeable/test/utils/Memory.test.js +39 -0
  2511. package/lib/openzeppelin-contracts-upgradeable/test/utils/Multicall.test.js +50 -35
  2512. package/lib/openzeppelin-contracts-upgradeable/test/utils/Nonces.behavior.js +189 -0
  2513. package/lib/openzeppelin-contracts-upgradeable/test/utils/Nonces.test.js +16 -0
  2514. package/lib/openzeppelin-contracts-upgradeable/test/utils/NoncesKeyed.test.js +17 -0
  2515. package/lib/openzeppelin-contracts-upgradeable/test/utils/Packing.t.sol +993 -0
  2516. package/lib/openzeppelin-contracts-upgradeable/test/utils/Packing.test.js +70 -0
  2517. package/lib/openzeppelin-contracts-upgradeable/test/utils/Panic.test.js +37 -0
  2518. package/lib/openzeppelin-contracts-upgradeable/test/utils/Pausable.test.js +90 -0
  2519. package/lib/openzeppelin-contracts-upgradeable/test/utils/ReentrancyGuard.test.js +50 -0
  2520. package/lib/openzeppelin-contracts-upgradeable/test/utils/ShortStrings.t.sol +109 -0
  2521. package/lib/openzeppelin-contracts-upgradeable/test/utils/ShortStrings.test.js +64 -0
  2522. package/lib/openzeppelin-contracts-upgradeable/test/utils/SlotDerivation.t.sol +248 -0
  2523. package/lib/openzeppelin-contracts-upgradeable/test/utils/SlotDerivation.test.js +58 -0
  2524. package/lib/openzeppelin-contracts-upgradeable/test/utils/StorageSlot.test.js +55 -92
  2525. package/lib/openzeppelin-contracts-upgradeable/test/utils/Strings.t.sol +50 -0
  2526. package/lib/openzeppelin-contracts-upgradeable/test/utils/Strings.test.js +323 -49
  2527. package/lib/openzeppelin-contracts-upgradeable/test/utils/TransientSlot.test.js +59 -0
  2528. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/ECDSA.test.js +167 -132
  2529. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/EIP712.test.js +79 -52
  2530. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/ERC1271.behavior.js +111 -0
  2531. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/ERC7739.test.js +42 -0
  2532. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/ERC7739Utils.test.js +203 -0
  2533. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/MerkleProof.test.js +210 -176
  2534. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/MessageHashUtils.t.sol +33 -0
  2535. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/MessageHashUtils.test.js +97 -0
  2536. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/P256.t.sol +65 -0
  2537. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/P256.test.js +182 -0
  2538. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/RSA.helper.js +17 -0
  2539. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/RSA.test.js +102 -0
  2540. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/SigVer15_186-3.rsp +3850 -0
  2541. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/SignatureChecker.test.js +397 -56
  2542. package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/ecdsa_secp256r1_sha256_p1363_test.json +3719 -0
  2543. package/lib/openzeppelin-contracts-upgradeable/test/utils/draft-InteroperableAddress.t.sol +99 -0
  2544. package/lib/openzeppelin-contracts-upgradeable/test/utils/draft-InteroperableAddress.test.js +170 -0
  2545. package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/ERC165.test.js +11 -6
  2546. package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/ERC165Checker.test.js +84 -142
  2547. package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/SupportsInterface.behavior.js +109 -90
  2548. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/Math.t.sol +255 -24
  2549. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/Math.test.js +616 -215
  2550. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SafeCast.test.js +84 -89
  2551. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SignedMath.t.sol +80 -0
  2552. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SignedMath.test.js +25 -65
  2553. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/BitMap.test.js +83 -79
  2554. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/Checkpoints.t.sol +440 -0
  2555. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/Checkpoints.test.js +147 -0
  2556. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/CircularBuffer.test.js +83 -0
  2557. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/DoubleEndedQueue.test.js +47 -41
  2558. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/EnumerableMap.behavior.js +122 -89
  2559. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/EnumerableMap.test.js +70 -73
  2560. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/EnumerableSet.behavior.js +105 -61
  2561. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/EnumerableSet.test.js +53 -33
  2562. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/Heap.t.sol +74 -0
  2563. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/Heap.test.js +113 -0
  2564. package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/MerkleTree.test.js +180 -0
  2565. package/lib/openzeppelin-contracts-upgradeable/test/utils/types/Time.test.js +135 -0
  2566. package/package.json +9 -23
  2567. package/remappings.txt +5 -0
  2568. package/script/UpdateMarket.s.sol +56 -0
  2569. package/scripts/AddAdminToLand.s.sol +29 -0
  2570. package/scripts/ClaimMerkleRoot.s.sol +34 -0
  2571. package/scripts/CreateLand.s.sol +28 -0
  2572. package/scripts/CreateMarkets.s.sol +71 -0
  2573. package/scripts/DeployContracts.s.sol +94 -0
  2574. package/scripts/DeployMerkleRewardsDistributor.s.sol +27 -0
  2575. package/scripts/DeployToken.s.sol +17 -0
  2576. package/scripts/DeployUSDT.s.sol +24 -0
  2577. package/scripts/MintTokens.s.sol +21 -0
  2578. package/scripts/PublishMerkleRoot.s.sol +50 -0
  2579. package/scripts/ResolveMarket.s.sol +23 -0
  2580. package/scripts/TradeMarket.s.sol +28 -0
  2581. package/scripts/UpdateMarket.s.sol +55 -0
  2582. package/scripts/copy-abis.js +57 -0
  2583. package/src/Application.js +18 -0
  2584. package/src/interfaces/index.js +16 -15
  2585. package/src/models/PredictionMarketV3Contract.js +5 -1
  2586. package/src/models/PredictionMarketV3ControllerContract.js +2 -2
  2587. package/src/models/PredictionMarketV3ManagerContract.js +4 -0
  2588. package/src/models/PredictionMarketV3PlusContract.js +210 -0
  2589. package/src/models/index.js +2 -0
  2590. package/test/PredictionMarket.t.sol +923 -0
  2591. package/test/PredictionMarketManager.t.sol +909 -0
  2592. package/test/UpdateTest.t.sol +55 -0
  2593. package/test/WhaleTest.t.sol +188 -0
  2594. package/build/contracts/AccessControl.json +0 -1
  2595. package/build/contracts/Address.json +0 -1
  2596. package/build/contracts/BalanceHolder_ERC20.json +0 -1
  2597. package/build/contracts/CeilDiv.json +0 -1
  2598. package/build/contracts/Clones.json +0 -1
  2599. package/build/contracts/Context.json +0 -1
  2600. package/build/contracts/ERC165.json +0 -1
  2601. package/build/contracts/ERC20.json +0 -1
  2602. package/build/contracts/ERC20Burnable.json +0 -1
  2603. package/build/contracts/ERC20Pausable.json +0 -1
  2604. package/build/contracts/FantasyERC20.json +0 -1
  2605. package/build/contracts/IAccessControl.json +0 -1
  2606. package/build/contracts/IBalanceHolder_ERC20.json +0 -1
  2607. package/build/contracts/IERC165.json +0 -1
  2608. package/build/contracts/IERC20.json +0 -1
  2609. package/build/contracts/IERC20Metadata.json +0 -1
  2610. package/build/contracts/IERC721.json +0 -1
  2611. package/build/contracts/IERC721Enumerable.json +0 -1
  2612. package/build/contracts/IERC721Metadata.json +0 -1
  2613. package/build/contracts/IFantasyERC20.json +0 -1
  2614. package/build/contracts/IPredictionMarketV3Factory.json +0 -1
  2615. package/build/contracts/IPredictionMarketV3Manager.json +0 -1
  2616. package/build/contracts/IRealityETH_ERC20.json +0 -1
  2617. package/build/contracts/IRealityETH_IERC20.json +0 -1
  2618. package/build/contracts/IWETH.json +0 -1
  2619. package/build/contracts/LandFactory.json +0 -1
  2620. package/build/contracts/Ownable.json +0 -1
  2621. package/build/contracts/Pausable.json +0 -1
  2622. package/build/contracts/PredictionMarketV3Claimer.json +0 -1
  2623. package/build/contracts/PredictionMarketV3Controller.json +0 -1
  2624. package/build/contracts/PredictionMarketV3Factory.json +0 -1
  2625. package/build/contracts/PredictionMarketV3Manager.json +0 -1
  2626. package/build/contracts/PredictionMarketV3Querier.json +0 -1
  2627. package/build/contracts/Proxy.json +0 -1
  2628. package/build/contracts/RealityETH_ERC20_Factory.json +0 -1
  2629. package/build/contracts/RealityETH_ERC20_v3_0.json +0 -1
  2630. package/build/contracts/RealityETH_ERC20_v3_0_.json +0 -1
  2631. package/build/contracts/ReentrancyGuard.json +0 -1
  2632. package/build/contracts/SafeERC20.json +0 -1
  2633. package/build/contracts/StorageSlot.json +0 -1
  2634. package/build/contracts/TWProxy.json +0 -1
  2635. package/build/contracts/USDCERC20.json +0 -1
  2636. package/build/contracts/Voting.json +0 -1
  2637. package/build/contracts/test.json +0 -1
  2638. package/cache/solidity-files-cache.json +0 -1
  2639. package/cache/zksync-solidity-files-cache.json +0 -1
  2640. package/cleanContracts.js +0 -22
  2641. package/contracts/IPredictionMarketV3.sol +0 -207
  2642. package/contracts/Migrations.sol +0 -24
  2643. package/contracts/PredictionMarketV3.sol +0 -1332
  2644. package/contracts/RealityETH_ERC20_v3_0.sol +0 -8
  2645. package/contracts/TWProxy.sol +0 -42
  2646. package/contracts/USDCERC20.sol +0 -12
  2647. package/contracts/WETH9.sol +0 -62
  2648. package/lib/openzeppelin-contracts/.changeset/new-ways-own.md +0 -5
  2649. package/lib/openzeppelin-contracts/.eslintrc +0 -62
  2650. package/lib/openzeppelin-contracts/.gitattributes +0 -1
  2651. package/lib/openzeppelin-contracts/.github/workflows/changelog.yml +0 -28
  2652. package/lib/openzeppelin-contracts/.solhint.json +0 -14
  2653. package/lib/openzeppelin-contracts/audit/2017-03.md +0 -292
  2654. package/lib/openzeppelin-contracts/certora/applyHarness.patch +0 -101
  2655. package/lib/openzeppelin-contracts/certora/harnesses/ERC20VotesHarness.sol +0 -28
  2656. package/lib/openzeppelin-contracts/certora/harnesses/WizardControlFirstPriority.sol +0 -150
  2657. package/lib/openzeppelin-contracts/certora/harnesses/WizardFirstTry.sol +0 -141
  2658. package/lib/openzeppelin-contracts/certora/munged/.gitignore +0 -2
  2659. package/lib/openzeppelin-contracts/certora/scripts/Governor.sh +0 -10
  2660. package/lib/openzeppelin-contracts/certora/scripts/GovernorCountingSimple-counting.sh +0 -10
  2661. package/lib/openzeppelin-contracts/certora/scripts/WizardControlFirstPriority.sh +0 -12
  2662. package/lib/openzeppelin-contracts/certora/scripts/WizardFirstTry.sh +0 -10
  2663. package/lib/openzeppelin-contracts/certora/scripts/sanity.sh +0 -14
  2664. package/lib/openzeppelin-contracts/certora/scripts/verifyAll.sh +0 -39
  2665. package/lib/openzeppelin-contracts/certora/specs/GovernorBase.spec +0 -333
  2666. package/lib/openzeppelin-contracts/certora/specs/GovernorCountingSimple.spec +0 -221
  2667. package/lib/openzeppelin-contracts/certora/specs/RulesInProgress.spec +0 -139
  2668. package/lib/openzeppelin-contracts/certora/specs/sanity.spec +0 -14
  2669. package/lib/openzeppelin-contracts/contracts/access/AccessControlCrossChain.sol +0 -45
  2670. package/lib/openzeppelin-contracts/contracts/access/AccessControlEnumerable.sol +0 -64
  2671. package/lib/openzeppelin-contracts/contracts/access/IAccessControlEnumerable.sol +0 -31
  2672. package/lib/openzeppelin-contracts/contracts/crosschain/CrossChainEnabled.sol +0 -54
  2673. package/lib/openzeppelin-contracts/contracts/crosschain/README.adoc +0 -34
  2674. package/lib/openzeppelin-contracts/contracts/crosschain/amb/CrossChainEnabledAMB.sol +0 -49
  2675. package/lib/openzeppelin-contracts/contracts/crosschain/amb/LibAMB.sol +0 -35
  2676. package/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol +0 -44
  2677. package/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol +0 -40
  2678. package/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL1.sol +0 -42
  2679. package/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL2.sol +0 -45
  2680. package/lib/openzeppelin-contracts/contracts/crosschain/errors.sol +0 -7
  2681. package/lib/openzeppelin-contracts/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol +0 -41
  2682. package/lib/openzeppelin-contracts/contracts/crosschain/optimism/LibOptimism.sol +0 -36
  2683. package/lib/openzeppelin-contracts/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol +0 -72
  2684. package/lib/openzeppelin-contracts/contracts/finance/PaymentSplitter.sol +0 -214
  2685. package/lib/openzeppelin-contracts/contracts/governance/compatibility/GovernorCompatibilityBravo.sol +0 -285
  2686. package/lib/openzeppelin-contracts/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol +0 -114
  2687. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalThreshold.sol +0 -23
  2688. package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesComp.sol +0 -31
  2689. package/lib/openzeppelin-contracts/contracts/governance/extensions/IGovernorTimelock.sol +0 -26
  2690. package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC2612.sol +0 -8
  2691. package/lib/openzeppelin-contracts/contracts/metatx/MinimalForwarder.sol +0 -73
  2692. package/lib/openzeppelin-contracts/contracts/mocks/AccessControlCrossChainMock.sol +0 -22
  2693. package/lib/openzeppelin-contracts/contracts/mocks/AccessControlEnumerableMock.sol +0 -17
  2694. package/lib/openzeppelin-contracts/contracts/mocks/AccessControlMock.sol +0 -17
  2695. package/lib/openzeppelin-contracts/contracts/mocks/AddressImpl.sol +0 -46
  2696. package/lib/openzeppelin-contracts/contracts/mocks/BadBeacon.sol +0 -11
  2697. package/lib/openzeppelin-contracts/contracts/mocks/Base64Mock.sol +0 -11
  2698. package/lib/openzeppelin-contracts/contracts/mocks/BitmapMock.sol +0 -27
  2699. package/lib/openzeppelin-contracts/contracts/mocks/CheckpointsMock.sol +0 -120
  2700. package/lib/openzeppelin-contracts/contracts/mocks/ClashingImplementation.sol +0 -18
  2701. package/lib/openzeppelin-contracts/contracts/mocks/ClonesMock.sol +0 -36
  2702. package/lib/openzeppelin-contracts/contracts/mocks/ConditionalEscrowMock.sol +0 -18
  2703. package/lib/openzeppelin-contracts/contracts/mocks/CountersImpl.sol +0 -27
  2704. package/lib/openzeppelin-contracts/contracts/mocks/Create2Impl.sol +0 -34
  2705. package/lib/openzeppelin-contracts/contracts/mocks/DoubleEndedQueueMock.sol +0 -58
  2706. package/lib/openzeppelin-contracts/contracts/mocks/ECDSAMock.sol +0 -41
  2707. package/lib/openzeppelin-contracts/contracts/mocks/EIP712External.sol +0 -31
  2708. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155BurnableMock.sol +0 -18
  2709. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155Mock.sol +0 -51
  2710. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155PausableMock.sol +0 -29
  2711. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155ReceiverMock.sol +0 -52
  2712. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155SupplyMock.sol +0 -21
  2713. package/lib/openzeppelin-contracts/contracts/mocks/ERC1155URIStorageMock.sol +0 -22
  2714. package/lib/openzeppelin-contracts/contracts/mocks/ERC165CheckerMock.sol +0 -29
  2715. package/lib/openzeppelin-contracts/contracts/mocks/ERC165Mock.sol +0 -7
  2716. package/lib/openzeppelin-contracts/contracts/mocks/ERC165StorageMock.sol +0 -11
  2717. package/lib/openzeppelin-contracts/contracts/mocks/ERC1820ImplementerMock.sol +0 -11
  2718. package/lib/openzeppelin-contracts/contracts/mocks/ERC20BurnableMock.sol +0 -16
  2719. package/lib/openzeppelin-contracts/contracts/mocks/ERC20CappedMock.sol +0 -17
  2720. package/lib/openzeppelin-contracts/contracts/mocks/ERC20DecimalsMock.sol +0 -29
  2721. package/lib/openzeppelin-contracts/contracts/mocks/ERC20FlashMintMock.sol +0 -43
  2722. package/lib/openzeppelin-contracts/contracts/mocks/ERC20Mock.sol +0 -41
  2723. package/lib/openzeppelin-contracts/contracts/mocks/ERC20PausableMock.sol +0 -33
  2724. package/lib/openzeppelin-contracts/contracts/mocks/ERC20PermitMock.sol +0 -20
  2725. package/lib/openzeppelin-contracts/contracts/mocks/ERC20SnapshotMock.sol +0 -28
  2726. package/lib/openzeppelin-contracts/contracts/mocks/ERC20VotesCompMock.sol +0 -21
  2727. package/lib/openzeppelin-contracts/contracts/mocks/ERC20VotesMock.sol +0 -21
  2728. package/lib/openzeppelin-contracts/contracts/mocks/ERC20WrapperMock.sol +0 -17
  2729. package/lib/openzeppelin-contracts/contracts/mocks/ERC4626Mock.sol +0 -60
  2730. package/lib/openzeppelin-contracts/contracts/mocks/ERC721BurnableMock.sol +0 -29
  2731. package/lib/openzeppelin-contracts/contracts/mocks/ERC721ConsecutiveEnumerableMock.sol +0 -55
  2732. package/lib/openzeppelin-contracts/contracts/mocks/ERC721ConsecutiveMock.sol +0 -86
  2733. package/lib/openzeppelin-contracts/contracts/mocks/ERC721EnumerableMock.sol +0 -51
  2734. package/lib/openzeppelin-contracts/contracts/mocks/ERC721Mock.sol +0 -41
  2735. package/lib/openzeppelin-contracts/contracts/mocks/ERC721PausableMock.sol +0 -45
  2736. package/lib/openzeppelin-contracts/contracts/mocks/ERC721ReceiverMock.sol +0 -42
  2737. package/lib/openzeppelin-contracts/contracts/mocks/ERC721RoyaltyMock.sol +0 -33
  2738. package/lib/openzeppelin-contracts/contracts/mocks/ERC721URIStorageMock.sol +0 -55
  2739. package/lib/openzeppelin-contracts/contracts/mocks/ERC721VotesMock.sol +0 -25
  2740. package/lib/openzeppelin-contracts/contracts/mocks/ERC777Mock.sol +0 -56
  2741. package/lib/openzeppelin-contracts/contracts/mocks/ERC777SenderRecipientMock.sol +0 -161
  2742. package/lib/openzeppelin-contracts/contracts/mocks/EnumerableMapMock.sol +0 -221
  2743. package/lib/openzeppelin-contracts/contracts/mocks/EnumerableSetMock.sol +0 -111
  2744. package/lib/openzeppelin-contracts/contracts/mocks/GovernorCompMock.sol +0 -31
  2745. package/lib/openzeppelin-contracts/contracts/mocks/GovernorCompatibilityBravoMock.sol +0 -127
  2746. package/lib/openzeppelin-contracts/contracts/mocks/GovernorMock.sol +0 -50
  2747. package/lib/openzeppelin-contracts/contracts/mocks/GovernorPreventLateQuorumMock.sol +0 -60
  2748. package/lib/openzeppelin-contracts/contracts/mocks/GovernorTimelockCompoundMock.sol +0 -96
  2749. package/lib/openzeppelin-contracts/contracts/mocks/GovernorTimelockControlMock.sol +0 -93
  2750. package/lib/openzeppelin-contracts/contracts/mocks/GovernorVoteMock.sol +0 -31
  2751. package/lib/openzeppelin-contracts/contracts/mocks/GovernorWithParamsMock.sol +0 -61
  2752. package/lib/openzeppelin-contracts/contracts/mocks/MathMock.sol +0 -48
  2753. package/lib/openzeppelin-contracts/contracts/mocks/MerkleProofWrapper.sol +0 -65
  2754. package/lib/openzeppelin-contracts/contracts/mocks/MulticallTest.sol +0 -23
  2755. package/lib/openzeppelin-contracts/contracts/mocks/MulticallTokenMock.sol +0 -10
  2756. package/lib/openzeppelin-contracts/contracts/mocks/Ownable2StepMock.sol +0 -7
  2757. package/lib/openzeppelin-contracts/contracts/mocks/OwnableMock.sol +0 -7
  2758. package/lib/openzeppelin-contracts/contracts/mocks/PullPaymentMock.sol +0 -15
  2759. package/lib/openzeppelin-contracts/contracts/mocks/SafeCastMock.sol +0 -267
  2760. package/lib/openzeppelin-contracts/contracts/mocks/SafeERC20Helper.sol +0 -194
  2761. package/lib/openzeppelin-contracts/contracts/mocks/SafeMathMock.sol +0 -138
  2762. package/lib/openzeppelin-contracts/contracts/mocks/SignatureCheckerMock.sol +0 -17
  2763. package/lib/openzeppelin-contracts/contracts/mocks/SignedMathMock.sol +0 -23
  2764. package/lib/openzeppelin-contracts/contracts/mocks/SignedSafeMathMock.sol +0 -23
  2765. package/lib/openzeppelin-contracts/contracts/mocks/StringsMock.sol +0 -23
  2766. package/lib/openzeppelin-contracts/contracts/mocks/TimersBlockNumberImpl.sol +0 -39
  2767. package/lib/openzeppelin-contracts/contracts/mocks/TimersTimestampImpl.sol +0 -39
  2768. package/lib/openzeppelin-contracts/contracts/mocks/UUPS/UUPSLegacy.sol +0 -58
  2769. package/lib/openzeppelin-contracts/contracts/mocks/UUPS/UUPSUpgradeableMock.sol +0 -21
  2770. package/lib/openzeppelin-contracts/contracts/mocks/crosschain/bridges.sol +0 -102
  2771. package/lib/openzeppelin-contracts/contracts/mocks/crosschain/receivers.sol +0 -54
  2772. package/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor1.sol +0 -87
  2773. package/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor2.sol +0 -93
  2774. package/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor3.sol +0 -96
  2775. package/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol +0 -185
  2776. package/lib/openzeppelin-contracts/contracts/security/Pausable.sol +0 -105
  2777. package/lib/openzeppelin-contracts/contracts/security/PullPayment.sol +0 -74
  2778. package/lib/openzeppelin-contracts/contracts/security/README.adoc +0 -20
  2779. package/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol +0 -69
  2780. package/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol +0 -128
  2781. package/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/README.md +0 -1
  2782. package/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol +0 -19
  2783. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Snapshot.sol +0 -195
  2784. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20VotesComp.sol +0 -46
  2785. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Permit.sol +0 -95
  2786. package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol +0 -60
  2787. package/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol +0 -35
  2788. package/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol +0 -94
  2789. package/lib/openzeppelin-contracts/contracts/token/ERC20/presets/README.md +0 -1
  2790. package/lib/openzeppelin-contracts/contracts/token/ERC20/utils/TokenTimelock.sol +0 -76
  2791. package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/draft-ERC721Votes.sol +0 -9
  2792. package/lib/openzeppelin-contracts/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol +0 -140
  2793. package/lib/openzeppelin-contracts/contracts/token/ERC721/presets/README.md +0 -1
  2794. package/lib/openzeppelin-contracts/contracts/token/ERC777/ERC777.sol +0 -547
  2795. package/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777.sol +0 -209
  2796. package/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Recipient.sol +0 -35
  2797. package/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Sender.sol +0 -35
  2798. package/lib/openzeppelin-contracts/contracts/token/ERC777/README.adoc +0 -30
  2799. package/lib/openzeppelin-contracts/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol +0 -30
  2800. package/lib/openzeppelin-contracts/contracts/utils/Checkpoints.sol +0 -554
  2801. package/lib/openzeppelin-contracts/contracts/utils/Counters.sol +0 -43
  2802. package/lib/openzeppelin-contracts/contracts/utils/Timers.sol +0 -73
  2803. package/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol +0 -8
  2804. package/lib/openzeppelin-contracts/contracts/utils/escrow/ConditionalEscrow.sol +0 -25
  2805. package/lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol +0 -67
  2806. package/lib/openzeppelin-contracts/contracts/utils/escrow/RefundEscrow.sol +0 -100
  2807. package/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Storage.sol +0 -42
  2808. package/lib/openzeppelin-contracts/contracts/utils/introspection/ERC1820Implementer.sol +0 -44
  2809. package/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Implementer.sol +0 -20
  2810. package/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Registry.sol +0 -116
  2811. package/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol +0 -227
  2812. package/lib/openzeppelin-contracts/contracts/utils/math/SignedSafeMath.sol +0 -68
  2813. package/lib/openzeppelin-contracts/contracts/vendor/amb/IAMB.sol +0 -49
  2814. package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IArbSys.sol +0 -141
  2815. package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IBridge.sol +0 -109
  2816. package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IDelayedMessageProvider.sol +0 -16
  2817. package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IInbox.sol +0 -152
  2818. package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IOutbox.sol +0 -121
  2819. package/lib/openzeppelin-contracts/contracts/vendor/optimism/ICrossDomainMessenger.sol +0 -38
  2820. package/lib/openzeppelin-contracts/contracts/vendor/optimism/LICENSE +0 -22
  2821. package/lib/openzeppelin-contracts/contracts/vendor/polygon/IFxMessageProcessor.sol +0 -11
  2822. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crosschain.adoc +0 -210
  2823. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crowdsales.adoc +0 -11
  2824. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/drafts.adoc +0 -19
  2825. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc777.adoc +0 -73
  2826. package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/releases-stability.adoc +0 -85
  2827. package/lib/openzeppelin-contracts/hardhat/env-contract.js +0 -10
  2828. package/lib/openzeppelin-contracts/lib/forge-std/.gitmodules +0 -3
  2829. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/LICENSE +0 -674
  2830. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/Makefile +0 -14
  2831. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/default.nix +0 -4
  2832. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/demo/demo.sol +0 -222
  2833. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/package.json +0 -15
  2834. package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol +0 -469
  2835. package/lib/openzeppelin-contracts/scripts/generate/templates/CheckpointsMock.js +0 -80
  2836. package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMapMock.js +0 -66
  2837. package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSetMock.js +0 -56
  2838. package/lib/openzeppelin-contracts/scripts/generate/templates/SafeCastMock.js +0 -50
  2839. package/lib/openzeppelin-contracts/scripts/migrate-imports.js +0 -177
  2840. package/lib/openzeppelin-contracts/scripts/prepare-contracts-package.sh +0 -15
  2841. package/lib/openzeppelin-contracts/scripts/prepare.sh +0 -10
  2842. package/lib/openzeppelin-contracts/scripts/release/release.sh +0 -145
  2843. package/lib/openzeppelin-contracts/scripts/release/update-changelog-release-date.js +0 -34
  2844. package/lib/openzeppelin-contracts/test/access/AccessControlCrossChain.test.js +0 -59
  2845. package/lib/openzeppelin-contracts/test/access/AccessControlEnumerable.test.js +0 -15
  2846. package/lib/openzeppelin-contracts/test/crosschain/CrossChainEnabled.test.js +0 -88
  2847. package/lib/openzeppelin-contracts/test/finance/PaymentSplitter.test.js +0 -217
  2848. package/lib/openzeppelin-contracts/test/governance/compatibility/GovernorCompatibilityBravo.test.js +0 -265
  2849. package/lib/openzeppelin-contracts/test/governance/extensions/GovernorComp.test.js +0 -78
  2850. package/lib/openzeppelin-contracts/test/helpers/create2.js +0 -12
  2851. package/lib/openzeppelin-contracts/test/helpers/crosschain.js +0 -63
  2852. package/lib/openzeppelin-contracts/test/helpers/customError.js +0 -24
  2853. package/lib/openzeppelin-contracts/test/helpers/erc1967.js +0 -24
  2854. package/lib/openzeppelin-contracts/test/helpers/sign.js +0 -47
  2855. package/lib/openzeppelin-contracts/test/metatx/MinimalForwarder.test.js +0 -184
  2856. package/lib/openzeppelin-contracts/test/migrate-imports.test.js +0 -29
  2857. package/lib/openzeppelin-contracts/test/security/Pausable.test.js +0 -89
  2858. package/lib/openzeppelin-contracts/test/security/PullPayment.test.js +0 -51
  2859. package/lib/openzeppelin-contracts/test/security/ReentrancyGuard.test.js +0 -40
  2860. package/lib/openzeppelin-contracts/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +0 -146
  2861. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.behavior.js +0 -109
  2862. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.behavior.js +0 -32
  2863. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Snapshot.test.js +0 -204
  2864. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20VotesComp.test.js +0 -496
  2865. package/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Permit.test.js +0 -109
  2866. package/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +0 -42
  2867. package/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +0 -113
  2868. package/lib/openzeppelin-contracts/test/token/ERC20/utils/TokenTimelock.test.js +0 -71
  2869. package/lib/openzeppelin-contracts/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +0 -125
  2870. package/lib/openzeppelin-contracts/test/token/ERC777/ERC777.behavior.js +0 -555
  2871. package/lib/openzeppelin-contracts/test/token/ERC777/ERC777.test.js +0 -610
  2872. package/lib/openzeppelin-contracts/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +0 -49
  2873. package/lib/openzeppelin-contracts/test/utils/Checkpoints.test.js +0 -189
  2874. package/lib/openzeppelin-contracts/test/utils/Counters.test.js +0 -84
  2875. package/lib/openzeppelin-contracts/test/utils/TimersBlockNumberImpl.test.js +0 -55
  2876. package/lib/openzeppelin-contracts/test/utils/TimersTimestamp.test.js +0 -55
  2877. package/lib/openzeppelin-contracts/test/utils/escrow/ConditionalEscrow.test.js +0 -36
  2878. package/lib/openzeppelin-contracts/test/utils/escrow/Escrow.behavior.js +0 -94
  2879. package/lib/openzeppelin-contracts/test/utils/escrow/Escrow.test.js +0 -14
  2880. package/lib/openzeppelin-contracts/test/utils/escrow/RefundEscrow.test.js +0 -148
  2881. package/lib/openzeppelin-contracts/test/utils/introspection/ERC165Storage.test.js +0 -25
  2882. package/lib/openzeppelin-contracts/test/utils/introspection/ERC1820Implementer.test.js +0 -66
  2883. package/lib/openzeppelin-contracts/test/utils/math/SafeMath.test.js +0 -403
  2884. package/lib/openzeppelin-contracts/test/utils/math/SignedSafeMath.test.js +0 -152
  2885. package/lib/openzeppelin-contracts-upgradeable/.changeset/new-ways-own.md +0 -5
  2886. package/lib/openzeppelin-contracts-upgradeable/.eslintrc +0 -62
  2887. package/lib/openzeppelin-contracts-upgradeable/.gitattributes +0 -1
  2888. package/lib/openzeppelin-contracts-upgradeable/.github/ISSUE_TEMPLATE/bug_report.md +0 -21
  2889. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/changelog.yml +0 -28
  2890. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/merge-upstream.yml +0 -28
  2891. package/lib/openzeppelin-contracts-upgradeable/.github/workflows/transpile.yml +0 -27
  2892. package/lib/openzeppelin-contracts-upgradeable/.solhint.json +0 -14
  2893. package/lib/openzeppelin-contracts-upgradeable/UPGRADEABLE.md +0 -47
  2894. package/lib/openzeppelin-contracts-upgradeable/audit/2017-03.md +0 -292
  2895. package/lib/openzeppelin-contracts-upgradeable/certora/applyHarness.patch +0 -101
  2896. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC20VotesHarness.sol +0 -28
  2897. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/WizardControlFirstPriority.sol +0 -150
  2898. package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/WizardFirstTry.sol +0 -141
  2899. package/lib/openzeppelin-contracts-upgradeable/certora/munged/.gitignore +0 -2
  2900. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/Governor.sh +0 -10
  2901. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/GovernorCountingSimple-counting.sh +0 -10
  2902. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/WizardControlFirstPriority.sh +0 -12
  2903. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/WizardFirstTry.sh +0 -10
  2904. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/sanity.sh +0 -14
  2905. package/lib/openzeppelin-contracts-upgradeable/certora/scripts/verifyAll.sh +0 -39
  2906. package/lib/openzeppelin-contracts-upgradeable/certora/specs/GovernorBase.spec +0 -333
  2907. package/lib/openzeppelin-contracts-upgradeable/certora/specs/GovernorCountingSimple.spec +0 -221
  2908. package/lib/openzeppelin-contracts-upgradeable/certora/specs/RulesInProgress.spec +0 -139
  2909. package/lib/openzeppelin-contracts-upgradeable/certora/specs/sanity.spec +0 -14
  2910. package/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlCrossChainUpgradeable.sol +0 -58
  2911. package/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol +0 -77
  2912. package/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol +0 -31
  2913. package/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol +0 -88
  2914. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/CrossChainEnabledUpgradeable.sol +0 -67
  2915. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/README.adoc +0 -34
  2916. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/amb/CrossChainEnabledAMBUpgradeable.sol +0 -57
  2917. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/amb/LibAMBUpgradeable.sol +0 -35
  2918. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1Upgradeable.sol +0 -52
  2919. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2Upgradeable.sol +0 -53
  2920. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/arbitrum/LibArbitrumL1Upgradeable.sol +0 -42
  2921. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/arbitrum/LibArbitrumL2Upgradeable.sol +0 -45
  2922. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/errorsUpgradeable.sol +0 -7
  2923. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/optimism/CrossChainEnabledOptimismUpgradeable.sol +0 -49
  2924. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/optimism/LibOptimismUpgradeable.sol +0 -36
  2925. package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/polygon/CrossChainEnabledPolygonChildUpgradeable.sol +0 -90
  2926. package/lib/openzeppelin-contracts-upgradeable/contracts/finance/PaymentSplitterUpgradeable.sol +0 -226
  2927. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/IGovernorUpgradeable.sol +0 -289
  2928. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/TimelockControllerWith46MigrationUpgradeable.sol +0 -56
  2929. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/compatibility/GovernorCompatibilityBravoUpgradeable.sol +0 -298
  2930. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/compatibility/IGovernorCompatibilityBravoUpgradeable.sol +0 -127
  2931. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorProposalThresholdUpgradeable.sol +0 -36
  2932. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorVotesCompUpgradeable.sol +0 -45
  2933. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/IGovernorTimelockUpgradeable.sol +0 -39
  2934. package/lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/IVotesUpgradeable.sol +0 -61
  2935. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1155MetadataURIUpgradeable.sol +0 -6
  2936. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1155ReceiverUpgradeable.sol +0 -6
  2937. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1155Upgradeable.sol +0 -6
  2938. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1271Upgradeable.sol +0 -19
  2939. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1363ReceiverUpgradeable.sol +0 -32
  2940. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1363SpenderUpgradeable.sol +0 -30
  2941. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1363Upgradeable.sol +0 -95
  2942. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC165Upgradeable.sol +0 -6
  2943. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1820ImplementerUpgradeable.sol +0 -6
  2944. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1820RegistryUpgradeable.sol +0 -6
  2945. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20MetadataUpgradeable.sol +0 -6
  2946. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol +0 -6
  2947. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC2309Upgradeable.sol +0 -21
  2948. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC2981Upgradeable.sol +0 -25
  2949. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC3156FlashBorrowerUpgradeable.sol +0 -29
  2950. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC3156FlashLenderUpgradeable.sol +0 -43
  2951. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC3156Upgradeable.sol +0 -7
  2952. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC4626Upgradeable.sol +0 -240
  2953. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC721EnumerableUpgradeable.sol +0 -6
  2954. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC721MetadataUpgradeable.sol +0 -6
  2955. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC721ReceiverUpgradeable.sol +0 -6
  2956. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC721Upgradeable.sol +0 -6
  2957. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC777RecipientUpgradeable.sol +0 -6
  2958. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC777SenderUpgradeable.sol +0 -6
  2959. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC777Upgradeable.sol +0 -6
  2960. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol +0 -20
  2961. package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC2612Upgradeable.sol +0 -8
  2962. package/lib/openzeppelin-contracts-upgradeable/contracts/metatx/MinimalForwarderUpgradeable.sol +0 -85
  2963. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessControlCrossChainMockUpgradeable.sol +0 -34
  2964. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessControlEnumerableMockUpgradeable.sol +0 -29
  2965. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessControlMockUpgradeable.sol +0 -29
  2966. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AddressImplUpgradeable.sol +0 -54
  2967. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/BadBeaconUpgradeable.sol +0 -36
  2968. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/Base64MockUpgradeable.sol +0 -24
  2969. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/BitmapMockUpgradeable.sol +0 -40
  2970. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/CheckpointsMockUpgradeable.sol +0 -157
  2971. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ClashingImplementationUpgradeable.sol +0 -31
  2972. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ClonesMockUpgradeable.sol +0 -49
  2973. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ConditionalEscrowMockUpgradeable.sol +0 -32
  2974. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/CountersImplUpgradeable.sol +0 -40
  2975. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/Create2ImplUpgradeable.sol +0 -47
  2976. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/DoubleEndedQueueMockUpgradeable.sol +0 -71
  2977. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ECDSAMockUpgradeable.sol +0 -54
  2978. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EIP712ExternalUpgradeable.sol +0 -43
  2979. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155BurnableMockUpgradeable.sol +0 -30
  2980. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155MockUpgradeable.sol +0 -63
  2981. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155PausableMockUpgradeable.sol +0 -43
  2982. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155ReceiverMockUpgradeable.sol +0 -69
  2983. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155SupplyMockUpgradeable.sol +0 -34
  2984. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155URIStorageMockUpgradeable.sol +0 -36
  2985. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165CheckerMockUpgradeable.sol +0 -42
  2986. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165MockUpgradeable.sol +0 -20
  2987. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165StorageMockUpgradeable.sol +0 -24
  2988. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1820ImplementerMockUpgradeable.sol +0 -24
  2989. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20BurnableMockUpgradeable.sol +0 -34
  2990. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20CappedMockUpgradeable.sol +0 -34
  2991. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20DecimalsMockUpgradeable.sol +0 -46
  2992. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20FlashMintMockUpgradeable.sol +0 -61
  2993. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20MockUpgradeable.sol +0 -59
  2994. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20PausableMockUpgradeable.sol +0 -52
  2995. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20PermitMockUpgradeable.sol +0 -40
  2996. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20SnapshotMockUpgradeable.sol +0 -46
  2997. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20VotesCompMockUpgradeable.sol +0 -35
  2998. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20VotesMockUpgradeable.sol +0 -35
  2999. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20WrapperMockUpgradeable.sol +0 -34
  3000. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC4626MockUpgradeable.sol +0 -96
  3001. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721BurnableMockUpgradeable.sol +0 -41
  3002. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721ConsecutiveEnumerableMockUpgradeable.sol +0 -73
  3003. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721ConsecutiveMockUpgradeable.sol +0 -119
  3004. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721EnumerableMockUpgradeable.sol +0 -63
  3005. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721MockUpgradeable.sol +0 -53
  3006. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721PausableMockUpgradeable.sol +0 -58
  3007. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721ReceiverMockUpgradeable.sol +0 -54
  3008. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721RoyaltyMockUpgradeable.sol +0 -45
  3009. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721URIStorageMockUpgradeable.sol +0 -67
  3010. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721VotesMockUpgradeable.sol +0 -38
  3011. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC777MockUpgradeable.sol +0 -75
  3012. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC777SenderRecipientMockUpgradeable.sol +0 -176
  3013. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EnumerableMapMockUpgradeable.sol +0 -282
  3014. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EnumerableSetMockUpgradeable.sol +0 -148
  3015. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorCompMockUpgradeable.sol +0 -45
  3016. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorCompatibilityBravoMockUpgradeable.sol +0 -145
  3017. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorMockUpgradeable.sol +0 -67
  3018. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorPreventLateQuorumMockUpgradeable.sol +0 -79
  3019. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorTimelockCompoundMockUpgradeable.sol +0 -114
  3020. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorTimelockControlMockUpgradeable.sol +0 -111
  3021. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorVoteMockUpgradeable.sol +0 -45
  3022. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorWithParamsMockUpgradeable.sol +0 -75
  3023. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MathMockUpgradeable.sol +0 -61
  3024. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MerkleProofWrapperUpgradeable.sol +0 -78
  3025. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MulticallTestUpgradeable.sol +0 -36
  3026. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MulticallTokenMockUpgradeable.sol +0 -23
  3027. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/Ownable2StepMockUpgradeable.sol +0 -21
  3028. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/OwnableMockUpgradeable.sol +0 -21
  3029. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/PullPaymentMockUpgradeable.sol +0 -27
  3030. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SafeCastMockUpgradeable.sol +0 -280
  3031. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SafeERC20HelperUpgradeable.sol +0 -257
  3032. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SafeMathMockUpgradeable.sol +0 -151
  3033. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SignatureCheckerMockUpgradeable.sol +0 -30
  3034. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SignedMathMockUpgradeable.sol +0 -36
  3035. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SignedSafeMathMockUpgradeable.sol +0 -36
  3036. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/StringsMockUpgradeable.sol +0 -36
  3037. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/TimersBlockNumberImplUpgradeable.sol +0 -52
  3038. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/TimersTimestampImplUpgradeable.sol +0 -52
  3039. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/UUPS/UUPSLegacyUpgradeable.sol +0 -81
  3040. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/UUPS/UUPSUpgradeableMockUpgradeable.sol +0 -46
  3041. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/crosschain/bridgesUpgradeable.sol +0 -199
  3042. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/crosschain/receiversUpgradeable.sol +0 -107
  3043. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/wizard/MyGovernor1Upgradeable.sol +0 -98
  3044. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/wizard/MyGovernor2Upgradeable.sol +0 -104
  3045. package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/wizard/MyGovernor3Upgradeable.sol +0 -107
  3046. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol +0 -89
  3047. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol +0 -212
  3048. package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol +0 -16
  3049. package/lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol +0 -117
  3050. package/lib/openzeppelin-contracts-upgradeable/contracts/security/PullPaymentUpgradeable.sol +0 -89
  3051. package/lib/openzeppelin-contracts-upgradeable/contracts/security/README.adoc +0 -20
  3052. package/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol +0 -81
  3053. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155ReceiverUpgradeable.sol +0 -58
  3054. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol +0 -125
  3055. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol +0 -22
  3056. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/presets/ERC1155PresetMinterPauserUpgradeable.sol +0 -145
  3057. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/presets/README.md +0 -1
  3058. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/utils/ERC1155ReceiverUpgradeable.sol +0 -32
  3059. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol +0 -82
  3060. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol +0 -208
  3061. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20VotesCompUpgradeable.sol +0 -59
  3062. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol +0 -28
  3063. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol +0 -109
  3064. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol +0 -60
  3065. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/presets/ERC20PresetFixedSupplyUpgradeable.sol +0 -61
  3066. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/presets/ERC20PresetMinterPauserUpgradeable.sol +0 -111
  3067. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/presets/README.md +0 -1
  3068. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol +0 -116
  3069. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/TokenTimelockUpgradeable.sol +0 -94
  3070. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol +0 -27
  3071. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol +0 -145
  3072. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol +0 -29
  3073. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol +0 -27
  3074. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/draft-ERC721VotesUpgradeable.sol +0 -9
  3075. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoIdUpgradeable.sol +0 -165
  3076. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/presets/README.md +0 -1
  3077. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/ERC777Upgradeable.sol +0 -563
  3078. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/IERC777RecipientUpgradeable.sol +0 -35
  3079. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/IERC777SenderUpgradeable.sol +0 -35
  3080. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/IERC777Upgradeable.sol +0 -209
  3081. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/README.adoc +0 -30
  3082. package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/presets/ERC777PresetFixedSupplyUpgradeable.sol +0 -58
  3083. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol +0 -219
  3084. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/ArraysUpgradeable.sol +0 -96
  3085. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/Base64Upgradeable.sol +0 -92
  3086. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/CheckpointsUpgradeable.sol +0 -554
  3087. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol +0 -43
  3088. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/Create2Upgradeable.sol +0 -83
  3089. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol +0 -88
  3090. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol +0 -70
  3091. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/TimersUpgradeable.sol +0 -73
  3092. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/ECDSAUpgradeable.sol +0 -213
  3093. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/MerkleProofUpgradeable.sol +0 -223
  3094. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/SignatureCheckerUpgradeable.sol +0 -42
  3095. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/draft-EIP712Upgradeable.sol +0 -8
  3096. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/escrow/ConditionalEscrowUpgradeable.sol +0 -39
  3097. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/escrow/EscrowUpgradeable.sol +0 -84
  3098. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/escrow/RefundEscrowUpgradeable.sol +0 -113
  3099. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165CheckerUpgradeable.sol +0 -127
  3100. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165StorageUpgradeable.sol +0 -55
  3101. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC1820ImplementerUpgradeable.sol +0 -57
  3102. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol +0 -25
  3103. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC1820ImplementerUpgradeable.sol +0 -20
  3104. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC1820RegistryUpgradeable.sol +0 -116
  3105. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol +0 -345
  3106. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeCastUpgradeable.sol +0 -1136
  3107. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol +0 -227
  3108. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol +0 -43
  3109. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedSafeMathUpgradeable.sol +0 -68
  3110. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/BitMapsUpgradeable.sol +0 -55
  3111. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/DoubleEndedQueueUpgradeable.sol +0 -170
  3112. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableMapUpgradeable.sol +0 -530
  3113. package/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol +0 -378
  3114. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/amb/IAMBUpgradeable.sol +0 -49
  3115. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IArbSysUpgradeable.sol +0 -141
  3116. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IBridgeUpgradeable.sol +0 -109
  3117. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IDelayedMessageProviderUpgradeable.sol +0 -16
  3118. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IInboxUpgradeable.sol +0 -152
  3119. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IOutboxUpgradeable.sol +0 -121
  3120. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/compound/ICompoundTimelockUpgradeable.sol +0 -86
  3121. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/optimism/ICrossDomainMessengerUpgradeable.sol +0 -38
  3122. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/optimism/LICENSE +0 -22
  3123. package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/polygon/IFxMessageProcessorUpgradeable.sol +0 -11
  3124. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/crosschain.adoc +0 -210
  3125. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/crowdsales.adoc +0 -11
  3126. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/drafts.adoc +0 -19
  3127. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc777.adoc +0 -73
  3128. package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/releases-stability.adoc +0 -85
  3129. package/lib/openzeppelin-contracts-upgradeable/hardhat/env-contract.js +0 -10
  3130. package/lib/openzeppelin-contracts-upgradeable/hardhat/task-get-compiler-input.js +0 -10
  3131. package/lib/openzeppelin-contracts-upgradeable/icon.svg +0 -13
  3132. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/.gitmodules +0 -3
  3133. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/LICENSE +0 -674
  3134. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/Makefile +0 -14
  3135. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/default.nix +0 -4
  3136. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/demo/demo.sol +0 -222
  3137. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/package.json +0 -15
  3138. package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/test.sol +0 -469
  3139. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/CheckpointsMock.js +0 -80
  3140. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/EnumerableMapMock.js +0 -66
  3141. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/EnumerableSetMock.js +0 -56
  3142. package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/SafeCastMock.js +0 -50
  3143. package/lib/openzeppelin-contracts-upgradeable/scripts/migrate-imports.js +0 -177
  3144. package/lib/openzeppelin-contracts-upgradeable/scripts/prepare-contracts-package.sh +0 -15
  3145. package/lib/openzeppelin-contracts-upgradeable/scripts/prepare.sh +0 -10
  3146. package/lib/openzeppelin-contracts-upgradeable/scripts/release/release.sh +0 -145
  3147. package/lib/openzeppelin-contracts-upgradeable/scripts/release/update-changelog-release-date.js +0 -34
  3148. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/merge-upstream.sh +0 -33
  3149. package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/patch/.gitkeep +0 -0
  3150. package/lib/openzeppelin-contracts-upgradeable/test/access/AccessControlCrossChain.test.js +0 -59
  3151. package/lib/openzeppelin-contracts-upgradeable/test/access/AccessControlEnumerable.test.js +0 -15
  3152. package/lib/openzeppelin-contracts-upgradeable/test/crosschain/CrossChainEnabled.test.js +0 -88
  3153. package/lib/openzeppelin-contracts-upgradeable/test/finance/PaymentSplitter.test.js +0 -217
  3154. package/lib/openzeppelin-contracts-upgradeable/test/governance/compatibility/GovernorCompatibilityBravo.test.js +0 -265
  3155. package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorComp.test.js +0 -78
  3156. package/lib/openzeppelin-contracts-upgradeable/test/helpers/create2.js +0 -12
  3157. package/lib/openzeppelin-contracts-upgradeable/test/helpers/crosschain.js +0 -63
  3158. package/lib/openzeppelin-contracts-upgradeable/test/helpers/customError.js +0 -24
  3159. package/lib/openzeppelin-contracts-upgradeable/test/helpers/erc1967.js +0 -24
  3160. package/lib/openzeppelin-contracts-upgradeable/test/helpers/sign.js +0 -47
  3161. package/lib/openzeppelin-contracts-upgradeable/test/metatx/MinimalForwarder.test.js +0 -184
  3162. package/lib/openzeppelin-contracts-upgradeable/test/migrate-imports.test.js +0 -29
  3163. package/lib/openzeppelin-contracts-upgradeable/test/security/Pausable.test.js +0 -89
  3164. package/lib/openzeppelin-contracts-upgradeable/test/security/PullPayment.test.js +0 -51
  3165. package/lib/openzeppelin-contracts-upgradeable/test/security/ReentrancyGuard.test.js +0 -40
  3166. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +0 -146
  3167. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Burnable.behavior.js +0 -109
  3168. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Capped.behavior.js +0 -32
  3169. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Snapshot.test.js +0 -204
  3170. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20VotesComp.test.js +0 -496
  3171. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/draft-ERC20Permit.test.js +0 -109
  3172. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +0 -42
  3173. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +0 -113
  3174. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/utils/TokenTimelock.test.js +0 -71
  3175. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +0 -125
  3176. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC777/ERC777.behavior.js +0 -555
  3177. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC777/ERC777.test.js +0 -610
  3178. package/lib/openzeppelin-contracts-upgradeable/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +0 -49
  3179. package/lib/openzeppelin-contracts-upgradeable/test/utils/Checkpoints.test.js +0 -189
  3180. package/lib/openzeppelin-contracts-upgradeable/test/utils/Counters.test.js +0 -84
  3181. package/lib/openzeppelin-contracts-upgradeable/test/utils/TimersBlockNumberImpl.test.js +0 -55
  3182. package/lib/openzeppelin-contracts-upgradeable/test/utils/TimersTimestamp.test.js +0 -55
  3183. package/lib/openzeppelin-contracts-upgradeable/test/utils/escrow/ConditionalEscrow.test.js +0 -36
  3184. package/lib/openzeppelin-contracts-upgradeable/test/utils/escrow/Escrow.behavior.js +0 -94
  3185. package/lib/openzeppelin-contracts-upgradeable/test/utils/escrow/Escrow.test.js +0 -14
  3186. package/lib/openzeppelin-contracts-upgradeable/test/utils/escrow/RefundEscrow.test.js +0 -148
  3187. package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/ERC165Storage.test.js +0 -25
  3188. package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/ERC1820Implementer.test.js +0 -66
  3189. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SafeMath.test.js +0 -403
  3190. package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SignedSafeMath.test.js +0 -152
  3191. package/migrations/10_deploy_weth.js +0 -5
  3192. package/migrations/11_deploy_full_flow.js +0 -99
  3193. package/migrations/12_deploy_pm_v3_querier.js +0 -7
  3194. package/migrations/13_deploy_pm_v3_factory.js +0 -14
  3195. package/migrations/15_deploy_ppmm.js +0 -10
  3196. package/migrations/16_deploy_raffle.js +0 -5
  3197. package/migrations/1_initial_migration.js +0 -5
  3198. package/migrations/2_deploy_erc20.js +0 -10
  3199. package/migrations/3_deploy_realitio.js +0 -11
  3200. package/migrations/4_deploy_pm.js +0 -20
  3201. package/migrations/5_seed_markets.js +0 -51
  3202. package/migrations/6_deploy_achievements.js +0 -5
  3203. package/migrations/7_deploy_voting.js +0 -14
  3204. package/migrations/8_deploy_pm_v2.js +0 -20
  3205. package/migrations/9_seed_markets_v2.js +0 -68
  3206. package/tests/PPMMarketContract.js +0 -340
  3207. package/tests/fantasyERC20Contract.js +0 -225
  3208. package/tests/getAverageOutcomeBuyPrice.test.ts +0 -179
  3209. package/tests/index.js +0 -10
  3210. package/tests/predictionMarketContract.js +0 -466
  3211. package/tests/predictionMarketV2Contract.js +0 -1042
  3212. package/tests/predictionMarketV3Contract.js +0 -1079
  3213. package/tests/predictionMarketV3ControllerContract.js +0 -613
  3214. package/tests/predictionMarketV3FactoryContract.js +0 -469
  3215. package/tests/predictionMarketV3ManagerContract.js +0 -610
  3216. package/tests/utils.js +0 -16
  3217. package/tests/votingContract.js +0 -490
  3218. package/truffle-config.js +0 -134
  3219. package/zkout/AccessControl.sol/AccessControl.json +0 -1
  3220. package/zkout/AccessControlEnumerable.sol/AccessControlEnumerable.json +0 -1
  3221. package/zkout/Address.sol/Address.json +0 -1
  3222. package/zkout/Clones.sol/Clones.json +0 -1
  3223. package/zkout/Context.sol/Context.json +0 -1
  3224. package/zkout/ERC165.sol/ERC165.json +0 -1
  3225. package/zkout/ERC20.sol/ERC20.json +0 -1
  3226. package/zkout/ERC20Burnable.sol/ERC20Burnable.json +0 -1
  3227. package/zkout/ERC20Pausable.sol/ERC20Pausable.json +0 -1
  3228. package/zkout/ERC20PresetMinterPauser.sol/ERC20PresetMinterPauser.json +0 -1
  3229. package/zkout/EnumerableSet.sol/EnumerableSet.json +0 -1
  3230. package/zkout/FantasyERC20.sol/FantasyERC20.json +0 -1
  3231. package/zkout/IAccessControl.sol/IAccessControl.json +0 -1
  3232. package/zkout/IAccessControlEnumerable.sol/IAccessControlEnumerable.json +0 -1
  3233. package/zkout/IERC165.sol/IERC165.json +0 -1
  3234. package/zkout/IERC20.sol/IERC20.json +0 -1
  3235. package/zkout/IERC20Metadata.sol/IERC20Metadata.json +0 -1
  3236. package/zkout/IFantasyERC20.sol/IFantasyERC20.json +0 -1
  3237. package/zkout/IPredictionMarketV3.sol/IPredictionMarketV3.json +0 -1
  3238. package/zkout/IPredictionMarketV3Factory.sol/IPredictionMarketV3Factory.json +0 -1
  3239. package/zkout/IPredictionMarketV3Manager.sol/IPredictionMarketV3Manager.json +0 -1
  3240. package/zkout/IRealityETH_ERC20.sol/IRealityETH_ERC20.json +0 -1
  3241. package/zkout/LandFactory.sol/LandFactory.json +0 -1
  3242. package/zkout/Math.sol/Math.json +0 -1
  3243. package/zkout/Migrations.sol/Migrations.json +0 -1
  3244. package/zkout/Ownable.sol/Ownable.json +0 -1
  3245. package/zkout/Pausable.sol/Pausable.json +0 -1
  3246. package/zkout/PredictionMarketV3.sol/CeilDiv.json +0 -1
  3247. package/zkout/PredictionMarketV3.sol/IWETH.json +0 -1
  3248. package/zkout/PredictionMarketV3.sol/PredictionMarketV3.json +0 -1
  3249. package/zkout/PredictionMarketV3Controller.sol/PredictionMarketV3Controller.json +0 -1
  3250. package/zkout/PredictionMarketV3Factory.sol/PredictionMarketV3Factory.json +0 -1
  3251. package/zkout/PredictionMarketV3Manager.sol/PredictionMarketV3Manager.json +0 -1
  3252. package/zkout/PredictionMarketV3Querier.sol/PredictionMarketV3Querier.json +0 -1
  3253. package/zkout/Proxy.sol/Proxy.json +0 -1
  3254. package/zkout/RealityETH_ERC20_Factory.sol/IRealityETH_IERC20.json +0 -1
  3255. package/zkout/RealityETH_ERC20_Factory.sol/RealityETH_ERC20_Factory.json +0 -1
  3256. package/zkout/RealityETH_ERC20_v3_0.sol/RealityETH_ERC20_v3_0_.json +0 -1
  3257. package/zkout/ReentrancyGuard.sol/ReentrancyGuard.json +0 -1
  3258. package/zkout/SafeERC20.sol/SafeERC20.json +0 -1
  3259. package/zkout/SafeMath.sol/SafeMath.json +0 -1
  3260. package/zkout/Strings.sol/Strings.json +0 -1
  3261. package/zkout/USDCERC20.sol/USDCERC20.json +0 -1
  3262. package/zkout/Voting.sol/Voting.json +0 -1
  3263. package/zkout/build-info/0fa499f04838f8c1f593bcbafd0fd1a5.json +0 -1
  3264. package/zkout/build-info/39c03363a71a9805ec8ec63c81a8aaaf.json +0 -1
  3265. package/zkout/build-info/637aa7b0942c0ead878e36bd5d598008.json +0 -1
  3266. package/zkout/build-info/810ab68b6fb1e3386ce5a111c7eb136f.json +0 -1
  3267. package/zkout/build-info/aec05d9534229710b5b5f567c42384a1.json +0 -1
  3268. package/zkout/build-info/cdd531656c4131c11667647afa1b2cca.json +0 -1
  3269. package/zkout/build-info/e702288987d16a0b64efe75b321dfb8a.json +0 -1
  3270. package/zkout/build-info/eccbfbbf7a8a18e02ebf05d3b7c6eea8.json +0 -1
  3271. package/zkout/contracts/BalanceHolder_ERC20.sol/BalanceHolder_ERC20.json +0 -1
  3272. package/zkout/contracts/IBalanceHolder_ERC20.sol/IBalanceHolder_ERC20.json +0 -1
  3273. package/zkout/contracts/RealityETH_ERC20-3.0.sol/RealityETH_ERC20_v3_0.json +0 -1
  3274. package/zkout/development/contracts/IERC20.sol/IERC20.json +0 -1
  3275. package/zkout/draft-IERC20Permit.sol/IERC20Permit.json +0 -1
  3276. /package/{build/contracts → abis}/AccessControlEnumerable.json +0 -0
  3277. /package/{build/contracts → abis}/Achievements.json +0 -0
  3278. /package/{build/contracts → abis}/BalanceHolder.json +0 -0
  3279. /package/{build/contracts → abis}/Counters.json +0 -0
  3280. /package/{build/contracts → abis}/ERC20PresetMinterPauser.json +0 -0
  3281. /package/{build/contracts → abis}/ERC721.json +0 -0
  3282. /package/{build/contracts → abis}/EnumerableMap.json +0 -0
  3283. /package/{build/contracts → abis}/EnumerableSet.json +0 -0
  3284. /package/{build/contracts → abis}/IAccessControlEnumerable.json +0 -0
  3285. /package/{build/contracts → abis}/IERC20Permit.json +0 -0
  3286. /package/{build/contracts → abis}/IERC721Receiver.json +0 -0
  3287. /package/{build/contracts → abis}/IPredictionMarketV3.json +0 -0
  3288. /package/{build/contracts → abis}/Math.json +0 -0
  3289. /package/{build/contracts → abis}/Migrations.json +0 -0
  3290. /package/{build/contracts → abis}/PredictionMarket.json +0 -0
  3291. /package/{build/contracts → abis}/PredictionMarketV2.json +0 -0
  3292. /package/{build/contracts → abis}/PredictionMarketV3.json +0 -0
  3293. /package/{build/contracts → abis}/RealitioERC20.json +0 -0
  3294. /package/{build/contracts → abis}/RealitioForeignArbitrationProxyWithAppeals.json +0 -0
  3295. /package/{build/contracts → abis}/RealitioHomeArbitrationProxy.json +0 -0
  3296. /package/{build/contracts → abis}/RealitioSafeMath256.json +0 -0
  3297. /package/{build/contracts → abis}/RealitioSafeMath32.json +0 -0
  3298. /package/{build/contracts → abis}/SafeMath.json +0 -0
  3299. /package/{build/contracts → abis}/Strings.json +0 -0
  3300. /package/{build/contracts → abis}/WETH9.json +0 -0
  3301. /package/lib/openzeppelin-contracts-upgradeable/{audit → audits}/2018-10.pdf +0 -0
  3302. /package/lib/openzeppelin-contracts-upgradeable/{DOCUMENTATION.md → docs/README.md} +0 -0
  3303. /package/lib/openzeppelin-contracts-upgradeable/{.github → lib/openzeppelin-contracts/.github}/ISSUE_TEMPLATE/feature_request.md +0 -0
  3304. /package/lib/{openzeppelin-contracts/audit → openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/audits}/2018-10.pdf +0 -0
  3305. /package/lib/{openzeppelin-contracts/DOCUMENTATION.md → openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/docs/README.md} +0 -0
  3306. /package/lib/openzeppelin-contracts-upgradeable/{scripts/upgradeable → lib/openzeppelin-contracts/scripts}/git-user-config.sh +0 -0
@@ -0,0 +1,118 @@
1
+ = ERC-1155
2
+
3
+ ERC-1155 is a novel token standard that aims to take the best from previous standards to create a xref:tokens.adoc#different-kinds-of-tokens[*fungibility-agnostic*] and *gas-efficient* xref:tokens.adoc#but_first_coffee_a_primer_on_token_contracts[token contract].
4
+
5
+ TIP: ERC-1155 draws ideas from all of xref:erc20.adoc[ERC-20], xref:erc721.adoc[ERC-721], and https://eips.ethereum.org/EIPS/eip-777[ERC-777]. If you're unfamiliar with those standards, head to their guides before moving on.
6
+
7
+ [[multi-token-standard]]
8
+ == Multi Token Standard
9
+
10
+ The distinctive feature of ERC-1155 is that it uses a single smart contract to represent multiple tokens at once. This is why its xref:api:token/ERC1155.adoc#IERC1155-balanceOf-address-uint256-[`balanceOf`] function differs from ERC-20's and ERC-777's: it has an additional `id` argument for the identifier of the token that you want to query the balance of.
11
+
12
+ This is similar to how ERC-721 does things, but in that standard a token `id` has no concept of balance: each token is non-fungible and exists or doesn't. The ERC-721 xref:api:token/ERC721.adoc#IERC721-balanceOf-address-[`balanceOf`] function refers to _how many different tokens_ an account has, not how many of each. On the other hand, in ERC-1155 accounts have a distinct balance for each token `id`, and non-fungible tokens are implemented by simply minting a single one of them.
13
+
14
+ This approach leads to massive gas savings for projects that require multiple tokens. Instead of deploying a new contract for each token type, a single ERC-1155 token contract can hold the entire system state, reducing deployment costs and complexity.
15
+
16
+ [[batch-operations]]
17
+ == Batch Operations
18
+
19
+ Because all state is held in a single contract, it is possible to operate over multiple tokens in a single transaction very efficiently. The standard provides two functions, xref:api:token/ERC1155.adoc#IERC1155-balanceOfBatch-address---uint256---[`balanceOfBatch`] and xref:api:token/ERC1155.adoc#IERC1155-safeBatchTransferFrom-address-address-uint256---uint256---bytes-[`safeBatchTransferFrom`], that make querying multiple balances and transferring multiple tokens simpler and less gas-intensive.
20
+
21
+ In the spirit of the standard, we've also included batch operations in the non-standard functions, such as xref:api:token/ERC1155.adoc#ERC1155-_mintBatch-address-uint256---uint256---bytes-[`_mintBatch`].
22
+
23
+ == Constructing an ERC-1155 Token Contract
24
+
25
+ We'll use ERC-1155 to track multiple items in our game, which will each have their own unique attributes. We mint all items to the deployer of the contract, which we can later transfer to players. Players are free to keep their tokens or trade them with other people as they see fit, as they would any other asset on the blockchain!
26
+
27
+ For simplicity, we will mint all items in the constructor, but you could add minting functionality to the contract to mint on demand to players.
28
+
29
+ TIP: For an overview of minting mechanisms, check out xref:erc20-supply.adoc[Creating ERC-20 Supply].
30
+
31
+ Here's what a contract for tokenized items might look like:
32
+
33
+ [source,solidity]
34
+ ----
35
+ include::api:example$token/ERC1155/GameItems.sol[]
36
+ ----
37
+
38
+ Note that for our Game Items, Gold is a fungible token whilst Thor's Hammer is a non-fungible token as we minted only one.
39
+
40
+ The xref:api:token/ERC1155.adoc#ERC1155[`ERC1155`] contract includes the optional extension xref:api:token/ERC1155.adoc#IERC1155MetadataURI[`IERC1155MetadataURI`]. That's where the xref:api:token/ERC1155.adoc#IERC1155MetadataURI-uri-uint256-[`uri`] function comes from: we use it to retrieve the metadata uri.
41
+
42
+ Also note that, unlike ERC-20, ERC-1155 lacks a `decimals` field, since each token is distinct and cannot be partitioned.
43
+
44
+ Once deployed, we will be able to query the deployer’s balance:
45
+ [source,javascript]
46
+ ----
47
+ > gameItems.balanceOf(deployerAddress,3)
48
+ 1000000000
49
+ ----
50
+
51
+ We can transfer items to player accounts:
52
+ [source,javascript]
53
+ ----
54
+ > gameItems.safeTransferFrom(deployerAddress, playerAddress, 2, 1, "0x0")
55
+ > gameItems.balanceOf(playerAddress, 2)
56
+ 1
57
+ > gameItems.balanceOf(deployerAddress, 2)
58
+ 0
59
+ ----
60
+
61
+ We can also batch transfer items to player accounts and get the balance of batches:
62
+ [source,javascript]
63
+ ----
64
+ > gameItems.safeBatchTransferFrom(deployerAddress, playerAddress, [0,1,3,4], [50,100,1,1], "0x0")
65
+ > gameItems.balanceOfBatch([playerAddress,playerAddress,playerAddress,playerAddress,playerAddress], [0,1,2,3,4])
66
+ [50,100,1,1,1]
67
+ ----
68
+
69
+ The metadata uri can be obtained:
70
+
71
+ [source,javascript]
72
+ ----
73
+ > gameItems.uri(2)
74
+ "https://game.example/api/item/{id}.json"
75
+ ----
76
+
77
+ The `uri` can include the string `++{id}++` which clients must replace with the actual token ID, in lowercase hexadecimal (with no 0x prefix) and leading zero padded to 64 hex characters.
78
+
79
+ For token ID `2` and uri `++https://game.example/api/item/{id}.json++` clients would replace `++{id}++` with `0000000000000000000000000000000000000000000000000000000000000002` to retrieve JSON at `https://game.example/api/item/0000000000000000000000000000000000000000000000000000000000000002.json`.
80
+
81
+ The JSON document for token ID 2 might look something like:
82
+
83
+ [source,json]
84
+ ----
85
+ {
86
+ "name": "Thor's hammer",
87
+ "description": "Mjölnir, the legendary hammer of the Norse god of thunder.",
88
+ "image": "https://game.example/item-id-8u5h2m.png",
89
+ "strength": 20
90
+ }
91
+ ----
92
+
93
+ For more information about the metadata JSON Schema, check out the https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1155.md#erc-1155-metadata-uri-json-schema[ERC-1155 Metadata URI JSON Schema].
94
+
95
+ NOTE: You'll notice that the item's information is included in the metadata, but that information isn't on-chain! So a game developer could change the underlying metadata, changing the rules of the game!
96
+
97
+ TIP: If you'd like to put all item information on-chain, you can extend ERC-721 to do so (though it will be rather costly) by providing a xref:utilities.adoc#base64[`Base64`] Data URI with the JSON schema encoded. You could also leverage IPFS to store the URI information, but these techniques are out of the scope of this overview guide
98
+
99
+ [[sending-to-contracts]]
100
+ == Sending Tokens to Contracts
101
+
102
+ A key difference when using xref:api:token/ERC1155.adoc#IERC1155-safeTransferFrom-address-address-uint256-uint256-bytes-[`safeTransferFrom`] is that token transfers to other contracts may revert with the following custom error:
103
+
104
+ [source,text]
105
+ ----
106
+ ERC1155InvalidReceiver("<ADDRESS>")
107
+ ----
108
+
109
+ This is a good thing! It means that the recipient contract has not registered itself as aware of the ERC-1155 protocol, so transfers to it are disabled to *prevent tokens from being locked forever*. As an example, https://etherscan.io/token/0xa74476443119A942dE498590Fe1f2454d7D4aC0d?a=0xa74476443119A942dE498590Fe1f2454d7D4aC0d[the Golem contract currently holds over 350k `GNT` tokens], and lacks methods to get them out of there. This has happened to virtually every ERC20-backed project, usually due to user error.
110
+
111
+ In order for our contract to receive ERC-1155 tokens we can inherit from the convenience contract xref:api:token/ERC1155.adoc#ERC1155Holder[`ERC1155Holder`] which handles the registering for us. However, we need to remember to implement functionality to allow tokens to be transferred out of our contract:
112
+
113
+ [source,solidity]
114
+ ----
115
+ include::api:example$token/ERC1155/MyERC115HolderContract.sol[]
116
+ ----
117
+
118
+ We can also implement more complex scenarios using the xref:api:token/ERC1155.adoc#IERC1155Receiver-onERC1155Received-address-address-uint256-uint256-bytes-[`onERC1155Received`] and xref:api:token/ERC1155.adoc#IERC1155Receiver-onERC1155BatchReceived-address-address-uint256---uint256---bytes-[`onERC1155BatchReceived`] functions.
@@ -0,0 +1,71 @@
1
+ = Creating ERC-20 Supply
2
+
3
+ In this guide, you will learn how to create an ERC-20 token with a custom supply mechanism. We will showcase two idiomatic ways to use OpenZeppelin Contracts for this purpose that you will be able to apply to your smart contract development practice.
4
+
5
+ The standard interface implemented by tokens built on Ethereum is called ERC-20, and Contracts includes a widely used implementation of it: the aptly named xref:api:token/ERC20.adoc[`ERC20`] contract. This contract, like the standard itself, is quite simple and bare-bones. In fact, if you try to deploy an instance of `ERC20` as-is it will be quite literally useless... it will have no supply! What use is a token with no supply?
6
+
7
+ The way that supply is created is not defined in the ERC-20 document. Every token is free to experiment with its own mechanisms, ranging from the most decentralized to the most centralized, from the most naive to the most researched, and more.
8
+
9
+ [[fixed-supply]]
10
+ == Fixed Supply
11
+
12
+ Let's say we want a token with a fixed supply of 1000, initially allocated to the account that deploys the contract. If you've used Contracts v1, you may have written code like the following:
13
+
14
+ [source,solidity]
15
+ ----
16
+ contract ERC20FixedSupply is ERC20 {
17
+ constructor() {
18
+ totalSupply += 1000;
19
+ balances[msg.sender] += 1000;
20
+ }
21
+ }
22
+ ----
23
+
24
+ Starting with Contracts v2, this pattern is not only discouraged, but disallowed. The variables `totalSupply` and `balances` are now private implementation details of `ERC20`, and you can't directly write to them. Instead, there is an internal xref:api:token/ERC20.adoc#ERC20-_mint-address-uint256-[`_mint`] function that will do exactly this:
25
+
26
+ [source,solidity]
27
+ ----
28
+ contract ERC20FixedSupply is ERC20 {
29
+ constructor() ERC20("Fixed", "FIX") {
30
+ _mint(msg.sender, 1000);
31
+ }
32
+ }
33
+ ----
34
+
35
+ Encapsulating state like this makes it safer to extend contracts. For instance, in the first example we had to manually keep the `totalSupply` in sync with the modified balances, which is easy to forget. In fact, we omitted something else that is also easily forgotten: the `Transfer` event that is required by the standard, and which is relied on by some clients. The second example does not have this bug, because the internal `_mint` function takes care of it.
36
+
37
+ [[rewarding-miners]]
38
+ == Rewarding Miners
39
+
40
+ The internal xref:api:token/ERC20.adoc#ERC20-_mint-address-uint256-[`_mint`] function is the key building block that allows us to write ERC-20 extensions that implement a supply mechanism.
41
+
42
+ The mechanism we will implement is a token reward for the miners that produce Ethereum blocks. In Solidity, we can access the address of the current block's miner in the global variable `block.coinbase`. We will mint a token reward to this address whenever someone calls the function `mintMinerReward()` on our token. The mechanism may sound silly, but you never know what kind of dynamic this might result in, and it's worth analyzing and experimenting with!
43
+
44
+ [source,solidity]
45
+ ----
46
+ contract ERC20WithMinerReward is ERC20 {
47
+ constructor() ERC20("Reward", "RWD") {}
48
+
49
+ function mintMinerReward() public {
50
+ _mint(block.coinbase, 1000);
51
+ }
52
+ }
53
+ ----
54
+
55
+ As we can see, `_mint` makes it super easy to do this correctly.
56
+
57
+ [[automating-the-reward]]
58
+ == Automating the Reward
59
+
60
+ So far our supply mechanism was triggered manually, but `ERC20` also allows us to extend the core functionality of the token through the xref:api:token/ERC20.adoc#ERC20-_update-address-address-uint256-[`_update`] function.
61
+
62
+ Adding to the supply mechanism from the previous section, we can use this function to mint a miner reward for every token transfer that is included in the blockchain.
63
+
64
+ ```solidity
65
+ include::api:example$ERC20WithAutoMinerReward.sol[]
66
+ ```
67
+
68
+ [[wrapping-up]]
69
+ == Wrapping Up
70
+
71
+ We've seen how to implement an ERC-20 supply mechanism: internally through `_mint`. Hopefully this has helped you understand how to use OpenZeppelin Contracts and some of the design principles behind it, and you can apply them to your own smart contracts.
@@ -0,0 +1,67 @@
1
+ = ERC-20
2
+
3
+ An ERC-20 token contract keeps track of xref:tokens.adoc#different-kinds-of-tokens[_fungible_ tokens]: any one token is exactly equal to any other token; no tokens have special rights or behavior associated with them. This makes ERC-20 tokens useful for things like a *medium of exchange currency*, *voting rights*, *staking*, and more.
4
+
5
+ OpenZeppelin Contracts provides many ERC20-related contracts. On the xref:api:token/ERC20.adoc[`API reference`] you'll find detailed information on their properties and usage.
6
+
7
+ [[constructing-an-erc20-token-contract]]
8
+ == Constructing an ERC-20 Token Contract
9
+
10
+ Using Contracts, we can easily create our own ERC-20 token contract, which will be used to track _Gold_ (GLD), an internal currency in a hypothetical game.
11
+
12
+ Here's what our GLD token might look like.
13
+
14
+ [source,solidity]
15
+ ----
16
+ include::api:example$token/ERC20/GLDToken.sol[]
17
+ ----
18
+
19
+ Our contracts are often used via https://solidity.readthedocs.io/en/latest/contracts.html#inheritance[inheritance], and here we're reusing xref:api:token/ERC20.adoc#erc20[`ERC20`] for both the basic standard implementation and the xref:api:token/ERC20.adoc#ERC20-name--[`name`], xref:api:token/ERC20.adoc#ERC20-symbol--[`symbol`], and xref:api:token/ERC20.adoc#ERC20-decimals--[`decimals`] optional extensions. Additionally, we're creating an `initialSupply` of tokens, which will be assigned to the address that deploys the contract.
20
+
21
+ TIP: For a more complete discussion of ERC-20 supply mechanisms, see xref:erc20-supply.adoc[Creating ERC-20 Supply].
22
+
23
+ That's it! Once deployed, we will be able to query the deployer's balance:
24
+
25
+ [source,javascript]
26
+ ----
27
+ > GLDToken.balanceOf(deployerAddress)
28
+ 1000000000000000000000
29
+ ----
30
+
31
+ We can also xref:api:token/ERC20.adoc#IERC20-transfer-address-uint256-[transfer] these tokens to other accounts:
32
+
33
+ [source,javascript]
34
+ ----
35
+ > GLDToken.transfer(otherAddress, 300000000000000000000)
36
+ > GLDToken.balanceOf(otherAddress)
37
+ 300000000000000000000
38
+ > GLDToken.balanceOf(deployerAddress)
39
+ 700000000000000000000
40
+ ----
41
+
42
+ [[a-note-on-decimals]]
43
+ == A Note on `decimals`
44
+
45
+ Often, you'll want to be able to divide your tokens into arbitrary amounts: say, if you own `5 GLD`, you may want to send `1.5 GLD` to a friend, and keep `3.5 GLD` to yourself. Unfortunately, Solidity and the EVM do not support this behavior: only integer (whole) numbers can be used, which poses an issue. You may send `1` or `2` tokens, but not `1.5`.
46
+
47
+ To work around this, xref:api:token/ERC20.adoc#ERC20[`ERC20`] provides a xref:api:token/ERC20.adoc#ERC20-decimals--[`decimals`] field, which is used to specify how many decimal places a token has. To be able to transfer `1.5 GLD`, `decimals` must be at least `1`, since that number has a single decimal place.
48
+
49
+ How can this be achieved? It's actually very simple: a token contract can use larger integer values, so that a balance of `50` will represent `5 GLD`, a transfer of `15` will correspond to `1.5 GLD` being sent, and so on.
50
+
51
+ It is important to understand that `decimals` is _only used for display purposes_. All arithmetic inside the contract is still performed on integers, and it is the different user interfaces (wallets, exchanges, etc.) that must adjust the displayed values according to `decimals`. The total token supply and balance of each account are not specified in `GLD`: you need to divide by `10 ** decimals` to get the actual `GLD` amount.
52
+
53
+ You'll probably want to use a `decimals` value of `18`, just like Ether and most ERC-20 token contracts in use, unless you have a very special reason not to. When minting tokens or transferring them around, you will be actually sending the number `num GLD * (10 ** decimals)`.
54
+
55
+ NOTE: By default, `ERC20` uses a value of `18` for `decimals`. To use a different value, you will need to override the `decimals()` function in your contract.
56
+
57
+ ```solidity
58
+ function decimals() public view virtual override returns (uint8) {
59
+ return 16;
60
+ }
61
+ ```
62
+
63
+ So if you want to send `5` tokens using a token contract with 18 decimals, the method to call will actually be:
64
+
65
+ ```solidity
66
+ transfer(recipient, 5 * (10 ** 18));
67
+ ```
@@ -0,0 +1,214 @@
1
+ = ERC-4626
2
+ :stem: latexmath
3
+
4
+ https://eips.ethereum.org/EIPS/eip-4626[ERC-4626] is an extension of xref:erc20.adoc[ERC-20] that proposes a standard interface for token vaults. This standard interface can be used by widely different contracts (including lending markets, aggregators, and intrinsically interest bearing tokens), which brings a number of subtleties. Navigating these potential issues is essential to implementing a compliant and composable token vault.
5
+
6
+ We provide a base implementation of ERC-4626 that includes a simple vault. This contract is designed in a way that allows developers to easily re-configure the vault's behavior, with minimal overrides, while staying compliant. In this guide, we will discuss some security considerations that affect ERC-4626. We will also discuss common customizations of the vault.
7
+
8
+ [[inflation-attack]]
9
+ == Security concern: Inflation attack
10
+
11
+ === Visualizing the vault
12
+
13
+ In exchange for the assets deposited into an ERC-4626 vault, a user receives shares. These shares can later be burned to redeem the corresponding underlying assets. The number of shares a user gets depends on the amount of assets they put in and on the exchange rate of the vault. This exchange rate is defined by the current liquidity held by the vault.
14
+
15
+ - If a vault has 100 tokens to back 200 shares, then each share is worth 0.5 assets.
16
+ - If a vault has 200 tokens to back 100 shares, then each share is worth 2.0 assets.
17
+
18
+ In other words, the exchange rate can be defined as the slope of the line that passes through the origin and the current number of assets and shares in the vault. Deposits and withdrawals move the vault in this line.
19
+
20
+ image::erc4626-rate-linear.png[Exchange rates in linear scale]
21
+
22
+ When plotted in log-log scale, the rate is defined similarly, but appears differently (because the point (0,0) is infinitely far away). Rates are represented by "diagonal" lines with different offsets.
23
+
24
+ image::erc4626-rate-loglog.png[Exchange rates in logarithmic scale]
25
+
26
+ In such a representation, widely different rates can be clearly visible in the same graph. This wouldn't be the case in linear scale.
27
+
28
+ image::erc4626-rate-loglogext.png[More exchange rates in logarithmic scale]
29
+
30
+ === The attack
31
+
32
+ When depositing tokens, the number of shares a user gets is rounded towards zero. This rounding takes away value from the user in favor of the vault (i.e. in favor of all the current shareholders). This rounding is often negligible because of the amount at stake. If you deposit 1e9 shares worth of tokens, the rounding will have you lose at most 0.0000001% of your deposit. However if you deposit 10 shares worth of tokens, you could lose 10% of your deposit. Even worse, if you deposit <1 share worth of tokens, then you get 0 shares, and you basically made a donation.
33
+
34
+ For a given amount of assets, the more shares you receive the safer you are. If you want to limit your losses to at most 1%, you need to receive at least 100 shares.
35
+
36
+ image::erc4626-deposit.png[Depositing assets]
37
+
38
+ In the figure we can see that for a given deposit of 500 assets, the number of shares we get and the corresponding rounding losses depend on the exchange rate. If the exchange rate is that of the orange curve, we are getting less than a share, so we lose 100% of our deposit. However, if the exchange rate is that of the green curve, we get 5000 shares, which limits our rounding losses to at most 0.02%.
39
+
40
+ image::erc4626-mint.png[Minting shares]
41
+
42
+ Symmetrically, if we focus on limiting our losses to a maximum of 0.5%, we need to get at least 200 shares. With the green exchange rate that requires just 20 tokens, but with the orange rate that requires 200000 tokens.
43
+
44
+ We can clearly see that the blue and green curves correspond to vaults that are safer than the yellow and orange curves.
45
+
46
+ The idea of an inflation attack is that an attacker can donate assets to the vault to move the rate curve to the right, and make the vault unsafe.
47
+
48
+ image::erc4626-attack.png[Inflation attack without protection]
49
+
50
+ Figure 6 shows how an attacker can manipulate the rate of an empty vault. First the attacker must deposit a small amount of tokens (1 token) and follow up with a donation of 1e5 tokens directly to the vault to move the exchange rate "right". This puts the vault in a state where any deposit smaller than 1e5 would be completely lost to the vault. Given that the attacker is the only shareholder (from their donation), the attacker would steal all the tokens deposited.
51
+
52
+ An attacker would typically wait for a user to do the first deposit into the vault, and would frontrun that operation with the attack described above. The risk is low, and the size of the "donation" required to manipulate the vault is equivalent to the size of the deposit that is being attacked.
53
+
54
+ In math that gives:
55
+
56
+ - stem:[a_0] the attacker deposit
57
+ - stem:[a_1] the attacker donation
58
+ - stem:[u] the user deposit
59
+
60
+ [%header,cols=4*]
61
+ |===
62
+ |
63
+ | Assets
64
+ | Shares
65
+ | Rate
66
+
67
+ | initial
68
+ | stem:[0]
69
+ | stem:[0]
70
+ | -
71
+
72
+ | after attacker's deposit
73
+ | stem:[a_0]
74
+ | stem:[a_0]
75
+ | stem:[1]
76
+
77
+ | after attacker's donation
78
+ | stem:[a_0+a_1]
79
+ | stem:[a_0]
80
+ | stem:[\frac{a_0}{a_0+a_1}]
81
+ |===
82
+
83
+ This means a deposit of stem:[u] will give stem:[\frac{u \times a_0}{a_0 + a_1}] shares.
84
+
85
+ For the attacker to dilute that deposit to 0 shares, causing the user to lose all its deposit, it must ensure that
86
+
87
+ [stem]
88
+ ++++
89
+ \frac{u \times a_0}{a_0+a_1} < 1 \iff u < 1 + \frac{a_1}{a_0}
90
+ ++++
91
+
92
+ Using stem:[a_0 = 1] and stem:[a_1 = u] is enough. So the attacker only needs stem:[u+1] assets to perform a successful attack.
93
+
94
+ It is easy to generalize the above results to scenarios where the attacker is going after a smaller fraction of the user's deposit. In order to target stem:[\frac{u}{n}], the user needs to suffer rounding of a similar fraction, which means the user must receive at most stem:[n] shares. This results in:
95
+
96
+ [stem]
97
+ ++++
98
+ \frac{u \times a_0}{a_0+a_1} < n \iff \frac{u}{n} < 1 + \frac{a_1}{a_0}
99
+ ++++
100
+
101
+ In this scenario, the attack is stem:[n] times less powerful (in how much it is stealing) and costs stem:[n] times less to execute. In both cases, the amount of funds the attacker needs to commit is equivalent to its potential earnings.
102
+
103
+ === Defending with a virtual offset
104
+
105
+ The defense we propose is based on the approach used in link:https://github.com/boringcrypto/YieldBox[YieldBox]. It consists of two parts:
106
+
107
+ - Use an offset between the "precision" of the representation of shares and assets. Said otherwise, we use more decimal places to represent the shares than the underlying token does to represent the assets.
108
+ - Include virtual shares and virtual assets in the exchange rate computation. These virtual assets enforce the conversion rate when the vault is empty.
109
+
110
+ These two parts work together in enforcing the security of the vault. First, the increased precision corresponds to a high rate, which we saw is safer as it reduces the rounding error when computing the amount of shares. Second, the virtual assets and shares (in addition to simplifying a lot of the computations) capture part of the donation, making it unprofitable for a developer to perform an attack.
111
+
112
+ Following the previous math definitions, we have:
113
+
114
+ - stem:[\delta] the vault offset
115
+ - stem:[a_0] the attacker deposit
116
+ - stem:[a_1] the attacker donation
117
+ - stem:[u] the user deposit
118
+
119
+ [%header,cols=4*]
120
+ |===
121
+ |
122
+ | Assets
123
+ | Shares
124
+ | Rate
125
+
126
+ | initial
127
+ | stem:[1]
128
+ | stem:[10^\delta]
129
+ | stem:[10^\delta]
130
+
131
+ | after attacker's deposit
132
+ | stem:[1+a_0]
133
+ | stem:[10^\delta \times (1+a_0)]
134
+ | stem:[10^\delta]
135
+
136
+ | after attacker's donation
137
+ | stem:[1+a_0+a_1]
138
+ | stem:[10^\delta \times (1+a_0)]
139
+ | stem:[10^\delta \times \frac{1+a_0}{1+a_0+a_1}]
140
+ |===
141
+
142
+ One important thing to note is that the attacker only owns a fraction stem:[\frac{a_0}{1 + a_0}] of the shares, so when doing the donation, he will only be able to recover that fraction stem:[\frac{a_1 \times a_0}{1 + a_0}] of the donation. The remaining stem:[\frac{a_1}{1+a_0}] are captured by the vault.
143
+
144
+ [stem]
145
+ ++++
146
+ \mathit{loss} = \frac{a_1}{1+a_0}
147
+ ++++
148
+
149
+ When the user deposits stem:[u], he receives
150
+
151
+ [stem]
152
+ ++++
153
+ 10^\delta \times u \times \frac{1+a_0}{1+a_0+a_1}
154
+ ++++
155
+
156
+ For the attacker to dilute that deposit to 0 shares, causing the user to lose all its deposit, it must ensure that
157
+
158
+ [stem]
159
+ ++++
160
+ 10^\delta \times u \times \frac{1+a_0}{1+a_0+a_1} < 1
161
+ ++++
162
+
163
+ [stem]
164
+ ++++
165
+ \iff 10^\delta \times u < \frac{1+a_0+a_1}{1+a_0}
166
+ ++++
167
+
168
+ [stem]
169
+ ++++
170
+ \iff 10^\delta \times u < 1 + \frac{a_1}{1+a_0}
171
+ ++++
172
+
173
+ [stem]
174
+ ++++
175
+ \iff 10^\delta \times u \le \mathit{loss}
176
+ ++++
177
+
178
+ - If the offset is 0, the attacker loss is at least equal to the user's deposit.
179
+ - If the offset is greater than 0, the attacker will have to suffer losses that are orders of magnitude bigger than the amount of value that can hypothetically be stolen from the user.
180
+
181
+ This shows that even with an offset of 0, the virtual shares and assets make this attack non profitable for the attacker. Bigger offsets increase the security even further by making any attack on the user extremely wasteful.
182
+
183
+ The following figure shows how the offset impacts the initial rate and limits the ability of an attacker with limited funds to inflate it effectively.
184
+
185
+ image::erc4626-attack-3a.png[Inflation attack without offset=3]
186
+ stem:[\delta = 3], stem:[a_0 = 1], stem:[a_1 = 10^5]
187
+
188
+ image::erc4626-attack-3b.png[Inflation attack without offset=3 and an attacker deposit that limits its losses]
189
+ stem:[\delta = 3], stem:[a_0 = 100], stem:[a_1 = 10^5]
190
+
191
+ image::erc4626-attack-6.png[Inflation attack without offset=6]
192
+ stem:[\delta = 6], stem:[a_0 = 1], stem:[a_1 = 10^5]
193
+
194
+
195
+ [[fees]]
196
+ == Custom behavior: Adding fees to the vault
197
+
198
+ In an ERC-4626 vaults, fees can be captured during the deposit/mint and/or during the withdraw/redeem steps. In both cases it is essential to remain compliant with the ERC-4626 requirements with regard to the preview functions.
199
+
200
+ For example, if calling `deposit(100, receiver)`, the caller should deposit exactly 100 underlying tokens, including fees, and the receiver should receive a number of shares that matches the value returned by `previewDeposit(100)`. Similarly, `previewMint` should account for the fees that the user will have to pay on top of share's cost.
201
+
202
+ As for the `Deposit` event, while this is less clear in the EIP spec itself, there seems to be consensus that it should include the number of assets paid for by the user, including the fees.
203
+
204
+ On the other hand, when withdrawing assets, the number given by the user should correspond to what he receives. Any fees should be added to the quote (in shares) performed by `previewWithdraw`.
205
+
206
+ The `Withdraw` event should include the number of shares the user burns (including fees) and the number of assets the user actually receives (after fees are deducted).
207
+
208
+ The consequence of this design is that both the `Deposit` and `Withdraw` events will describe two exchange rates. The spread between the "Buy-in" and the "Exit" prices correspond to the fees taken by the vault.
209
+
210
+ The following example describes how fees proportional to the deposited/withdrawn amount can be implemented:
211
+
212
+ ```solidity
213
+ include::api:example$ERC4626Fees.sol[]
214
+ ```
@@ -0,0 +1,47 @@
1
+ = ERC-6909
2
+
3
+ ERC-6909 is a draft EIP that draws on ERC-1155 learnings since it was published in 2018. The main goals of ERC-6909 is to decrease gas costs and complexity--this is mainly accomplished by removing batching and callbacks.
4
+
5
+ TIP: To understand the inspiration for a multi token standard, see the xref:erc1155.adoc#multi-token-standard[multi token standard] section within the EIP-1155 docs.
6
+
7
+ == Changes from ERC-1155
8
+
9
+ There are three main changes from ERC-1155 which are as follows:
10
+
11
+ . The removal of batch operations.
12
+ . The removal of transfer callbacks.
13
+ . Granularization in approvals--approvals can be set globally (as operators) or as amounts per token (inspired by ERC20).
14
+
15
+ == Constructing an ERC-6909 Token Contract
16
+
17
+ We'll use ERC-6909 to track multiple items in a game, each having their own unique attributes. All item types will by minted to the deployer of the contract, which we can later transfer to players. We'll also use the xref:api:token/ERC6909.adoc#ERC6909Metadata[`ERC6909Metadata`] extension to add decimals to our fungible items (the vanilla ERC-6909 implementation does not have decimals).
18
+
19
+ For simplicity, we will mint all items in the constructor--however, minting functionality could be added to the contract to mint on demand to players.
20
+
21
+ TIP: For an overview of minting mechanisms, check out xref:erc20-supply.adoc[Creating ERC-20 Supply].
22
+
23
+ Here's what a contract for tokenized items might look like:
24
+
25
+ [source,solidity]
26
+ ----
27
+ include::api:example$token/ERC6909/ERC6909GameItems.sol[]
28
+ ----
29
+
30
+ Note that there is no content URI functionality in the base implementation, but the xref:api:token/ERC6909.adoc#ERC6909ContentURI[`ERC6909ContentURI`] extension adds it. Additionally, the base implementation does not track total supplies, but the xref:api:token/ERC6909.adoc#ERC6909TokenSupply[`ERC6909TokenSupply`] extension tracks the total supply of each token id.
31
+
32
+ Once the contract is deployed, we will be able to query the deployer’s balance:
33
+ [source,javascript]
34
+ ----
35
+ > gameItems.balanceOf(deployerAddress, 3)
36
+ 1000000000
37
+ ----
38
+
39
+ We can transfer items to player accounts:
40
+ [source,javascript]
41
+ ----
42
+ > gameItems.transfer(playerAddress, 2, 1)
43
+ > gameItems.balanceOf(playerAddress, 2)
44
+ 1
45
+ > gameItems.balanceOf(deployerAddress, 2)
46
+ 0
47
+ ----
@@ -0,0 +1,58 @@
1
+ = ERC-721
2
+
3
+ We've discussed how you can make a _fungible_ token using xref:erc20.adoc[ERC-20], but what if not all tokens are alike? This comes up in situations like *real estate*, *voting rights*, or *collectibles*, where some items are valued more than others, due to their usefulness, rarity, etc. ERC-721 is a standard for representing ownership of xref:tokens.adoc#different-kinds-of-tokens[_non-fungible_ tokens], that is, where each token is unique.
4
+
5
+ ERC-721 is a more complex standard than ERC-20, with multiple optional extensions, and is split across a number of contracts. The OpenZeppelin Contracts provide flexibility regarding how these are combined, along with custom useful extensions. Check out the xref:api:token/ERC721.adoc[API Reference] to learn more about these.
6
+
7
+ == Constructing an ERC-721 Token Contract
8
+
9
+ We'll use ERC-721 to track items in our game, which will each have their own unique attributes. Whenever one is to be awarded to a player, it will be minted and sent to them. Players are free to keep their token or trade it with other people as they see fit, as they would any other asset on the blockchain! Please note any account can call `awardItem` to mint items. To restrict what accounts can mint items we can add xref:access-control.adoc[Access Control].
10
+
11
+ Here's what a contract for tokenized items might look like:
12
+
13
+ [source,solidity]
14
+ ----
15
+ include::api:example$token/ERC721/GameItem.sol[]
16
+ ----
17
+
18
+ The xref:api:token/ERC721.adoc#ERC721URIStorage[`ERC721URIStorage`] contract is an implementation of ERC-721 that includes the metadata standard extensions (xref:api:token/ERC721.adoc#IERC721Metadata[`IERC721Metadata`]) as well as a mechanism for per-token metadata. That's where the xref:api:token/ERC721.adoc#ERC721-_setTokenURI-uint256-string-[`_setTokenURI`] method comes from: we use it to store an item's metadata.
19
+
20
+ Also note that, unlike ERC-20, ERC-721 lacks a `decimals` field, since each token is distinct and cannot be partitioned.
21
+
22
+ New items can be created:
23
+
24
+ [source,javascript]
25
+ ----
26
+ > gameItem.awardItem(playerAddress, "https://game.example/item-id-8u5h2m.json")
27
+ Transaction successful. Transaction hash: 0x...
28
+ Events emitted:
29
+ - Transfer(0x0000000000000000000000000000000000000000, playerAddress, 7)
30
+ ----
31
+
32
+ And the owner and metadata of each item queried:
33
+
34
+ [source,javascript]
35
+ ----
36
+ > gameItem.ownerOf(7)
37
+ playerAddress
38
+ > gameItem.tokenURI(7)
39
+ "https://game.example/item-id-8u5h2m.json"
40
+ ----
41
+
42
+ This `tokenURI` should resolve to a JSON document that might look something like:
43
+
44
+ [source,json]
45
+ ----
46
+ {
47
+ "name": "Thor's hammer",
48
+ "description": "Mjölnir, the legendary hammer of the Norse god of thunder.",
49
+ "image": "https://game.example/item-id-8u5h2m.png",
50
+ "strength": 20
51
+ }
52
+ ----
53
+
54
+ For more information about the `tokenURI` metadata JSON Schema, check out the https://eips.ethereum.org/EIPS/eip-721[ERC-721 specification].
55
+
56
+ NOTE: You'll notice that the item's information is included in the metadata, but that information isn't on-chain! So a game developer could change the underlying metadata, changing the rules of the game!
57
+
58
+ TIP: If you'd like to put all item information on-chain, you can extend ERC-721 to do so (though it will be rather costly) by providing a xref:utilities.adoc#base64[`Base64`] Data URI with the JSON schema encoded. You could also leverage IPFS to store the tokenURI information, but these techniques are out of the scope of this overview guide.
@@ -0,0 +1,51 @@
1
+ = Extending Contracts
2
+
3
+ Most of the OpenZeppelin Contracts are expected to be used via https://solidity.readthedocs.io/en/latest/contracts.html#inheritance[inheritance]: you will _inherit_ from them when writing your own contracts.
4
+
5
+ This is the commonly found `is` syntax, like in `contract MyToken is ERC20`.
6
+
7
+ [NOTE]
8
+ ====
9
+ Unlike ``contract``s, Solidity ``library``s are not inherited from and instead rely on the https://solidity.readthedocs.io/en/latest/contracts.html#using-for[`using for`] syntax.
10
+
11
+ OpenZeppelin Contracts has some ``library``s: most are in the xref:api:utils.adoc[Utils] directory.
12
+ ====
13
+
14
+ == Overriding
15
+
16
+ Inheritance is often used to add the parent contract's functionality to your own contract, but that's not all it can do. You can also _change_ how some parts of the parent behave using _overrides_.
17
+
18
+ For example, imagine you want to change xref:api:access.adoc#AccessControl[`AccessControl`] so that xref:api:access.adoc#AccessControl-revokeRole-bytes32-address-[`revokeRole`] can no longer be called. This can be achieved using overrides:
19
+
20
+ ```solidity
21
+ include::api:example$access-control/AccessControlModified.sol[]
22
+ ```
23
+
24
+ The old `revokeRole` is then replaced by our override, and any calls to it will immediately revert. We cannot _remove_ the function from the contract, but reverting on all calls is good enough.
25
+
26
+ === Calling `super`
27
+
28
+ Sometimes you want to _extend_ a parent's behavior, instead of outright changing it to something else. This is where `super` comes in.
29
+
30
+ The `super` keyword will let you call functions defined in a parent contract, even if they are overridden. This mechanism can be used to add additional checks to a function, emit events, or otherwise add functionality as you see fit.
31
+
32
+ TIP: For more information on how overrides work, head over to the https://solidity.readthedocs.io/en/latest/contracts.html#index-17[official Solidity documentation].
33
+
34
+ Here is a modified version of xref:api:access.adoc#AccessControl[`AccessControl`] where xref:api:access.adoc#AccessControl-revokeRole-bytes32-address-[`revokeRole`] cannot be used to revoke the `DEFAULT_ADMIN_ROLE`:
35
+
36
+
37
+ ```solidity
38
+ include::api:example$access-control/AccessControlNonRevokableAdmin.sol[]
39
+ ```
40
+
41
+ The `super.revokeRole` statement at the end will invoke ``AccessControl``'s original version of `revokeRole`, the same code that would've run if there were no overrides in place.
42
+
43
+ NOTE: The same rule is implemented and extended in xref:api:access.adoc#AccessControlDefaultAdminRules[`AccessControlDefaultAdminRules`], an extension that also adds enforced security measures for the `DEFAULT_ADMIN_ROLE`.
44
+
45
+ == Security
46
+
47
+ The maintainers of OpenZeppelin Contracts are mainly concerned with the correctness and security of the code as published in the library, and the combinations of base contracts with the official extensions from the library.
48
+
49
+ Custom overrides, especially to hooks, can disrupt important assumptions and may introduce security risks in the code that was previously secure. While we try to ensure the contracts remain secure in the face of a wide range of potential customizations, this is done in a best-effort manner. While we try to document all important assumptions, this should not be relied upon. Custom overrides should be carefully reviewed and checked against the source code of the contract they are customizing to fully understand their impact and guarantee their security.
50
+
51
+ The way functions interact internally should not be assumed to stay stable across releases of the library. For example, a function that is used in one context in a particular release may not be used in the same context in the next release. Contracts that override functions should revalidate their assumptions when updating the version of OpenZeppelin Contracts they are built on.
@@ -0,0 +1,13 @@
1
+ = Frequently Asked Questions
2
+
3
+ == Can I restrict a function to EOAs only?
4
+
5
+ When calling external addresses from your contract it is unsafe to assume that an address is an externally-owned account (EOA) and not a contract. Attempting to prevent calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract constructor.
6
+
7
+ Although checking that the address has code, `address.code.length > 0`, may seem to differentiate contracts from EOAs, it can only say that an address is currently a contract, and its negation (that an address is not currently a contract) does not imply that the address is an EOA. Some counterexamples are:
8
+
9
+ - address of a contract in construction
10
+ - address where a contract will be created
11
+ - address where a contract lived, but was destroyed
12
+
13
+ Furthermore, an address will be considered a contract within the same transaction where it is scheduled for destruction by `SELFDESTRUCT`, which only has an effect at the end of the entire transaction.