polkamarkets-js 3.1.0 → 3.1.2
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.
- package/cache/solidity-files-cache.json +1 -0
- package/cache/zksync-solidity-files-cache.json +1 -0
- package/contracts/Proxy.sol +35 -0
- package/contracts/RealityETH_ERC20_v3_0.sol +8 -0
- package/lib/forge-std/.gitattributes +1 -0
- package/lib/forge-std/.github/workflows/ci.yml +128 -0
- package/lib/forge-std/.github/workflows/sync.yml +31 -0
- package/lib/forge-std/CONTRIBUTING.md +193 -0
- package/lib/forge-std/LICENSE-APACHE +203 -0
- package/lib/forge-std/LICENSE-MIT +25 -0
- package/lib/forge-std/README.md +266 -0
- package/lib/forge-std/foundry.toml +21 -0
- package/lib/forge-std/package.json +16 -0
- package/lib/forge-std/scripts/vm.py +646 -0
- package/lib/forge-std/src/Base.sol +35 -0
- package/lib/forge-std/src/Script.sol +27 -0
- package/lib/forge-std/src/StdAssertions.sol +669 -0
- package/lib/forge-std/src/StdChains.sol +263 -0
- package/lib/forge-std/src/StdCheats.sol +817 -0
- package/lib/forge-std/src/StdError.sol +15 -0
- package/lib/forge-std/src/StdInvariant.sol +122 -0
- package/lib/forge-std/src/StdJson.sol +283 -0
- package/lib/forge-std/src/StdMath.sol +43 -0
- package/lib/forge-std/src/StdStorage.sol +473 -0
- package/lib/forge-std/src/StdStyle.sol +333 -0
- package/lib/forge-std/src/StdToml.sol +283 -0
- package/lib/forge-std/src/StdUtils.sol +226 -0
- package/lib/forge-std/src/Test.sol +33 -0
- package/lib/forge-std/src/Vm.sol +2078 -0
- package/lib/forge-std/src/console.sol +1560 -0
- package/lib/forge-std/src/console2.sol +4 -0
- package/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
- package/lib/forge-std/src/interfaces/IERC165.sol +12 -0
- package/lib/forge-std/src/interfaces/IERC20.sol +43 -0
- package/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
- package/lib/forge-std/src/interfaces/IERC721.sol +164 -0
- package/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
- package/lib/forge-std/src/mocks/MockERC20.sol +234 -0
- package/lib/forge-std/src/mocks/MockERC721.sol +231 -0
- package/lib/forge-std/src/safeconsole.sol +13937 -0
- package/lib/forge-std/test/StdAssertions.t.sol +145 -0
- package/lib/forge-std/test/StdChains.t.sol +228 -0
- package/lib/forge-std/test/StdCheats.t.sol +618 -0
- package/lib/forge-std/test/StdError.t.sol +120 -0
- package/lib/forge-std/test/StdJson.t.sol +49 -0
- package/lib/forge-std/test/StdMath.t.sol +202 -0
- package/lib/forge-std/test/StdStorage.t.sol +471 -0
- package/lib/forge-std/test/StdStyle.t.sol +110 -0
- package/lib/forge-std/test/StdToml.t.sol +49 -0
- package/lib/forge-std/test/StdUtils.t.sol +342 -0
- package/lib/forge-std/test/Vm.t.sol +18 -0
- package/lib/forge-std/test/compilation/CompilationScript.sol +10 -0
- package/lib/forge-std/test/compilation/CompilationScriptBase.sol +10 -0
- package/lib/forge-std/test/compilation/CompilationTest.sol +10 -0
- package/lib/forge-std/test/compilation/CompilationTestBase.sol +10 -0
- package/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
- package/lib/forge-std/test/fixtures/test.json +8 -0
- package/lib/forge-std/test/fixtures/test.toml +6 -0
- package/lib/forge-std/test/mocks/MockERC20.t.sol +441 -0
- package/lib/forge-std/test/mocks/MockERC721.t.sol +721 -0
- package/lib/openzeppelin-contracts/.changeset/new-ways-own.md +5 -0
- package/lib/openzeppelin-contracts/.codecov.yml +12 -0
- package/lib/openzeppelin-contracts/.editorconfig +21 -0
- package/lib/openzeppelin-contracts/.eslintrc +62 -0
- package/lib/openzeppelin-contracts/.gitattributes +1 -0
- package/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
- package/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/config.yml +4 -0
- package/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
- package/lib/openzeppelin-contracts/.github/PULL_REQUEST_TEMPLATE.md +20 -0
- package/lib/openzeppelin-contracts/.github/actions/gas-compare/action.yml +49 -0
- package/lib/openzeppelin-contracts/.github/actions/setup/action.yml +20 -0
- package/lib/openzeppelin-contracts/.github/workflows/changelog.yml +28 -0
- package/lib/openzeppelin-contracts/.github/workflows/checks.yml +90 -0
- package/lib/openzeppelin-contracts/.github/workflows/docs.yml +19 -0
- package/lib/openzeppelin-contracts/.github/workflows/upgradeable.yml +23 -0
- package/lib/openzeppelin-contracts/.gitmodules +3 -0
- package/lib/openzeppelin-contracts/.mocharc.js +4 -0
- package/lib/openzeppelin-contracts/.prettierrc +14 -0
- package/lib/openzeppelin-contracts/.solcover.js +15 -0
- package/lib/openzeppelin-contracts/.solhint.json +14 -0
- package/lib/openzeppelin-contracts/CHANGELOG.md +627 -0
- package/lib/openzeppelin-contracts/CODE_OF_CONDUCT.md +73 -0
- package/lib/openzeppelin-contracts/CONTRIBUTING.md +64 -0
- package/lib/openzeppelin-contracts/DOCUMENTATION.md +16 -0
- package/lib/openzeppelin-contracts/GUIDELINES.md +105 -0
- package/lib/openzeppelin-contracts/LICENSE +22 -0
- package/lib/openzeppelin-contracts/README.md +84 -0
- package/lib/openzeppelin-contracts/RELEASING.md +36 -0
- package/lib/openzeppelin-contracts/SECURITY.md +20 -0
- package/lib/openzeppelin-contracts/audit/2017-03.md +292 -0
- package/lib/openzeppelin-contracts/audit/2018-10.pdf +0 -0
- package/lib/openzeppelin-contracts/certora/Makefile +24 -0
- package/lib/openzeppelin-contracts/certora/README.md +56 -0
- package/lib/openzeppelin-contracts/certora/applyHarness.patch +101 -0
- package/lib/openzeppelin-contracts/certora/harnesses/ERC20VotesHarness.sol +28 -0
- package/lib/openzeppelin-contracts/certora/harnesses/WizardControlFirstPriority.sol +150 -0
- package/lib/openzeppelin-contracts/certora/harnesses/WizardFirstTry.sol +141 -0
- package/lib/openzeppelin-contracts/certora/munged/.gitignore +2 -0
- package/lib/openzeppelin-contracts/certora/scripts/Governor.sh +10 -0
- package/lib/openzeppelin-contracts/certora/scripts/GovernorCountingSimple-counting.sh +10 -0
- package/lib/openzeppelin-contracts/certora/scripts/WizardControlFirstPriority.sh +12 -0
- package/lib/openzeppelin-contracts/certora/scripts/WizardFirstTry.sh +10 -0
- package/lib/openzeppelin-contracts/certora/scripts/sanity.sh +14 -0
- package/lib/openzeppelin-contracts/certora/scripts/verifyAll.sh +39 -0
- package/lib/openzeppelin-contracts/certora/specs/GovernorBase.spec +333 -0
- package/lib/openzeppelin-contracts/certora/specs/GovernorCountingSimple.spec +221 -0
- package/lib/openzeppelin-contracts/certora/specs/RulesInProgress.spec +139 -0
- package/lib/openzeppelin-contracts/certora/specs/sanity.spec +14 -0
- package/lib/openzeppelin-contracts/contracts/access/AccessControl.sol +247 -0
- package/lib/openzeppelin-contracts/contracts/access/AccessControlCrossChain.sol +45 -0
- package/lib/openzeppelin-contracts/contracts/access/AccessControlEnumerable.sol +64 -0
- package/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol +88 -0
- package/lib/openzeppelin-contracts/contracts/access/IAccessControlEnumerable.sol +31 -0
- package/lib/openzeppelin-contracts/contracts/access/Ownable.sol +83 -0
- package/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol +57 -0
- package/lib/openzeppelin-contracts/contracts/access/README.adoc +25 -0
- package/lib/openzeppelin-contracts/contracts/crosschain/CrossChainEnabled.sol +54 -0
- package/lib/openzeppelin-contracts/contracts/crosschain/README.adoc +34 -0
- package/lib/openzeppelin-contracts/contracts/crosschain/amb/CrossChainEnabledAMB.sol +49 -0
- package/lib/openzeppelin-contracts/contracts/crosschain/amb/LibAMB.sol +35 -0
- package/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol +44 -0
- package/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol +40 -0
- package/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL1.sol +42 -0
- package/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL2.sol +45 -0
- package/lib/openzeppelin-contracts/contracts/crosschain/errors.sol +7 -0
- package/lib/openzeppelin-contracts/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol +41 -0
- package/lib/openzeppelin-contracts/contracts/crosschain/optimism/LibOptimism.sol +36 -0
- package/lib/openzeppelin-contracts/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol +72 -0
- package/lib/openzeppelin-contracts/contracts/finance/PaymentSplitter.sol +214 -0
- package/lib/openzeppelin-contracts/contracts/finance/README.adoc +20 -0
- package/lib/openzeppelin-contracts/contracts/finance/VestingWallet.sol +149 -0
- package/lib/openzeppelin-contracts/contracts/governance/Governor.sol +597 -0
- package/lib/openzeppelin-contracts/contracts/governance/IGovernor.sol +276 -0
- package/lib/openzeppelin-contracts/contracts/governance/README.adoc +176 -0
- package/lib/openzeppelin-contracts/contracts/governance/TimelockController.sol +426 -0
- package/lib/openzeppelin-contracts/contracts/governance/compatibility/GovernorCompatibilityBravo.sol +285 -0
- package/lib/openzeppelin-contracts/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol +114 -0
- package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol +107 -0
- package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorPreventLateQuorum.sol +108 -0
- package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalThreshold.sol +23 -0
- package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSettings.sol +114 -0
- package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockCompound.sol +193 -0
- package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol +166 -0
- package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol +31 -0
- package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesComp.sol +31 -0
- package/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +119 -0
- package/lib/openzeppelin-contracts/contracts/governance/extensions/IGovernorTimelock.sol +26 -0
- package/lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol +61 -0
- package/lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol +211 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC1155.sol +6 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC1155MetadataURI.sol +6 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC1155Receiver.sol +6 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol +19 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol +95 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Receiver.sol +32 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Spender.sol +30 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol +6 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Implementer.sol +6 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Registry.sol +6 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol +6 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC20Metadata.sol +6 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol +21 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC2981.sol +25 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC3156.sol +7 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol +29 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol +43 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol +240 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol +6 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC721Enumerable.sol +6 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC721Metadata.sol +6 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC721Receiver.sol +6 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC777.sol +6 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC777Recipient.sol +6 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/IERC777Sender.sol +6 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/README.adoc +56 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol +20 -0
- package/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC2612.sol +8 -0
- package/lib/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol +43 -0
- package/lib/openzeppelin-contracts/contracts/metatx/MinimalForwarder.sol +73 -0
- package/lib/openzeppelin-contracts/contracts/metatx/README.adoc +12 -0
- package/lib/openzeppelin-contracts/contracts/mocks/AccessControlCrossChainMock.sol +22 -0
- package/lib/openzeppelin-contracts/contracts/mocks/AccessControlEnumerableMock.sol +17 -0
- package/lib/openzeppelin-contracts/contracts/mocks/AccessControlMock.sol +17 -0
- package/lib/openzeppelin-contracts/contracts/mocks/AddressImpl.sol +46 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ArraysMock.sol +51 -0
- package/lib/openzeppelin-contracts/contracts/mocks/BadBeacon.sol +11 -0
- package/lib/openzeppelin-contracts/contracts/mocks/Base64Mock.sol +11 -0
- package/lib/openzeppelin-contracts/contracts/mocks/BitmapMock.sol +27 -0
- package/lib/openzeppelin-contracts/contracts/mocks/CallReceiverMock.sol +57 -0
- package/lib/openzeppelin-contracts/contracts/mocks/CheckpointsMock.sol +120 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ClashingImplementation.sol +18 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ClonesMock.sol +36 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ConditionalEscrowMock.sol +18 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ContextMock.sol +33 -0
- package/lib/openzeppelin-contracts/contracts/mocks/CountersImpl.sol +27 -0
- package/lib/openzeppelin-contracts/contracts/mocks/Create2Impl.sol +34 -0
- package/lib/openzeppelin-contracts/contracts/mocks/DoubleEndedQueueMock.sol +58 -0
- package/lib/openzeppelin-contracts/contracts/mocks/DummyImplementation.sol +61 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ECDSAMock.sol +41 -0
- package/lib/openzeppelin-contracts/contracts/mocks/EIP712External.sol +31 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC1155BurnableMock.sol +18 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC1155Mock.sol +51 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC1155PausableMock.sol +29 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC1155ReceiverMock.sol +52 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC1155SupplyMock.sol +21 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC1155URIStorageMock.sol +22 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC1271WalletMock.sol +26 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165InterfacesSupported.sol +58 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MaliciousData.sol +12 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MissingData.sol +7 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165NotSupported.sol +5 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165ReturnBomb.sol +18 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC165CheckerMock.sol +29 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC165Mock.sol +7 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC165StorageMock.sol +11 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC1820ImplementerMock.sol +11 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC20BurnableMock.sol +16 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC20CappedMock.sol +17 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC20DecimalsMock.sol +29 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC20FlashMintMock.sol +43 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC20Mock.sol +41 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC20PausableMock.sol +33 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC20PermitMock.sol +20 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC20SnapshotMock.sol +28 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC20VotesCompMock.sol +21 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC20VotesMock.sol +21 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC20WrapperMock.sol +17 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC2771ContextMock.sol +22 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC3156FlashBorrowerMock.sol +53 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC4626Mock.sol +60 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC721BurnableMock.sol +29 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC721ConsecutiveEnumerableMock.sol +55 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC721ConsecutiveMock.sol +86 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC721EnumerableMock.sol +51 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC721Mock.sol +41 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC721PausableMock.sol +45 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC721ReceiverMock.sol +42 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC721RoyaltyMock.sol +33 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC721URIStorageMock.sol +55 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC721VotesMock.sol +25 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC777Mock.sol +56 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ERC777SenderRecipientMock.sol +161 -0
- package/lib/openzeppelin-contracts/contracts/mocks/EnumerableMapMock.sol +221 -0
- package/lib/openzeppelin-contracts/contracts/mocks/EnumerableSetMock.sol +111 -0
- package/lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol +17 -0
- package/lib/openzeppelin-contracts/contracts/mocks/GovernorCompMock.sol +31 -0
- package/lib/openzeppelin-contracts/contracts/mocks/GovernorCompatibilityBravoMock.sol +127 -0
- package/lib/openzeppelin-contracts/contracts/mocks/GovernorMock.sol +50 -0
- package/lib/openzeppelin-contracts/contracts/mocks/GovernorPreventLateQuorumMock.sol +60 -0
- package/lib/openzeppelin-contracts/contracts/mocks/GovernorTimelockCompoundMock.sol +96 -0
- package/lib/openzeppelin-contracts/contracts/mocks/GovernorTimelockControlMock.sol +93 -0
- package/lib/openzeppelin-contracts/contracts/mocks/GovernorVoteMock.sol +31 -0
- package/lib/openzeppelin-contracts/contracts/mocks/GovernorWithParamsMock.sol +61 -0
- package/lib/openzeppelin-contracts/contracts/mocks/InitializableMock.sol +130 -0
- package/lib/openzeppelin-contracts/contracts/mocks/MathMock.sol +48 -0
- package/lib/openzeppelin-contracts/contracts/mocks/MerkleProofWrapper.sol +65 -0
- package/lib/openzeppelin-contracts/contracts/mocks/MulticallTest.sol +23 -0
- package/lib/openzeppelin-contracts/contracts/mocks/MulticallTokenMock.sol +10 -0
- package/lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol +136 -0
- package/lib/openzeppelin-contracts/contracts/mocks/Ownable2StepMock.sol +7 -0
- package/lib/openzeppelin-contracts/contracts/mocks/OwnableMock.sol +7 -0
- package/lib/openzeppelin-contracts/contracts/mocks/PausableMock.sol +31 -0
- package/lib/openzeppelin-contracts/contracts/mocks/PullPaymentMock.sol +15 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol +12 -0
- package/lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol +43 -0
- package/lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol +61 -0
- package/lib/openzeppelin-contracts/contracts/mocks/SafeCastMock.sol +267 -0
- package/lib/openzeppelin-contracts/contracts/mocks/SafeERC20Helper.sol +194 -0
- package/lib/openzeppelin-contracts/contracts/mocks/SafeMathMock.sol +138 -0
- package/lib/openzeppelin-contracts/contracts/mocks/SignatureCheckerMock.sol +17 -0
- package/lib/openzeppelin-contracts/contracts/mocks/SignedMathMock.sol +23 -0
- package/lib/openzeppelin-contracts/contracts/mocks/SignedSafeMathMock.sol +23 -0
- package/lib/openzeppelin-contracts/contracts/mocks/SingleInheritanceInitializableMocks.sol +49 -0
- package/lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol +41 -0
- package/lib/openzeppelin-contracts/contracts/mocks/StringsMock.sol +23 -0
- package/lib/openzeppelin-contracts/contracts/mocks/TimersBlockNumberImpl.sol +39 -0
- package/lib/openzeppelin-contracts/contracts/mocks/TimersTimestampImpl.sol +39 -0
- package/lib/openzeppelin-contracts/contracts/mocks/UUPS/UUPSLegacy.sol +58 -0
- package/lib/openzeppelin-contracts/contracts/mocks/UUPS/UUPSUpgradeableMock.sol +21 -0
- package/lib/openzeppelin-contracts/contracts/mocks/VotesMock.sol +40 -0
- package/lib/openzeppelin-contracts/contracts/mocks/compound/CompTimelock.sol +174 -0
- package/lib/openzeppelin-contracts/contracts/mocks/crosschain/bridges.sol +102 -0
- package/lib/openzeppelin-contracts/contracts/mocks/crosschain/receivers.sol +54 -0
- package/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor1.sol +87 -0
- package/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor2.sol +93 -0
- package/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor3.sol +96 -0
- package/lib/openzeppelin-contracts/contracts/package.json +32 -0
- package/lib/openzeppelin-contracts/contracts/proxy/Clones.sol +89 -0
- package/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol +32 -0
- package/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol +185 -0
- package/lib/openzeppelin-contracts/contracts/proxy/Proxy.sol +86 -0
- package/lib/openzeppelin-contracts/contracts/proxy/README.adoc +85 -0
- package/lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol +61 -0
- package/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol +16 -0
- package/lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol +65 -0
- package/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol +81 -0
- package/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +124 -0
- package/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol +165 -0
- package/lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol +95 -0
- package/lib/openzeppelin-contracts/contracts/security/Pausable.sol +105 -0
- package/lib/openzeppelin-contracts/contracts/security/PullPayment.sol +74 -0
- package/lib/openzeppelin-contracts/contracts/security/README.adoc +20 -0
- package/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol +69 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol +517 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol +125 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol +58 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC1155/README.adoc +49 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +40 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +44 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Supply.sol +64 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +63 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +22 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol +128 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/README.md +1 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol +36 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol +19 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol +389 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol +82 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/README.adoc +86 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol +39 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Capped.sol +37 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20FlashMint.sol +109 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Pausable.sol +39 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Snapshot.sol +195 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol +275 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20VotesComp.sol +46 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol +63 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.sol +284 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol +28 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Permit.sol +95 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol +60 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol +35 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol +94 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/presets/README.md +1 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol +116 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/utils/TokenTimelock.sol +76 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol +506 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol +145 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol +27 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/README.adoc +70 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Burnable.sol +26 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol +148 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol +159 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol +40 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Royalty.sol +38 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol +62 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol +41 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol +29 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol +27 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/draft-ERC721Votes.sol +9 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol +140 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/presets/README.md +1 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol +28 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC777/ERC777.sol +547 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777.sol +209 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Recipient.sol +35 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Sender.sol +35 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC777/README.adoc +30 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol +30 -0
- package/lib/openzeppelin-contracts/contracts/token/common/ERC2981.sol +111 -0
- package/lib/openzeppelin-contracts/contracts/token/common/README.adoc +10 -0
- package/lib/openzeppelin-contracts/contracts/utils/Address.sol +244 -0
- package/lib/openzeppelin-contracts/contracts/utils/Arrays.sol +96 -0
- package/lib/openzeppelin-contracts/contracts/utils/Base64.sol +92 -0
- package/lib/openzeppelin-contracts/contracts/utils/Checkpoints.sol +554 -0
- package/lib/openzeppelin-contracts/contracts/utils/Context.sol +24 -0
- package/lib/openzeppelin-contracts/contracts/utils/Counters.sol +43 -0
- package/lib/openzeppelin-contracts/contracts/utils/Create2.sol +83 -0
- package/lib/openzeppelin-contracts/contracts/utils/Multicall.sol +24 -0
- package/lib/openzeppelin-contracts/contracts/utils/README.adoc +111 -0
- package/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol +88 -0
- package/lib/openzeppelin-contracts/contracts/utils/Strings.sol +70 -0
- package/lib/openzeppelin-contracts/contracts/utils/Timers.sol +73 -0
- package/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol +213 -0
- package/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol +104 -0
- package/lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol +223 -0
- package/lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol +42 -0
- package/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol +8 -0
- package/lib/openzeppelin-contracts/contracts/utils/escrow/ConditionalEscrow.sol +25 -0
- package/lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol +67 -0
- package/lib/openzeppelin-contracts/contracts/utils/escrow/RefundEscrow.sol +100 -0
- package/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol +29 -0
- package/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol +127 -0
- package/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Storage.sol +42 -0
- package/lib/openzeppelin-contracts/contracts/utils/introspection/ERC1820Implementer.sol +44 -0
- package/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol +25 -0
- package/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Implementer.sol +20 -0
- package/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Registry.sol +116 -0
- package/lib/openzeppelin-contracts/contracts/utils/math/Math.sol +345 -0
- package/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol +1136 -0
- package/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol +227 -0
- package/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol +43 -0
- package/lib/openzeppelin-contracts/contracts/utils/math/SignedSafeMath.sol +68 -0
- package/lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol +55 -0
- package/lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol +170 -0
- package/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol +530 -0
- package/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol +378 -0
- package/lib/openzeppelin-contracts/contracts/vendor/amb/IAMB.sol +49 -0
- package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IArbSys.sol +141 -0
- package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IBridge.sol +109 -0
- package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IDelayedMessageProvider.sol +16 -0
- package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IInbox.sol +152 -0
- package/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IOutbox.sol +121 -0
- package/lib/openzeppelin-contracts/contracts/vendor/compound/ICompoundTimelock.sol +86 -0
- package/lib/openzeppelin-contracts/contracts/vendor/compound/LICENSE +11 -0
- package/lib/openzeppelin-contracts/contracts/vendor/optimism/ICrossDomainMessenger.sol +38 -0
- package/lib/openzeppelin-contracts/contracts/vendor/optimism/LICENSE +22 -0
- package/lib/openzeppelin-contracts/contracts/vendor/polygon/IFxMessageProcessor.sol +11 -0
- package/lib/openzeppelin-contracts/docs/antora.yml +6 -0
- package/lib/openzeppelin-contracts/docs/config.js +21 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-exec.png +0 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-vote.png +0 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +23 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +217 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crosschain.adoc +210 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crowdsales.adoc +11 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/drafts.adoc +19 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +153 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +113 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +85 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +90 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc777.adoc +73 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +129 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +321 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +63 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/releases-stability.adoc +85 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +32 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +73 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +190 -0
- package/lib/openzeppelin-contracts/docs/modules/ROOT/pages/wizard.adoc +15 -0
- package/lib/openzeppelin-contracts/docs/templates/contract.hbs +85 -0
- package/lib/openzeppelin-contracts/docs/templates/helpers.js +46 -0
- package/lib/openzeppelin-contracts/docs/templates/page.hbs +4 -0
- package/lib/openzeppelin-contracts/docs/templates/properties.js +49 -0
- package/lib/openzeppelin-contracts/hardhat/env-contract.js +10 -0
- package/lib/openzeppelin-contracts/hardhat/ignore-unreachable-warnings.js +47 -0
- package/lib/openzeppelin-contracts/hardhat/skip-foundry-tests.js +7 -0
- package/lib/openzeppelin-contracts/hardhat.config.js +106 -0
- package/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/ci.yml +92 -0
- package/lib/openzeppelin-contracts/lib/forge-std/.gitmodules +3 -0
- package/lib/openzeppelin-contracts/lib/forge-std/LICENSE-APACHE +203 -0
- package/lib/openzeppelin-contracts/lib/forge-std/LICENSE-MIT +25 -0
- package/lib/openzeppelin-contracts/lib/forge-std/README.md +250 -0
- package/lib/openzeppelin-contracts/lib/forge-std/foundry.toml +21 -0
- package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/LICENSE +674 -0
- package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/Makefile +14 -0
- package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/default.nix +4 -0
- package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/demo/demo.sol +222 -0
- package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/package.json +15 -0
- package/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol +469 -0
- package/lib/openzeppelin-contracts/lib/forge-std/package.json +16 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/Base.sol +31 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/Script.sol +26 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol +209 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol +189 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol +565 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol +15 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol +179 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol +43 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol +327 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol +123 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/Test.sol +28 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol +385 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/console.sol +1533 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/console2.sol +1546 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC165.sol +12 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC20.sol +43 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
- package/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC721.sol +164 -0
- package/lib/openzeppelin-contracts/lib/forge-std/test/StdAssertions.t.sol +587 -0
- package/lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol +123 -0
- package/lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol +305 -0
- package/lib/openzeppelin-contracts/lib/forge-std/test/StdError.t.sol +118 -0
- package/lib/openzeppelin-contracts/lib/forge-std/test/StdMath.t.sol +197 -0
- package/lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol +283 -0
- package/lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol +191 -0
- package/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScript.sol +10 -0
- package/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScriptBase.sol +10 -0
- package/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTest.sol +10 -0
- package/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTestBase.sol +10 -0
- package/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
- package/lib/openzeppelin-contracts/logo.svg +15 -0
- package/lib/openzeppelin-contracts/netlify.toml +3 -0
- package/lib/openzeppelin-contracts/package.json +92 -0
- package/lib/openzeppelin-contracts/renovate.json +11 -0
- package/lib/openzeppelin-contracts/scripts/checks/compareGasReports.js +211 -0
- package/lib/openzeppelin-contracts/scripts/checks/generation.sh +6 -0
- package/lib/openzeppelin-contracts/scripts/checks/inheritance-ordering.js +50 -0
- package/lib/openzeppelin-contracts/scripts/gen-nav.js +41 -0
- package/lib/openzeppelin-contracts/scripts/generate/format-lines.js +16 -0
- package/lib/openzeppelin-contracts/scripts/generate/run.js +46 -0
- package/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.js +303 -0
- package/lib/openzeppelin-contracts/scripts/generate/templates/CheckpointsMock.js +80 -0
- package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMap.js +278 -0
- package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMapMock.js +66 -0
- package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSet.js +253 -0
- package/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSetMock.js +56 -0
- package/lib/openzeppelin-contracts/scripts/generate/templates/SafeCast.js +168 -0
- package/lib/openzeppelin-contracts/scripts/generate/templates/SafeCastMock.js +50 -0
- package/lib/openzeppelin-contracts/scripts/generate/templates/conversion.js +30 -0
- package/lib/openzeppelin-contracts/scripts/git-user-config.sh +6 -0
- package/lib/openzeppelin-contracts/scripts/helpers.js +23 -0
- package/lib/openzeppelin-contracts/scripts/migrate-imports.js +177 -0
- package/lib/openzeppelin-contracts/scripts/prepack.sh +12 -0
- package/lib/openzeppelin-contracts/scripts/prepare-contracts-package.sh +15 -0
- package/lib/openzeppelin-contracts/scripts/prepare-docs.sh +15 -0
- package/lib/openzeppelin-contracts/scripts/prepare.sh +10 -0
- package/lib/openzeppelin-contracts/scripts/release/release.sh +145 -0
- package/lib/openzeppelin-contracts/scripts/release/synchronize-versions.js +16 -0
- package/lib/openzeppelin-contracts/scripts/release/update-changelog-release-date.js +34 -0
- package/lib/openzeppelin-contracts/scripts/release/update-comment.js +36 -0
- package/lib/openzeppelin-contracts/scripts/release/version.sh +9 -0
- package/lib/openzeppelin-contracts/scripts/remove-ignored-artifacts.js +45 -0
- package/lib/openzeppelin-contracts/scripts/update-docs-branch.js +55 -0
- package/lib/openzeppelin-contracts/slither.config.json +5 -0
- package/lib/openzeppelin-contracts/test/TESTING.md +3 -0
- package/lib/openzeppelin-contracts/test/access/AccessControl.behavior.js +216 -0
- package/lib/openzeppelin-contracts/test/access/AccessControl.test.js +13 -0
- package/lib/openzeppelin-contracts/test/access/AccessControlCrossChain.test.js +59 -0
- package/lib/openzeppelin-contracts/test/access/AccessControlEnumerable.test.js +15 -0
- package/lib/openzeppelin-contracts/test/access/Ownable.test.js +57 -0
- package/lib/openzeppelin-contracts/test/access/Ownable2Step.test.js +57 -0
- package/lib/openzeppelin-contracts/test/crosschain/CrossChainEnabled.test.js +88 -0
- package/lib/openzeppelin-contracts/test/finance/PaymentSplitter.test.js +217 -0
- package/lib/openzeppelin-contracts/test/finance/VestingWallet.behavior.js +74 -0
- package/lib/openzeppelin-contracts/test/finance/VestingWallet.test.js +67 -0
- package/lib/openzeppelin-contracts/test/governance/Governor.test.js +632 -0
- package/lib/openzeppelin-contracts/test/governance/TimelockController.test.js +1134 -0
- package/lib/openzeppelin-contracts/test/governance/compatibility/GovernorCompatibilityBravo.test.js +265 -0
- package/lib/openzeppelin-contracts/test/governance/extensions/GovernorComp.test.js +78 -0
- package/lib/openzeppelin-contracts/test/governance/extensions/GovernorERC721.test.js +104 -0
- package/lib/openzeppelin-contracts/test/governance/extensions/GovernorPreventLateQuorum.test.js +177 -0
- package/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockCompound.test.js +368 -0
- package/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockControl.test.js +420 -0
- package/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesQuorumFraction.test.js +137 -0
- package/lib/openzeppelin-contracts/test/governance/extensions/GovernorWithParams.test.js +166 -0
- package/lib/openzeppelin-contracts/test/governance/utils/Votes.behavior.js +344 -0
- package/lib/openzeppelin-contracts/test/governance/utils/Votes.test.js +61 -0
- package/lib/openzeppelin-contracts/test/helpers/create2.js +12 -0
- package/lib/openzeppelin-contracts/test/helpers/crosschain.js +63 -0
- package/lib/openzeppelin-contracts/test/helpers/customError.js +24 -0
- package/lib/openzeppelin-contracts/test/helpers/eip712.js +30 -0
- package/lib/openzeppelin-contracts/test/helpers/enums.js +29 -0
- package/lib/openzeppelin-contracts/test/helpers/erc1967.js +24 -0
- package/lib/openzeppelin-contracts/test/helpers/governance.js +211 -0
- package/lib/openzeppelin-contracts/test/helpers/sign.js +47 -0
- package/lib/openzeppelin-contracts/test/helpers/txpool.js +40 -0
- package/lib/openzeppelin-contracts/test/metatx/ERC2771Context.test.js +109 -0
- package/lib/openzeppelin-contracts/test/metatx/MinimalForwarder.test.js +184 -0
- package/lib/openzeppelin-contracts/test/migrate-imports.test.js +29 -0
- package/lib/openzeppelin-contracts/test/proxy/Clones.behaviour.js +150 -0
- package/lib/openzeppelin-contracts/test/proxy/Clones.test.js +69 -0
- package/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Proxy.test.js +13 -0
- package/lib/openzeppelin-contracts/test/proxy/Proxy.behaviour.js +224 -0
- package/lib/openzeppelin-contracts/test/proxy/beacon/BeaconProxy.test.js +156 -0
- package/lib/openzeppelin-contracts/test/proxy/beacon/UpgradeableBeacon.test.js +50 -0
- package/lib/openzeppelin-contracts/test/proxy/transparent/ProxyAdmin.test.js +125 -0
- package/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +431 -0
- package/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.test.js +15 -0
- package/lib/openzeppelin-contracts/test/proxy/utils/Initializable.test.js +218 -0
- package/lib/openzeppelin-contracts/test/proxy/utils/UUPSUpgradeable.test.js +85 -0
- package/lib/openzeppelin-contracts/test/security/Pausable.test.js +89 -0
- package/lib/openzeppelin-contracts/test/security/PullPayment.test.js +51 -0
- package/lib/openzeppelin-contracts/test/security/ReentrancyGuard.test.js +40 -0
- package/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.behavior.js +774 -0
- package/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.test.js +264 -0
- package/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Burnable.test.js +67 -0
- package/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Pausable.test.js +108 -0
- package/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Supply.test.js +111 -0
- package/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +66 -0
- package/lib/openzeppelin-contracts/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +146 -0
- package/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Holder.test.js +62 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/ERC20.behavior.js +333 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/ERC20.test.js +309 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.behavior.js +109 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.test.js +19 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.behavior.js +32 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.test.js +27 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20FlashMint.test.js +144 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Pausable.test.js +134 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Snapshot.test.js +204 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Votes.test.js +518 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20VotesComp.test.js +496 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Wrapper.test.js +190 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.test.js +622 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Permit.test.js +109 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +42 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +113 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/utils/SafeERC20.test.js +255 -0
- package/lib/openzeppelin-contracts/test/token/ERC20/utils/TokenTimelock.test.js +71 -0
- package/lib/openzeppelin-contracts/test/token/ERC721/ERC721.behavior.js +937 -0
- package/lib/openzeppelin-contracts/test/token/ERC721/ERC721.test.js +18 -0
- package/lib/openzeppelin-contracts/test/token/ERC721/ERC721Enumerable.test.js +20 -0
- package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Burnable.test.js +78 -0
- package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.t.sol +120 -0
- package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.test.js +225 -0
- package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Pausable.test.js +98 -0
- package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Royalty.test.js +40 -0
- package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721URIStorage.test.js +96 -0
- package/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Votes.test.js +174 -0
- package/lib/openzeppelin-contracts/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +125 -0
- package/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Holder.test.js +24 -0
- package/lib/openzeppelin-contracts/test/token/ERC777/ERC777.behavior.js +555 -0
- package/lib/openzeppelin-contracts/test/token/ERC777/ERC777.test.js +610 -0
- package/lib/openzeppelin-contracts/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +49 -0
- package/lib/openzeppelin-contracts/test/token/common/ERC2981.behavior.js +160 -0
- package/lib/openzeppelin-contracts/test/utils/Address.test.js +382 -0
- package/lib/openzeppelin-contracts/test/utils/Arrays.test.js +105 -0
- package/lib/openzeppelin-contracts/test/utils/Base64.test.js +33 -0
- package/lib/openzeppelin-contracts/test/utils/Checkpoints.test.js +189 -0
- package/lib/openzeppelin-contracts/test/utils/Context.behavior.js +42 -0
- package/lib/openzeppelin-contracts/test/utils/Context.test.js +17 -0
- package/lib/openzeppelin-contracts/test/utils/Counters.test.js +84 -0
- package/lib/openzeppelin-contracts/test/utils/Create2.test.js +92 -0
- package/lib/openzeppelin-contracts/test/utils/Multicall.test.js +57 -0
- package/lib/openzeppelin-contracts/test/utils/StorageSlot.test.js +110 -0
- package/lib/openzeppelin-contracts/test/utils/Strings.test.js +86 -0
- package/lib/openzeppelin-contracts/test/utils/TimersBlockNumberImpl.test.js +55 -0
- package/lib/openzeppelin-contracts/test/utils/TimersTimestamp.test.js +55 -0
- package/lib/openzeppelin-contracts/test/utils/cryptography/ECDSA.test.js +204 -0
- package/lib/openzeppelin-contracts/test/utils/cryptography/EIP712.test.js +57 -0
- package/lib/openzeppelin-contracts/test/utils/cryptography/MerkleProof.test.js +179 -0
- package/lib/openzeppelin-contracts/test/utils/cryptography/SignatureChecker.test.js +81 -0
- package/lib/openzeppelin-contracts/test/utils/escrow/ConditionalEscrow.test.js +36 -0
- package/lib/openzeppelin-contracts/test/utils/escrow/Escrow.behavior.js +94 -0
- package/lib/openzeppelin-contracts/test/utils/escrow/Escrow.test.js +14 -0
- package/lib/openzeppelin-contracts/test/utils/escrow/RefundEscrow.test.js +148 -0
- package/lib/openzeppelin-contracts/test/utils/introspection/ERC165.test.js +13 -0
- package/lib/openzeppelin-contracts/test/utils/introspection/ERC165Checker.test.js +303 -0
- package/lib/openzeppelin-contracts/test/utils/introspection/ERC165Storage.test.js +25 -0
- package/lib/openzeppelin-contracts/test/utils/introspection/ERC1820Implementer.test.js +66 -0
- package/lib/openzeppelin-contracts/test/utils/introspection/SupportsInterface.behavior.js +147 -0
- package/lib/openzeppelin-contracts/test/utils/math/Math.t.sol +118 -0
- package/lib/openzeppelin-contracts/test/utils/math/Math.test.js +312 -0
- package/lib/openzeppelin-contracts/test/utils/math/SafeCast.test.js +164 -0
- package/lib/openzeppelin-contracts/test/utils/math/SafeMath.test.js +403 -0
- package/lib/openzeppelin-contracts/test/utils/math/SignedMath.test.js +93 -0
- package/lib/openzeppelin-contracts/test/utils/math/SignedSafeMath.test.js +152 -0
- package/lib/openzeppelin-contracts/test/utils/structs/BitMap.test.js +145 -0
- package/lib/openzeppelin-contracts/test/utils/structs/DoubleEndedQueue.test.js +96 -0
- package/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.behavior.js +181 -0
- package/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.test.js +86 -0
- package/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.behavior.js +131 -0
- package/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.test.js +46 -0
- package/lib/openzeppelin-contracts-upgradeable/.changeset/new-ways-own.md +5 -0
- package/lib/openzeppelin-contracts-upgradeable/.codecov.yml +12 -0
- package/lib/openzeppelin-contracts-upgradeable/.editorconfig +21 -0
- package/lib/openzeppelin-contracts-upgradeable/.eslintrc +62 -0
- package/lib/openzeppelin-contracts-upgradeable/.gitattributes +1 -0
- package/lib/openzeppelin-contracts-upgradeable/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
- package/lib/openzeppelin-contracts-upgradeable/.github/ISSUE_TEMPLATE/config.yml +4 -0
- package/lib/openzeppelin-contracts-upgradeable/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
- package/lib/openzeppelin-contracts-upgradeable/.github/PULL_REQUEST_TEMPLATE.md +20 -0
- package/lib/openzeppelin-contracts-upgradeable/.github/actions/gas-compare/action.yml +49 -0
- package/lib/openzeppelin-contracts-upgradeable/.github/actions/setup/action.yml +20 -0
- package/lib/openzeppelin-contracts-upgradeable/.github/workflows/changelog.yml +28 -0
- package/lib/openzeppelin-contracts-upgradeable/.github/workflows/checks.yml +101 -0
- package/lib/openzeppelin-contracts-upgradeable/.github/workflows/docs.yml +19 -0
- package/lib/openzeppelin-contracts-upgradeable/.github/workflows/merge-upstream.yml +28 -0
- package/lib/openzeppelin-contracts-upgradeable/.github/workflows/transpile.yml +27 -0
- package/lib/openzeppelin-contracts-upgradeable/.gitmodules +3 -0
- package/lib/openzeppelin-contracts-upgradeable/.mocharc.js +4 -0
- package/lib/openzeppelin-contracts-upgradeable/.prettierrc +14 -0
- package/lib/openzeppelin-contracts-upgradeable/.solcover.js +15 -0
- package/lib/openzeppelin-contracts-upgradeable/.solhint.json +14 -0
- package/lib/openzeppelin-contracts-upgradeable/CHANGELOG.md +630 -0
- package/lib/openzeppelin-contracts-upgradeable/CODE_OF_CONDUCT.md +73 -0
- package/lib/openzeppelin-contracts-upgradeable/CONTRIBUTING.md +64 -0
- package/lib/openzeppelin-contracts-upgradeable/DOCUMENTATION.md +16 -0
- package/lib/openzeppelin-contracts-upgradeable/GUIDELINES.md +105 -0
- package/lib/openzeppelin-contracts-upgradeable/LICENSE +22 -0
- package/lib/openzeppelin-contracts-upgradeable/README.md +104 -0
- package/lib/openzeppelin-contracts-upgradeable/RELEASING.md +36 -0
- package/lib/openzeppelin-contracts-upgradeable/SECURITY.md +20 -0
- package/lib/openzeppelin-contracts-upgradeable/UPGRADEABLE.md +47 -0
- package/lib/openzeppelin-contracts-upgradeable/audit/2017-03.md +292 -0
- package/lib/openzeppelin-contracts-upgradeable/audit/2018-10.pdf +0 -0
- package/lib/openzeppelin-contracts-upgradeable/certora/Makefile +24 -0
- package/lib/openzeppelin-contracts-upgradeable/certora/README.md +56 -0
- package/lib/openzeppelin-contracts-upgradeable/certora/applyHarness.patch +101 -0
- package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/ERC20VotesHarness.sol +28 -0
- package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/WizardControlFirstPriority.sol +150 -0
- package/lib/openzeppelin-contracts-upgradeable/certora/harnesses/WizardFirstTry.sol +141 -0
- package/lib/openzeppelin-contracts-upgradeable/certora/munged/.gitignore +2 -0
- package/lib/openzeppelin-contracts-upgradeable/certora/scripts/Governor.sh +10 -0
- package/lib/openzeppelin-contracts-upgradeable/certora/scripts/GovernorCountingSimple-counting.sh +10 -0
- package/lib/openzeppelin-contracts-upgradeable/certora/scripts/WizardControlFirstPriority.sh +12 -0
- package/lib/openzeppelin-contracts-upgradeable/certora/scripts/WizardFirstTry.sh +10 -0
- package/lib/openzeppelin-contracts-upgradeable/certora/scripts/sanity.sh +14 -0
- package/lib/openzeppelin-contracts-upgradeable/certora/scripts/verifyAll.sh +39 -0
- package/lib/openzeppelin-contracts-upgradeable/certora/specs/GovernorBase.spec +333 -0
- package/lib/openzeppelin-contracts-upgradeable/certora/specs/GovernorCountingSimple.spec +221 -0
- package/lib/openzeppelin-contracts-upgradeable/certora/specs/RulesInProgress.spec +139 -0
- package/lib/openzeppelin-contracts-upgradeable/certora/specs/sanity.spec +14 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlCrossChainUpgradeable.sol +58 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlEnumerableUpgradeable.sol +77 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol +260 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlEnumerableUpgradeable.sol +31 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol +88 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/access/Ownable2StepUpgradeable.sol +71 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol +95 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/access/README.adoc +25 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/CrossChainEnabledUpgradeable.sol +67 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/README.adoc +34 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/amb/CrossChainEnabledAMBUpgradeable.sol +57 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/amb/LibAMBUpgradeable.sol +35 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1Upgradeable.sol +52 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2Upgradeable.sol +53 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/arbitrum/LibArbitrumL1Upgradeable.sol +42 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/arbitrum/LibArbitrumL2Upgradeable.sol +45 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/errorsUpgradeable.sol +7 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/optimism/CrossChainEnabledOptimismUpgradeable.sol +49 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/optimism/LibOptimismUpgradeable.sol +36 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/crosschain/polygon/CrossChainEnabledPolygonChildUpgradeable.sol +90 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/finance/PaymentSplitterUpgradeable.sol +226 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/finance/README.adoc +20 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/finance/VestingWalletUpgradeable.sol +167 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/GovernorUpgradeable.sol +610 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/IGovernorUpgradeable.sol +289 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/README.adoc +176 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/TimelockControllerUpgradeable.sol +443 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/TimelockControllerWith46MigrationUpgradeable.sol +56 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/compatibility/GovernorCompatibilityBravoUpgradeable.sol +298 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/compatibility/IGovernorCompatibilityBravoUpgradeable.sol +127 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorCountingSimpleUpgradeable.sol +120 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorPreventLateQuorumUpgradeable.sol +120 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorProposalThresholdUpgradeable.sol +36 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorSettingsUpgradeable.sol +130 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorTimelockCompoundUpgradeable.sol +205 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorTimelockControlUpgradeable.sol +178 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorVotesCompUpgradeable.sol +45 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorVotesQuorumFractionUpgradeable.sol +131 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/GovernorVotesUpgradeable.sol +45 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/extensions/IGovernorTimelockUpgradeable.sol +39 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/IVotesUpgradeable.sol +61 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol +224 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1155MetadataURIUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1155ReceiverUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1155Upgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1271Upgradeable.sol +19 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1363ReceiverUpgradeable.sol +32 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1363SpenderUpgradeable.sol +30 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1363Upgradeable.sol +95 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC165Upgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1820ImplementerUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1820RegistryUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20MetadataUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC20Upgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC2309Upgradeable.sol +21 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC2981Upgradeable.sol +25 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC3156FlashBorrowerUpgradeable.sol +29 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC3156FlashLenderUpgradeable.sol +43 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC3156Upgradeable.sol +7 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC4626Upgradeable.sol +240 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC721EnumerableUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC721MetadataUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC721ReceiverUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC721Upgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC777RecipientUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC777SenderUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC777Upgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/README.adoc +56 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol +20 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC2612Upgradeable.sol +8 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/metatx/ERC2771ContextUpgradeable.sol +51 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/metatx/MinimalForwarderUpgradeable.sol +85 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/metatx/README.adoc +12 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessControlCrossChainMockUpgradeable.sol +34 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessControlEnumerableMockUpgradeable.sol +29 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AccessControlMockUpgradeable.sol +29 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/AddressImplUpgradeable.sol +54 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ArraysMockUpgradeable.sol +85 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/BadBeaconUpgradeable.sol +36 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/Base64MockUpgradeable.sol +24 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/BitmapMockUpgradeable.sol +40 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/CallReceiverMockUpgradeable.sol +70 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/CheckpointsMockUpgradeable.sol +157 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ClashingImplementationUpgradeable.sol +31 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ClonesMockUpgradeable.sol +49 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ConditionalEscrowMockUpgradeable.sol +32 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ContextMockUpgradeable.sol +58 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/CountersImplUpgradeable.sol +40 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/Create2ImplUpgradeable.sol +47 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/DoubleEndedQueueMockUpgradeable.sol +71 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/DummyImplementationUpgradeable.sol +98 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ECDSAMockUpgradeable.sol +54 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EIP712ExternalUpgradeable.sol +43 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155BurnableMockUpgradeable.sol +30 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155MockUpgradeable.sol +63 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155PausableMockUpgradeable.sol +43 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155ReceiverMockUpgradeable.sol +69 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155SupplyMockUpgradeable.sol +34 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1155URIStorageMockUpgradeable.sol +36 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1271WalletMockUpgradeable.sol +51 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165InterfacesSupportedUpgradeable.sol +82 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165MaliciousDataUpgradeable.sol +25 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165MissingDataUpgradeable.sol +20 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165NotSupportedUpgradeable.sol +18 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165/ERC165ReturnBombUpgradeable.sol +31 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165CheckerMockUpgradeable.sol +42 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165MockUpgradeable.sol +20 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC165StorageMockUpgradeable.sol +24 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC1820ImplementerMockUpgradeable.sol +24 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20BurnableMockUpgradeable.sol +34 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20CappedMockUpgradeable.sol +34 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20DecimalsMockUpgradeable.sol +46 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20FlashMintMockUpgradeable.sol +61 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20MockUpgradeable.sol +59 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20PausableMockUpgradeable.sol +52 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20PermitMockUpgradeable.sol +40 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20SnapshotMockUpgradeable.sol +46 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20VotesCompMockUpgradeable.sol +35 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20VotesMockUpgradeable.sol +35 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC20WrapperMockUpgradeable.sol +34 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC2771ContextMockUpgradeable.sol +30 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC3156FlashBorrowerMockUpgradeable.sol +65 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC4626MockUpgradeable.sol +96 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721BurnableMockUpgradeable.sol +41 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721ConsecutiveEnumerableMockUpgradeable.sol +73 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721ConsecutiveMockUpgradeable.sol +119 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721EnumerableMockUpgradeable.sol +63 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721MockUpgradeable.sol +53 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721PausableMockUpgradeable.sol +58 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721ReceiverMockUpgradeable.sol +54 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721RoyaltyMockUpgradeable.sol +45 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721URIStorageMockUpgradeable.sol +67 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC721VotesMockUpgradeable.sol +38 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC777MockUpgradeable.sol +75 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ERC777SenderRecipientMockUpgradeable.sol +176 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EnumerableMapMockUpgradeable.sol +282 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EnumerableSetMockUpgradeable.sol +148 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/EtherReceiverMockUpgradeable.sol +30 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorCompMockUpgradeable.sol +45 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorCompatibilityBravoMockUpgradeable.sol +145 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorMockUpgradeable.sol +67 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorPreventLateQuorumMockUpgradeable.sol +79 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorTimelockCompoundMockUpgradeable.sol +114 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorTimelockControlMockUpgradeable.sol +111 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorVoteMockUpgradeable.sol +45 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/GovernorWithParamsMockUpgradeable.sol +75 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/InitializableMock.sol +130 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MathMockUpgradeable.sol +61 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MerkleProofWrapperUpgradeable.sol +78 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MulticallTestUpgradeable.sol +36 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MulticallTokenMockUpgradeable.sol +23 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/MultipleInheritanceInitializableMocks.sol +136 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/Ownable2StepMockUpgradeable.sol +21 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/OwnableMockUpgradeable.sol +21 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/PausableMockUpgradeable.sol +44 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/PullPaymentMockUpgradeable.sol +27 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ReentrancyAttackUpgradeable.sol +25 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/ReentrancyMockUpgradeable.sol +56 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/RegressionImplementation.sol +61 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SafeCastMockUpgradeable.sol +280 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SafeERC20HelperUpgradeable.sol +257 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SafeMathMockUpgradeable.sol +151 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SignatureCheckerMockUpgradeable.sol +30 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SignedMathMockUpgradeable.sol +36 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SignedSafeMathMockUpgradeable.sol +36 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/SingleInheritanceInitializableMocks.sol +49 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/StorageSlotMockUpgradeable.sol +54 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/StringsMockUpgradeable.sol +36 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/TimersBlockNumberImplUpgradeable.sol +52 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/TimersTimestampImplUpgradeable.sol +52 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/UUPS/UUPSLegacyUpgradeable.sol +81 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/UUPS/UUPSUpgradeableMockUpgradeable.sol +46 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/VotesMockUpgradeable.sol +52 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/WithInit.sol +1373 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/compound/CompTimelockUpgradeable.sol +186 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/crosschain/bridgesUpgradeable.sol +199 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/crosschain/receiversUpgradeable.sol +107 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/wizard/MyGovernor1Upgradeable.sol +98 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/wizard/MyGovernor2Upgradeable.sol +104 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/mocks/wizard/MyGovernor3Upgradeable.sol +107 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/package.json +32 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol +89 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol +212 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/README.adoc +85 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol +16 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol +165 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol +108 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol +117 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/security/PullPaymentUpgradeable.sol +89 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/security/README.adoc +20 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol +81 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol +529 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155ReceiverUpgradeable.sol +58 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol +125 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/README.adoc +49 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol +53 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol +58 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol +77 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155URIStorageUpgradeable.sol +78 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol +22 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/presets/ERC1155PresetMinterPauserUpgradeable.sol +145 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/presets/README.md +1 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/utils/ERC1155HolderUpgradeable.sol +49 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/utils/ERC1155ReceiverUpgradeable.sol +32 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol +401 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol +82 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/README.adoc +86 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20BurnableUpgradeable.sol +52 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20CappedUpgradeable.sol +51 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20FlashMintUpgradeable.sol +122 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20PausableUpgradeable.sol +53 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol +208 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20VotesCompUpgradeable.sol +59 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20VotesUpgradeable.sol +288 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC20WrapperUpgradeable.sol +77 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol +296 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol +28 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol +109 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol +60 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/presets/ERC20PresetFixedSupplyUpgradeable.sol +61 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/presets/ERC20PresetMinterPauserUpgradeable.sol +111 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/presets/README.md +1 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol +116 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/TokenTimelockUpgradeable.sol +94 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable.sol +518 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol +27 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable.sol +145 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/README.adoc +70 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol +39 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721ConsecutiveUpgradeable.sol +161 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol +172 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721PausableUpgradeable.sol +54 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721RoyaltyUpgradeable.sol +51 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol +75 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721VotesUpgradeable.sol +54 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol +29 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol +27 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/draft-ERC721VotesUpgradeable.sol +9 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoIdUpgradeable.sol +165 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/presets/README.md +1 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/utils/ERC721HolderUpgradeable.sol +41 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/ERC777Upgradeable.sol +563 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/IERC777RecipientUpgradeable.sol +35 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/IERC777SenderUpgradeable.sol +35 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/IERC777Upgradeable.sol +209 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/README.adoc +30 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC777/presets/ERC777PresetFixedSupplyUpgradeable.sol +58 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/common/ERC2981Upgradeable.sol +124 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/token/common/README.adoc +10 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol +219 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/ArraysUpgradeable.sol +96 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/Base64Upgradeable.sol +92 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/CheckpointsUpgradeable.sol +554 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol +37 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/CountersUpgradeable.sol +43 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/Create2Upgradeable.sol +83 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/MulticallUpgradeable.sol +51 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/README.adoc +111 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol +88 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol +70 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/TimersUpgradeable.sol +73 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/ECDSAUpgradeable.sol +213 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol +121 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/MerkleProofUpgradeable.sol +223 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/SignatureCheckerUpgradeable.sol +42 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/draft-EIP712Upgradeable.sol +8 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/escrow/ConditionalEscrowUpgradeable.sol +39 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/escrow/EscrowUpgradeable.sol +84 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/escrow/RefundEscrowUpgradeable.sol +113 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165CheckerUpgradeable.sol +127 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165StorageUpgradeable.sol +55 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol +42 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC1820ImplementerUpgradeable.sol +57 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol +25 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC1820ImplementerUpgradeable.sol +20 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC1820RegistryUpgradeable.sol +116 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol +345 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeCastUpgradeable.sol +1136 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SafeMathUpgradeable.sol +227 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol +43 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedSafeMathUpgradeable.sol +68 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/BitMapsUpgradeable.sol +55 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/DoubleEndedQueueUpgradeable.sol +170 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableMapUpgradeable.sol +530 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/utils/structs/EnumerableSetUpgradeable.sol +378 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/amb/IAMBUpgradeable.sol +49 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IArbSysUpgradeable.sol +141 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IBridgeUpgradeable.sol +109 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IDelayedMessageProviderUpgradeable.sol +16 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IInboxUpgradeable.sol +152 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/arbitrum/IOutboxUpgradeable.sol +121 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/compound/ICompoundTimelockUpgradeable.sol +86 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/compound/LICENSE +11 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/optimism/ICrossDomainMessengerUpgradeable.sol +38 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/optimism/LICENSE +22 -0
- package/lib/openzeppelin-contracts-upgradeable/contracts/vendor/polygon/IFxMessageProcessorUpgradeable.sol +11 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/antora.yml +6 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/config.js +21 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/tally-exec.png +0 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/images/tally-vote.png +0 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/nav.adoc +23 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/access-control.adoc +217 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/crosschain.adoc +210 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/crowdsales.adoc +11 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/drafts.adoc +19 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc1155.adoc +153 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc20-supply.adoc +113 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc20.adoc +85 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc721.adoc +90 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/erc777.adoc +73 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/extending-contracts.adoc +129 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/governance.adoc +321 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/index.adoc +63 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/releases-stability.adoc +85 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/tokens.adoc +32 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/upgradeable.adoc +73 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/utilities.adoc +190 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/modules/ROOT/pages/wizard.adoc +15 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/templates/contract.hbs +85 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/templates/helpers.js +46 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/templates/page.hbs +4 -0
- package/lib/openzeppelin-contracts-upgradeable/docs/templates/properties.js +49 -0
- package/lib/openzeppelin-contracts-upgradeable/hardhat/env-artifacts.js +20 -0
- package/lib/openzeppelin-contracts-upgradeable/hardhat/env-contract.js +10 -0
- package/lib/openzeppelin-contracts-upgradeable/hardhat/ignore-unreachable-warnings.js +47 -0
- package/lib/openzeppelin-contracts-upgradeable/hardhat/skip-foundry-tests.js +7 -0
- package/lib/openzeppelin-contracts-upgradeable/hardhat/task-get-compiler-input.js +10 -0
- package/lib/openzeppelin-contracts-upgradeable/hardhat/task-test-get-files.js +19 -0
- package/lib/openzeppelin-contracts-upgradeable/hardhat.config.js +106 -0
- package/lib/openzeppelin-contracts-upgradeable/icon.svg +13 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/.github/workflows/ci.yml +92 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/.gitmodules +3 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/LICENSE-APACHE +203 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/LICENSE-MIT +25 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/README.md +250 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/foundry.toml +21 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/LICENSE +674 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/Makefile +14 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/default.nix +4 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/demo/demo.sol +222 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/package.json +15 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/test.sol +469 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/package.json +16 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/Base.sol +31 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/Script.sol +26 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdAssertions.sol +209 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdChains.sol +189 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdCheats.sol +565 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdError.sol +15 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdJson.sol +179 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdMath.sol +43 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdStorage.sol +327 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/StdUtils.sol +123 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/Test.sol +28 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/Vm.sol +385 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/console.sol +1533 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/console2.sol +1546 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/interfaces/IERC165.sol +12 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/interfaces/IERC20.sol +43 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/src/interfaces/IERC721.sol +164 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdAssertions.t.sol +587 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdChains.t.sol +123 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdCheats.t.sol +305 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdError.t.sol +118 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdMath.t.sol +197 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdStorage.t.sol +283 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/StdUtils.t.sol +191 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/compilation/CompilationScript.sol +10 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/compilation/CompilationScriptBase.sol +10 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/compilation/CompilationTest.sol +10 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/compilation/CompilationTestBase.sol +10 -0
- package/lib/openzeppelin-contracts-upgradeable/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
- package/lib/openzeppelin-contracts-upgradeable/logo.svg +15 -0
- package/lib/openzeppelin-contracts-upgradeable/netlify.toml +3 -0
- package/lib/openzeppelin-contracts-upgradeable/package.json +93 -0
- package/lib/openzeppelin-contracts-upgradeable/renovate.json +11 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/checks/compareGasReports.js +211 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/checks/generation.sh +6 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/checks/inheritance-ordering.js +50 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/gen-nav.js +41 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/generate/format-lines.js +16 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/generate/run.js +46 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/Checkpoints.js +303 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/CheckpointsMock.js +80 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/EnumerableMap.js +278 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/EnumerableMapMock.js +66 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/EnumerableSet.js +253 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/EnumerableSetMock.js +56 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/SafeCast.js +168 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/SafeCastMock.js +50 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/generate/templates/conversion.js +30 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/git-user-config.sh +6 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/helpers.js +23 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/migrate-imports.js +177 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/prepack.sh +12 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/prepare-contracts-package.sh +15 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/prepare-docs.sh +15 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/prepare.sh +10 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/release/release.sh +145 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/release/synchronize-versions.js +16 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/release/update-changelog-release-date.js +34 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/release/update-comment.js +36 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/release/version.sh +9 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/remove-ignored-artifacts.js +45 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/update-docs-branch.js +55 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/git-user-config.sh +6 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/merge-upstream.sh +33 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/patch/.gitkeep +0 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/transpile-onto.sh +38 -0
- package/lib/openzeppelin-contracts-upgradeable/scripts/upgradeable/transpile.sh +34 -0
- package/lib/openzeppelin-contracts-upgradeable/slither.config.json +5 -0
- package/lib/openzeppelin-contracts-upgradeable/test/TESTING.md +3 -0
- package/lib/openzeppelin-contracts-upgradeable/test/access/AccessControl.behavior.js +216 -0
- package/lib/openzeppelin-contracts-upgradeable/test/access/AccessControl.test.js +13 -0
- package/lib/openzeppelin-contracts-upgradeable/test/access/AccessControlCrossChain.test.js +59 -0
- package/lib/openzeppelin-contracts-upgradeable/test/access/AccessControlEnumerable.test.js +15 -0
- package/lib/openzeppelin-contracts-upgradeable/test/access/Ownable.test.js +57 -0
- package/lib/openzeppelin-contracts-upgradeable/test/access/Ownable2Step.test.js +57 -0
- package/lib/openzeppelin-contracts-upgradeable/test/crosschain/CrossChainEnabled.test.js +88 -0
- package/lib/openzeppelin-contracts-upgradeable/test/finance/PaymentSplitter.test.js +217 -0
- package/lib/openzeppelin-contracts-upgradeable/test/finance/VestingWallet.behavior.js +74 -0
- package/lib/openzeppelin-contracts-upgradeable/test/finance/VestingWallet.test.js +67 -0
- package/lib/openzeppelin-contracts-upgradeable/test/governance/Governor.test.js +632 -0
- package/lib/openzeppelin-contracts-upgradeable/test/governance/TimelockController.test.js +1134 -0
- package/lib/openzeppelin-contracts-upgradeable/test/governance/compatibility/GovernorCompatibilityBravo.test.js +265 -0
- package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorComp.test.js +78 -0
- package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorERC721.test.js +104 -0
- package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorPreventLateQuorum.test.js +177 -0
- package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorTimelockCompound.test.js +368 -0
- package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorTimelockControl.test.js +420 -0
- package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorVotesQuorumFraction.test.js +137 -0
- package/lib/openzeppelin-contracts-upgradeable/test/governance/extensions/GovernorWithParams.test.js +166 -0
- package/lib/openzeppelin-contracts-upgradeable/test/governance/utils/Votes.behavior.js +344 -0
- package/lib/openzeppelin-contracts-upgradeable/test/governance/utils/Votes.test.js +61 -0
- package/lib/openzeppelin-contracts-upgradeable/test/helpers/create2.js +12 -0
- package/lib/openzeppelin-contracts-upgradeable/test/helpers/crosschain.js +63 -0
- package/lib/openzeppelin-contracts-upgradeable/test/helpers/customError.js +24 -0
- package/lib/openzeppelin-contracts-upgradeable/test/helpers/eip712.js +30 -0
- package/lib/openzeppelin-contracts-upgradeable/test/helpers/enums.js +29 -0
- package/lib/openzeppelin-contracts-upgradeable/test/helpers/erc1967.js +24 -0
- package/lib/openzeppelin-contracts-upgradeable/test/helpers/governance.js +211 -0
- package/lib/openzeppelin-contracts-upgradeable/test/helpers/sign.js +47 -0
- package/lib/openzeppelin-contracts-upgradeable/test/helpers/txpool.js +40 -0
- package/lib/openzeppelin-contracts-upgradeable/test/metatx/ERC2771Context.test.js +109 -0
- package/lib/openzeppelin-contracts-upgradeable/test/metatx/MinimalForwarder.test.js +184 -0
- package/lib/openzeppelin-contracts-upgradeable/test/migrate-imports.test.js +29 -0
- package/lib/openzeppelin-contracts-upgradeable/test/proxy/Clones.behaviour.js +150 -0
- package/lib/openzeppelin-contracts-upgradeable/test/proxy/Clones.test.js +69 -0
- package/lib/openzeppelin-contracts-upgradeable/test/proxy/ERC1967/ERC1967Proxy.test.js +13 -0
- package/lib/openzeppelin-contracts-upgradeable/test/proxy/Proxy.behaviour.js +224 -0
- package/lib/openzeppelin-contracts-upgradeable/test/proxy/beacon/BeaconProxy.test.js +156 -0
- package/lib/openzeppelin-contracts-upgradeable/test/proxy/beacon/UpgradeableBeacon.test.js +50 -0
- package/lib/openzeppelin-contracts-upgradeable/test/proxy/transparent/ProxyAdmin.test.js +125 -0
- package/lib/openzeppelin-contracts-upgradeable/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +431 -0
- package/lib/openzeppelin-contracts-upgradeable/test/proxy/transparent/TransparentUpgradeableProxy.test.js +15 -0
- package/lib/openzeppelin-contracts-upgradeable/test/proxy/utils/Initializable.test.js +218 -0
- package/lib/openzeppelin-contracts-upgradeable/test/proxy/utils/UUPSUpgradeable.test.js +85 -0
- package/lib/openzeppelin-contracts-upgradeable/test/security/Pausable.test.js +89 -0
- package/lib/openzeppelin-contracts-upgradeable/test/security/PullPayment.test.js +51 -0
- package/lib/openzeppelin-contracts-upgradeable/test/security/ReentrancyGuard.test.js +40 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/ERC1155.behavior.js +774 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/ERC1155.test.js +264 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/extensions/ERC1155Burnable.test.js +67 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/extensions/ERC1155Pausable.test.js +108 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/extensions/ERC1155Supply.test.js +111 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +66 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +146 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC1155/utils/ERC1155Holder.test.js +62 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/ERC20.behavior.js +333 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/ERC20.test.js +309 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Burnable.behavior.js +109 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Burnable.test.js +19 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Capped.behavior.js +32 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Capped.test.js +27 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20FlashMint.test.js +144 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Pausable.test.js +134 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Snapshot.test.js +204 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Votes.test.js +518 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20VotesComp.test.js +496 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC20Wrapper.test.js +190 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/ERC4626.test.js +622 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/extensions/draft-ERC20Permit.test.js +109 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +42 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +113 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/utils/SafeERC20.test.js +255 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC20/utils/TokenTimelock.test.js +71 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/ERC721.behavior.js +937 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/ERC721.test.js +18 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/ERC721Enumerable.test.js +20 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Burnable.test.js +78 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Consecutive.t.sol +120 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Consecutive.test.js +212 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Pausable.test.js +98 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Royalty.test.js +40 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721URIStorage.test.js +96 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/extensions/ERC721Votes.test.js +174 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +125 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC721/utils/ERC721Holder.test.js +24 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC777/ERC777.behavior.js +555 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC777/ERC777.test.js +610 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +49 -0
- package/lib/openzeppelin-contracts-upgradeable/test/token/common/ERC2981.behavior.js +160 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/Address.test.js +382 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/Arrays.test.js +105 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/Base64.test.js +33 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/Checkpoints.test.js +189 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/Context.behavior.js +42 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/Context.test.js +17 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/Counters.test.js +84 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/Create2.test.js +92 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/Multicall.test.js +57 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/StorageSlot.test.js +110 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/Strings.test.js +86 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/TimersBlockNumberImpl.test.js +55 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/TimersTimestamp.test.js +55 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/ECDSA.test.js +204 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/EIP712.test.js +57 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/MerkleProof.test.js +179 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/cryptography/SignatureChecker.test.js +81 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/escrow/ConditionalEscrow.test.js +36 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/escrow/Escrow.behavior.js +94 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/escrow/Escrow.test.js +14 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/escrow/RefundEscrow.test.js +148 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/ERC165.test.js +13 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/ERC165Checker.test.js +303 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/ERC165Storage.test.js +25 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/ERC1820Implementer.test.js +66 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/introspection/SupportsInterface.behavior.js +147 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/math/Math.t.sol +118 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/math/Math.test.js +312 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SafeCast.test.js +164 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SafeMath.test.js +403 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SignedMath.test.js +93 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/math/SignedSafeMath.test.js +152 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/BitMap.test.js +145 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/DoubleEndedQueue.test.js +96 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/EnumerableMap.behavior.js +181 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/EnumerableMap.test.js +86 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/EnumerableSet.behavior.js +131 -0
- package/lib/openzeppelin-contracts-upgradeable/test/utils/structs/EnumerableSet.test.js +46 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.changeset/new-ways-own.md +5 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.codecov.yml +12 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.editorconfig +21 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.eslintrc +62 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.gitattributes +1 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.github/ISSUE_TEMPLATE/config.yml +4 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.github/PULL_REQUEST_TEMPLATE.md +20 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.github/actions/gas-compare/action.yml +49 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.github/actions/setup/action.yml +20 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.github/workflows/changelog.yml +28 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.github/workflows/checks.yml +101 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.github/workflows/docs.yml +19 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.github/workflows/merge-upstream.yml +28 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.github/workflows/transpile.yml +27 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.gitmodules +3 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.mocharc.js +4 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.prettierrc +14 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.solcover.js +15 -0
- package/lib/openzeppelin-contracts-upgradeable.git/.solhint.json +14 -0
- package/lib/openzeppelin-contracts-upgradeable.git/CHANGELOG.md +630 -0
- package/lib/openzeppelin-contracts-upgradeable.git/CODE_OF_CONDUCT.md +73 -0
- package/lib/openzeppelin-contracts-upgradeable.git/CONTRIBUTING.md +64 -0
- package/lib/openzeppelin-contracts-upgradeable.git/DOCUMENTATION.md +16 -0
- package/lib/openzeppelin-contracts-upgradeable.git/GUIDELINES.md +105 -0
- package/lib/openzeppelin-contracts-upgradeable.git/LICENSE +22 -0
- package/lib/openzeppelin-contracts-upgradeable.git/README.md +104 -0
- package/lib/openzeppelin-contracts-upgradeable.git/RELEASING.md +36 -0
- package/lib/openzeppelin-contracts-upgradeable.git/SECURITY.md +20 -0
- package/lib/openzeppelin-contracts-upgradeable.git/UPGRADEABLE.md +47 -0
- package/lib/openzeppelin-contracts-upgradeable.git/audit/2017-03.md +292 -0
- package/lib/openzeppelin-contracts-upgradeable.git/audit/2018-10.pdf +0 -0
- package/lib/openzeppelin-contracts-upgradeable.git/certora/Makefile +24 -0
- package/lib/openzeppelin-contracts-upgradeable.git/certora/README.md +56 -0
- package/lib/openzeppelin-contracts-upgradeable.git/certora/applyHarness.patch +101 -0
- package/lib/openzeppelin-contracts-upgradeable.git/certora/harnesses/ERC20VotesHarness.sol +28 -0
- package/lib/openzeppelin-contracts-upgradeable.git/certora/harnesses/WizardControlFirstPriority.sol +150 -0
- package/lib/openzeppelin-contracts-upgradeable.git/certora/harnesses/WizardFirstTry.sol +141 -0
- package/lib/openzeppelin-contracts-upgradeable.git/certora/munged/.gitignore +2 -0
- package/lib/openzeppelin-contracts-upgradeable.git/certora/scripts/Governor.sh +10 -0
- package/lib/openzeppelin-contracts-upgradeable.git/certora/scripts/GovernorCountingSimple-counting.sh +10 -0
- package/lib/openzeppelin-contracts-upgradeable.git/certora/scripts/WizardControlFirstPriority.sh +12 -0
- package/lib/openzeppelin-contracts-upgradeable.git/certora/scripts/WizardFirstTry.sh +10 -0
- package/lib/openzeppelin-contracts-upgradeable.git/certora/scripts/sanity.sh +14 -0
- package/lib/openzeppelin-contracts-upgradeable.git/certora/scripts/verifyAll.sh +39 -0
- package/lib/openzeppelin-contracts-upgradeable.git/certora/specs/GovernorBase.spec +333 -0
- package/lib/openzeppelin-contracts-upgradeable.git/certora/specs/GovernorCountingSimple.spec +221 -0
- package/lib/openzeppelin-contracts-upgradeable.git/certora/specs/RulesInProgress.spec +139 -0
- package/lib/openzeppelin-contracts-upgradeable.git/certora/specs/sanity.spec +14 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/access/AccessControlCrossChainUpgradeable.sol +58 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/access/AccessControlEnumerableUpgradeable.sol +77 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/access/AccessControlUpgradeable.sol +260 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/access/IAccessControlEnumerableUpgradeable.sol +31 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/access/IAccessControlUpgradeable.sol +88 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/access/Ownable2StepUpgradeable.sol +71 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/access/OwnableUpgradeable.sol +95 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/access/README.adoc +25 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/crosschain/CrossChainEnabledUpgradeable.sol +67 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/crosschain/README.adoc +34 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/crosschain/amb/CrossChainEnabledAMBUpgradeable.sol +57 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/crosschain/amb/LibAMBUpgradeable.sol +35 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1Upgradeable.sol +52 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2Upgradeable.sol +53 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/crosschain/arbitrum/LibArbitrumL1Upgradeable.sol +42 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/crosschain/arbitrum/LibArbitrumL2Upgradeable.sol +45 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/crosschain/errorsUpgradeable.sol +7 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/crosschain/optimism/CrossChainEnabledOptimismUpgradeable.sol +49 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/crosschain/optimism/LibOptimismUpgradeable.sol +36 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/crosschain/polygon/CrossChainEnabledPolygonChildUpgradeable.sol +90 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/finance/PaymentSplitterUpgradeable.sol +226 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/finance/README.adoc +20 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/finance/VestingWalletUpgradeable.sol +167 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/GovernorUpgradeable.sol +610 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/IGovernorUpgradeable.sol +289 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/README.adoc +176 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/TimelockControllerUpgradeable.sol +443 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/TimelockControllerWith46MigrationUpgradeable.sol +56 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/compatibility/GovernorCompatibilityBravoUpgradeable.sol +298 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/compatibility/IGovernorCompatibilityBravoUpgradeable.sol +127 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/extensions/GovernorCountingSimpleUpgradeable.sol +120 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/extensions/GovernorPreventLateQuorumUpgradeable.sol +120 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/extensions/GovernorProposalThresholdUpgradeable.sol +36 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/extensions/GovernorSettingsUpgradeable.sol +130 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/extensions/GovernorTimelockCompoundUpgradeable.sol +205 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/extensions/GovernorTimelockControlUpgradeable.sol +178 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/extensions/GovernorVotesCompUpgradeable.sol +45 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/extensions/GovernorVotesQuorumFractionUpgradeable.sol +131 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/extensions/GovernorVotesUpgradeable.sol +45 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/extensions/IGovernorTimelockUpgradeable.sol +39 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/utils/IVotesUpgradeable.sol +61 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/governance/utils/VotesUpgradeable.sol +224 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC1155MetadataURIUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC1155ReceiverUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC1155Upgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC1271Upgradeable.sol +19 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC1363ReceiverUpgradeable.sol +32 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC1363SpenderUpgradeable.sol +30 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC1363Upgradeable.sol +95 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC165Upgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC1820ImplementerUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC1820RegistryUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC20MetadataUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC20Upgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC2309Upgradeable.sol +21 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC2981Upgradeable.sol +25 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC3156FlashBorrowerUpgradeable.sol +29 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC3156FlashLenderUpgradeable.sol +43 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC3156Upgradeable.sol +7 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC4626Upgradeable.sol +240 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC721EnumerableUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC721MetadataUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC721ReceiverUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC721Upgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC777RecipientUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC777SenderUpgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/IERC777Upgradeable.sol +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/README.adoc +56 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/draft-IERC1822Upgradeable.sol +20 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/interfaces/draft-IERC2612Upgradeable.sol +8 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/metatx/ERC2771ContextUpgradeable.sol +51 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/metatx/MinimalForwarderUpgradeable.sol +85 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/metatx/README.adoc +12 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/AccessControlCrossChainMockUpgradeable.sol +34 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/AccessControlEnumerableMockUpgradeable.sol +29 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/AccessControlMockUpgradeable.sol +29 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/AddressImplUpgradeable.sol +54 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ArraysMockUpgradeable.sol +85 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/BadBeaconUpgradeable.sol +36 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/Base64MockUpgradeable.sol +24 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/BitmapMockUpgradeable.sol +40 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/CallReceiverMockUpgradeable.sol +70 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/CheckpointsMockUpgradeable.sol +157 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ClashingImplementationUpgradeable.sol +31 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ClonesMockUpgradeable.sol +49 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ConditionalEscrowMockUpgradeable.sol +32 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ContextMockUpgradeable.sol +58 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/CountersImplUpgradeable.sol +40 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/Create2ImplUpgradeable.sol +47 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/DoubleEndedQueueMockUpgradeable.sol +71 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/DummyImplementationUpgradeable.sol +98 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ECDSAMockUpgradeable.sol +54 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/EIP712ExternalUpgradeable.sol +43 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC1155BurnableMockUpgradeable.sol +30 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC1155MockUpgradeable.sol +63 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC1155PausableMockUpgradeable.sol +43 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC1155ReceiverMockUpgradeable.sol +69 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC1155SupplyMockUpgradeable.sol +34 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC1155URIStorageMockUpgradeable.sol +36 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC1271WalletMockUpgradeable.sol +51 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC165/ERC165InterfacesSupportedUpgradeable.sol +82 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC165/ERC165MaliciousDataUpgradeable.sol +25 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC165/ERC165MissingDataUpgradeable.sol +20 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC165/ERC165NotSupportedUpgradeable.sol +18 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC165/ERC165ReturnBombUpgradeable.sol +31 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC165CheckerMockUpgradeable.sol +42 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC165MockUpgradeable.sol +20 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC165StorageMockUpgradeable.sol +24 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC1820ImplementerMockUpgradeable.sol +24 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC20BurnableMockUpgradeable.sol +34 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC20CappedMockUpgradeable.sol +34 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC20DecimalsMockUpgradeable.sol +46 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC20FlashMintMockUpgradeable.sol +61 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC20MockUpgradeable.sol +59 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC20PausableMockUpgradeable.sol +52 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC20PermitMockUpgradeable.sol +40 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC20SnapshotMockUpgradeable.sol +46 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC20VotesCompMockUpgradeable.sol +35 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC20VotesMockUpgradeable.sol +35 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC20WrapperMockUpgradeable.sol +34 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC2771ContextMockUpgradeable.sol +30 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC3156FlashBorrowerMockUpgradeable.sol +65 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC4626MockUpgradeable.sol +96 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC721BurnableMockUpgradeable.sol +41 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC721ConsecutiveEnumerableMockUpgradeable.sol +73 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC721ConsecutiveMockUpgradeable.sol +119 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC721EnumerableMockUpgradeable.sol +63 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC721MockUpgradeable.sol +53 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC721PausableMockUpgradeable.sol +58 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC721ReceiverMockUpgradeable.sol +54 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC721RoyaltyMockUpgradeable.sol +45 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC721URIStorageMockUpgradeable.sol +67 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC721VotesMockUpgradeable.sol +38 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC777MockUpgradeable.sol +75 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ERC777SenderRecipientMockUpgradeable.sol +176 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/EnumerableMapMockUpgradeable.sol +282 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/EnumerableSetMockUpgradeable.sol +148 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/EtherReceiverMockUpgradeable.sol +30 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/GovernorCompMockUpgradeable.sol +45 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/GovernorCompatibilityBravoMockUpgradeable.sol +145 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/GovernorMockUpgradeable.sol +67 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/GovernorPreventLateQuorumMockUpgradeable.sol +79 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/GovernorTimelockCompoundMockUpgradeable.sol +114 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/GovernorTimelockControlMockUpgradeable.sol +111 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/GovernorVoteMockUpgradeable.sol +45 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/GovernorWithParamsMockUpgradeable.sol +75 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/InitializableMock.sol +130 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/MathMockUpgradeable.sol +61 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/MerkleProofWrapperUpgradeable.sol +78 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/MulticallTestUpgradeable.sol +36 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/MulticallTokenMockUpgradeable.sol +23 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/MultipleInheritanceInitializableMocks.sol +136 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/Ownable2StepMockUpgradeable.sol +21 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/OwnableMockUpgradeable.sol +21 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/PausableMockUpgradeable.sol +44 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/PullPaymentMockUpgradeable.sol +27 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ReentrancyAttackUpgradeable.sol +25 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/ReentrancyMockUpgradeable.sol +56 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/RegressionImplementation.sol +61 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/SafeCastMockUpgradeable.sol +280 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/SafeERC20HelperUpgradeable.sol +257 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/SafeMathMockUpgradeable.sol +151 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/SignatureCheckerMockUpgradeable.sol +30 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/SignedMathMockUpgradeable.sol +36 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/SignedSafeMathMockUpgradeable.sol +36 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/SingleInheritanceInitializableMocks.sol +49 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/StorageSlotMockUpgradeable.sol +54 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/StringsMockUpgradeable.sol +36 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/TimersBlockNumberImplUpgradeable.sol +52 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/TimersTimestampImplUpgradeable.sol +52 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/UUPS/UUPSLegacyUpgradeable.sol +81 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/UUPS/UUPSUpgradeableMockUpgradeable.sol +46 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/VotesMockUpgradeable.sol +52 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/WithInit.sol +1373 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/compound/CompTimelockUpgradeable.sol +186 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/crosschain/bridgesUpgradeable.sol +199 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/crosschain/receiversUpgradeable.sol +107 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/wizard/MyGovernor1Upgradeable.sol +98 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/wizard/MyGovernor2Upgradeable.sol +104 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/mocks/wizard/MyGovernor3Upgradeable.sol +107 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/package.json +32 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/proxy/ClonesUpgradeable.sol +89 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol +212 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/proxy/README.adoc +85 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/proxy/beacon/IBeaconUpgradeable.sol +16 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/proxy/utils/Initializable.sol +165 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/proxy/utils/UUPSUpgradeable.sol +108 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/security/PausableUpgradeable.sol +117 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/security/PullPaymentUpgradeable.sol +89 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/security/README.adoc +20 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/security/ReentrancyGuardUpgradeable.sol +81 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC1155/ERC1155Upgradeable.sol +529 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC1155/IERC1155ReceiverUpgradeable.sol +58 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC1155/IERC1155Upgradeable.sol +125 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC1155/README.adoc +49 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol +53 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol +58 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol +77 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC1155/extensions/ERC1155URIStorageUpgradeable.sol +78 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol +22 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC1155/presets/ERC1155PresetMinterPauserUpgradeable.sol +145 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC1155/presets/README.md +1 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC1155/utils/ERC1155HolderUpgradeable.sol +49 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC1155/utils/ERC1155ReceiverUpgradeable.sol +32 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/ERC20Upgradeable.sol +401 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/IERC20Upgradeable.sol +82 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/README.adoc +86 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/extensions/ERC20BurnableUpgradeable.sol +52 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/extensions/ERC20CappedUpgradeable.sol +51 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/extensions/ERC20FlashMintUpgradeable.sol +122 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/extensions/ERC20PausableUpgradeable.sol +53 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol +208 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/extensions/ERC20VotesCompUpgradeable.sol +59 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/extensions/ERC20VotesUpgradeable.sol +288 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/extensions/ERC20WrapperUpgradeable.sol +77 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol +296 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol +28 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol +109 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol +60 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/presets/ERC20PresetFixedSupplyUpgradeable.sol +61 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/presets/ERC20PresetMinterPauserUpgradeable.sol +111 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/presets/README.md +1 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol +116 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC20/utils/TokenTimelockUpgradeable.sol +94 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC721/ERC721Upgradeable.sol +518 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC721/IERC721ReceiverUpgradeable.sol +27 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC721/IERC721Upgradeable.sol +145 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC721/README.adoc +70 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC721/extensions/ERC721BurnableUpgradeable.sol +39 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC721/extensions/ERC721ConsecutiveUpgradeable.sol +161 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol +172 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC721/extensions/ERC721PausableUpgradeable.sol +54 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC721/extensions/ERC721RoyaltyUpgradeable.sol +51 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol +75 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC721/extensions/ERC721VotesUpgradeable.sol +54 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol +29 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable.sol +27 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC721/extensions/draft-ERC721VotesUpgradeable.sol +9 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoIdUpgradeable.sol +165 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC721/presets/README.md +1 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC721/utils/ERC721HolderUpgradeable.sol +41 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC777/ERC777Upgradeable.sol +563 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC777/IERC777RecipientUpgradeable.sol +35 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC777/IERC777SenderUpgradeable.sol +35 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC777/IERC777Upgradeable.sol +209 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC777/README.adoc +30 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/ERC777/presets/ERC777PresetFixedSupplyUpgradeable.sol +58 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/common/ERC2981Upgradeable.sol +124 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/token/common/README.adoc +10 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/AddressUpgradeable.sol +219 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/ArraysUpgradeable.sol +96 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/Base64Upgradeable.sol +92 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/CheckpointsUpgradeable.sol +554 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/ContextUpgradeable.sol +37 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/CountersUpgradeable.sol +43 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/Create2Upgradeable.sol +83 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/MulticallUpgradeable.sol +51 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/README.adoc +111 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/StorageSlotUpgradeable.sol +88 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/StringsUpgradeable.sol +70 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/TimersUpgradeable.sol +73 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/cryptography/ECDSAUpgradeable.sol +213 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/cryptography/EIP712Upgradeable.sol +121 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/cryptography/MerkleProofUpgradeable.sol +223 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/cryptography/SignatureCheckerUpgradeable.sol +42 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/cryptography/draft-EIP712Upgradeable.sol +8 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/escrow/ConditionalEscrowUpgradeable.sol +39 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/escrow/EscrowUpgradeable.sol +84 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/escrow/RefundEscrowUpgradeable.sol +113 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/introspection/ERC165CheckerUpgradeable.sol +127 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/introspection/ERC165StorageUpgradeable.sol +55 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/introspection/ERC165Upgradeable.sol +42 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/introspection/ERC1820ImplementerUpgradeable.sol +57 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/introspection/IERC165Upgradeable.sol +25 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/introspection/IERC1820ImplementerUpgradeable.sol +20 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/introspection/IERC1820RegistryUpgradeable.sol +116 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/math/MathUpgradeable.sol +345 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/math/SafeCastUpgradeable.sol +1136 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/math/SafeMathUpgradeable.sol +227 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/math/SignedMathUpgradeable.sol +43 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/math/SignedSafeMathUpgradeable.sol +68 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/structs/BitMapsUpgradeable.sol +55 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/structs/DoubleEndedQueueUpgradeable.sol +170 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/structs/EnumerableMapUpgradeable.sol +530 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/utils/structs/EnumerableSetUpgradeable.sol +378 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/vendor/amb/IAMBUpgradeable.sol +49 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/vendor/arbitrum/IArbSysUpgradeable.sol +141 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/vendor/arbitrum/IBridgeUpgradeable.sol +109 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/vendor/arbitrum/IDelayedMessageProviderUpgradeable.sol +16 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/vendor/arbitrum/IInboxUpgradeable.sol +152 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/vendor/arbitrum/IOutboxUpgradeable.sol +121 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/vendor/compound/ICompoundTimelockUpgradeable.sol +86 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/vendor/compound/LICENSE +11 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/vendor/optimism/ICrossDomainMessengerUpgradeable.sol +38 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/vendor/optimism/LICENSE +22 -0
- package/lib/openzeppelin-contracts-upgradeable.git/contracts/vendor/polygon/IFxMessageProcessorUpgradeable.sol +11 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/antora.yml +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/config.js +21 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/images/tally-exec.png +0 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/images/tally-vote.png +0 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/nav.adoc +23 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/access-control.adoc +217 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/crosschain.adoc +210 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/crowdsales.adoc +11 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/drafts.adoc +19 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/erc1155.adoc +153 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/erc20-supply.adoc +113 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/erc20.adoc +85 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/erc721.adoc +90 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/erc777.adoc +73 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/extending-contracts.adoc +129 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/governance.adoc +321 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/index.adoc +63 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/releases-stability.adoc +85 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/tokens.adoc +32 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/upgradeable.adoc +73 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/utilities.adoc +190 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/modules/ROOT/pages/wizard.adoc +15 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/templates/contract.hbs +85 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/templates/helpers.js +46 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/templates/page.hbs +4 -0
- package/lib/openzeppelin-contracts-upgradeable.git/docs/templates/properties.js +49 -0
- package/lib/openzeppelin-contracts-upgradeable.git/hardhat/env-artifacts.js +20 -0
- package/lib/openzeppelin-contracts-upgradeable.git/hardhat/env-contract.js +10 -0
- package/lib/openzeppelin-contracts-upgradeable.git/hardhat/ignore-unreachable-warnings.js +47 -0
- package/lib/openzeppelin-contracts-upgradeable.git/hardhat/skip-foundry-tests.js +7 -0
- package/lib/openzeppelin-contracts-upgradeable.git/hardhat/task-get-compiler-input.js +10 -0
- package/lib/openzeppelin-contracts-upgradeable.git/hardhat/task-test-get-files.js +19 -0
- package/lib/openzeppelin-contracts-upgradeable.git/hardhat.config.js +106 -0
- package/lib/openzeppelin-contracts-upgradeable.git/icon.svg +13 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/.github/workflows/ci.yml +92 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/.gitmodules +3 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/LICENSE-APACHE +203 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/LICENSE-MIT +25 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/README.md +250 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/foundry.toml +21 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/lib/ds-test/LICENSE +674 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/lib/ds-test/Makefile +14 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/lib/ds-test/default.nix +4 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/lib/ds-test/demo/demo.sol +222 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/lib/ds-test/package.json +15 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/lib/ds-test/src/test.sol +469 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/package.json +16 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/Base.sol +31 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/Script.sol +26 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/StdAssertions.sol +209 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/StdChains.sol +189 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/StdCheats.sol +565 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/StdError.sol +15 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/StdJson.sol +179 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/StdMath.sol +43 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/StdStorage.sol +327 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/StdUtils.sol +123 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/Test.sol +28 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/Vm.sol +385 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/console.sol +1533 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/console2.sol +1546 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/interfaces/IERC165.sol +12 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/interfaces/IERC20.sol +43 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/src/interfaces/IERC721.sol +164 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/test/StdAssertions.t.sol +587 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/test/StdChains.t.sol +123 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/test/StdCheats.t.sol +305 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/test/StdError.t.sol +118 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/test/StdMath.t.sol +197 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/test/StdStorage.t.sol +283 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/test/StdUtils.t.sol +191 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/test/compilation/CompilationScript.sol +10 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/test/compilation/CompilationScriptBase.sol +10 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/test/compilation/CompilationTest.sol +10 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/test/compilation/CompilationTestBase.sol +10 -0
- package/lib/openzeppelin-contracts-upgradeable.git/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
- package/lib/openzeppelin-contracts-upgradeable.git/logo.svg +15 -0
- package/lib/openzeppelin-contracts-upgradeable.git/netlify.toml +3 -0
- package/lib/openzeppelin-contracts-upgradeable.git/package.json +93 -0
- package/lib/openzeppelin-contracts-upgradeable.git/renovate.json +11 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/checks/compareGasReports.js +211 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/checks/generation.sh +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/checks/inheritance-ordering.js +50 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/gen-nav.js +41 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/generate/format-lines.js +16 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/generate/run.js +46 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/generate/templates/Checkpoints.js +303 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/generate/templates/CheckpointsMock.js +80 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/generate/templates/EnumerableMap.js +278 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/generate/templates/EnumerableMapMock.js +66 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/generate/templates/EnumerableSet.js +253 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/generate/templates/EnumerableSetMock.js +56 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/generate/templates/SafeCast.js +168 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/generate/templates/SafeCastMock.js +50 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/generate/templates/conversion.js +30 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/git-user-config.sh +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/helpers.js +23 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/migrate-imports.js +177 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/prepack.sh +12 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/prepare-contracts-package.sh +15 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/prepare-docs.sh +15 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/prepare.sh +10 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/release/release.sh +145 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/release/synchronize-versions.js +16 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/release/update-changelog-release-date.js +34 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/release/update-comment.js +36 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/release/version.sh +9 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/remove-ignored-artifacts.js +45 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/update-docs-branch.js +55 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/upgradeable/git-user-config.sh +6 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/upgradeable/merge-upstream.sh +33 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/upgradeable/patch/.gitkeep +0 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/upgradeable/transpile-onto.sh +38 -0
- package/lib/openzeppelin-contracts-upgradeable.git/scripts/upgradeable/transpile.sh +34 -0
- package/lib/openzeppelin-contracts-upgradeable.git/slither.config.json +5 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/TESTING.md +3 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/access/AccessControl.behavior.js +216 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/access/AccessControl.test.js +13 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/access/AccessControlCrossChain.test.js +59 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/access/AccessControlEnumerable.test.js +15 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/access/Ownable.test.js +57 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/access/Ownable2Step.test.js +57 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/crosschain/CrossChainEnabled.test.js +88 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/finance/PaymentSplitter.test.js +217 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/finance/VestingWallet.behavior.js +74 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/finance/VestingWallet.test.js +67 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/governance/Governor.test.js +632 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/governance/TimelockController.test.js +1134 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/governance/compatibility/GovernorCompatibilityBravo.test.js +265 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/governance/extensions/GovernorComp.test.js +78 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/governance/extensions/GovernorERC721.test.js +104 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/governance/extensions/GovernorPreventLateQuorum.test.js +177 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/governance/extensions/GovernorTimelockCompound.test.js +368 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/governance/extensions/GovernorTimelockControl.test.js +420 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/governance/extensions/GovernorVotesQuorumFraction.test.js +137 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/governance/extensions/GovernorWithParams.test.js +166 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/governance/utils/Votes.behavior.js +344 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/governance/utils/Votes.test.js +61 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/helpers/create2.js +12 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/helpers/crosschain.js +63 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/helpers/customError.js +24 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/helpers/eip712.js +30 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/helpers/enums.js +29 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/helpers/erc1967.js +24 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/helpers/governance.js +211 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/helpers/sign.js +47 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/helpers/txpool.js +40 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/metatx/ERC2771Context.test.js +109 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/metatx/MinimalForwarder.test.js +184 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/migrate-imports.test.js +29 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/proxy/Clones.behaviour.js +150 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/proxy/Clones.test.js +69 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/proxy/ERC1967/ERC1967Proxy.test.js +13 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/proxy/Proxy.behaviour.js +224 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/proxy/beacon/BeaconProxy.test.js +156 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/proxy/beacon/UpgradeableBeacon.test.js +50 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/proxy/transparent/ProxyAdmin.test.js +125 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +431 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/proxy/transparent/TransparentUpgradeableProxy.test.js +15 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/proxy/utils/Initializable.test.js +218 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/proxy/utils/UUPSUpgradeable.test.js +85 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/security/Pausable.test.js +89 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/security/PullPayment.test.js +51 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/security/ReentrancyGuard.test.js +40 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC1155/ERC1155.behavior.js +774 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC1155/ERC1155.test.js +264 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC1155/extensions/ERC1155Burnable.test.js +67 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC1155/extensions/ERC1155Pausable.test.js +108 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC1155/extensions/ERC1155Supply.test.js +111 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +66 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +146 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC1155/utils/ERC1155Holder.test.js +62 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/ERC20.behavior.js +333 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/ERC20.test.js +309 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/extensions/ERC20Burnable.behavior.js +109 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/extensions/ERC20Burnable.test.js +19 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/extensions/ERC20Capped.behavior.js +32 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/extensions/ERC20Capped.test.js +27 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/extensions/ERC20FlashMint.test.js +144 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/extensions/ERC20Pausable.test.js +134 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/extensions/ERC20Snapshot.test.js +204 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/extensions/ERC20Votes.test.js +518 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/extensions/ERC20VotesComp.test.js +496 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/extensions/ERC20Wrapper.test.js +190 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/extensions/ERC4626.test.js +622 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/extensions/draft-ERC20Permit.test.js +109 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +42 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +113 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/utils/SafeERC20.test.js +255 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC20/utils/TokenTimelock.test.js +71 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC721/ERC721.behavior.js +937 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC721/ERC721.test.js +18 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC721/ERC721Enumerable.test.js +20 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC721/extensions/ERC721Burnable.test.js +78 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC721/extensions/ERC721Consecutive.t.sol +120 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC721/extensions/ERC721Consecutive.test.js +212 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC721/extensions/ERC721Pausable.test.js +98 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC721/extensions/ERC721Royalty.test.js +40 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC721/extensions/ERC721URIStorage.test.js +96 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC721/extensions/ERC721Votes.test.js +174 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +125 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC721/utils/ERC721Holder.test.js +24 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC777/ERC777.behavior.js +555 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC777/ERC777.test.js +610 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +49 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/token/common/ERC2981.behavior.js +160 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/Address.test.js +382 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/Arrays.test.js +105 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/Base64.test.js +33 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/Checkpoints.test.js +189 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/Context.behavior.js +42 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/Context.test.js +17 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/Counters.test.js +84 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/Create2.test.js +92 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/Multicall.test.js +57 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/StorageSlot.test.js +110 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/Strings.test.js +86 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/TimersBlockNumberImpl.test.js +55 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/TimersTimestamp.test.js +55 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/cryptography/ECDSA.test.js +204 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/cryptography/EIP712.test.js +57 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/cryptography/MerkleProof.test.js +179 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/cryptography/SignatureChecker.test.js +81 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/escrow/ConditionalEscrow.test.js +36 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/escrow/Escrow.behavior.js +94 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/escrow/Escrow.test.js +14 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/escrow/RefundEscrow.test.js +148 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/introspection/ERC165.test.js +13 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/introspection/ERC165Checker.test.js +303 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/introspection/ERC165Storage.test.js +25 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/introspection/ERC1820Implementer.test.js +66 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/introspection/SupportsInterface.behavior.js +147 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/math/Math.t.sol +118 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/math/Math.test.js +312 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/math/SafeCast.test.js +164 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/math/SafeMath.test.js +403 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/math/SignedMath.test.js +93 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/math/SignedSafeMath.test.js +152 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/structs/BitMap.test.js +145 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/structs/DoubleEndedQueue.test.js +96 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/structs/EnumerableMap.behavior.js +181 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/structs/EnumerableMap.test.js +86 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/structs/EnumerableSet.behavior.js +131 -0
- package/lib/openzeppelin-contracts-upgradeable.git/test/utils/structs/EnumerableSet.test.js +46 -0
- package/lib/openzeppelin-contracts.git/.changeset/new-ways-own.md +5 -0
- package/lib/openzeppelin-contracts.git/.codecov.yml +12 -0
- package/lib/openzeppelin-contracts.git/.editorconfig +21 -0
- package/lib/openzeppelin-contracts.git/.eslintrc +62 -0
- package/lib/openzeppelin-contracts.git/.gitattributes +1 -0
- package/lib/openzeppelin-contracts.git/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
- package/lib/openzeppelin-contracts.git/.github/ISSUE_TEMPLATE/config.yml +4 -0
- package/lib/openzeppelin-contracts.git/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
- package/lib/openzeppelin-contracts.git/.github/PULL_REQUEST_TEMPLATE.md +20 -0
- package/lib/openzeppelin-contracts.git/.github/actions/gas-compare/action.yml +49 -0
- package/lib/openzeppelin-contracts.git/.github/actions/setup/action.yml +20 -0
- package/lib/openzeppelin-contracts.git/.github/workflows/changelog.yml +28 -0
- package/lib/openzeppelin-contracts.git/.github/workflows/checks.yml +90 -0
- package/lib/openzeppelin-contracts.git/.github/workflows/docs.yml +19 -0
- package/lib/openzeppelin-contracts.git/.github/workflows/upgradeable.yml +23 -0
- package/lib/openzeppelin-contracts.git/.gitmodules +3 -0
- package/lib/openzeppelin-contracts.git/.mocharc.js +4 -0
- package/lib/openzeppelin-contracts.git/.prettierrc +14 -0
- package/lib/openzeppelin-contracts.git/.solcover.js +15 -0
- package/lib/openzeppelin-contracts.git/.solhint.json +14 -0
- package/lib/openzeppelin-contracts.git/CHANGELOG.md +627 -0
- package/lib/openzeppelin-contracts.git/CODE_OF_CONDUCT.md +73 -0
- package/lib/openzeppelin-contracts.git/CONTRIBUTING.md +64 -0
- package/lib/openzeppelin-contracts.git/DOCUMENTATION.md +16 -0
- package/lib/openzeppelin-contracts.git/GUIDELINES.md +105 -0
- package/lib/openzeppelin-contracts.git/LICENSE +22 -0
- package/lib/openzeppelin-contracts.git/README.md +84 -0
- package/lib/openzeppelin-contracts.git/RELEASING.md +36 -0
- package/lib/openzeppelin-contracts.git/SECURITY.md +20 -0
- package/lib/openzeppelin-contracts.git/audit/2017-03.md +292 -0
- package/lib/openzeppelin-contracts.git/audit/2018-10.pdf +0 -0
- package/lib/openzeppelin-contracts.git/certora/Makefile +24 -0
- package/lib/openzeppelin-contracts.git/certora/README.md +56 -0
- package/lib/openzeppelin-contracts.git/certora/applyHarness.patch +101 -0
- package/lib/openzeppelin-contracts.git/certora/harnesses/ERC20VotesHarness.sol +28 -0
- package/lib/openzeppelin-contracts.git/certora/harnesses/WizardControlFirstPriority.sol +150 -0
- package/lib/openzeppelin-contracts.git/certora/harnesses/WizardFirstTry.sol +141 -0
- package/lib/openzeppelin-contracts.git/certora/munged/.gitignore +2 -0
- package/lib/openzeppelin-contracts.git/certora/scripts/Governor.sh +10 -0
- package/lib/openzeppelin-contracts.git/certora/scripts/GovernorCountingSimple-counting.sh +10 -0
- package/lib/openzeppelin-contracts.git/certora/scripts/WizardControlFirstPriority.sh +12 -0
- package/lib/openzeppelin-contracts.git/certora/scripts/WizardFirstTry.sh +10 -0
- package/lib/openzeppelin-contracts.git/certora/scripts/sanity.sh +14 -0
- package/lib/openzeppelin-contracts.git/certora/scripts/verifyAll.sh +39 -0
- package/lib/openzeppelin-contracts.git/certora/specs/GovernorBase.spec +333 -0
- package/lib/openzeppelin-contracts.git/certora/specs/GovernorCountingSimple.spec +221 -0
- package/lib/openzeppelin-contracts.git/certora/specs/RulesInProgress.spec +139 -0
- package/lib/openzeppelin-contracts.git/certora/specs/sanity.spec +14 -0
- package/lib/openzeppelin-contracts.git/contracts/access/AccessControl.sol +247 -0
- package/lib/openzeppelin-contracts.git/contracts/access/AccessControlCrossChain.sol +45 -0
- package/lib/openzeppelin-contracts.git/contracts/access/AccessControlEnumerable.sol +64 -0
- package/lib/openzeppelin-contracts.git/contracts/access/IAccessControl.sol +88 -0
- package/lib/openzeppelin-contracts.git/contracts/access/IAccessControlEnumerable.sol +31 -0
- package/lib/openzeppelin-contracts.git/contracts/access/Ownable.sol +83 -0
- package/lib/openzeppelin-contracts.git/contracts/access/Ownable2Step.sol +57 -0
- package/lib/openzeppelin-contracts.git/contracts/access/README.adoc +25 -0
- package/lib/openzeppelin-contracts.git/contracts/crosschain/CrossChainEnabled.sol +54 -0
- package/lib/openzeppelin-contracts.git/contracts/crosschain/README.adoc +34 -0
- package/lib/openzeppelin-contracts.git/contracts/crosschain/amb/CrossChainEnabledAMB.sol +49 -0
- package/lib/openzeppelin-contracts.git/contracts/crosschain/amb/LibAMB.sol +35 -0
- package/lib/openzeppelin-contracts.git/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol +44 -0
- package/lib/openzeppelin-contracts.git/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol +40 -0
- package/lib/openzeppelin-contracts.git/contracts/crosschain/arbitrum/LibArbitrumL1.sol +42 -0
- package/lib/openzeppelin-contracts.git/contracts/crosschain/arbitrum/LibArbitrumL2.sol +45 -0
- package/lib/openzeppelin-contracts.git/contracts/crosschain/errors.sol +7 -0
- package/lib/openzeppelin-contracts.git/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol +41 -0
- package/lib/openzeppelin-contracts.git/contracts/crosschain/optimism/LibOptimism.sol +36 -0
- package/lib/openzeppelin-contracts.git/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol +72 -0
- package/lib/openzeppelin-contracts.git/contracts/finance/PaymentSplitter.sol +214 -0
- package/lib/openzeppelin-contracts.git/contracts/finance/README.adoc +20 -0
- package/lib/openzeppelin-contracts.git/contracts/finance/VestingWallet.sol +149 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/Governor.sol +597 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/IGovernor.sol +276 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/README.adoc +176 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/TimelockController.sol +426 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/compatibility/GovernorCompatibilityBravo.sol +285 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol +114 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/extensions/GovernorCountingSimple.sol +107 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/extensions/GovernorPreventLateQuorum.sol +108 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/extensions/GovernorProposalThreshold.sol +23 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/extensions/GovernorSettings.sol +114 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/extensions/GovernorTimelockCompound.sol +193 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/extensions/GovernorTimelockControl.sol +166 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/extensions/GovernorVotes.sol +31 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/extensions/GovernorVotesComp.sol +31 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +119 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/extensions/IGovernorTimelock.sol +26 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/utils/IVotes.sol +61 -0
- package/lib/openzeppelin-contracts.git/contracts/governance/utils/Votes.sol +211 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC1155.sol +6 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC1155MetadataURI.sol +6 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC1155Receiver.sol +6 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC1271.sol +19 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC1363.sol +95 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC1363Receiver.sol +32 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC1363Spender.sol +30 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC165.sol +6 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC1820Implementer.sol +6 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC1820Registry.sol +6 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC20.sol +6 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC20Metadata.sol +6 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC2309.sol +21 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC2981.sol +25 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC3156.sol +7 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC3156FlashBorrower.sol +29 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC3156FlashLender.sol +43 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC4626.sol +240 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC721.sol +6 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC721Enumerable.sol +6 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC721Metadata.sol +6 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC721Receiver.sol +6 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC777.sol +6 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC777Recipient.sol +6 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/IERC777Sender.sol +6 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/README.adoc +56 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/draft-IERC1822.sol +20 -0
- package/lib/openzeppelin-contracts.git/contracts/interfaces/draft-IERC2612.sol +8 -0
- package/lib/openzeppelin-contracts.git/contracts/metatx/ERC2771Context.sol +43 -0
- package/lib/openzeppelin-contracts.git/contracts/metatx/MinimalForwarder.sol +73 -0
- package/lib/openzeppelin-contracts.git/contracts/metatx/README.adoc +12 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/AccessControlCrossChainMock.sol +22 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/AccessControlEnumerableMock.sol +17 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/AccessControlMock.sol +17 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/AddressImpl.sol +46 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ArraysMock.sol +51 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/BadBeacon.sol +11 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/Base64Mock.sol +11 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/BitmapMock.sol +27 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/CallReceiverMock.sol +57 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/CheckpointsMock.sol +120 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ClashingImplementation.sol +18 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ClonesMock.sol +36 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ConditionalEscrowMock.sol +18 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ContextMock.sol +33 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/CountersImpl.sol +27 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/Create2Impl.sol +34 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/DoubleEndedQueueMock.sol +58 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/DummyImplementation.sol +61 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ECDSAMock.sol +41 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/EIP712External.sol +31 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC1155BurnableMock.sol +18 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC1155Mock.sol +51 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC1155PausableMock.sol +29 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC1155ReceiverMock.sol +52 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC1155SupplyMock.sol +21 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC1155URIStorageMock.sol +22 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC1271WalletMock.sol +26 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC165/ERC165InterfacesSupported.sol +58 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC165/ERC165MaliciousData.sol +12 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC165/ERC165MissingData.sol +7 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC165/ERC165NotSupported.sol +5 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC165/ERC165ReturnBomb.sol +18 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC165CheckerMock.sol +29 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC165Mock.sol +7 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC165StorageMock.sol +11 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC1820ImplementerMock.sol +11 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC20BurnableMock.sol +16 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC20CappedMock.sol +17 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC20DecimalsMock.sol +29 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC20FlashMintMock.sol +43 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC20Mock.sol +41 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC20PausableMock.sol +33 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC20PermitMock.sol +20 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC20SnapshotMock.sol +28 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC20VotesCompMock.sol +21 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC20VotesMock.sol +21 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC20WrapperMock.sol +17 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC2771ContextMock.sol +22 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC3156FlashBorrowerMock.sol +53 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC4626Mock.sol +60 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC721BurnableMock.sol +29 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC721ConsecutiveEnumerableMock.sol +55 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC721ConsecutiveMock.sol +86 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC721EnumerableMock.sol +51 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC721Mock.sol +41 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC721PausableMock.sol +45 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC721ReceiverMock.sol +42 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC721RoyaltyMock.sol +33 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC721URIStorageMock.sol +55 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC721VotesMock.sol +25 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC777Mock.sol +56 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ERC777SenderRecipientMock.sol +161 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/EnumerableMapMock.sol +221 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/EnumerableSetMock.sol +111 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/EtherReceiverMock.sol +17 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/GovernorCompMock.sol +31 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/GovernorCompatibilityBravoMock.sol +127 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/GovernorMock.sol +50 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/GovernorPreventLateQuorumMock.sol +60 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/GovernorTimelockCompoundMock.sol +96 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/GovernorTimelockControlMock.sol +93 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/GovernorVoteMock.sol +31 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/GovernorWithParamsMock.sol +61 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/InitializableMock.sol +130 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/MathMock.sol +48 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/MerkleProofWrapper.sol +65 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/MulticallTest.sol +23 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/MulticallTokenMock.sol +10 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/MultipleInheritanceInitializableMocks.sol +136 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/Ownable2StepMock.sol +7 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/OwnableMock.sol +7 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/PausableMock.sol +31 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/PullPaymentMock.sol +15 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ReentrancyAttack.sol +12 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/ReentrancyMock.sol +43 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/RegressionImplementation.sol +61 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/SafeCastMock.sol +267 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/SafeERC20Helper.sol +194 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/SafeMathMock.sol +138 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/SignatureCheckerMock.sol +17 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/SignedMathMock.sol +23 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/SignedSafeMathMock.sol +23 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/SingleInheritanceInitializableMocks.sol +49 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/StorageSlotMock.sol +41 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/StringsMock.sol +23 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/TimersBlockNumberImpl.sol +39 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/TimersTimestampImpl.sol +39 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/UUPS/UUPSLegacy.sol +58 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/UUPS/UUPSUpgradeableMock.sol +21 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/VotesMock.sol +40 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/compound/CompTimelock.sol +174 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/crosschain/bridges.sol +102 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/crosschain/receivers.sol +54 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/wizard/MyGovernor1.sol +87 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/wizard/MyGovernor2.sol +93 -0
- package/lib/openzeppelin-contracts.git/contracts/mocks/wizard/MyGovernor3.sol +96 -0
- package/lib/openzeppelin-contracts.git/contracts/package.json +32 -0
- package/lib/openzeppelin-contracts.git/contracts/proxy/Clones.sol +89 -0
- package/lib/openzeppelin-contracts.git/contracts/proxy/ERC1967/ERC1967Proxy.sol +32 -0
- package/lib/openzeppelin-contracts.git/contracts/proxy/ERC1967/ERC1967Upgrade.sol +185 -0
- package/lib/openzeppelin-contracts.git/contracts/proxy/Proxy.sol +86 -0
- package/lib/openzeppelin-contracts.git/contracts/proxy/README.adoc +85 -0
- package/lib/openzeppelin-contracts.git/contracts/proxy/beacon/BeaconProxy.sol +61 -0
- package/lib/openzeppelin-contracts.git/contracts/proxy/beacon/IBeacon.sol +16 -0
- package/lib/openzeppelin-contracts.git/contracts/proxy/beacon/UpgradeableBeacon.sol +65 -0
- package/lib/openzeppelin-contracts.git/contracts/proxy/transparent/ProxyAdmin.sol +81 -0
- package/lib/openzeppelin-contracts.git/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +124 -0
- package/lib/openzeppelin-contracts.git/contracts/proxy/utils/Initializable.sol +165 -0
- package/lib/openzeppelin-contracts.git/contracts/proxy/utils/UUPSUpgradeable.sol +95 -0
- package/lib/openzeppelin-contracts.git/contracts/security/Pausable.sol +105 -0
- package/lib/openzeppelin-contracts.git/contracts/security/PullPayment.sol +74 -0
- package/lib/openzeppelin-contracts.git/contracts/security/README.adoc +20 -0
- package/lib/openzeppelin-contracts.git/contracts/security/ReentrancyGuard.sol +69 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC1155/ERC1155.sol +517 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC1155/IERC1155.sol +125 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC1155/IERC1155Receiver.sol +58 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC1155/README.adoc +49 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +40 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +44 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC1155/extensions/ERC1155Supply.sol +64 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +63 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +22 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol +128 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC1155/presets/README.md +1 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC1155/utils/ERC1155Holder.sol +36 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC1155/utils/ERC1155Receiver.sol +19 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/ERC20.sol +389 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/IERC20.sol +82 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/README.adoc +86 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/extensions/ERC20Burnable.sol +39 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/extensions/ERC20Capped.sol +37 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/extensions/ERC20FlashMint.sol +109 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/extensions/ERC20Pausable.sol +39 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/extensions/ERC20Snapshot.sol +195 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/extensions/ERC20Votes.sol +275 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/extensions/ERC20VotesComp.sol +46 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/extensions/ERC20Wrapper.sol +63 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/extensions/ERC4626.sol +284 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/extensions/IERC20Metadata.sol +28 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/extensions/draft-ERC20Permit.sol +95 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/extensions/draft-IERC20Permit.sol +60 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol +35 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol +94 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/presets/README.md +1 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/utils/SafeERC20.sol +116 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC20/utils/TokenTimelock.sol +76 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC721/ERC721.sol +506 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC721/IERC721.sol +145 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC721/IERC721Receiver.sol +27 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC721/README.adoc +70 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC721/extensions/ERC721Burnable.sol +26 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC721/extensions/ERC721Consecutive.sol +148 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC721/extensions/ERC721Enumerable.sol +159 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC721/extensions/ERC721Pausable.sol +40 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC721/extensions/ERC721Royalty.sol +38 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC721/extensions/ERC721URIStorage.sol +62 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC721/extensions/ERC721Votes.sol +41 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC721/extensions/IERC721Enumerable.sol +29 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC721/extensions/IERC721Metadata.sol +27 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC721/extensions/draft-ERC721Votes.sol +9 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol +140 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC721/presets/README.md +1 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC721/utils/ERC721Holder.sol +28 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC777/ERC777.sol +547 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC777/IERC777.sol +209 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC777/IERC777Recipient.sol +35 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC777/IERC777Sender.sol +35 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC777/README.adoc +30 -0
- package/lib/openzeppelin-contracts.git/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol +30 -0
- package/lib/openzeppelin-contracts.git/contracts/token/common/ERC2981.sol +111 -0
- package/lib/openzeppelin-contracts.git/contracts/token/common/README.adoc +10 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/Address.sol +244 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/Arrays.sol +96 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/Base64.sol +92 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/Checkpoints.sol +554 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/Context.sol +24 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/Counters.sol +43 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/Create2.sol +83 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/Multicall.sol +24 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/README.adoc +111 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/StorageSlot.sol +88 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/Strings.sol +70 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/Timers.sol +73 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/cryptography/ECDSA.sol +213 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/cryptography/EIP712.sol +104 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/cryptography/MerkleProof.sol +223 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/cryptography/SignatureChecker.sol +42 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/cryptography/draft-EIP712.sol +8 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/escrow/ConditionalEscrow.sol +25 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/escrow/Escrow.sol +67 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/escrow/RefundEscrow.sol +100 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/introspection/ERC165.sol +29 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/introspection/ERC165Checker.sol +127 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/introspection/ERC165Storage.sol +42 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/introspection/ERC1820Implementer.sol +44 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/introspection/IERC165.sol +25 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/introspection/IERC1820Implementer.sol +20 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/introspection/IERC1820Registry.sol +116 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/math/Math.sol +345 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/math/SafeCast.sol +1136 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/math/SafeMath.sol +227 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/math/SignedMath.sol +43 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/math/SignedSafeMath.sol +68 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/structs/BitMaps.sol +55 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/structs/DoubleEndedQueue.sol +170 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/structs/EnumerableMap.sol +530 -0
- package/lib/openzeppelin-contracts.git/contracts/utils/structs/EnumerableSet.sol +378 -0
- package/lib/openzeppelin-contracts.git/contracts/vendor/amb/IAMB.sol +49 -0
- package/lib/openzeppelin-contracts.git/contracts/vendor/arbitrum/IArbSys.sol +141 -0
- package/lib/openzeppelin-contracts.git/contracts/vendor/arbitrum/IBridge.sol +109 -0
- package/lib/openzeppelin-contracts.git/contracts/vendor/arbitrum/IDelayedMessageProvider.sol +16 -0
- package/lib/openzeppelin-contracts.git/contracts/vendor/arbitrum/IInbox.sol +152 -0
- package/lib/openzeppelin-contracts.git/contracts/vendor/arbitrum/IOutbox.sol +121 -0
- package/lib/openzeppelin-contracts.git/contracts/vendor/compound/ICompoundTimelock.sol +86 -0
- package/lib/openzeppelin-contracts.git/contracts/vendor/compound/LICENSE +11 -0
- package/lib/openzeppelin-contracts.git/contracts/vendor/optimism/ICrossDomainMessenger.sol +38 -0
- package/lib/openzeppelin-contracts.git/contracts/vendor/optimism/LICENSE +22 -0
- package/lib/openzeppelin-contracts.git/contracts/vendor/polygon/IFxMessageProcessor.sol +11 -0
- package/lib/openzeppelin-contracts.git/docs/antora.yml +6 -0
- package/lib/openzeppelin-contracts.git/docs/config.js +21 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/images/tally-exec.png +0 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/images/tally-vote.png +0 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/nav.adoc +23 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/access-control.adoc +217 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/crosschain.adoc +210 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/crowdsales.adoc +11 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/drafts.adoc +19 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/erc1155.adoc +153 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/erc20-supply.adoc +113 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/erc20.adoc +85 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/erc721.adoc +90 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/erc777.adoc +73 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/extending-contracts.adoc +129 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/governance.adoc +321 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/index.adoc +63 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/releases-stability.adoc +85 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/tokens.adoc +32 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/upgradeable.adoc +73 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/utilities.adoc +190 -0
- package/lib/openzeppelin-contracts.git/docs/modules/ROOT/pages/wizard.adoc +15 -0
- package/lib/openzeppelin-contracts.git/docs/templates/contract.hbs +85 -0
- package/lib/openzeppelin-contracts.git/docs/templates/helpers.js +46 -0
- package/lib/openzeppelin-contracts.git/docs/templates/page.hbs +4 -0
- package/lib/openzeppelin-contracts.git/docs/templates/properties.js +49 -0
- package/lib/openzeppelin-contracts.git/hardhat/env-contract.js +10 -0
- package/lib/openzeppelin-contracts.git/hardhat/ignore-unreachable-warnings.js +47 -0
- package/lib/openzeppelin-contracts.git/hardhat/skip-foundry-tests.js +7 -0
- package/lib/openzeppelin-contracts.git/hardhat.config.js +106 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/.github/workflows/ci.yml +92 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/.gitmodules +3 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/LICENSE-APACHE +203 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/LICENSE-MIT +25 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/README.md +250 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/foundry.toml +21 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/lib/ds-test/LICENSE +674 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/lib/ds-test/Makefile +14 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/lib/ds-test/default.nix +4 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/lib/ds-test/demo/demo.sol +222 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/lib/ds-test/package.json +15 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/lib/ds-test/src/test.sol +469 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/package.json +16 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/Base.sol +31 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/Script.sol +26 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/StdAssertions.sol +209 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/StdChains.sol +189 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/StdCheats.sol +565 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/StdError.sol +15 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/StdJson.sol +179 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/StdMath.sol +43 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/StdStorage.sol +327 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/StdUtils.sol +123 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/Test.sol +28 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/Vm.sol +385 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/console.sol +1533 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/console2.sol +1546 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/interfaces/IERC165.sol +12 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/interfaces/IERC20.sol +43 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/src/interfaces/IERC721.sol +164 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/test/StdAssertions.t.sol +587 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/test/StdChains.t.sol +123 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/test/StdCheats.t.sol +305 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/test/StdError.t.sol +118 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/test/StdMath.t.sol +197 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/test/StdStorage.t.sol +283 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/test/StdUtils.t.sol +191 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/test/compilation/CompilationScript.sol +10 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/test/compilation/CompilationScriptBase.sol +10 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/test/compilation/CompilationTest.sol +10 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/test/compilation/CompilationTestBase.sol +10 -0
- package/lib/openzeppelin-contracts.git/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
- package/lib/openzeppelin-contracts.git/logo.svg +15 -0
- package/lib/openzeppelin-contracts.git/netlify.toml +3 -0
- package/lib/openzeppelin-contracts.git/package.json +92 -0
- package/lib/openzeppelin-contracts.git/renovate.json +11 -0
- package/lib/openzeppelin-contracts.git/scripts/checks/compareGasReports.js +211 -0
- package/lib/openzeppelin-contracts.git/scripts/checks/generation.sh +6 -0
- package/lib/openzeppelin-contracts.git/scripts/checks/inheritance-ordering.js +50 -0
- package/lib/openzeppelin-contracts.git/scripts/gen-nav.js +41 -0
- package/lib/openzeppelin-contracts.git/scripts/generate/format-lines.js +16 -0
- package/lib/openzeppelin-contracts.git/scripts/generate/run.js +46 -0
- package/lib/openzeppelin-contracts.git/scripts/generate/templates/Checkpoints.js +303 -0
- package/lib/openzeppelin-contracts.git/scripts/generate/templates/CheckpointsMock.js +80 -0
- package/lib/openzeppelin-contracts.git/scripts/generate/templates/EnumerableMap.js +278 -0
- package/lib/openzeppelin-contracts.git/scripts/generate/templates/EnumerableMapMock.js +66 -0
- package/lib/openzeppelin-contracts.git/scripts/generate/templates/EnumerableSet.js +253 -0
- package/lib/openzeppelin-contracts.git/scripts/generate/templates/EnumerableSetMock.js +56 -0
- package/lib/openzeppelin-contracts.git/scripts/generate/templates/SafeCast.js +168 -0
- package/lib/openzeppelin-contracts.git/scripts/generate/templates/SafeCastMock.js +50 -0
- package/lib/openzeppelin-contracts.git/scripts/generate/templates/conversion.js +30 -0
- package/lib/openzeppelin-contracts.git/scripts/git-user-config.sh +6 -0
- package/lib/openzeppelin-contracts.git/scripts/helpers.js +23 -0
- package/lib/openzeppelin-contracts.git/scripts/migrate-imports.js +177 -0
- package/lib/openzeppelin-contracts.git/scripts/prepack.sh +12 -0
- package/lib/openzeppelin-contracts.git/scripts/prepare-contracts-package.sh +15 -0
- package/lib/openzeppelin-contracts.git/scripts/prepare-docs.sh +15 -0
- package/lib/openzeppelin-contracts.git/scripts/prepare.sh +10 -0
- package/lib/openzeppelin-contracts.git/scripts/release/release.sh +145 -0
- package/lib/openzeppelin-contracts.git/scripts/release/synchronize-versions.js +16 -0
- package/lib/openzeppelin-contracts.git/scripts/release/update-changelog-release-date.js +34 -0
- package/lib/openzeppelin-contracts.git/scripts/release/update-comment.js +36 -0
- package/lib/openzeppelin-contracts.git/scripts/release/version.sh +9 -0
- package/lib/openzeppelin-contracts.git/scripts/remove-ignored-artifacts.js +45 -0
- package/lib/openzeppelin-contracts.git/scripts/update-docs-branch.js +55 -0
- package/lib/openzeppelin-contracts.git/slither.config.json +5 -0
- package/lib/openzeppelin-contracts.git/test/TESTING.md +3 -0
- package/lib/openzeppelin-contracts.git/test/access/AccessControl.behavior.js +216 -0
- package/lib/openzeppelin-contracts.git/test/access/AccessControl.test.js +13 -0
- package/lib/openzeppelin-contracts.git/test/access/AccessControlCrossChain.test.js +59 -0
- package/lib/openzeppelin-contracts.git/test/access/AccessControlEnumerable.test.js +15 -0
- package/lib/openzeppelin-contracts.git/test/access/Ownable.test.js +57 -0
- package/lib/openzeppelin-contracts.git/test/access/Ownable2Step.test.js +57 -0
- package/lib/openzeppelin-contracts.git/test/crosschain/CrossChainEnabled.test.js +88 -0
- package/lib/openzeppelin-contracts.git/test/finance/PaymentSplitter.test.js +217 -0
- package/lib/openzeppelin-contracts.git/test/finance/VestingWallet.behavior.js +74 -0
- package/lib/openzeppelin-contracts.git/test/finance/VestingWallet.test.js +67 -0
- package/lib/openzeppelin-contracts.git/test/governance/Governor.test.js +632 -0
- package/lib/openzeppelin-contracts.git/test/governance/TimelockController.test.js +1134 -0
- package/lib/openzeppelin-contracts.git/test/governance/compatibility/GovernorCompatibilityBravo.test.js +265 -0
- package/lib/openzeppelin-contracts.git/test/governance/extensions/GovernorComp.test.js +78 -0
- package/lib/openzeppelin-contracts.git/test/governance/extensions/GovernorERC721.test.js +104 -0
- package/lib/openzeppelin-contracts.git/test/governance/extensions/GovernorPreventLateQuorum.test.js +177 -0
- package/lib/openzeppelin-contracts.git/test/governance/extensions/GovernorTimelockCompound.test.js +368 -0
- package/lib/openzeppelin-contracts.git/test/governance/extensions/GovernorTimelockControl.test.js +420 -0
- package/lib/openzeppelin-contracts.git/test/governance/extensions/GovernorVotesQuorumFraction.test.js +137 -0
- package/lib/openzeppelin-contracts.git/test/governance/extensions/GovernorWithParams.test.js +166 -0
- package/lib/openzeppelin-contracts.git/test/governance/utils/Votes.behavior.js +344 -0
- package/lib/openzeppelin-contracts.git/test/governance/utils/Votes.test.js +61 -0
- package/lib/openzeppelin-contracts.git/test/helpers/create2.js +12 -0
- package/lib/openzeppelin-contracts.git/test/helpers/crosschain.js +63 -0
- package/lib/openzeppelin-contracts.git/test/helpers/customError.js +24 -0
- package/lib/openzeppelin-contracts.git/test/helpers/eip712.js +30 -0
- package/lib/openzeppelin-contracts.git/test/helpers/enums.js +29 -0
- package/lib/openzeppelin-contracts.git/test/helpers/erc1967.js +24 -0
- package/lib/openzeppelin-contracts.git/test/helpers/governance.js +211 -0
- package/lib/openzeppelin-contracts.git/test/helpers/sign.js +47 -0
- package/lib/openzeppelin-contracts.git/test/helpers/txpool.js +40 -0
- package/lib/openzeppelin-contracts.git/test/metatx/ERC2771Context.test.js +109 -0
- package/lib/openzeppelin-contracts.git/test/metatx/MinimalForwarder.test.js +184 -0
- package/lib/openzeppelin-contracts.git/test/migrate-imports.test.js +29 -0
- package/lib/openzeppelin-contracts.git/test/proxy/Clones.behaviour.js +150 -0
- package/lib/openzeppelin-contracts.git/test/proxy/Clones.test.js +69 -0
- package/lib/openzeppelin-contracts.git/test/proxy/ERC1967/ERC1967Proxy.test.js +13 -0
- package/lib/openzeppelin-contracts.git/test/proxy/Proxy.behaviour.js +224 -0
- package/lib/openzeppelin-contracts.git/test/proxy/beacon/BeaconProxy.test.js +156 -0
- package/lib/openzeppelin-contracts.git/test/proxy/beacon/UpgradeableBeacon.test.js +50 -0
- package/lib/openzeppelin-contracts.git/test/proxy/transparent/ProxyAdmin.test.js +125 -0
- package/lib/openzeppelin-contracts.git/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +431 -0
- package/lib/openzeppelin-contracts.git/test/proxy/transparent/TransparentUpgradeableProxy.test.js +15 -0
- package/lib/openzeppelin-contracts.git/test/proxy/utils/Initializable.test.js +218 -0
- package/lib/openzeppelin-contracts.git/test/proxy/utils/UUPSUpgradeable.test.js +85 -0
- package/lib/openzeppelin-contracts.git/test/security/Pausable.test.js +89 -0
- package/lib/openzeppelin-contracts.git/test/security/PullPayment.test.js +51 -0
- package/lib/openzeppelin-contracts.git/test/security/ReentrancyGuard.test.js +40 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC1155/ERC1155.behavior.js +774 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC1155/ERC1155.test.js +264 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC1155/extensions/ERC1155Burnable.test.js +67 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC1155/extensions/ERC1155Pausable.test.js +108 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC1155/extensions/ERC1155Supply.test.js +111 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +66 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +146 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC1155/utils/ERC1155Holder.test.js +62 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/ERC20.behavior.js +333 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/ERC20.test.js +309 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/extensions/ERC20Burnable.behavior.js +109 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/extensions/ERC20Burnable.test.js +19 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/extensions/ERC20Capped.behavior.js +32 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/extensions/ERC20Capped.test.js +27 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/extensions/ERC20FlashMint.test.js +144 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/extensions/ERC20Pausable.test.js +134 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/extensions/ERC20Snapshot.test.js +204 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/extensions/ERC20Votes.test.js +518 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/extensions/ERC20VotesComp.test.js +496 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/extensions/ERC20Wrapper.test.js +190 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/extensions/ERC4626.test.js +622 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/extensions/draft-ERC20Permit.test.js +109 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +42 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +113 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/utils/SafeERC20.test.js +255 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC20/utils/TokenTimelock.test.js +71 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC721/ERC721.behavior.js +937 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC721/ERC721.test.js +18 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC721/ERC721Enumerable.test.js +20 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC721/extensions/ERC721Burnable.test.js +78 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC721/extensions/ERC721Consecutive.t.sol +120 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC721/extensions/ERC721Consecutive.test.js +225 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC721/extensions/ERC721Pausable.test.js +98 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC721/extensions/ERC721Royalty.test.js +40 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC721/extensions/ERC721URIStorage.test.js +96 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC721/extensions/ERC721Votes.test.js +174 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +125 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC721/utils/ERC721Holder.test.js +24 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC777/ERC777.behavior.js +555 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC777/ERC777.test.js +610 -0
- package/lib/openzeppelin-contracts.git/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +49 -0
- package/lib/openzeppelin-contracts.git/test/token/common/ERC2981.behavior.js +160 -0
- package/lib/openzeppelin-contracts.git/test/utils/Address.test.js +382 -0
- package/lib/openzeppelin-contracts.git/test/utils/Arrays.test.js +105 -0
- package/lib/openzeppelin-contracts.git/test/utils/Base64.test.js +33 -0
- package/lib/openzeppelin-contracts.git/test/utils/Checkpoints.test.js +189 -0
- package/lib/openzeppelin-contracts.git/test/utils/Context.behavior.js +42 -0
- package/lib/openzeppelin-contracts.git/test/utils/Context.test.js +17 -0
- package/lib/openzeppelin-contracts.git/test/utils/Counters.test.js +84 -0
- package/lib/openzeppelin-contracts.git/test/utils/Create2.test.js +92 -0
- package/lib/openzeppelin-contracts.git/test/utils/Multicall.test.js +57 -0
- package/lib/openzeppelin-contracts.git/test/utils/StorageSlot.test.js +110 -0
- package/lib/openzeppelin-contracts.git/test/utils/Strings.test.js +86 -0
- package/lib/openzeppelin-contracts.git/test/utils/TimersBlockNumberImpl.test.js +55 -0
- package/lib/openzeppelin-contracts.git/test/utils/TimersTimestamp.test.js +55 -0
- package/lib/openzeppelin-contracts.git/test/utils/cryptography/ECDSA.test.js +204 -0
- package/lib/openzeppelin-contracts.git/test/utils/cryptography/EIP712.test.js +57 -0
- package/lib/openzeppelin-contracts.git/test/utils/cryptography/MerkleProof.test.js +179 -0
- package/lib/openzeppelin-contracts.git/test/utils/cryptography/SignatureChecker.test.js +81 -0
- package/lib/openzeppelin-contracts.git/test/utils/escrow/ConditionalEscrow.test.js +36 -0
- package/lib/openzeppelin-contracts.git/test/utils/escrow/Escrow.behavior.js +94 -0
- package/lib/openzeppelin-contracts.git/test/utils/escrow/Escrow.test.js +14 -0
- package/lib/openzeppelin-contracts.git/test/utils/escrow/RefundEscrow.test.js +148 -0
- package/lib/openzeppelin-contracts.git/test/utils/introspection/ERC165.test.js +13 -0
- package/lib/openzeppelin-contracts.git/test/utils/introspection/ERC165Checker.test.js +303 -0
- package/lib/openzeppelin-contracts.git/test/utils/introspection/ERC165Storage.test.js +25 -0
- package/lib/openzeppelin-contracts.git/test/utils/introspection/ERC1820Implementer.test.js +66 -0
- package/lib/openzeppelin-contracts.git/test/utils/introspection/SupportsInterface.behavior.js +147 -0
- package/lib/openzeppelin-contracts.git/test/utils/math/Math.t.sol +118 -0
- package/lib/openzeppelin-contracts.git/test/utils/math/Math.test.js +312 -0
- package/lib/openzeppelin-contracts.git/test/utils/math/SafeCast.test.js +164 -0
- package/lib/openzeppelin-contracts.git/test/utils/math/SafeMath.test.js +403 -0
- package/lib/openzeppelin-contracts.git/test/utils/math/SignedMath.test.js +93 -0
- package/lib/openzeppelin-contracts.git/test/utils/math/SignedSafeMath.test.js +152 -0
- package/lib/openzeppelin-contracts.git/test/utils/structs/BitMap.test.js +145 -0
- package/lib/openzeppelin-contracts.git/test/utils/structs/DoubleEndedQueue.test.js +96 -0
- package/lib/openzeppelin-contracts.git/test/utils/structs/EnumerableMap.behavior.js +181 -0
- package/lib/openzeppelin-contracts.git/test/utils/structs/EnumerableMap.test.js +86 -0
- package/lib/openzeppelin-contracts.git/test/utils/structs/EnumerableSet.behavior.js +131 -0
- package/lib/openzeppelin-contracts.git/test/utils/structs/EnumerableSet.test.js +46 -0
- package/lib/reality-eth-monorepo/README.md +35 -0
- package/lib/reality-eth-monorepo/lerna.json +6 -0
- package/lib/reality-eth-monorepo/package.json +6 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/LICENSE.txt +674 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/README +29 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/abi/MultiSigWallet.json +25611 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/abi/SplitterWallet.json +8210 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/add_owner.js +24 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/allocate_splitter_funds.js +15 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/arbitrate.js +30 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/broadcast.sh +15 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/call.js +96 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/call_withdraw.js +19 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/config.1.json +13 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/config.example.json +13 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/confirm_transaction.js +24 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/load_questions_from_graph.js +288 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/package.json +40 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/rc_common.js +209 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/replace_multisig_key.js +19 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/requests/arbitration.example.json +3 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/secrets/.gitignore +3 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/send_value.js +18 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/set_dispute_fee.js +21 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/set_question_fee.js +19 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/set_realitycheck.js +20 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/show_address.js +4 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/simple_deploy.js +28 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/transfer_ownership.js +18 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/withdraw.js +18 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/withdraw_from_splitter_wallet.js +15 -0
- package/lib/reality-eth-monorepo/packages/cli-tools/withdraw_to_splitter_wallet.js +15 -0
- package/lib/reality-eth-monorepo/packages/contracts/.gitattributes +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/LICENSE.txt +674 -0
- package/lib/reality-eth-monorepo/packages/contracts/README.md +84 -0
- package/lib/reality-eth-monorepo/packages/contracts/abi/README.txt +5 -0
- package/lib/reality-eth-monorepo/packages/contracts/abi/solc-0.4.25/Arbitrator.abi.json +437 -0
- package/lib/reality-eth-monorepo/packages/contracts/abi/solc-0.4.25/ERC20.abi.json +239 -0
- package/lib/reality-eth-monorepo/packages/contracts/abi/solc-0.4.25/RealityETH-2.0.abi.json +1066 -0
- package/lib/reality-eth-monorepo/packages/contracts/abi/solc-0.4.25/RealityETH-2.1.abi.json +1152 -0
- package/lib/reality-eth-monorepo/packages/contracts/abi/solc-0.4.25/RealityETH-all.abi.json +1297 -0
- package/lib/reality-eth-monorepo/packages/contracts/abi/solc-0.4.25/RealityETH_ERC20-2.0.abi.json +1149 -0
- package/lib/reality-eth-monorepo/packages/contracts/abi/solc-0.4.25/RealityETH_ERC20.abi.json +1149 -0
- package/lib/reality-eth-monorepo/packages/contracts/abi/solc-0.4.25/RegisteredWalletArbitrator.abi.json +440 -0
- package/lib/reality-eth-monorepo/packages/contracts/abi/solc-0.8.10/RealityETH_ERC20_Factory.abi.json +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/abi/solc-0.8.6/RealityETH-2.0.abi.json +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/abi/solc-0.8.6/RealityETH-2.1.abi.json +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/abi/solc-0.8.6/RealityETH-3.0.abi.json +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/abi/solc-0.8.6/RealityETH-all.abi.json +1776 -0
- package/lib/reality-eth-monorepo/packages/contracts/abi/solc-0.8.6/RealityETH_ERC20-2.0.abi.json +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/abi/solc-0.8.6/RealityETH_ERC20-3.0.abi.json +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/audits/RealityETH-2.0.rst +249 -0
- package/lib/reality-eth-monorepo/packages/contracts/audits/RealityETH-3.0.txt +51 -0
- package/lib/reality-eth-monorepo/packages/contracts/audits/RealityETH_ERC20-2.0.txt +1062 -0
- package/lib/reality-eth-monorepo/packages/contracts/audits/RealityETH_ERC20-3.0.txt +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/bytecode/Arbitrator.bin +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/bytecode/ERC20.bin +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/bytecode/RealityETH-2.0.bin +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/bytecode/RealityETH-2.1-rc1.bin +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/bytecode/RealityETH-2.1.bin +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/bytecode/RealityETH-3.0.bin +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/bytecode/RealityETH_ERC20-2.0.bin +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/bytecode/RealityETH_ERC20-3.0.bin +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/bytecode/RealityETH_ERC20_Factory.bin +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/bytecode/RegisteredWalletArbitrator.bin +1 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/chainid.network.json +19664 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/chainid.network.local.json +53 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/1/ETH/RealityETH-2.0.json +11 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/1/ETH/RealityETH-3.0.json +9 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/1/FOX/RealityETH_ERC20-2.0.json +9 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/1/GNO/RealityETH_ERC20-2.0.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/1/GNO/RealityETH_ERC20-3.0.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/1/SWISE/RealityETH_ERC20-3.0.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/1/TRST/RealityETH_ERC20-2.0.json +10 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/10/OETH/RealityETH-3.0.json +6 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/100/GNO/RealityETH_ERC20-3.0.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/100/SWISE/RealityETH_ERC20-3.0.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/100/XDAI/RealityETH-2.1.json +11 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/100/XDAI/RealityETH-3.0.json +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/11155111/ETH/RealityETH-3.0.json +6 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/1337702/ETH/RealityETH-3.0.json +6 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/137/MATIC/Arbitrator.json +5 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/137/MATIC/RealityETH-2.1.json +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/137/MATIC/RealityETH-3.0.json +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/280/ETH/RealityETH-3.0.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/324/ETH/RealityETH-3.0.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/4/DAOOS/RealityETH_ERC20-2.0.json +9 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/4/DAOOS/RealityETH_ERC20-3.0.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/4/ETH/Arbitrator_RealityETH-2.1.json +5 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/4/ETH/RealityETH-2.0.json +9 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/4/ETH/RealityETH-2.1.json +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/4/ETH/RealityETH-3.0.json +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/4/TRST/Arbitrator.json +5 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/4/TRST/RealityETH_ERC20-2.0.json +9 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/42/ETH/RealityETH-2.0.json +10 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/42/ETH/RealityETH-3.0.json +9 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/42/POLK/Arbitrator.json +5 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/42/POLK/RealityETH_ERC20-2.0.json +9 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/42/POLK/RealityETH_ERC20-3.0.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/42161/ARETH/Arbitrator.json +5 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/42161/ARETH/RealityETH-2.1.json +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/42161/ARETH/RealityETH-3.0.json +6 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/421611/ARETH/Arbitrator.json +5 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/421611/ARETH/RealityETH-2.1.json +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/421611/ARETH/RealityETH-3.0.json +6 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/43114/AVAX/RealityETH-3.0.json +6 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/5/ETH/RealityETH-3.0.json +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/56/BNB/Arbitrator.json +5 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/56/BNB/RealityETH-2.1.json +9 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/56/BNB/RealityETH-3.0.json +6 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/56/DEXE/RealityETH_ERC20-3.0.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/69/OETH/RealityETH-3.0.json +6 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/77/XDAI/RealityETH-2.1-rc1.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/77/XDAI/RealityETH-2.1.json +9 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/77/XDAI/RealityETH-3.0.json +6 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/777/CTH/RealityETH-3.0.json +6 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/8/UBQ/Arbitrator.json +5 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/8/UBQ/RealityETH-2.1.json +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/8/UBQ/RealityETH-3.0.json +6 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/80001/MATIC/RealityETH-3.0.json +6 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/deployments/97/BNB/RealityETH-3.0.json +6 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/factories/4/RealityETH_ERC20-3.0.json +5 -0
- package/lib/reality-eth-monorepo/packages/contracts/chains/supported.json +107 -0
- package/lib/reality-eth-monorepo/packages/contracts/config/templates.json +16 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/.soliumrc.json +27 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/Arbitrator.sol +205 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/BalanceHolder.sol +24 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/BalanceHolder_ERC20.sol +27 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/CallbackClient.sol +19 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/ERC20Token.sol +265 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/ExplodingCallbackClient.sol +16 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/IArbitrator.sol +25 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/IArbitratorForeignProxy.sol +12 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/IBalanceHolder.sol +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/IBalanceHolder_ERC20.sol +11 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/IERC20.sol +32 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/IOwned.sol +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/IRealityETH.sol +63 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/IRealityETH_ERC20.sol +67 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/Owned.sol +24 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/RealityETH-3.0.sol +894 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/RealityETH_ERC20-3.0.sol +1052 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/RealityETH_ERC20_Factory.sol +48 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/RegisteredWalletArbitrator.sol +48 -0
- package/lib/reality-eth-monorepo/packages/contracts/development/contracts/compile.py +71 -0
- package/lib/reality-eth-monorepo/packages/contracts/example.js +66 -0
- package/lib/reality-eth-monorepo/packages/contracts/flat/Arbitrator-1.0.sol +998 -0
- package/lib/reality-eth-monorepo/packages/contracts/flat/Arbitrator-1.1.sol +1049 -0
- package/lib/reality-eth-monorepo/packages/contracts/flat/Arbitrator-development.sol +335 -0
- package/lib/reality-eth-monorepo/packages/contracts/flat/RealityETH-2.0.sol +816 -0
- package/lib/reality-eth-monorepo/packages/contracts/flat/RealityETH-2.1-rc1.sol +890 -0
- package/lib/reality-eth-monorepo/packages/contracts/flat/RealityETH-2.1.sol +890 -0
- package/lib/reality-eth-monorepo/packages/contracts/flat/RealityETH-3.0.sol +989 -0
- package/lib/reality-eth-monorepo/packages/contracts/flat/RealityETH_ERC20-2.0.sol +915 -0
- package/lib/reality-eth-monorepo/packages/contracts/flat/RealityETH_ERC20-3.0.sol +1096 -0
- package/lib/reality-eth-monorepo/packages/contracts/flat/RealityETH_ERC20_Factory.sol +140 -0
- package/lib/reality-eth-monorepo/packages/contracts/generated/chains.json +434 -0
- package/lib/reality-eth-monorepo/packages/contracts/generated/contracts.json +494 -0
- package/lib/reality-eth-monorepo/packages/contracts/generated/factories.json +9 -0
- package/lib/reality-eth-monorepo/packages/contracts/generated/tokens.json +129 -0
- package/lib/reality-eth-monorepo/packages/contracts/index.js +334 -0
- package/lib/reality-eth-monorepo/packages/contracts/meta/RealityETH-2.0.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/meta/RealityETH-2.1.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/meta/RealityETH-3.0.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/meta/RealityETH_ERC20-2.0.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/meta/RealityETH_ERC20-3.0.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/non_standard_deployments/zksync2/README +21 -0
- package/lib/reality-eth-monorepo/packages/contracts/non_standard_deployments/zksync2/contracts/RealityETH-3.0.sol +989 -0
- package/lib/reality-eth-monorepo/packages/contracts/non_standard_deployments/zksync2/contracts/RealityETH_ERC20-3.0.sol +1096 -0
- package/lib/reality-eth-monorepo/packages/contracts/non_standard_deployments/zksync2/deploy/deploy.ts +62 -0
- package/lib/reality-eth-monorepo/packages/contracts/non_standard_deployments/zksync2/deploy/deploy_erc20.ts +56 -0
- package/lib/reality-eth-monorepo/packages/contracts/non_standard_deployments/zksync2/deploy/deploy_mainnet.ts +47 -0
- package/lib/reality-eth-monorepo/packages/contracts/non_standard_deployments/zksync2/hardhat.config.ts +27 -0
- package/lib/reality-eth-monorepo/packages/contracts/non_standard_deployments/zksync2/package.json +15 -0
- package/lib/reality-eth-monorepo/packages/contracts/non_standard_deployments/zksync2/yarn.lock +2898 -0
- package/lib/reality-eth-monorepo/packages/contracts/package.json +37 -0
- package/lib/reality-eth-monorepo/packages/contracts/scripts/create_wallet.js +19 -0
- package/lib/reality-eth-monorepo/packages/contracts/scripts/deploy.js +403 -0
- package/lib/reality-eth-monorepo/packages/contracts/scripts/fetch_and_reformat_chains_json.js +31 -0
- package/lib/reality-eth-monorepo/packages/contracts/scripts/format_json.js +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/scripts/generate_chains_json.js +89 -0
- package/lib/reality-eth-monorepo/packages/contracts/scripts/generate_contract_json.js +26 -0
- package/lib/reality-eth-monorepo/packages/contracts/scripts/generate_factory_json.js +26 -0
- package/lib/reality-eth-monorepo/packages/contracts/scripts/generate_token_json.js +40 -0
- package/lib/reality-eth-monorepo/packages/contracts/scripts/merge_abis.js +38 -0
- package/lib/reality-eth-monorepo/packages/contracts/scripts/migrate_wallet.js +62 -0
- package/lib/reality-eth-monorepo/packages/contracts/tests/python/requirements.txt +62 -0
- package/lib/reality-eth-monorepo/packages/contracts/tests/python/test.py +2538 -0
- package/lib/reality-eth-monorepo/packages/contracts/tests/python/test_erc20.py +1527 -0
- package/lib/reality-eth-monorepo/packages/contracts/tokens/ARETH.json +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/tokens/AVAX.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/tokens/BNB.json +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/tokens/CTH.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/tokens/DAOOS.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/tokens/DEXE.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/tokens/ETH.json +14 -0
- package/lib/reality-eth-monorepo/packages/contracts/tokens/FOX.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/tokens/GNO.json +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/tokens/MATIC.json +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/tokens/OETH.json +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/tokens/POLK.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/tokens/SWISE.json +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/tokens/TRST.json +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/tokens/UBQ.json +7 -0
- package/lib/reality-eth-monorepo/packages/contracts/tokens/XDAI.json +8 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/Arbitrator.TRST.json +8790 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/Arbitrator.json +8824 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/BalanceHolder.json +1365 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/CallbackClient.json +971 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/ERC20.TRST.json +16366 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/ERC20.json +16353 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/ExplodingCallbackClient.json +304 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/IBalanceHolder.json +286 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/IERC20.json +1859 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/IRealitio.json +8757 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/Migrations.json +1387 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/MultiSigWallet.json +25397 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/Owned.json +898 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/Realitio.TRST.json +59856 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/Realitio.json +54664 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/RealitioERC20.json +59843 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/RealitioSafeMath256.json +2475 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/RealitioSafeMath32.json +701 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/Realitio_v2_1.json +59728 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/RegisteredWalletArbitrator.json +2474 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/SafeMath.json +16115 -0
- package/lib/reality-eth-monorepo/packages/contracts/truffle/build/contracts/SplitterWallet.json +8199 -0
- package/lib/reality-eth-monorepo/packages/dapp/.babelrc +15 -0
- package/lib/reality-eth-monorepo/packages/dapp/.browserslistrc +10 -0
- package/lib/reality-eth-monorepo/packages/dapp/.eslintrc +18 -0
- package/lib/reality-eth-monorepo/packages/dapp/.nvmrc +1 -0
- package/lib/reality-eth-monorepo/packages/dapp/.stylelintrc.json +3 -0
- package/lib/reality-eth-monorepo/packages/dapp/.travis.yml +5 -0
- package/lib/reality-eth-monorepo/packages/dapp/LICENSE.txt +674 -0
- package/lib/reality-eth-monorepo/packages/dapp/README.md +155 -0
- package/lib/reality-eth-monorepo/packages/dapp/js/chains.json +1626 -0
- package/lib/reality-eth-monorepo/packages/dapp/package.json +66 -0
- package/lib/reality-eth-monorepo/packages/dapp/postcss.config.js +5 -0
- package/lib/reality-eth-monorepo/packages/dapp/public/.gitkeep +0 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/avatar1.png +0 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/avatar2.png +0 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/cover-image.jpg +0 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/download-metamask.png +0 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/favicon.ico +0 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/icn_plus.png +0 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/icon-arrowdown.svg +11 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/icon-arrowup.svg +11 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/icon-checkbox--blank.svg +11 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/icon-checkbox--checked.svg +16 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/icon-close--light.svg +11 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/icon-close.svg +11 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/icon-dropdown.svg +10 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/icon-filter.svg +3 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/icon-identity--dark.svg +13 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/icon-identity--light.svg +13 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/icon-more.svg +12 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/icon-search--dark.svg +12 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/icon-search--light.svg +12 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/icon.png +0 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/line_style.png +0 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/logomark.svg +29 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/realitio_dapp_logo.png +0 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/realitio_dapp_logo_white.png +0 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/realitio_header_logo.png +0 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/realitio_logo.png +0 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/image/realitio_logo_white.png +0 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/index.html +1354 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/scripts/abi/kleros/ProxiedArbitratorNew.json +1 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/scripts/abi/kleros/ProxiedArbitratorOld.json +523 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/scripts/arbitrator_metadata_legacy.json +6 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/scripts/common.js +25 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/scripts/graph.js +5916 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/scripts/index.js +20 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/scripts/rpc.js +6036 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/scripts/ui_lib.js +253 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/styles/index.scss +3443 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/styles/util/_color.scss +30 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/styles/util/_easing.scss +35 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/styles/util/_keyframes.scss +23 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/styles/util/_mixin.scss +69 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/styles/util/_normalize.scss +461 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/styles/util/_perfect-scrollbar.scss +113 -0
- package/lib/reality-eth-monorepo/packages/dapp/src/styles/util/_typography.scss +4 -0
- package/lib/reality-eth-monorepo/packages/dapp/webpack/webpack.common.js +58 -0
- package/lib/reality-eth-monorepo/packages/dapp/webpack/webpack.config.dev.js +58 -0
- package/lib/reality-eth-monorepo/packages/dapp/webpack/webpack.config.prod.js +37 -0
- package/lib/reality-eth-monorepo/packages/docs/Audit_Reality_v3_202108.pdf +0 -0
- package/lib/reality-eth-monorepo/packages/docs/Makefile +20 -0
- package/lib/reality-eth-monorepo/packages/docs/arbitrators.rst +85 -0
- package/lib/reality-eth-monorepo/packages/docs/audit.rst +12 -0
- package/lib/reality-eth-monorepo/packages/docs/audit_v2.rst +249 -0
- package/lib/reality-eth-monorepo/packages/docs/audit_v2_ERC20.rst +1075 -0
- package/lib/reality-eth-monorepo/packages/docs/audit_v3.rst +70 -0
- package/lib/reality-eth-monorepo/packages/docs/conf.py +155 -0
- package/lib/reality-eth-monorepo/packages/docs/contract_explanation.rst +82 -0
- package/lib/reality-eth-monorepo/packages/docs/contracts.rst +277 -0
- package/lib/reality-eth-monorepo/packages/docs/dapp.rst +126 -0
- package/lib/reality-eth-monorepo/packages/docs/dapp_links.rst +67 -0
- package/lib/reality-eth-monorepo/packages/docs/fees.rst +89 -0
- package/lib/reality-eth-monorepo/packages/docs/index.rst +26 -0
- package/lib/reality-eth-monorepo/packages/docs/javascript.rst +142 -0
- package/lib/reality-eth-monorepo/packages/docs/make.bat +36 -0
- package/lib/reality-eth-monorepo/packages/docs/question_box.png +0 -0
- package/lib/reality-eth-monorepo/packages/docs/requirements.txt +24 -0
- package/lib/reality-eth-monorepo/packages/docs/whitepaper.rst +165 -0
- package/lib/reality-eth-monorepo/packages/graph/.gitattributes +1 -0
- package/lib/reality-eth-monorepo/packages/graph/LICENSE +165 -0
- package/lib/reality-eth-monorepo/packages/graph/README.md +11 -0
- package/lib/reality-eth-monorepo/packages/graph/changelog.txt +3 -0
- package/lib/reality-eth-monorepo/packages/graph/package.json +74 -0
- package/lib/reality-eth-monorepo/packages/graph/render-templates.js +79 -0
- package/lib/reality-eth-monorepo/packages/graph/schema.graphql +147 -0
- package/lib/reality-eth-monorepo/packages/graph/src/mapping.ts +439 -0
- package/lib/reality-eth-monorepo/packages/graph/src/mapping_factory.ts +28 -0
- package/lib/reality-eth-monorepo/packages/graph/src/utils/sprintf.ts +9 -0
- package/lib/reality-eth-monorepo/packages/graph/src/utils/unescape.ts +102 -0
- package/lib/reality-eth-monorepo/packages/graph/subgraph.datasource.template.yaml +40 -0
- package/lib/reality-eth-monorepo/packages/graph/subgraph.factory.template.yaml +20 -0
- package/lib/reality-eth-monorepo/packages/graph/subgraph.template.template.yaml +39 -0
- package/lib/reality-eth-monorepo/packages/graph/subgraph.template.yaml +11 -0
- package/lib/reality-eth-monorepo/packages/graph/yarn.lock +5506 -0
- package/lib/reality-eth-monorepo/packages/reality-eth-lib/LICENSE.txt +674 -0
- package/lib/reality-eth-monorepo/packages/reality-eth-lib/README.md +2 -0
- package/lib/reality-eth-monorepo/packages/reality-eth-lib/formatters/question.js +565 -0
- package/lib/reality-eth-monorepo/packages/reality-eth-lib/formatters/template.js +28 -0
- package/lib/reality-eth-monorepo/packages/reality-eth-lib/index.js +2 -0
- package/lib/reality-eth-monorepo/packages/reality-eth-lib/package.json +43 -0
- package/lib/reality-eth-monorepo/packages/reality-eth-lib/test/formatters.js +482 -0
- package/lib/reality-eth-monorepo/packages/template-generator/README.md +13 -0
- package/lib/reality-eth-monorepo/packages/template-generator/package.json +54 -0
- package/lib/reality-eth-monorepo/packages/template-generator/public/assets/image/favicon.ico +0 -0
- package/lib/reality-eth-monorepo/packages/template-generator/public/index.html +25 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/assets/icons/copy.svg +3 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/assets/images/line_style.png +0 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/assets/images/realitio_header_logo.png +0 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/App/App.css +25 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/App/App.tsx +18 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/Header/Header.css +37 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/Header/Header.tsx +29 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/Loader/Loader.css +17 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/Loader/Loader.tsx +22 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/TemplateBuilder/TemplateBuilder.tsx +111 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/TemplateBuilder/TemplateBuilderCreate/TemplateBuilderCreate.css +4 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/TemplateBuilder/TemplateBuilderCreate/TemplateBuilderCreate.tsx +90 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/TemplateBuilder/TemplateBuilderForm/TemplateBuilderForm.css +8 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/TemplateBuilder/TemplateBuilderForm/TemplateBuilderForm.tsx +107 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/TemplateDetails/TemplateDetails.tsx +92 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/Views.tsx +14 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/commons/Box/Box.css +21 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/commons/Box/Box.tsx +19 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/commons/Button/Button.css +17 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/commons/Button/Button.tsx +12 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/commons/Input/Input.css +61 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/commons/Input/Input.tsx +38 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/commons/LanguageField/LanguageField.tsx +18 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/commons/LanguageField/languages.json +185 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/commons/Select/Select.css +43 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/commons/Select/Select.tsx +80 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/commons/Spinner/Spinner.css +28 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/commons/Spinner/Spinner.tsx +6 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/commons/TextBlock/TextBlock.css +13 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/commons/TextBlock/TextBlock.tsx +10 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/commons/Textarea/Textarea.css +18 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/commons/Textarea/Textarea.tsx +9 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/forms/CustomTemplateForm/CustomTemplateForm.tsx +140 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/forms/DaoModuleTemplateForm/DaoModuleTemplateForm.tsx +63 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/forms/InstanceForm/InstanceField.css +27 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/forms/InstanceForm/InstanceField.tsx +123 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/components/forms/TemplateForm/TemplateForm.tsx +20 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/definitions/ensdomains-ui.d.ts +3 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/definitions/reality-contracts.d.ts +25 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/helpers/network.ts +19 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/helpers/reality-eth-contract.ts +17 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/helpers/text.ts +22 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/helpers/validation.ts +32 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/hooks/useChainId.ts +17 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/hooks/useProvider.ts +19 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/hooks/useSigner.ts +42 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/index.tsx +10 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/logo.svg +1 -0
- package/lib/reality-eth-monorepo/packages/template-generator/src/react-app-env.d.ts +1 -0
- package/lib/reality-eth-monorepo/packages/template-generator/tsconfig.json +26 -0
- package/lib/reality-eth-monorepo/packages/twitter-bot/README.md +49 -0
- package/lib/reality-eth-monorepo/packages/twitter-bot/index.js +287 -0
- package/lib/reality-eth-monorepo/packages/twitter-bot/package.json +34 -0
- package/lib/reality-eth-monorepo/packages/website/resources/twitter/realitio_banner_2.jpg +0 -0
- package/lib/reality-eth-monorepo/packages/website/resources/twitter/realitio_profile_icon.jpg +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/.editorconfig +13 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/.gitattributes +194 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/.htaccess +1177 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/404.html +60 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/LICENSE.txt +19 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/browserconfig.xml +12 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/css/main.css +894 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/css/normalize.css +341 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/doc/TOC.md +35 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/doc/css.md +164 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/doc/extend.md +669 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/doc/faq.md +47 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/doc/html.md +250 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/doc/js.md +36 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/doc/misc.md +173 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/doc/usage.md +130 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/favicon.ico +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/humans.txt +15 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/icon.png +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/images/dapp.png +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/images/design_mockup_pc.png +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/images/design_mockup_sp.png +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/images/discord.png +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/images/eth_logo.png +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/images/github.png +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/images/line_style.png +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/images/linkedin.png +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/images/medium.png +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/images/nodes_texture.png +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/images/oracle.png +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/images/realitio_footer_logo.png +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/images/realitio_header_logo.png +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/images/twitter.png +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/index.html +155 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/js/main.js +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/js/plugins.js +24 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/js/vendor/jquery-3.3.1.min.js +2 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/js/vendor/modernizr-3.6.0.min.js +3 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/robots.txt +5 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/site.webmanifest +8 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/tile-wide.png +0 -0
- package/lib/reality-eth-monorepo/packages/website/webroot/tile.png +0 -0
- package/lib/reality-eth-monorepo/tools/gh_build.sh +47 -0
- package/lib/reality-eth-monorepo/tools/ipfs_build.sh +74 -0
- package/package.json +1 -1
- package/src/models/IContract.js +55 -2
- package/src/models/PolkamarketsSmartAccount.js +10 -0
- package/src/models/PredictionMarketV3Contract.js +24 -1
- package/src/models/PredictionMarketV3QuerierContract.js +3 -3
- package/zkout/AccessControl.sol/AccessControl.json +1 -0
- package/zkout/AccessControlEnumerable.sol/AccessControlEnumerable.json +1 -0
- package/zkout/Address.sol/Address.json +1 -0
- package/zkout/Clones.sol/Clones.json +1 -0
- package/zkout/Context.sol/Context.json +1 -0
- package/zkout/ERC165.sol/ERC165.json +1 -0
- package/zkout/ERC20.sol/ERC20.json +1 -0
- package/zkout/ERC20Burnable.sol/ERC20Burnable.json +1 -0
- package/zkout/ERC20Pausable.sol/ERC20Pausable.json +1 -0
- package/zkout/ERC20PresetMinterPauser.sol/ERC20PresetMinterPauser.json +1 -0
- package/zkout/EnumerableSet.sol/EnumerableSet.json +1 -0
- package/zkout/FantasyERC20.sol/FantasyERC20.json +1 -0
- package/zkout/IAccessControl.sol/IAccessControl.json +1 -0
- package/zkout/IAccessControlEnumerable.sol/IAccessControlEnumerable.json +1 -0
- package/zkout/IERC165.sol/IERC165.json +1 -0
- package/zkout/IERC20.sol/IERC20.json +1 -0
- package/zkout/IERC20Metadata.sol/IERC20Metadata.json +1 -0
- package/zkout/IFantasyERC20.sol/IFantasyERC20.json +1 -0
- package/zkout/IPredictionMarketV3.sol/IPredictionMarketV3.json +1 -0
- package/zkout/IPredictionMarketV3Factory.sol/IPredictionMarketV3Factory.json +1 -0
- package/zkout/IPredictionMarketV3Manager.sol/IPredictionMarketV3Manager.json +1 -0
- package/zkout/IRealityETH_ERC20.sol/IRealityETH_ERC20.json +1 -0
- package/zkout/LandFactory.sol/LandFactory.json +1 -0
- package/zkout/Math.sol/Math.json +1 -0
- package/zkout/Migrations.sol/Migrations.json +1 -0
- package/zkout/Ownable.sol/Ownable.json +1 -0
- package/zkout/Pausable.sol/Pausable.json +1 -0
- package/zkout/PredictionMarketV3.sol/CeilDiv.json +1 -0
- package/zkout/PredictionMarketV3.sol/IWETH.json +1 -0
- package/zkout/PredictionMarketV3.sol/PredictionMarketV3.json +1 -0
- package/zkout/PredictionMarketV3Controller.sol/PredictionMarketV3Controller.json +1 -0
- package/zkout/PredictionMarketV3Factory.sol/PredictionMarketV3Factory.json +1 -0
- package/zkout/PredictionMarketV3Manager.sol/PredictionMarketV3Manager.json +1 -0
- package/zkout/PredictionMarketV3Querier.sol/PredictionMarketV3Querier.json +1 -0
- package/zkout/Proxy.sol/Proxy.json +1 -0
- package/zkout/RealityETH_ERC20_Factory.sol/IRealityETH_IERC20.json +1 -0
- package/zkout/RealityETH_ERC20_Factory.sol/RealityETH_ERC20_Factory.json +1 -0
- package/zkout/RealityETH_ERC20_v3_0.sol/RealityETH_ERC20_v3_0_.json +1 -0
- package/zkout/ReentrancyGuard.sol/ReentrancyGuard.json +1 -0
- package/zkout/SafeERC20.sol/SafeERC20.json +1 -0
- package/zkout/SafeMath.sol/SafeMath.json +1 -0
- package/zkout/Strings.sol/Strings.json +1 -0
- package/zkout/Voting.sol/Voting.json +1 -0
- package/zkout/build-info/11a6360c5b1ddb102d0b68baa19a31ac.json +1 -0
- package/zkout/build-info/214052c18c7e4b492b451a7d012de81d.json +1 -0
- package/zkout/build-info/4ac501c16e839ebb20c4046de00e4d39.json +1 -0
- package/zkout/contracts/BalanceHolder_ERC20.sol/BalanceHolder_ERC20.json +1 -0
- package/zkout/contracts/IBalanceHolder_ERC20.sol/IBalanceHolder_ERC20.json +1 -0
- package/zkout/contracts/RealityETH_ERC20-3.0.sol/RealityETH_ERC20_v3_0.json +1 -0
- package/zkout/development/contracts/IERC20.sol/IERC20.json +1 -0
- package/zkout/draft-IERC20Permit.sol/IERC20Permit.json +1 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
= Creating ERC20 Supply
|
|
2
|
+
|
|
3
|
+
In this guide you will learn how to create an ERC20 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 ERC20, 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 ERC20 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 ERC20 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
|
+
[[modularizing-the-mechanism]]
|
|
58
|
+
== Modularizing the Mechanism
|
|
59
|
+
|
|
60
|
+
There is one supply mechanism already included in Contracts: `ERC20PresetMinterPauser`. This is a generic mechanism in which a set of accounts is assigned the `minter` role, granting them the permission to call a `mint` function, an external version of `_mint`.
|
|
61
|
+
|
|
62
|
+
This can be used for centralized minting, where an externally owned account (i.e. someone with a pair of cryptographic keys) decides how much supply to create and for whom. There are very legitimate use cases for this mechanism, such as https://medium.com/reserve-currency/why-another-stablecoin-866f774afede#3aea[traditional asset-backed stablecoins].
|
|
63
|
+
|
|
64
|
+
The accounts with the minter role don't need to be externally owned, though, and can just as well be smart contracts that implement a trustless mechanism. We can in fact implement the same behavior as the previous section.
|
|
65
|
+
|
|
66
|
+
[source,solidity]
|
|
67
|
+
----
|
|
68
|
+
contract MinerRewardMinter {
|
|
69
|
+
ERC20PresetMinterPauser _token;
|
|
70
|
+
|
|
71
|
+
constructor(ERC20PresetMinterPauser token) {
|
|
72
|
+
_token = token;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function mintMinerReward() public {
|
|
76
|
+
_token.mint(block.coinbase, 1000);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
----
|
|
80
|
+
|
|
81
|
+
This contract, when initialized with an `ERC20PresetMinterPauser` instance, and granted the `minter` role for that contract, will result in exactly the same behavior implemented in the previous section. What is interesting about using `ERC20PresetMinterPauser` is that we can easily combine multiple supply mechanisms by assigning the role to multiple contracts, and moreover that we can do this dynamically.
|
|
82
|
+
|
|
83
|
+
TIP: To learn more about roles and permissioned systems, head to our xref:access-control.adoc[Access Control guide].
|
|
84
|
+
|
|
85
|
+
[[automating-the-reward]]
|
|
86
|
+
== Automating the Reward
|
|
87
|
+
|
|
88
|
+
So far our supply mechanisms were triggered manually, but `ERC20` also allows us to extend the core functionality of the token through the xref:api:token/ERC20.adoc#ERC20-_beforeTokenTransfer-address-address-uint256-[`_beforeTokenTransfer`] hook (see xref:extending-contracts.adoc#using-hooks[Using Hooks]).
|
|
89
|
+
|
|
90
|
+
Adding to the supply mechanism from previous sections, we can use this hook to mint a miner reward for every token transfer that is included in the blockchain.
|
|
91
|
+
|
|
92
|
+
[source,solidity]
|
|
93
|
+
----
|
|
94
|
+
contract ERC20WithAutoMinerReward is ERC20 {
|
|
95
|
+
constructor() ERC20("Reward", "RWD") {}
|
|
96
|
+
|
|
97
|
+
function _mintMinerReward() internal {
|
|
98
|
+
_mint(block.coinbase, 1000);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function _beforeTokenTransfer(address from, address to, uint256 value) internal virtual override {
|
|
102
|
+
if (!(from == address(0) && to == block.coinbase)) {
|
|
103
|
+
_mintMinerReward();
|
|
104
|
+
}
|
|
105
|
+
super._beforeTokenTransfer(from, to, value);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
----
|
|
109
|
+
|
|
110
|
+
[[wrapping-up]]
|
|
111
|
+
== Wrapping Up
|
|
112
|
+
|
|
113
|
+
We've seen two ways to implement ERC20 supply mechanisms: internally through `_mint`, and externally through `ERC20PresetMinterPauser`. 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,85 @@
|
|
|
1
|
+
= ERC20
|
|
2
|
+
|
|
3
|
+
An ERC20 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 ERC20 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 ERC20 Token Contract
|
|
9
|
+
|
|
10
|
+
Using Contracts, we can easily create our own ERC20 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
|
+
// contracts/GLDToken.sol
|
|
17
|
+
// SPDX-License-Identifier: MIT
|
|
18
|
+
pragma solidity ^0.8.0;
|
|
19
|
+
|
|
20
|
+
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
|
|
21
|
+
|
|
22
|
+
contract GLDToken is ERC20 {
|
|
23
|
+
constructor(uint256 initialSupply) ERC20("Gold", "GLD") {
|
|
24
|
+
_mint(msg.sender, initialSupply);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
----
|
|
28
|
+
|
|
29
|
+
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.
|
|
30
|
+
|
|
31
|
+
TIP: For a more complete discussion of ERC20 supply mechanisms, see xref:erc20-supply.adoc[Creating ERC20 Supply].
|
|
32
|
+
|
|
33
|
+
That's it! Once deployed, we will be able to query the deployer's balance:
|
|
34
|
+
|
|
35
|
+
[source,javascript]
|
|
36
|
+
----
|
|
37
|
+
> GLDToken.balanceOf(deployerAddress)
|
|
38
|
+
1000000000000000000000
|
|
39
|
+
----
|
|
40
|
+
|
|
41
|
+
We can also xref:api:token/ERC20.adoc#IERC20-transfer-address-uint256-[transfer] these tokens to other accounts:
|
|
42
|
+
|
|
43
|
+
[source,javascript]
|
|
44
|
+
----
|
|
45
|
+
> GLDToken.transfer(otherAddress, 300000000000000000000)
|
|
46
|
+
> GLDToken.balanceOf(otherAddress)
|
|
47
|
+
300000000000000000000
|
|
48
|
+
> GLDToken.balanceOf(deployerAddress)
|
|
49
|
+
700000000000000000000
|
|
50
|
+
----
|
|
51
|
+
|
|
52
|
+
[[a-note-on-decimals]]
|
|
53
|
+
== A Note on `decimals`
|
|
54
|
+
|
|
55
|
+
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`.
|
|
56
|
+
|
|
57
|
+
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.
|
|
58
|
+
|
|
59
|
+
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.
|
|
60
|
+
|
|
61
|
+
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.
|
|
62
|
+
|
|
63
|
+
You'll probably want to use a `decimals` value of `18`, just like Ether and most ERC20 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)`.
|
|
64
|
+
|
|
65
|
+
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.
|
|
66
|
+
|
|
67
|
+
```solidity
|
|
68
|
+
function decimals() public view virtual override returns (uint8) {
|
|
69
|
+
return 16;
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
So if you want to send `5` tokens using a token contract with 18 decimals, the method to call will actually be:
|
|
74
|
+
|
|
75
|
+
```solidity
|
|
76
|
+
transfer(recipient, 5 * (10 ** 18));
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
[[Presets]]
|
|
80
|
+
== Preset ERC20 contract
|
|
81
|
+
A preset ERC20 is available, https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v4.7/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol[`ERC20PresetMinterPauser`]. It is preset to allow for token minting (create), stop all token transfers (pause) and allow holders to burn (destroy) their tokens. The contract uses xref:access-control.adoc[Access Control] to control access to the minting and pausing functionality. The account that deploys the contract will be granted the minter and pauser roles, as well as the default admin role.
|
|
82
|
+
|
|
83
|
+
This contract is ready to deploy without having to write any Solidity code. It can be used as-is for quick prototyping and testing, but is also suitable for production environments.
|
|
84
|
+
|
|
85
|
+
NOTE: Contract presets are now deprecated in favor of https://wizard.openzeppelin.com[Contracts Wizard] as a more powerful alternative.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
= ERC721
|
|
2
|
+
|
|
3
|
+
We've discussed how you can make a _fungible_ token using xref:erc20.adoc[ERC20], 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. ERC721 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
|
+
ERC721 is a more complex standard than ERC20, 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 ERC721 Token Contract
|
|
8
|
+
|
|
9
|
+
We'll use ERC721 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
|
+
// contracts/GameItem.sol
|
|
16
|
+
// SPDX-License-Identifier: MIT
|
|
17
|
+
pragma solidity ^0.8.0;
|
|
18
|
+
|
|
19
|
+
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
|
|
20
|
+
import "@openzeppelin/contracts/utils/Counters.sol";
|
|
21
|
+
|
|
22
|
+
contract GameItem is ERC721URIStorage {
|
|
23
|
+
using Counters for Counters.Counter;
|
|
24
|
+
Counters.Counter private _tokenIds;
|
|
25
|
+
|
|
26
|
+
constructor() ERC721("GameItem", "ITM") {}
|
|
27
|
+
|
|
28
|
+
function awardItem(address player, string memory tokenURI)
|
|
29
|
+
public
|
|
30
|
+
returns (uint256)
|
|
31
|
+
{
|
|
32
|
+
uint256 newItemId = _tokenIds.current();
|
|
33
|
+
_mint(player, newItemId);
|
|
34
|
+
_setTokenURI(newItemId, tokenURI);
|
|
35
|
+
|
|
36
|
+
_tokenIds.increment();
|
|
37
|
+
return newItemId;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
----
|
|
41
|
+
|
|
42
|
+
The xref:api:token/ERC721.adoc#ERC721URIStorage[`ERC721URIStorage`] contract is an implementation of ERC721 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.
|
|
43
|
+
|
|
44
|
+
Also note that, unlike ERC20, ERC721 lacks a `decimals` field, since each token is distinct and cannot be partitioned.
|
|
45
|
+
|
|
46
|
+
New items can be created:
|
|
47
|
+
|
|
48
|
+
[source,javascript]
|
|
49
|
+
----
|
|
50
|
+
> gameItem.awardItem(playerAddress, "https://game.example/item-id-8u5h2m.json")
|
|
51
|
+
Transaction successful. Transaction hash: 0x...
|
|
52
|
+
Events emitted:
|
|
53
|
+
- Transfer(0x0000000000000000000000000000000000000000, playerAddress, 7)
|
|
54
|
+
----
|
|
55
|
+
|
|
56
|
+
And the owner and metadata of each item queried:
|
|
57
|
+
|
|
58
|
+
[source,javascript]
|
|
59
|
+
----
|
|
60
|
+
> gameItem.ownerOf(7)
|
|
61
|
+
playerAddress
|
|
62
|
+
> gameItem.tokenURI(7)
|
|
63
|
+
"https://game.example/item-id-8u5h2m.json"
|
|
64
|
+
----
|
|
65
|
+
|
|
66
|
+
This `tokenURI` should resolve to a JSON document that might look something like:
|
|
67
|
+
|
|
68
|
+
[source,json]
|
|
69
|
+
----
|
|
70
|
+
{
|
|
71
|
+
"name": "Thor's hammer",
|
|
72
|
+
"description": "Mjölnir, the legendary hammer of the Norse god of thunder.",
|
|
73
|
+
"image": "https://game.example/item-id-8u5h2m.png",
|
|
74
|
+
"strength": 20
|
|
75
|
+
}
|
|
76
|
+
----
|
|
77
|
+
|
|
78
|
+
For more information about the `tokenURI` metadata JSON Schema, check out the https://eips.ethereum.org/EIPS/eip-721[ERC721 specification].
|
|
79
|
+
|
|
80
|
+
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!
|
|
81
|
+
|
|
82
|
+
TIP: If you'd like to put all item information on-chain, you can extend ERC721 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.
|
|
83
|
+
|
|
84
|
+
[[Presets]]
|
|
85
|
+
== Preset ERC721 contract
|
|
86
|
+
A preset ERC721 is available, https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v4.7/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol[`ERC721PresetMinterPauserAutoId`]. It is preconfigured with token minting (creation) with token ID and URI auto generation, the ability to stop all token transfers (pause), and it allows holders to burn (destroy) their tokens. The contract uses xref:access-control.adoc[Access Control] to control access to the minting and pausing functionality. The account that deploys the contract will be granted the minter and pauser roles, as well as the default admin role.
|
|
87
|
+
|
|
88
|
+
This contract is ready to deploy without having to write any Solidity code. It can be used as-is for quick prototyping and testing but is also suitable for production environments.
|
|
89
|
+
|
|
90
|
+
NOTE: Contract presets are now deprecated in favor of https://wizard.openzeppelin.com[Contracts Wizard] as a more powerful alternative.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
= ERC777
|
|
2
|
+
|
|
3
|
+
Like xref:erc20.adoc[ERC20], ERC777 is a standard for xref:tokens.adoc#different-kinds-of-tokens[_fungible_ tokens], and is focused around allowing more complex interactions when trading tokens. More generally, it brings tokens and Ether closer together by providing the equivalent of a `msg.value` field, but for tokens.
|
|
4
|
+
|
|
5
|
+
The standard also brings multiple quality-of-life improvements, such as getting rid of the confusion around `decimals`, minting and burning with proper events, among others, but its killer feature is *receive hooks*. A hook is simply a function in a contract that is called when tokens are sent to it, meaning *accounts and contracts can react to receiving tokens*.
|
|
6
|
+
|
|
7
|
+
This enables a lot of interesting use cases, including atomic purchases using tokens (no need to do `approve` and `transferFrom` in two separate transactions), rejecting reception of tokens (by reverting on the hook call), redirecting the received tokens to other addresses (similarly to how xref:api:payment#PaymentSplitter[`PaymentSplitter`] does it), among many others.
|
|
8
|
+
|
|
9
|
+
Furthermore, since contracts are required to implement these hooks in order to receive tokens, _no tokens can get stuck in a contract that is unaware of the ERC777 protocol_, as has happened countless times when using ERC20s.
|
|
10
|
+
|
|
11
|
+
== What If I Already Use ERC20?
|
|
12
|
+
|
|
13
|
+
The standard has you covered! The ERC777 standard is *backwards compatible with ERC20*, meaning you can interact with these tokens as if they were ERC20, using the standard functions, while still getting all of the niceties, including send hooks. See the https://eips.ethereum.org/EIPS/eip-777#backward-compatibility[EIP's Backwards Compatibility section] to learn more.
|
|
14
|
+
|
|
15
|
+
== Constructing an ERC777 Token Contract
|
|
16
|
+
|
|
17
|
+
We will replicate the `GLD` example of the xref:erc20.adoc#constructing-an-erc20-token-contract[ERC20 guide], this time using ERC777. As always, check out the xref:api:token/ERC777.adoc[`API reference`] to learn more about the details of each function.
|
|
18
|
+
|
|
19
|
+
[source,solidity]
|
|
20
|
+
----
|
|
21
|
+
// contracts/GLDToken.sol
|
|
22
|
+
// SPDX-License-Identifier: MIT
|
|
23
|
+
pragma solidity ^0.8.0;
|
|
24
|
+
|
|
25
|
+
import "@openzeppelin/contracts/token/ERC777/ERC777.sol";
|
|
26
|
+
|
|
27
|
+
contract GLDToken is ERC777 {
|
|
28
|
+
constructor(uint256 initialSupply, address[] memory defaultOperators)
|
|
29
|
+
ERC777("Gold", "GLD", defaultOperators)
|
|
30
|
+
{
|
|
31
|
+
_mint(msg.sender, initialSupply, "", "");
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
----
|
|
35
|
+
|
|
36
|
+
In this case, we'll be extending from the xref:api:token/ERC777.adoc#ERC777[`ERC777`] contract, which provides an implementation with compatibility support for ERC20. The API is quite similar to that of xref:api:token/ERC777.adoc#ERC777[`ERC777`], and we'll once again make use of xref:api:token/ERC777.adoc#ERC777-_mint-address-address-uint256-bytes-bytes-[`_mint`] to assign the `initialSupply` to the deployer account. Unlike xref:api:token/ERC20.adoc#ERC20-_mint-address-uint256-[ERC20's `_mint`], this one includes some extra parameters, but you can safely ignore those for now.
|
|
37
|
+
|
|
38
|
+
You'll notice both xref:api:token/ERC777.adoc#IERC777-name--[`name`] and xref:api:token/ERC777.adoc#IERC777-symbol--[`symbol`] are assigned, but not xref:api:token/ERC777.adoc#ERC777-decimals--[`decimals`]. The ERC777 specification makes it mandatory to include support for these functions (unlike ERC20, where it is optional and we had to include xref:api:token/ERC20.adoc#ERC20Detailed[`ERC20Detailed`]), but also mandates that `decimals` always returns a fixed value of `18`, so there's no need to set it ourselves. For a review of ``decimals``'s role and importance, refer back to our xref:erc20.adoc#a-note-on-decimals[ERC20 guide].
|
|
39
|
+
|
|
40
|
+
Finally, we'll need to set the xref:api:token/ERC777.adoc#IERC777-defaultOperators--[`defaultOperators`]: special accounts (usually other smart contracts) that will be able to transfer tokens on behalf of their holders. If you're not planning on using operators in your token, you can simply pass an empty array. _Stay tuned for an upcoming in-depth guide on ERC777 operators!_
|
|
41
|
+
|
|
42
|
+
That's it for a basic token contract! We can now deploy it, and use the same xref:api:token/ERC777.adoc#IERC777-balanceOf-address-[`balanceOf`] method to query the deployer's balance:
|
|
43
|
+
|
|
44
|
+
[source,javascript]
|
|
45
|
+
----
|
|
46
|
+
> GLDToken.balanceOf(deployerAddress)
|
|
47
|
+
1000
|
|
48
|
+
----
|
|
49
|
+
|
|
50
|
+
To move tokens from one account to another, we can use both xref:api:token/ERC777.adoc#ERC777-transfer-address-uint256-[``ERC20``'s `transfer`] method, or the new xref:api:token/ERC777.adoc#ERC777-send-address-uint256-bytes-[``ERC777``'s `send`], which fulfills a very similar role, but adds an optional `data` field:
|
|
51
|
+
|
|
52
|
+
[source,javascript]
|
|
53
|
+
----
|
|
54
|
+
> GLDToken.transfer(otherAddress, 300)
|
|
55
|
+
> GLDToken.send(otherAddress, 300, "")
|
|
56
|
+
> GLDToken.balanceOf(otherAddress)
|
|
57
|
+
600
|
|
58
|
+
> GLDToken.balanceOf(deployerAddress)
|
|
59
|
+
400
|
|
60
|
+
----
|
|
61
|
+
|
|
62
|
+
== Sending Tokens to Contracts
|
|
63
|
+
|
|
64
|
+
A key difference when using xref:api:token/ERC777.adoc#ERC777-send-address-uint256-bytes-[`send`] is that token transfers to other contracts may revert with the following message:
|
|
65
|
+
|
|
66
|
+
[source,text]
|
|
67
|
+
----
|
|
68
|
+
ERC777: token recipient contract has no implementer for ERC777TokensRecipient
|
|
69
|
+
----
|
|
70
|
+
|
|
71
|
+
This is a good thing! It means that the recipient contract has not registered itself as aware of the ERC777 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], worth multiple tens of thousands of dollars, and lacks methods to get them out of there. This has happened to virtually every ERC20-backed project, usually due to user error.
|
|
72
|
+
|
|
73
|
+
_An upcoming guide will cover how a contract can register itself as a recipient, send and receive hooks, and other advanced features of ERC777!_
|
|
@@ -0,0 +1,129 @@
|
|
|
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
|
+
// contracts/ModifiedAccessControl.sol
|
|
22
|
+
// SPDX-License-Identifier: MIT
|
|
23
|
+
pragma solidity ^0.8.0;
|
|
24
|
+
|
|
25
|
+
import "@openzeppelin/contracts/access/AccessControl.sol";
|
|
26
|
+
|
|
27
|
+
contract ModifiedAccessControl is AccessControl {
|
|
28
|
+
// Override the revokeRole function
|
|
29
|
+
function revokeRole(bytes32, address) public override {
|
|
30
|
+
revert("ModifiedAccessControl: cannot revoke roles");
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
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.
|
|
36
|
+
|
|
37
|
+
=== Calling `super`
|
|
38
|
+
|
|
39
|
+
Sometimes you want to _extend_ a parent's behavior, instead of outright changing it to something else. This is where `super` comes in.
|
|
40
|
+
|
|
41
|
+
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.
|
|
42
|
+
|
|
43
|
+
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].
|
|
44
|
+
|
|
45
|
+
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`:
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
```solidity
|
|
49
|
+
// contracts/ModifiedAccessControl.sol
|
|
50
|
+
// SPDX-License-Identifier: MIT
|
|
51
|
+
pragma solidity ^0.8.0;
|
|
52
|
+
|
|
53
|
+
import "@openzeppelin/contracts/access/AccessControl.sol";
|
|
54
|
+
|
|
55
|
+
contract ModifiedAccessControl is AccessControl {
|
|
56
|
+
function revokeRole(bytes32 role, address account) public override {
|
|
57
|
+
require(
|
|
58
|
+
role != DEFAULT_ADMIN_ROLE,
|
|
59
|
+
"ModifiedAccessControl: cannot revoke default admin role"
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
super.revokeRole(role, account);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
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.
|
|
68
|
+
|
|
69
|
+
[[using-hooks]]
|
|
70
|
+
== Using Hooks
|
|
71
|
+
|
|
72
|
+
Sometimes, in order to extend a parent contract you will need to override multiple related functions, which leads to code duplication and increased likelihood of bugs.
|
|
73
|
+
|
|
74
|
+
For example, consider implementing safe xref:api:token/ERC20.adoc#ERC20[`ERC20`] transfers in the style of xref:api:token/ERC721.adoc#IERC721Receiver[`IERC721Receiver`]. You may think overriding xref:api:token/ERC20.adoc#ERC20-transfer-address-uint256-[`transfer`] and xref:api:token/ERC20.adoc#ERC20-transferFrom-address-address-uint256-[`transferFrom`] would be enough, but what about xref:api:token/ERC20.adoc#ERC20-_transfer-address-address-uint256-[`_transfer`] and xref:api:token/ERC20.adoc#ERC20-_mint-address-uint256-[`_mint`]? To prevent you from having to deal with these details, we introduced **hooks**.
|
|
75
|
+
|
|
76
|
+
Hooks are simply functions that are called before or after some action takes place. They provide a centralized point to _hook into_ and extend the original behavior.
|
|
77
|
+
|
|
78
|
+
Here's how you would implement the `IERC721Receiver` pattern in `ERC20`, using the xref:api:token/ERC20.adoc#ERC20-_beforeTokenTransfer-address-address-uint256-[`_beforeTokenTransfer`] hook:
|
|
79
|
+
|
|
80
|
+
```solidity
|
|
81
|
+
pragma solidity ^0.8.0;
|
|
82
|
+
|
|
83
|
+
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
|
|
84
|
+
|
|
85
|
+
contract ERC20WithSafeTransfer is ERC20 {
|
|
86
|
+
function _beforeTokenTransfer(address from, address to, uint256 amount)
|
|
87
|
+
internal virtual override
|
|
88
|
+
{
|
|
89
|
+
super._beforeTokenTransfer(from, to, amount);
|
|
90
|
+
|
|
91
|
+
require(_validRecipient(to), "ERC20WithSafeTransfer: invalid recipient");
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function _validRecipient(address to) private view returns (bool) {
|
|
95
|
+
...
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
...
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Using hooks this way leads to cleaner and safer code, without having to rely on a deep understanding of the parent's internals.
|
|
103
|
+
|
|
104
|
+
=== Rules of Hooks
|
|
105
|
+
|
|
106
|
+
There's a few guidelines you should follow when writing code that uses hooks in order to prevent issues. They are very simple, but do make sure you follow them:
|
|
107
|
+
|
|
108
|
+
1. Whenever you override a parent's hook, re-apply the `virtual` attribute to the hook. That will allow child contracts to add more functionality to the hook.
|
|
109
|
+
2. **Always** call the parent's hook in your override using `super`. This will make sure all hooks in the inheritance tree are called: contracts like xref:api:token/ERC20.adoc#ERC20Pausable[`ERC20Pausable`] rely on this behavior.
|
|
110
|
+
|
|
111
|
+
```solidity
|
|
112
|
+
contract MyToken is ERC20 {
|
|
113
|
+
function _beforeTokenTransfer(address from, address to, uint256 amount)
|
|
114
|
+
internal virtual override // Add virtual here!
|
|
115
|
+
{
|
|
116
|
+
super._beforeTokenTransfer(from, to, amount); // Call parent hook
|
|
117
|
+
...
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
That's it! Enjoy simpler code using hooks!
|
|
122
|
+
|
|
123
|
+
== Security
|
|
124
|
+
|
|
125
|
+
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.
|
|
126
|
+
|
|
127
|
+
Custom overrides, and those of hooks in particular, may break some important assumptions and introduce vulnerabilities in otherwise secure code. 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 so as to fully understand their impact and guarantee their security.
|
|
128
|
+
|
|
129
|
+
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.
|