@diwantanushh/rapiddex-contracts 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/openzeppelin-contracts/contracts/drafts/IERC20Permit.sol +14 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol +14 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol +227 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol +20 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Enumerable.sol +10 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Metadata.sol +10 -0
- package/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol +8 -0
- package/lib/openzeppelin-contracts/contracts/utils/Address.sol +12 -0
- package/lib/openzeppelin-contracts/contracts/utils/Context.sol +8 -0
- package/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol +10 -0
- package/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol +6 -0
- package/lib/openzeppelin-contracts-master/.changeset/better-tires-pull.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/blue-jars-lay.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/bright-cooks-brush.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/chatty-dryers-joke.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/config.json +12 -0
- package/lib/openzeppelin-contracts-master/.changeset/cool-clocks-tick.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/curly-pandas-flow.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/flat-flies-hear.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/floppy-symbols-burn.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/fruity-coats-smash.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/gentle-apples-dance.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/happy-pants-decide.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/heavy-pots-reply.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/legal-cameras-sin.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/rare-bushes-march.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/red-gifts-appear.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/silver-falcons-lay.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/smooth-cows-notice.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/some-dolls-shine.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/spicy-seals-bake.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/sweet-houses-cheer.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/swift-trees-build.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/tame-rules-run.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/tangy-jokes-begin.md +5 -0
- package/lib/openzeppelin-contracts-master/.changeset/tidy-turkeys-build.md +5 -0
- package/lib/openzeppelin-contracts-master/.codecov.yml +16 -0
- package/lib/openzeppelin-contracts-master/.editorconfig +21 -0
- package/lib/openzeppelin-contracts-master/.gitattributes +3 -0
- package/lib/openzeppelin-contracts-master/.github/CODEOWNERS +10 -0
- package/lib/openzeppelin-contracts-master/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
- package/lib/openzeppelin-contracts-master/.github/ISSUE_TEMPLATE/config.yml +4 -0
- package/lib/openzeppelin-contracts-master/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
- package/lib/openzeppelin-contracts-master/.github/PULL_REQUEST_TEMPLATE.md +20 -0
- package/lib/openzeppelin-contracts-master/.github/actions/gas-compare/action.yml +51 -0
- package/lib/openzeppelin-contracts-master/.github/actions/setup/action.yml +108 -0
- package/lib/openzeppelin-contracts-master/.github/actions/storage-layout/action.yml +57 -0
- package/lib/openzeppelin-contracts-master/.github/workflows/actionlint.yml +18 -0
- package/lib/openzeppelin-contracts-master/.github/workflows/changeset.yml +28 -0
- package/lib/openzeppelin-contracts-master/.github/workflows/checks.yml +132 -0
- package/lib/openzeppelin-contracts-master/.github/workflows/docs.yml +19 -0
- package/lib/openzeppelin-contracts-master/.github/workflows/formal-verification.yml +63 -0
- package/lib/openzeppelin-contracts-master/.github/workflows/release-cycle.yml +212 -0
- package/lib/openzeppelin-contracts-master/.github/workflows/release-upgradeable.yml +97 -0
- package/lib/openzeppelin-contracts-master/.github/workflows/upgradeable.yml +35 -0
- package/lib/openzeppelin-contracts-master/.gitmodules +10 -0
- package/lib/openzeppelin-contracts-master/.husky/pre-commit +2 -0
- package/lib/openzeppelin-contracts-master/.mocharc.js +4 -0
- package/lib/openzeppelin-contracts-master/.prettierrc +15 -0
- package/lib/openzeppelin-contracts-master/.solcover.js +21 -0
- package/lib/openzeppelin-contracts-master/CHANGELOG.md +1424 -0
- package/lib/openzeppelin-contracts-master/CODE_OF_CONDUCT.md +73 -0
- package/lib/openzeppelin-contracts-master/CONTRIBUTING.md +36 -0
- package/lib/openzeppelin-contracts-master/FUNDING.json +10 -0
- package/lib/openzeppelin-contracts-master/GUIDELINES.md +170 -0
- package/lib/openzeppelin-contracts-master/LICENSE +22 -0
- package/lib/openzeppelin-contracts-master/README.md +122 -0
- package/lib/openzeppelin-contracts-master/RELEASING.md +45 -0
- package/lib/openzeppelin-contracts-master/SECURITY.md +43 -0
- package/lib/openzeppelin-contracts-master/audits/2017-03.md +292 -0
- package/lib/openzeppelin-contracts-master/audits/2018-10.pdf +0 -0
- package/lib/openzeppelin-contracts-master/audits/2022-10-Checkpoints.pdf +0 -0
- package/lib/openzeppelin-contracts-master/audits/2022-10-ERC4626.pdf +0 -0
- package/lib/openzeppelin-contracts-master/audits/2023-05-v4.9.pdf +0 -0
- package/lib/openzeppelin-contracts-master/audits/2023-10-v5.0.pdf +0 -0
- package/lib/openzeppelin-contracts-master/audits/2024-10-v5.1.pdf +0 -0
- package/lib/openzeppelin-contracts-master/audits/2024-12-v5.2.pdf +0 -0
- package/lib/openzeppelin-contracts-master/audits/2025-04-v5.3.pdf +0 -0
- package/lib/openzeppelin-contracts-master/audits/2025-07-v5.4.pdf +0 -0
- package/lib/openzeppelin-contracts-master/audits/2025-10-v5.5.pdf +0 -0
- package/lib/openzeppelin-contracts-master/audits/2025-11-RLP.pdf +0 -0
- package/lib/openzeppelin-contracts-master/audits/2026-02-v5.6.pdf +0 -0
- package/lib/openzeppelin-contracts-master/audits/README.md +24 -0
- package/lib/openzeppelin-contracts-master/contracts/access/AccessControl.sol +207 -0
- package/lib/openzeppelin-contracts-master/contracts/access/IAccessControl.sol +98 -0
- package/lib/openzeppelin-contracts-master/contracts/access/Ownable.sol +100 -0
- package/lib/openzeppelin-contracts-master/contracts/access/Ownable2Step.sol +67 -0
- package/lib/openzeppelin-contracts-master/contracts/access/README.adoc +45 -0
- package/lib/openzeppelin-contracts-master/contracts/access/extensions/AccessControlDefaultAdminRules.sol +372 -0
- package/lib/openzeppelin-contracts-master/contracts/access/extensions/AccessControlEnumerable.sol +81 -0
- package/lib/openzeppelin-contracts-master/contracts/access/extensions/IAccessControlDefaultAdminRules.sol +192 -0
- package/lib/openzeppelin-contracts-master/contracts/access/extensions/IAccessControlEnumerable.sol +31 -0
- package/lib/openzeppelin-contracts-master/contracts/access/manager/AccessManaged.sol +112 -0
- package/lib/openzeppelin-contracts-master/contracts/access/manager/AccessManager.sol +751 -0
- package/lib/openzeppelin-contracts-master/contracts/access/manager/AuthorityUtils.sol +36 -0
- package/lib/openzeppelin-contracts-master/contracts/access/manager/IAccessManaged.sol +32 -0
- package/lib/openzeppelin-contracts-master/contracts/access/manager/IAccessManager.sol +404 -0
- package/lib/openzeppelin-contracts-master/contracts/access/manager/IAuthority.sol +14 -0
- package/lib/openzeppelin-contracts-master/contracts/account/Account.sol +151 -0
- package/lib/openzeppelin-contracts-master/contracts/account/README.adoc +30 -0
- package/lib/openzeppelin-contracts-master/contracts/account/extensions/draft-AccountERC7579.sol +420 -0
- package/lib/openzeppelin-contracts-master/contracts/account/extensions/draft-AccountERC7579Hooked.sol +171 -0
- package/lib/openzeppelin-contracts-master/contracts/account/extensions/draft-ERC7821.sol +70 -0
- package/lib/openzeppelin-contracts-master/contracts/account/utils/EIP7702Utils.sol +21 -0
- package/lib/openzeppelin-contracts-master/contracts/account/utils/draft-ERC4337Utils.sol +279 -0
- package/lib/openzeppelin-contracts-master/contracts/account/utils/draft-ERC7579Utils.sol +280 -0
- package/lib/openzeppelin-contracts-master/contracts/crosschain/CrosschainLinked.sol +109 -0
- package/lib/openzeppelin-contracts-master/contracts/crosschain/CrosschainRemoteExecutor.sol +98 -0
- package/lib/openzeppelin-contracts-master/contracts/crosschain/ERC7786Recipient.sol +66 -0
- package/lib/openzeppelin-contracts-master/contracts/crosschain/README.adoc +44 -0
- package/lib/openzeppelin-contracts-master/contracts/crosschain/bridges/BridgeERC1155.sol +101 -0
- package/lib/openzeppelin-contracts-master/contracts/crosschain/bridges/BridgeERC20.sol +37 -0
- package/lib/openzeppelin-contracts-master/contracts/crosschain/bridges/BridgeERC721.sol +61 -0
- package/lib/openzeppelin-contracts-master/contracts/crosschain/bridges/BridgeERC7802.sol +34 -0
- package/lib/openzeppelin-contracts-master/contracts/crosschain/bridges/abstract/BridgeFungible.sol +83 -0
- package/lib/openzeppelin-contracts-master/contracts/crosschain/bridges/abstract/BridgeMultiToken.sol +92 -0
- package/lib/openzeppelin-contracts-master/contracts/crosschain/bridges/abstract/BridgeNonFungible.sol +75 -0
- package/lib/openzeppelin-contracts-master/contracts/finance/README.adoc +14 -0
- package/lib/openzeppelin-contracts-master/contracts/finance/VestingWallet.sol +160 -0
- package/lib/openzeppelin-contracts-master/contracts/finance/VestingWalletCliff.sol +54 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/Governor.sol +820 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/IGovernor.sol +449 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/README.adoc +201 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/TimelockController.sol +470 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/extensions/GovernorCountingFractional.sol +190 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/extensions/GovernorCountingOverridable.sol +222 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/extensions/GovernorCountingSimple.sol +96 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/extensions/GovernorCrosschain.sol +30 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/extensions/GovernorNoncesKeyed.sol +91 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/extensions/GovernorPreventLateQuorum.sol +92 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/extensions/GovernorProposalGuardian.sol +59 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/extensions/GovernorSequentialProposalId.sol +75 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/extensions/GovernorSettings.sol +106 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/extensions/GovernorStorage.sol +134 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/extensions/GovernorSuperQuorum.sol +59 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/extensions/GovernorTimelockAccess.sol +346 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/extensions/GovernorTimelockCompound.sol +162 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/extensions/GovernorTimelockControl.sol +167 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/extensions/GovernorVotes.sol +64 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +113 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol +135 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/utils/IVotes.sol +60 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/utils/Votes.sol +245 -0
- package/lib/openzeppelin-contracts-master/contracts/governance/utils/VotesExtended.sol +85 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC1155.sol +6 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC1155MetadataURI.sol +6 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC1155Receiver.sol +6 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC1271.sol +17 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC1363.sol +86 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC1363Receiver.sol +32 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC1363Spender.sol +26 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC165.sol +6 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC1820Implementer.sol +20 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC1820Registry.sol +112 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC1967.sol +24 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC20.sol +6 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC20Metadata.sol +6 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC2309.sol +19 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC2612.sol +8 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC2981.sol +26 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC3156.sol +7 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC3156FlashBorrower.sol +27 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC3156FlashLender.sol +41 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC4626.sol +230 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC4906.sol +20 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC5267.sol +28 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC5313.sol +16 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC5805.sol +9 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC6372.sol +17 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC6909.sol +125 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC721.sol +6 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC721Enumerable.sol +6 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC721Metadata.sol +6 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC721Receiver.sol +6 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC7751.sol +12 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC777.sol +200 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC777Recipient.sol +35 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC777Sender.sol +35 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/IERC7913.sol +18 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/README.adoc +138 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/draft-IERC1822.sol +20 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/draft-IERC4337.sol +255 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/draft-IERC6093.sol +162 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/draft-IERC7579.sol +227 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/draft-IERC7674.sol +17 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/draft-IERC7786.sol +64 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/draft-IERC7802.sol +32 -0
- package/lib/openzeppelin-contracts-master/contracts/interfaces/draft-IERC7821.sol +44 -0
- package/lib/openzeppelin-contracts-master/contracts/metatx/ERC2771Context.sol +90 -0
- package/lib/openzeppelin-contracts-master/contracts/metatx/ERC2771Forwarder.sol +379 -0
- package/lib/openzeppelin-contracts-master/contracts/metatx/README.adoc +17 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/AccessManagedTarget.sol +34 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/AccessManagerMock.sol +20 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/ArraysMock.sol +171 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/AuthorityMock.sol +69 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/Base64Dirty.sol +19 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/BatchCaller.sol +20 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/CallReceiverMock.sol +107 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/ConstructorMock.sol +34 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/ContextMock.sol +35 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/DummyImplementation.sol +61 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/EIP712Verifier.sol +16 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/ERC1271WalletMock.sol +24 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/ERC165Mock.sol +100 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/ERC2771ContextMock.sol +28 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/ERC3156FlashBorrowerMock.sol +53 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/EtherReceiverMock.sol +17 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/InitializableMock.sol +130 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/MerkleProofCustomHashMock.sol +62 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/MerkleTreeMock.sol +52 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/MulticallHelper.sol +23 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/MultipleInheritanceInitializableMocks.sol +131 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/PausableMock.sol +31 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/ReentrancyAttack.sol +17 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/ReentrancyMock.sol +59 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/ReentrancyTransientMock.sol +59 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/RegressionImplementation.sol +61 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/SingleInheritanceInitializableMocks.sol +49 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/Stateless.sol +64 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/StorageSlotMock.sol +87 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/TimelockReentrant.sol +26 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/TransientSlotMock.sol +61 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/UpgradeableBeaconMock.sol +27 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/VotesExtendedMock.sol +44 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/VotesMock.sol +44 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/account/AccountMock.sol +181 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/account/modules/ERC7579Mock.sol +141 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/account/utils/ERC7579UtilsMock.sol +23 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/compound/CompTimelock.sol +174 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/crosschain/ERC7786GatewayMock.sol +56 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/crosschain/ERC7786RecipientMock.sol +31 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/AccessManagerEnumerable.sol +161 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/ERC20WithAutoMinerReward.sol +22 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/ERC4626Fees.sol +109 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/MyNFT.sol +9 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/access-control/AccessControlERC20MintBase.sol +25 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/access-control/AccessControlERC20MintMissing.sol +24 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/access-control/AccessControlERC20MintOnlyRole.sol +23 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/access-control/AccessControlModified.sol +14 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/access-control/AccessManagedERC20MintBase.sol +16 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/access-control/MyContractOwnable.sol +17 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/account/MyAccountEIP7702.sol +20 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/account/MyFactoryAccount.sol +37 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/governance/MyGovernor.sol +80 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/governance/MyToken.sol +21 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/governance/MyTokenTimestampBased.sol +32 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/governance/MyTokenWrapped.sol +28 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/token/ERC1155/GameItems.sol +21 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/token/ERC1155/MyERC115HolderContract.sol +7 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/token/ERC20/GLDToken.sol +11 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/token/ERC6909/ERC6909GameItems.sol +26 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/token/ERC721/GameItem.sol +19 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/utilities/Base64NFT.sol +27 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/docs/utilities/Multicall.sol +15 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/governance/GovernorCountingOverridableMock.sol +18 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/governance/GovernorCrosschain.sol +20 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/governance/GovernorFractionalMock.sol +14 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/governance/GovernorMock.sol +14 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/governance/GovernorNoncesKeyedMock.sol +44 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/governance/GovernorPreventLateQuorumMock.sol +40 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/governance/GovernorProposalGuardianMock.sol +27 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/governance/GovernorSequentialProposalIdMock.sol +39 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/governance/GovernorStorageMock.sol +79 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/governance/GovernorSuperQuorumMock.sol +95 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/governance/GovernorTimelockAccessMock.sol +70 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/governance/GovernorTimelockCompoundMock.sol +69 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/governance/GovernorTimelockControlMock.sol +69 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/governance/GovernorVoteMock.sol +20 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/governance/GovernorVotesSuperQuorumFractionMock.sol +37 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/governance/GovernorWithParamsMock.sol +51 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/proxy/BadBeacon.sol +11 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/proxy/ClashingImplementation.sol +19 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/proxy/ERC1967ProxyUnsafe.sol +13 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/proxy/UUPSUpgradeableMock.sol +35 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC1155ReceiverMock.sol +74 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC1363ForceApproveMock.sol +13 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC1363NoReturnMock.sol +33 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC1363ReceiverMock.sol +52 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC1363ReturnFalseMock.sol +34 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC1363SpenderMock.sol +47 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC20ApprovalMock.sol +10 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC20BridgeableMock.sol +30 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC20DecimalsMock.sol +17 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC20ExcessDecimalsMock.sol +9 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC20FlashMintMock.sol +26 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC20ForceApproveMock.sol +13 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC20GetterHelper.sol +38 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC20Mock.sol +16 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC20MulticallMock.sol +8 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC20NoReturnMock.sol +30 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC20Reentrant.sol +39 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC20ReturnFalseMock.sol +19 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC20VotesAdditionalCheckpointsMock.sol +33 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC20VotesLegacyMock.sol +253 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC20VotesTimestampMock.sol +31 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC4626LimitsMock.sol +23 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC4626Mock.sol +17 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC4626OffsetMock.sol +17 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC4646FeesMock.sol +40 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC721ConsecutiveEnumerableMock.sol +42 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC721ConsecutiveMock.sol +61 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC721ReceiverMock.sol +47 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/token/ERC721URIStorageMock.sol +17 -0
- package/lib/openzeppelin-contracts-master/contracts/mocks/utils/cryptography/ERC7739Mock.sol +12 -0
- package/lib/openzeppelin-contracts-master/contracts/package.json +32 -0
- package/lib/openzeppelin-contracts-master/contracts/proxy/Clones.sol +294 -0
- package/lib/openzeppelin-contracts-master/contracts/proxy/ERC1967/ERC1967Proxy.sol +62 -0
- package/lib/openzeppelin-contracts-master/contracts/proxy/ERC1967/ERC1967Utils.sol +177 -0
- package/lib/openzeppelin-contracts-master/contracts/proxy/Proxy.sol +69 -0
- package/lib/openzeppelin-contracts-master/contracts/proxy/README.adoc +87 -0
- package/lib/openzeppelin-contracts-master/contracts/proxy/beacon/BeaconProxy.sol +57 -0
- package/lib/openzeppelin-contracts-master/contracts/proxy/beacon/IBeacon.sol +16 -0
- package/lib/openzeppelin-contracts-master/contracts/proxy/beacon/UpgradeableBeacon.sol +70 -0
- package/lib/openzeppelin-contracts-master/contracts/proxy/transparent/ProxyAdmin.sol +45 -0
- package/lib/openzeppelin-contracts-master/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +118 -0
- package/lib/openzeppelin-contracts-master/contracts/proxy/utils/Initializable.sol +238 -0
- package/lib/openzeppelin-contracts-master/contracts/proxy/utils/UUPSUpgradeable.sol +148 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC1155/ERC1155.sol +417 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC1155/IERC1155.sol +123 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC1155/IERC1155Receiver.sol +59 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC1155/README.adoc +46 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +22 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC1155/extensions/ERC1155Crosschain.sol +53 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +38 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC1155/extensions/ERC1155Supply.sol +88 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +58 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +20 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC1155/utils/ERC1155Holder.sol +42 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC1155/utils/ERC1155Utils.sol +88 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/ERC20.sol +305 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/IERC20.sol +79 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/README.adoc +81 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/extensions/ERC1363.sol +135 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/extensions/ERC20Burnable.sol +39 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/extensions/ERC20Capped.sol +54 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/extensions/ERC20Crosschain.sol +39 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/extensions/ERC20FlashMint.sol +130 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/extensions/ERC20Pausable.sol +33 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/extensions/ERC20Permit.sol +77 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/extensions/ERC20Votes.sol +83 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/extensions/ERC20Wrapper.sol +93 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/extensions/ERC4626.sol +298 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/extensions/IERC20Metadata.sol +26 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/extensions/IERC20Permit.sol +90 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/extensions/draft-ERC20Bridgeable.sol +51 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/extensions/draft-ERC20TemporaryApproval.sol +119 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/utils/ERC1363Utils.sol +95 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC20/utils/SafeERC20.sol +292 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC6909/ERC6909.sol +224 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC6909/README.adoc +27 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC6909/extensions/ERC6909ContentURI.sol +59 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC6909/extensions/ERC6909Metadata.sol +83 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC6909/extensions/ERC6909TokenSupply.sol +41 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC721/ERC721.sol +433 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC721/IERC721.sol +135 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC721/IERC721Receiver.sol +28 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC721/README.adoc +72 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC721/extensions/ERC721Burnable.sol +26 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC721/extensions/ERC721Consecutive.sol +176 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC721/extensions/ERC721Crosschain.sol +37 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC721/extensions/ERC721Enumerable.sol +165 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC721/extensions/ERC721Pausable.sol +37 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC721/extensions/ERC721Royalty.sol +26 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC721/extensions/ERC721URIStorage.sol +62 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC721/extensions/ERC721Votes.sol +47 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC721/extensions/ERC721Wrapper.sol +102 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC721/extensions/IERC721Enumerable.sol +29 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC721/extensions/IERC721Metadata.sol +27 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC721/utils/ERC721Holder.sol +26 -0
- package/lib/openzeppelin-contracts-master/contracts/token/ERC721/utils/ERC721Utils.sol +50 -0
- package/lib/openzeppelin-contracts-master/contracts/token/common/ERC2981.sol +139 -0
- package/lib/openzeppelin-contracts-master/contracts/token/common/README.adoc +10 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Address.sol +167 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Arrays.sol +888 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Base58.sol +240 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Base64.sol +234 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Blockhash.sol +54 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Bytes.sol +329 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/CAIP10.sol +54 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/CAIP2.sol +51 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Calldata.sol +25 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Comparators.sol +19 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Context.sol +28 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Create2.sol +91 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Create3.sol +134 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/ERC6372Utils.sol +52 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Errors.sol +34 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/LowLevelCall.sol +127 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Memory.sol +149 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Multicall.sol +37 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Nonces.sol +46 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/NoncesKeyed.sol +74 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Packing.sol +1656 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Panic.sol +57 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Pausable.sol +112 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/README.adoc +169 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/RLP.sol +487 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/ReentrancyGuard.sol +119 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/ReentrancyGuardTransient.sol +84 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/RelayedCall.sol +145 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/ShortStrings.sol +122 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/SimulateCall.sol +113 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/SlotDerivation.sol +155 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/StorageSlot.sol +143 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/Strings.sol +532 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/TransientSlot.sol +183 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/ECDSA.sol +284 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/EIP712.sol +160 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/Hashes.sol +31 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/MerkleProof.sol +510 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/MessageHashUtils.sol +228 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/P256.sol +408 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/README.adoc +76 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/RSA.sol +154 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/SignatureChecker.sol +191 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/TrieProof.sol +256 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/WebAuthn.sol +269 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/draft-ERC7739Utils.sol +207 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/signers/AbstractSigner.sol +23 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/signers/MultiSignerERC7913.sol +259 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol +208 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/signers/SignerECDSA.sol +56 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/signers/SignerEIP7702.sol +25 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/signers/SignerERC7913.sol +63 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/signers/SignerP256.sol +64 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/signers/SignerRSA.sol +65 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/signers/SignerWebAuthn.sol +46 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/signers/draft-ERC7739.sol +98 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/verifiers/ERC7913P256Verifier.sol +29 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/verifiers/ERC7913RSAVerifier.sol +23 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/cryptography/verifiers/ERC7913WebAuthnVerifier.sol +35 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/draft-InteroperableAddress.sol +245 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/introspection/ERC165.sol +25 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/introspection/ERC165Checker.sol +142 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/introspection/IERC165.sol +25 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/math/Math.sol +763 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/math/SafeCast.sol +1162 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/math/SignedMath.sol +68 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/structs/Accumulators.sol +135 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/structs/BitMaps.sol +60 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/structs/Checkpoints.sol +833 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/structs/CircularBuffer.sol +152 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/structs/DoubleEndedQueue.sol +238 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/structs/EnumerableMap.sol +1443 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/structs/EnumerableSet.sol +895 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/structs/Heap.sol +259 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/structs/MerkleTree.sol +267 -0
- package/lib/openzeppelin-contracts-master/contracts/utils/types/Time.sol +133 -0
- package/lib/openzeppelin-contracts-master/contracts/vendor/compound/ICompoundTimelock.sol +86 -0
- package/lib/openzeppelin-contracts-master/contracts/vendor/compound/LICENSE +11 -0
- package/lib/openzeppelin-contracts-master/docs/README.md +16 -0
- package/lib/openzeppelin-contracts-master/docs/antora.yml +7 -0
- package/lib/openzeppelin-contracts-master/docs/config.js +21 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/images/access-control-multiple.svg +97 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/images/access-manager-functions.svg +47 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/images/access-manager.svg +99 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/images/erc4626-attack.png +0 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/images/erc4626-mint.png +0 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/images/tally-exec.png +0 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/images/tally-vote.png +0 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/nav.adoc +29 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/access-control.adoc +339 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/account-abstraction.adoc +100 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/accounts.adoc +354 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/backwards-compatibility.adoc +50 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/eoa-delegation.adoc +143 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/erc1155.adoc +118 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/erc20-supply.adoc +71 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/erc20.adoc +67 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/erc4626.adoc +208 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/erc6909.adoc +47 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/erc721.adoc +58 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/extending-contracts.adoc +67 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/faq.adoc +13 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/governance.adoc +242 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/index.adoc +100 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/multisig.adoc +308 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/tokens.adoc +31 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/upgradeable.adoc +75 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/utilities.adoc +634 -0
- package/lib/openzeppelin-contracts-master/docs/modules/ROOT/pages/wizard.adoc +15 -0
- package/lib/openzeppelin-contracts-master/docs/templates/contract.hbs +141 -0
- package/lib/openzeppelin-contracts-master/docs/templates/helpers.js +46 -0
- package/lib/openzeppelin-contracts-master/docs/templates/page.hbs +4 -0
- package/lib/openzeppelin-contracts-master/docs/templates/properties.js +88 -0
- package/lib/openzeppelin-contracts-master/eslint.config.mjs +29 -0
- package/lib/openzeppelin-contracts-master/foundry.toml +20 -0
- package/lib/openzeppelin-contracts-master/fv/Makefile +54 -0
- package/lib/openzeppelin-contracts-master/fv/README.md +60 -0
- package/lib/openzeppelin-contracts-master/fv/diff/access_manager_AccessManager.sol.patch +97 -0
- package/lib/openzeppelin-contracts-master/fv/diff/account_extensions_draft-AccountERC7579.sol.patch +25 -0
- package/lib/openzeppelin-contracts-master/fv/diff/token_ERC721_ERC721.sol.patch +11 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/AccessControlDefaultAdminRulesHarness.sol +46 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/AccessControlHarness.sol +6 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/AccessManagedHarness.sol +36 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/AccessManagerHarness.sol +116 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/AccountHarness.sol +60 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/DoubleEndedQueueHarness.sol +58 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/ERC20FlashMintHarness.sol +36 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/ERC20PermitHarness.sol +16 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/ERC20WrapperHarness.sol +22 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/ERC721Harness.sol +37 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/ERC721ReceiverHarness.sol +11 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/EnumerableMapHarness.sol +55 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/EnumerableSetHarness.sol +35 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/InitializableHarness.sol +23 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/NoncesHarness.sol +14 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/Ownable2StepHarness.sol +10 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/OwnableHarness.sol +10 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/PausableHarness.sol +18 -0
- package/lib/openzeppelin-contracts-master/fv/harnesses/TimelockControllerHarness.sol +13 -0
- package/lib/openzeppelin-contracts-master/fv/reports/2021-10.pdf +0 -0
- package/lib/openzeppelin-contracts-master/fv/reports/2022-03.pdf +0 -0
- package/lib/openzeppelin-contracts-master/fv/reports/2022-05.pdf +0 -0
- package/lib/openzeppelin-contracts-master/fv/run.js +68 -0
- package/lib/openzeppelin-contracts-master/fv/specs/AccessControl.conf +8 -0
- package/lib/openzeppelin-contracts-master/fv/specs/AccessControl.spec +119 -0
- package/lib/openzeppelin-contracts-master/fv/specs/AccessControlDefaultAdminRules.conf +8 -0
- package/lib/openzeppelin-contracts-master/fv/specs/AccessControlDefaultAdminRules.spec +467 -0
- package/lib/openzeppelin-contracts-master/fv/specs/AccessManaged.conf +14 -0
- package/lib/openzeppelin-contracts-master/fv/specs/AccessManaged.spec +49 -0
- package/lib/openzeppelin-contracts-master/fv/specs/AccessManager.conf +10 -0
- package/lib/openzeppelin-contracts-master/fv/specs/AccessManager.spec +837 -0
- package/lib/openzeppelin-contracts-master/fv/specs/Account.conf +9 -0
- package/lib/openzeppelin-contracts-master/fv/specs/Account.spec +490 -0
- package/lib/openzeppelin-contracts-master/fv/specs/DoubleEndedQueue.conf +8 -0
- package/lib/openzeppelin-contracts-master/fv/specs/DoubleEndedQueue.spec +300 -0
- package/lib/openzeppelin-contracts-master/fv/specs/ERC20.conf +9 -0
- package/lib/openzeppelin-contracts-master/fv/specs/ERC20.spec +352 -0
- package/lib/openzeppelin-contracts-master/fv/specs/ERC20FlashMint.conf +10 -0
- package/lib/openzeppelin-contracts-master/fv/specs/ERC20FlashMint.spec +55 -0
- package/lib/openzeppelin-contracts-master/fv/specs/ERC20Wrapper.conf +13 -0
- package/lib/openzeppelin-contracts-master/fv/specs/ERC20Wrapper.spec +226 -0
- package/lib/openzeppelin-contracts-master/fv/specs/ERC721.conf +10 -0
- package/lib/openzeppelin-contracts-master/fv/specs/ERC721.spec +695 -0
- package/lib/openzeppelin-contracts-master/fv/specs/EnumerableMap.conf +8 -0
- package/lib/openzeppelin-contracts-master/fv/specs/EnumerableMap.spec +364 -0
- package/lib/openzeppelin-contracts-master/fv/specs/EnumerableSet.conf +8 -0
- package/lib/openzeppelin-contracts-master/fv/specs/EnumerableSet.spec +272 -0
- package/lib/openzeppelin-contracts-master/fv/specs/Initializable.conf +8 -0
- package/lib/openzeppelin-contracts-master/fv/specs/Initializable.spec +176 -0
- package/lib/openzeppelin-contracts-master/fv/specs/Nonces.conf +8 -0
- package/lib/openzeppelin-contracts-master/fv/specs/Nonces.spec +92 -0
- package/lib/openzeppelin-contracts-master/fv/specs/Ownable.conf +8 -0
- package/lib/openzeppelin-contracts-master/fv/specs/Ownable.spec +77 -0
- package/lib/openzeppelin-contracts-master/fv/specs/Ownable2Step.conf +8 -0
- package/lib/openzeppelin-contracts-master/fv/specs/Ownable2Step.spec +108 -0
- package/lib/openzeppelin-contracts-master/fv/specs/Pausable.conf +8 -0
- package/lib/openzeppelin-contracts-master/fv/specs/Pausable.spec +96 -0
- package/lib/openzeppelin-contracts-master/fv/specs/TimelockController.conf +10 -0
- package/lib/openzeppelin-contracts-master/fv/specs/TimelockController.spec +299 -0
- package/lib/openzeppelin-contracts-master/fv/specs/helpers/helpers.spec +13 -0
- package/lib/openzeppelin-contracts-master/fv/specs/methods/IAccessControl.spec +8 -0
- package/lib/openzeppelin-contracts-master/fv/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
- package/lib/openzeppelin-contracts-master/fv/specs/methods/IAccessManaged.spec +5 -0
- package/lib/openzeppelin-contracts-master/fv/specs/methods/IAccessManager.spec +33 -0
- package/lib/openzeppelin-contracts-master/fv/specs/methods/IAccount.spec +34 -0
- package/lib/openzeppelin-contracts-master/fv/specs/methods/IERC20.spec +11 -0
- package/lib/openzeppelin-contracts-master/fv/specs/methods/IERC2612.spec +5 -0
- package/lib/openzeppelin-contracts-master/fv/specs/methods/IERC3156FlashBorrower.spec +3 -0
- package/lib/openzeppelin-contracts-master/fv/specs/methods/IERC3156FlashLender.spec +5 -0
- package/lib/openzeppelin-contracts-master/fv/specs/methods/IERC5313.spec +3 -0
- package/lib/openzeppelin-contracts-master/fv/specs/methods/IERC721.spec +17 -0
- package/lib/openzeppelin-contracts-master/fv/specs/methods/IERC721Receiver.spec +3 -0
- package/lib/openzeppelin-contracts-master/fv/specs/methods/IOwnable.spec +5 -0
- package/lib/openzeppelin-contracts-master/fv/specs/methods/IOwnable2Step.spec +7 -0
- package/lib/openzeppelin-contracts-master/fv-requirements.txt +4 -0
- package/lib/openzeppelin-contracts-master/hardhat/async-test-sanity.js +10 -0
- package/lib/openzeppelin-contracts-master/hardhat/env-artifacts.js +29 -0
- package/lib/openzeppelin-contracts-master/hardhat/ignore-unreachable-warnings.js +45 -0
- package/lib/openzeppelin-contracts-master/hardhat/remappings.js +18 -0
- package/lib/openzeppelin-contracts-master/hardhat/skip-foundry-tests.js +6 -0
- package/lib/openzeppelin-contracts-master/hardhat/task-test-get-files.js +25 -0
- package/lib/openzeppelin-contracts-master/hardhat.config.js +124 -0
- package/lib/openzeppelin-contracts-master/logo.svg +15 -0
- package/lib/openzeppelin-contracts-master/netlify.toml +3 -0
- package/lib/openzeppelin-contracts-master/package-lock.json +11197 -0
- package/lib/openzeppelin-contracts-master/package.json +109 -0
- package/lib/openzeppelin-contracts-master/remappings.txt +1 -0
- package/lib/openzeppelin-contracts-master/renovate.json +4 -0
- package/lib/openzeppelin-contracts-master/scripts/checks/compare-layout.js +28 -0
- package/lib/openzeppelin-contracts-master/scripts/checks/compareGasReports.js +249 -0
- package/lib/openzeppelin-contracts-master/scripts/checks/coverage.sh +24 -0
- package/lib/openzeppelin-contracts-master/scripts/checks/extract-layout.js +39 -0
- package/lib/openzeppelin-contracts-master/scripts/checks/generation.sh +6 -0
- package/lib/openzeppelin-contracts-master/scripts/checks/inheritance-ordering.js +56 -0
- package/lib/openzeppelin-contracts-master/scripts/checks/pragma-validity.js +45 -0
- package/lib/openzeppelin-contracts-master/scripts/fetch-common-contracts.js +50 -0
- package/lib/openzeppelin-contracts-master/scripts/gen-nav.js +81 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/format-lines.js +16 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/helpers/sanitize.js +5 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/run.js +61 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/Arrays.js +505 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/Arrays.opts.js +9 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/Checkpoints.js +242 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/Checkpoints.opts.js +18 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/Checkpoints.t.js +141 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/Enumerable.opts.js +56 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/EnumerableMap.js +464 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/EnumerableSet.js +470 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/MerkleProof.js +186 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/MerkleProof.opts.js +11 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/Packing.js +92 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/Packing.opts.js +3 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/Packing.t.js +48 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/SafeCast.js +136 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/Slot.opts.js +15 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/SlotDerivation.js +119 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/SlotDerivation.t.js +127 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/StorageSlot.js +77 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/StorageSlotMock.js +57 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/TransientSlot.js +80 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/TransientSlotMock.js +35 -0
- package/lib/openzeppelin-contracts-master/scripts/generate/templates/conversion.js +34 -0
- package/lib/openzeppelin-contracts-master/scripts/get-contracts-metadata.js +55 -0
- package/lib/openzeppelin-contracts-master/scripts/git-user-config.sh +6 -0
- package/lib/openzeppelin-contracts-master/scripts/helpers.js +7 -0
- package/lib/openzeppelin-contracts-master/scripts/minimize-pragma.js +140 -0
- package/lib/openzeppelin-contracts-master/scripts/prepack.sh +23 -0
- package/lib/openzeppelin-contracts-master/scripts/prepare-docs.sh +26 -0
- package/lib/openzeppelin-contracts-master/scripts/release/format-changelog.js +33 -0
- package/lib/openzeppelin-contracts-master/scripts/release/synchronize-versions.js +15 -0
- package/lib/openzeppelin-contracts-master/scripts/release/update-comment.js +34 -0
- package/lib/openzeppelin-contracts-master/scripts/release/version.sh +11 -0
- package/lib/openzeppelin-contracts-master/scripts/release/workflow/check-upgradeable.sh +27 -0
- package/lib/openzeppelin-contracts-master/scripts/release/workflow/exit-prerelease.sh +8 -0
- package/lib/openzeppelin-contracts-master/scripts/release/workflow/github-release.js +48 -0
- package/lib/openzeppelin-contracts-master/scripts/release/workflow/integrity-check.sh +20 -0
- package/lib/openzeppelin-contracts-master/scripts/release/workflow/pack.sh +26 -0
- package/lib/openzeppelin-contracts-master/scripts/release/workflow/publish.sh +26 -0
- package/lib/openzeppelin-contracts-master/scripts/release/workflow/rerun.js +7 -0
- package/lib/openzeppelin-contracts-master/scripts/release/workflow/set-changesets-pr-title.js +17 -0
- package/lib/openzeppelin-contracts-master/scripts/release/workflow/start.sh +35 -0
- package/lib/openzeppelin-contracts-master/scripts/release/workflow/state.js +112 -0
- package/lib/openzeppelin-contracts-master/scripts/remove-ignored-artifacts.js +45 -0
- package/lib/openzeppelin-contracts-master/scripts/set-max-old-space-size.sh +10 -0
- package/lib/openzeppelin-contracts-master/scripts/solc-versions.js +15 -0
- package/lib/openzeppelin-contracts-master/scripts/solhint-custom/index.js +118 -0
- package/lib/openzeppelin-contracts-master/scripts/solhint-custom/package.json +8 -0
- package/lib/openzeppelin-contracts-master/scripts/update-docs-branch.js +65 -0
- package/lib/openzeppelin-contracts-master/scripts/upgradeable/README.md +21 -0
- package/lib/openzeppelin-contracts-master/scripts/upgradeable/alias/Initializable.sol +5 -0
- package/lib/openzeppelin-contracts-master/scripts/upgradeable/alias/UUPSUpgradeable.sol +5 -0
- package/lib/openzeppelin-contracts-master/scripts/upgradeable/patch-apply.sh +19 -0
- package/lib/openzeppelin-contracts-master/scripts/upgradeable/patch-save.sh +18 -0
- package/lib/openzeppelin-contracts-master/scripts/upgradeable/transpile-onto.sh +54 -0
- package/lib/openzeppelin-contracts-master/scripts/upgradeable/transpile.sh +50 -0
- package/lib/openzeppelin-contracts-master/scripts/upgradeable/upgradeable.patch +390 -0
- package/lib/openzeppelin-contracts-master/slither.config.json +4 -0
- package/lib/openzeppelin-contracts-master/solhint.config.js +29 -0
- package/lib/openzeppelin-contracts-master/test/TESTING.md +3 -0
- package/lib/openzeppelin-contracts-master/test/access/AccessControl.behavior.js +874 -0
- package/lib/openzeppelin-contracts-master/test/access/AccessControl.test.js +19 -0
- package/lib/openzeppelin-contracts-master/test/access/Ownable.test.js +79 -0
- package/lib/openzeppelin-contracts-master/test/access/Ownable2Step.test.js +102 -0
- package/lib/openzeppelin-contracts-master/test/access/extensions/AccessControlDefaultAdminRules.test.js +32 -0
- package/lib/openzeppelin-contracts-master/test/access/extensions/AccessControlEnumerable.test.js +24 -0
- package/lib/openzeppelin-contracts-master/test/access/manager/AccessManaged.test.js +146 -0
- package/lib/openzeppelin-contracts-master/test/access/manager/AccessManager.behavior.js +252 -0
- package/lib/openzeppelin-contracts-master/test/access/manager/AccessManager.predicate.js +456 -0
- package/lib/openzeppelin-contracts-master/test/access/manager/AccessManager.test.js +2536 -0
- package/lib/openzeppelin-contracts-master/test/access/manager/AuthorityUtils.test.js +112 -0
- package/lib/openzeppelin-contracts-master/test/account/Account.behavior.js +144 -0
- package/lib/openzeppelin-contracts-master/test/account/Account.test.js +48 -0
- package/lib/openzeppelin-contracts-master/test/account/AccountECDSA.test.js +52 -0
- package/lib/openzeppelin-contracts-master/test/account/AccountEIP7702.t.sol +116 -0
- package/lib/openzeppelin-contracts-master/test/account/AccountEIP7702.test.js +52 -0
- package/lib/openzeppelin-contracts-master/test/account/AccountERC7913.test.js +138 -0
- package/lib/openzeppelin-contracts-master/test/account/AccountMultiSigner.test.js +326 -0
- package/lib/openzeppelin-contracts-master/test/account/AccountMultiSignerWeighted.test.js +312 -0
- package/lib/openzeppelin-contracts-master/test/account/AccountP256.test.js +58 -0
- package/lib/openzeppelin-contracts-master/test/account/AccountRSA.test.js +58 -0
- package/lib/openzeppelin-contracts-master/test/account/AccountWebAuthn.test.js +75 -0
- package/lib/openzeppelin-contracts-master/test/account/examples/AccountEIP7702WithModulesMock.test.js +99 -0
- package/lib/openzeppelin-contracts-master/test/account/extensions/AccountERC7579.behavior.js +724 -0
- package/lib/openzeppelin-contracts-master/test/account/extensions/AccountERC7579.test.js +60 -0
- package/lib/openzeppelin-contracts-master/test/account/extensions/AccountERC7579Hooked.test.js +60 -0
- package/lib/openzeppelin-contracts-master/test/account/extensions/ERC7821.behavior.js +145 -0
- package/lib/openzeppelin-contracts-master/test/account/utils/EIP7702Utils.test.js +53 -0
- package/lib/openzeppelin-contracts-master/test/account/utils/draft-ERC4337Utils.test.js +594 -0
- package/lib/openzeppelin-contracts-master/test/account/utils/draft-ERC7579Utils.t.sol +434 -0
- package/lib/openzeppelin-contracts-master/test/account/utils/draft-ERC7579Utils.test.js +399 -0
- package/lib/openzeppelin-contracts-master/test/crosschain/BridgeERC1155.behavior.js +333 -0
- package/lib/openzeppelin-contracts-master/test/crosschain/BridgeERC1155.test.js +70 -0
- package/lib/openzeppelin-contracts-master/test/crosschain/BridgeERC20.behavior.js +146 -0
- package/lib/openzeppelin-contracts-master/test/crosschain/BridgeERC20.test.js +46 -0
- package/lib/openzeppelin-contracts-master/test/crosschain/BridgeERC721.behavior.js +218 -0
- package/lib/openzeppelin-contracts-master/test/crosschain/BridgeERC721.test.js +48 -0
- package/lib/openzeppelin-contracts-master/test/crosschain/CrosschainExecutor.test.js +144 -0
- package/lib/openzeppelin-contracts-master/test/crosschain/ERC7786Recipient.test.js +55 -0
- package/lib/openzeppelin-contracts-master/test/finance/VestingWallet.behavior.js +87 -0
- package/lib/openzeppelin-contracts-master/test/finance/VestingWallet.test.js +65 -0
- package/lib/openzeppelin-contracts-master/test/finance/VestingWalletCliff.test.js +70 -0
- package/lib/openzeppelin-contracts-master/test/governance/Governor.t.sol +59 -0
- package/lib/openzeppelin-contracts-master/test/governance/Governor.test.js +980 -0
- package/lib/openzeppelin-contracts-master/test/governance/TimelockController.test.js +1279 -0
- package/lib/openzeppelin-contracts-master/test/governance/extensions/GovernorCountingFractional.test.js +248 -0
- package/lib/openzeppelin-contracts-master/test/governance/extensions/GovernorCountingOverridable.test.js +346 -0
- package/lib/openzeppelin-contracts-master/test/governance/extensions/GovernorCrosschain.test.js +158 -0
- package/lib/openzeppelin-contracts-master/test/governance/extensions/GovernorERC721.test.js +131 -0
- package/lib/openzeppelin-contracts-master/test/governance/extensions/GovernorNoncesKeyed.test.js +243 -0
- package/lib/openzeppelin-contracts-master/test/governance/extensions/GovernorPreventLateQuorum.test.js +185 -0
- package/lib/openzeppelin-contracts-master/test/governance/extensions/GovernorProposalGuardian.test.js +132 -0
- package/lib/openzeppelin-contracts-master/test/governance/extensions/GovernorSequentialProposalId.test.js +202 -0
- package/lib/openzeppelin-contracts-master/test/governance/extensions/GovernorStorage.test.js +175 -0
- package/lib/openzeppelin-contracts-master/test/governance/extensions/GovernorSuperQuorum.test.js +168 -0
- package/lib/openzeppelin-contracts-master/test/governance/extensions/GovernorSuperQuorumGreaterThanQuorum.t.sol +79 -0
- package/lib/openzeppelin-contracts-master/test/governance/extensions/GovernorTimelockAccess.test.js +906 -0
- package/lib/openzeppelin-contracts-master/test/governance/extensions/GovernorTimelockCompound.test.js +450 -0
- package/lib/openzeppelin-contracts-master/test/governance/extensions/GovernorTimelockControl.test.js +506 -0
- package/lib/openzeppelin-contracts-master/test/governance/extensions/GovernorVotesQuorumFraction.test.js +165 -0
- package/lib/openzeppelin-contracts-master/test/governance/extensions/GovernorVotesSuperQuorumFraction.test.js +160 -0
- package/lib/openzeppelin-contracts-master/test/governance/extensions/GovernorWithParams.test.js +245 -0
- package/lib/openzeppelin-contracts-master/test/governance/utils/ERC6372.behavior.js +29 -0
- package/lib/openzeppelin-contracts-master/test/governance/utils/Votes.behavior.js +325 -0
- package/lib/openzeppelin-contracts-master/test/governance/utils/Votes.test.js +102 -0
- package/lib/openzeppelin-contracts-master/test/governance/utils/VotesExtended.test.js +152 -0
- package/lib/openzeppelin-contracts-master/test/helpers/access-manager.js +85 -0
- package/lib/openzeppelin-contracts-master/test/helpers/account.js +16 -0
- package/lib/openzeppelin-contracts-master/test/helpers/chains.js +56 -0
- package/lib/openzeppelin-contracts-master/test/helpers/constants.js +7 -0
- package/lib/openzeppelin-contracts-master/test/helpers/deploy.js +14 -0
- package/lib/openzeppelin-contracts-master/test/helpers/eip712-types.js +61 -0
- package/lib/openzeppelin-contracts-master/test/helpers/eip712.js +45 -0
- package/lib/openzeppelin-contracts-master/test/helpers/enums.js +15 -0
- package/lib/openzeppelin-contracts-master/test/helpers/erc4337.js +244 -0
- package/lib/openzeppelin-contracts-master/test/helpers/erc7579.js +58 -0
- package/lib/openzeppelin-contracts-master/test/helpers/erc7739.js +118 -0
- package/lib/openzeppelin-contracts-master/test/helpers/governance.js +218 -0
- package/lib/openzeppelin-contracts-master/test/helpers/iterate.js +41 -0
- package/lib/openzeppelin-contracts-master/test/helpers/math.js +33 -0
- package/lib/openzeppelin-contracts-master/test/helpers/methods.js +14 -0
- package/lib/openzeppelin-contracts-master/test/helpers/precompiles.js +12 -0
- package/lib/openzeppelin-contracts-master/test/helpers/random.js +26 -0
- package/lib/openzeppelin-contracts-master/test/helpers/signers.js +225 -0
- package/lib/openzeppelin-contracts-master/test/helpers/storage.js +48 -0
- package/lib/openzeppelin-contracts-master/test/helpers/strings.js +5 -0
- package/lib/openzeppelin-contracts-master/test/helpers/time.js +33 -0
- package/lib/openzeppelin-contracts-master/test/helpers/trie.js +79 -0
- package/lib/openzeppelin-contracts-master/test/helpers/txpool.js +28 -0
- package/lib/openzeppelin-contracts-master/test/metatx/ERC2771Context.test.js +109 -0
- package/lib/openzeppelin-contracts-master/test/metatx/ERC2771Forwarder.t.sol +279 -0
- package/lib/openzeppelin-contracts-master/test/metatx/ERC2771Forwarder.test.js +398 -0
- package/lib/openzeppelin-contracts-master/test/proxy/Clones.behaviour.js +160 -0
- package/lib/openzeppelin-contracts-master/test/proxy/Clones.t.sol +91 -0
- package/lib/openzeppelin-contracts-master/test/proxy/Clones.test.js +177 -0
- package/lib/openzeppelin-contracts-master/test/proxy/ERC1967/ERC1967Proxy.test.js +36 -0
- package/lib/openzeppelin-contracts-master/test/proxy/ERC1967/ERC1967Utils.test.js +162 -0
- package/lib/openzeppelin-contracts-master/test/proxy/Proxy.behaviour.js +198 -0
- package/lib/openzeppelin-contracts-master/test/proxy/beacon/BeaconProxy.test.js +141 -0
- package/lib/openzeppelin-contracts-master/test/proxy/beacon/UpgradeableBeacon.test.js +55 -0
- package/lib/openzeppelin-contracts-master/test/proxy/transparent/ProxyAdmin.test.js +82 -0
- package/lib/openzeppelin-contracts-master/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +367 -0
- package/lib/openzeppelin-contracts-master/test/proxy/transparent/TransparentUpgradeableProxy.test.js +28 -0
- package/lib/openzeppelin-contracts-master/test/proxy/utils/Initializable.test.js +216 -0
- package/lib/openzeppelin-contracts-master/test/proxy/utils/UUPSUpgradeable.test.js +120 -0
- package/lib/openzeppelin-contracts-master/test/sanity.test.js +27 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC1155/ERC1155.behavior.js +865 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC1155/ERC1155.test.js +258 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC1155/extensions/ERC1155Burnable.test.js +66 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC1155/extensions/ERC1155Crosschain.test.js +43 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC1155/extensions/ERC1155Pausable.test.js +105 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC1155/extensions/ERC1155Supply.test.js +119 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +70 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC1155/utils/ERC1155Holder.test.js +56 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC1155/utils/ERC1155Utils.test.js +299 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC20/ERC20.behavior.js +269 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC20/ERC20.test.js +199 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC20/extensions/ERC1363.test.js +370 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC20/extensions/ERC20Burnable.test.js +105 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC20/extensions/ERC20Capped.test.js +55 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC20/extensions/ERC20Crosschain.test.js +83 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC20/extensions/ERC20FlashMint.test.js +164 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC20/extensions/ERC20Pausable.test.js +129 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC20/extensions/ERC20Permit.test.js +109 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC20/extensions/ERC20Votes.test.js +546 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC20/extensions/ERC20Wrapper.test.js +203 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC20/extensions/ERC4626.t.sol +41 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC20/extensions/ERC4626.test.js +888 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC20/extensions/draft-ERC20Bridgeable.test.js +89 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC20/extensions/draft-ERC20TemporaryApproval.test.js +142 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC20/utils/SafeERC20.test.js +493 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC6909/ERC6909.behavior.js +216 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC6909/ERC6909.test.js +104 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC6909/extensions/ERC6909ContentURI.test.js +52 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC6909/extensions/ERC6909Metadata.test.js +62 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC6909/extensions/ERC6909TokenSupply.test.js +56 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC721/ERC721.behavior.js +954 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC721/ERC721.test.js +23 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC721/ERC721Enumerable.test.js +28 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC721/extensions/ERC721Burnable.test.js +77 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC721/extensions/ERC721Consecutive.t.sol +187 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC721/extensions/ERC721Consecutive.test.js +228 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC721/extensions/ERC721Crosschain.test.js +44 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC721/extensions/ERC721Pausable.test.js +81 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC721/extensions/ERC721Royalty.test.js +57 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC721/extensions/ERC721URIStorage.test.js +134 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC721/extensions/ERC721Votes.test.js +194 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC721/extensions/ERC721Wrapper.test.js +201 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC721/utils/ERC721Holder.test.js +20 -0
- package/lib/openzeppelin-contracts-master/test/token/ERC721/utils/ERC721Utils.test.js +94 -0
- package/lib/openzeppelin-contracts-master/test/token/common/ERC2981.behavior.js +152 -0
- package/lib/openzeppelin-contracts-master/test/utils/Address.test.js +332 -0
- package/lib/openzeppelin-contracts-master/test/utils/Arrays.t.sol +416 -0
- package/lib/openzeppelin-contracts-master/test/utils/Arrays.test.js +284 -0
- package/lib/openzeppelin-contracts-master/test/utils/Base58.t.sol +24 -0
- package/lib/openzeppelin-contracts-master/test/utils/Base58.test.js +65 -0
- package/lib/openzeppelin-contracts-master/test/utils/Base64.t.sol +36 -0
- package/lib/openzeppelin-contracts-master/test/utils/Base64.test.js +79 -0
- package/lib/openzeppelin-contracts-master/test/utils/Blockhash.t.sol +101 -0
- package/lib/openzeppelin-contracts-master/test/utils/Blockhash.test.js +59 -0
- package/lib/openzeppelin-contracts-master/test/utils/Bytes.t.sol +322 -0
- package/lib/openzeppelin-contracts-master/test/utils/Bytes.test.js +371 -0
- package/lib/openzeppelin-contracts-master/test/utils/CAIP.test.js +56 -0
- package/lib/openzeppelin-contracts-master/test/utils/Calldata.test.js +22 -0
- package/lib/openzeppelin-contracts-master/test/utils/Context.behavior.js +48 -0
- package/lib/openzeppelin-contracts-master/test/utils/Context.test.js +18 -0
- package/lib/openzeppelin-contracts-master/test/utils/Create2.t.sol +17 -0
- package/lib/openzeppelin-contracts-master/test/utils/Create2.test.js +190 -0
- package/lib/openzeppelin-contracts-master/test/utils/Create3.t.sol +25 -0
- package/lib/openzeppelin-contracts-master/test/utils/Create3.test.js +185 -0
- package/lib/openzeppelin-contracts-master/test/utils/ERC6372Utils.test.js +59 -0
- package/lib/openzeppelin-contracts-master/test/utils/LowLevelCall.test.js +257 -0
- package/lib/openzeppelin-contracts-master/test/utils/Memory.t.sol +90 -0
- package/lib/openzeppelin-contracts-master/test/utils/Memory.test.js +94 -0
- package/lib/openzeppelin-contracts-master/test/utils/Multicall.test.js +72 -0
- package/lib/openzeppelin-contracts-master/test/utils/Nonces.behavior.js +189 -0
- package/lib/openzeppelin-contracts-master/test/utils/Nonces.test.js +16 -0
- package/lib/openzeppelin-contracts-master/test/utils/NoncesKeyed.t.sol +51 -0
- package/lib/openzeppelin-contracts-master/test/utils/NoncesKeyed.test.js +17 -0
- package/lib/openzeppelin-contracts-master/test/utils/Packing.t.sol +993 -0
- package/lib/openzeppelin-contracts-master/test/utils/Packing.test.js +70 -0
- package/lib/openzeppelin-contracts-master/test/utils/Panic.test.js +37 -0
- package/lib/openzeppelin-contracts-master/test/utils/Pausable.test.js +90 -0
- package/lib/openzeppelin-contracts-master/test/utils/RLP.t.sol +144 -0
- package/lib/openzeppelin-contracts-master/test/utils/RLP.test.js +224 -0
- package/lib/openzeppelin-contracts-master/test/utils/ReentrancyGuard.test.js +58 -0
- package/lib/openzeppelin-contracts-master/test/utils/RelayedCall.test.js +223 -0
- package/lib/openzeppelin-contracts-master/test/utils/ShortStrings.t.sol +109 -0
- package/lib/openzeppelin-contracts-master/test/utils/ShortStrings.test.js +64 -0
- package/lib/openzeppelin-contracts-master/test/utils/SimulatedCall.test.js +101 -0
- package/lib/openzeppelin-contracts-master/test/utils/SlotDerivation.t.sol +248 -0
- package/lib/openzeppelin-contracts-master/test/utils/SlotDerivation.test.js +58 -0
- package/lib/openzeppelin-contracts-master/test/utils/StorageSlot.test.js +73 -0
- package/lib/openzeppelin-contracts-master/test/utils/Strings.t.sol +50 -0
- package/lib/openzeppelin-contracts-master/test/utils/Strings.test.js +366 -0
- package/lib/openzeppelin-contracts-master/test/utils/TransientSlot.test.js +59 -0
- package/lib/openzeppelin-contracts-master/test/utils/cryptography/ECDSA.test.js +322 -0
- package/lib/openzeppelin-contracts-master/test/utils/cryptography/EIP712.test.js +105 -0
- package/lib/openzeppelin-contracts-master/test/utils/cryptography/ERC1271.behavior.js +111 -0
- package/lib/openzeppelin-contracts-master/test/utils/cryptography/ERC7739.test.js +42 -0
- package/lib/openzeppelin-contracts-master/test/utils/cryptography/ERC7739Utils.test.js +203 -0
- package/lib/openzeppelin-contracts-master/test/utils/cryptography/MerkleProof.test.js +216 -0
- package/lib/openzeppelin-contracts-master/test/utils/cryptography/MessageHashUtils.t.sol +33 -0
- package/lib/openzeppelin-contracts-master/test/utils/cryptography/MessageHashUtils.test.js +149 -0
- package/lib/openzeppelin-contracts-master/test/utils/cryptography/P256.t.sol +44 -0
- package/lib/openzeppelin-contracts-master/test/utils/cryptography/P256.test.js +174 -0
- package/lib/openzeppelin-contracts-master/test/utils/cryptography/RSA.helper.js +17 -0
- package/lib/openzeppelin-contracts-master/test/utils/cryptography/RSA.test.js +102 -0
- package/lib/openzeppelin-contracts-master/test/utils/cryptography/SigVer15_186-3.rsp +3850 -0
- package/lib/openzeppelin-contracts-master/test/utils/cryptography/SignatureChecker.test.js +427 -0
- package/lib/openzeppelin-contracts-master/test/utils/cryptography/TrieProof.test.js +707 -0
- package/lib/openzeppelin-contracts-master/test/utils/cryptography/WebAuthn.t.sol +340 -0
- package/lib/openzeppelin-contracts-master/test/utils/cryptography/ecdsa_secp256r1_sha256_p1363_test.json +3719 -0
- package/lib/openzeppelin-contracts-master/test/utils/draft-InteroperableAddress.t.sol +99 -0
- package/lib/openzeppelin-contracts-master/test/utils/draft-InteroperableAddress.test.js +217 -0
- package/lib/openzeppelin-contracts-master/test/utils/introspection/ERC165.test.js +18 -0
- package/lib/openzeppelin-contracts-master/test/utils/introspection/ERC165Checker.test.js +272 -0
- package/lib/openzeppelin-contracts-master/test/utils/introspection/SupportsInterface.behavior.js +169 -0
- package/lib/openzeppelin-contracts-master/test/utils/math/Math.t.sol +370 -0
- package/lib/openzeppelin-contracts-master/test/utils/math/Math.test.js +746 -0
- package/lib/openzeppelin-contracts-master/test/utils/math/SafeCast.test.js +159 -0
- package/lib/openzeppelin-contracts-master/test/utils/math/SignedMath.t.sol +81 -0
- package/lib/openzeppelin-contracts-master/test/utils/math/SignedMath.test.js +53 -0
- package/lib/openzeppelin-contracts-master/test/utils/structs/Accumulators.t.sol +35 -0
- package/lib/openzeppelin-contracts-master/test/utils/structs/BitMap.test.js +149 -0
- package/lib/openzeppelin-contracts-master/test/utils/structs/Checkpoints.t.sol +440 -0
- package/lib/openzeppelin-contracts-master/test/utils/structs/Checkpoints.test.js +147 -0
- package/lib/openzeppelin-contracts-master/test/utils/structs/CircularBuffer.test.js +83 -0
- package/lib/openzeppelin-contracts-master/test/utils/structs/DoubleEndedQueue.test.js +144 -0
- package/lib/openzeppelin-contracts-master/test/utils/structs/EnumerableMap.behavior.js +214 -0
- package/lib/openzeppelin-contracts-master/test/utils/structs/EnumerableMap.test.js +83 -0
- package/lib/openzeppelin-contracts-master/test/utils/structs/EnumerableSet.behavior.js +175 -0
- package/lib/openzeppelin-contracts-master/test/utils/structs/EnumerableSet.test.js +66 -0
- package/lib/openzeppelin-contracts-master/test/utils/structs/Heap.t.sol +74 -0
- package/lib/openzeppelin-contracts-master/test/utils/structs/Heap.test.js +113 -0
- package/lib/openzeppelin-contracts-master/test/utils/structs/MerkleTree.test.js +180 -0
- package/lib/openzeppelin-contracts-master/test/utils/types/Time.test.js +135 -0
- package/lib/v3-core-main/.gitattributes +1 -0
- package/lib/v3-core-main/.github/stale.yml +25 -0
- package/lib/v3-core-main/.github/workflows/fuzz-testing.yml +60 -0
- package/lib/v3-core-main/.github/workflows/lint.yml +34 -0
- package/lib/v3-core-main/.github/workflows/mythx.yml +65 -0
- package/lib/v3-core-main/.github/workflows/tests.yml +38 -0
- package/lib/v3-core-main/.prettierrc +5 -0
- package/lib/v3-core-main/.solhint.json +6 -0
- package/lib/v3-core-main/.yarnrc +1 -0
- package/lib/v3-core-main/LICENSE +100 -0
- package/lib/v3-core-main/README.md +66 -0
- package/lib/v3-core-main/audits/abdk/audit.pdf +0 -0
- package/lib/v3-core-main/audits/tob/README.md +166 -0
- package/lib/v3-core-main/audits/tob/audit.pdf +0 -0
- package/lib/v3-core-main/audits/tob/contracts/crytic/echidna/E2E_mint_burn.config.yaml +16 -0
- package/lib/v3-core-main/audits/tob/contracts/crytic/echidna/E2E_mint_burn.sol +503 -0
- package/lib/v3-core-main/audits/tob/contracts/crytic/echidna/E2E_swap.config.yaml +10 -0
- package/lib/v3-core-main/audits/tob/contracts/crytic/echidna/E2E_swap.sol +487 -0
- package/lib/v3-core-main/audits/tob/contracts/crytic/echidna/Other.config.yaml +7 -0
- package/lib/v3-core-main/audits/tob/contracts/crytic/echidna/Other.sol +21 -0
- package/lib/v3-core-main/audits/tob/contracts/crytic/echidna/Setup.sol +205 -0
- package/lib/v3-core-main/audits/tob/contracts/crytic/manticore/001.sol +11 -0
- package/lib/v3-core-main/audits/tob/contracts/crytic/manticore/002.sol +12 -0
- package/lib/v3-core-main/audits/tob/contracts/crytic/manticore/003.sol +9 -0
- package/lib/v3-core-main/bug-bounty.md +76 -0
- package/lib/v3-core-main/contracts/NoDelegateCall.sol +27 -0
- package/lib/v3-core-main/contracts/UniswapV3Factory.sol +73 -0
- package/lib/v3-core-main/contracts/UniswapV3Pool.sol +869 -0
- package/lib/v3-core-main/contracts/UniswapV3PoolDeployer.sol +38 -0
- package/lib/v3-core-main/contracts/interfaces/IERC20Minimal.sol +52 -0
- package/lib/v3-core-main/contracts/interfaces/IUniswapV3Factory.sol +78 -0
- package/lib/v3-core-main/contracts/interfaces/IUniswapV3Pool.sol +24 -0
- package/lib/v3-core-main/contracts/interfaces/IUniswapV3PoolDeployer.sol +26 -0
- package/lib/v3-core-main/contracts/interfaces/LICENSE +445 -0
- package/lib/v3-core-main/contracts/interfaces/callback/IUniswapV3FlashCallback.sol +18 -0
- package/lib/v3-core-main/contracts/interfaces/callback/IUniswapV3MintCallback.sol +18 -0
- package/lib/v3-core-main/contracts/interfaces/callback/IUniswapV3SwapCallback.sol +21 -0
- package/lib/v3-core-main/contracts/interfaces/pool/IUniswapV3PoolActions.sol +103 -0
- package/lib/v3-core-main/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol +40 -0
- package/lib/v3-core-main/contracts/interfaces/pool/IUniswapV3PoolEvents.sol +121 -0
- package/lib/v3-core-main/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol +35 -0
- package/lib/v3-core-main/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol +23 -0
- package/lib/v3-core-main/contracts/interfaces/pool/IUniswapV3PoolState.sol +116 -0
- package/lib/v3-core-main/contracts/libraries/BitMath.sol +94 -0
- package/lib/v3-core-main/contracts/libraries/FixedPoint128.sol +8 -0
- package/lib/v3-core-main/contracts/libraries/FixedPoint96.sol +10 -0
- package/lib/v3-core-main/contracts/libraries/FullMath.sol +124 -0
- package/lib/v3-core-main/contracts/libraries/LICENSE +445 -0
- package/lib/v3-core-main/contracts/libraries/LICENSE_MIT +20 -0
- package/lib/v3-core-main/contracts/libraries/LiquidityMath.sol +17 -0
- package/lib/v3-core-main/contracts/libraries/LowGasSafeMath.sol +46 -0
- package/lib/v3-core-main/contracts/libraries/Oracle.sol +325 -0
- package/lib/v3-core-main/contracts/libraries/Position.sol +88 -0
- package/lib/v3-core-main/contracts/libraries/SafeCast.sol +28 -0
- package/lib/v3-core-main/contracts/libraries/SqrtPriceMath.sol +227 -0
- package/lib/v3-core-main/contracts/libraries/SwapMath.sol +98 -0
- package/lib/v3-core-main/contracts/libraries/Tick.sol +185 -0
- package/lib/v3-core-main/contracts/libraries/TickBitmap.sol +78 -0
- package/lib/v3-core-main/contracts/libraries/TickMath.sol +205 -0
- package/lib/v3-core-main/contracts/libraries/TransferHelper.sol +23 -0
- package/lib/v3-core-main/contracts/libraries/UnsafeMath.sol +17 -0
- package/lib/v3-core-main/contracts/test/BitMathEchidnaTest.sol +18 -0
- package/lib/v3-core-main/contracts/test/BitMathTest.sol +26 -0
- package/lib/v3-core-main/contracts/test/FullMathEchidnaTest.sol +67 -0
- package/lib/v3-core-main/contracts/test/FullMathTest.sol +22 -0
- package/lib/v3-core-main/contracts/test/LiquidityMathTest.sol +16 -0
- package/lib/v3-core-main/contracts/test/LowGasSafeMathEchidnaTest.sol +36 -0
- package/lib/v3-core-main/contracts/test/MockTimeUniswapV3Pool.sol +26 -0
- package/lib/v3-core-main/contracts/test/MockTimeUniswapV3PoolDeployer.sol +35 -0
- package/lib/v3-core-main/contracts/test/NoDelegateCallTest.sol +32 -0
- package/lib/v3-core-main/contracts/test/OracleEchidnaTest.sol +137 -0
- package/lib/v3-core-main/contracts/test/OracleTest.sol +100 -0
- package/lib/v3-core-main/contracts/test/SqrtPriceMathEchidnaTest.sol +232 -0
- package/lib/v3-core-main/contracts/test/SqrtPriceMathTest.sol +86 -0
- package/lib/v3-core-main/contracts/test/SwapMathEchidnaTest.sol +52 -0
- package/lib/v3-core-main/contracts/test/SwapMathTest.sol +37 -0
- package/lib/v3-core-main/contracts/test/TestERC20.sol +59 -0
- package/lib/v3-core-main/contracts/test/TestUniswapV3Callee.sol +142 -0
- package/lib/v3-core-main/contracts/test/TestUniswapV3ReentrantCallee.sol +56 -0
- package/lib/v3-core-main/contracts/test/TestUniswapV3Router.sol +91 -0
- package/lib/v3-core-main/contracts/test/TestUniswapV3SwapPay.sol +41 -0
- package/lib/v3-core-main/contracts/test/TickBitmapEchidnaTest.sol +47 -0
- package/lib/v3-core-main/contracts/test/TickBitmapTest.sol +40 -0
- package/lib/v3-core-main/contracts/test/TickEchidnaTest.sol +27 -0
- package/lib/v3-core-main/contracts/test/TickMathEchidnaTest.sol +22 -0
- package/lib/v3-core-main/contracts/test/TickMathTest.sol +34 -0
- package/lib/v3-core-main/contracts/test/TickOverflowSafetyEchidnaTest.sol +111 -0
- package/lib/v3-core-main/contracts/test/TickTest.sol +79 -0
- package/lib/v3-core-main/contracts/test/UniswapV3PoolSwapTest.sol +50 -0
- package/lib/v3-core-main/contracts/test/UnsafeMathEchidnaTest.sol +17 -0
- package/lib/v3-core-main/echidna.config.yml +74 -0
- package/lib/v3-core-main/hardhat.config.ts +68 -0
- package/lib/v3-core-main/package.json +59 -0
- package/lib/v3-core-main/test/BitMath.spec.ts +79 -0
- package/lib/v3-core-main/test/FullMath.spec.ts +182 -0
- package/lib/v3-core-main/test/LiquidityMath.spec.ts +44 -0
- package/lib/v3-core-main/test/NoDelegateCall.spec.ts +54 -0
- package/lib/v3-core-main/test/Oracle.spec.ts +798 -0
- package/lib/v3-core-main/test/SqrtPriceMath.spec.ts +379 -0
- package/lib/v3-core-main/test/SwapMath.spec.ts +324 -0
- package/lib/v3-core-main/test/Tick.spec.ts +329 -0
- package/lib/v3-core-main/test/TickBitmap.spec.ts +227 -0
- package/lib/v3-core-main/test/TickMath.spec.ts +166 -0
- package/lib/v3-core-main/test/UniswapV3Factory.spec.ts +177 -0
- package/lib/v3-core-main/test/UniswapV3Pool.arbitrage.spec.ts +373 -0
- package/lib/v3-core-main/test/UniswapV3Pool.gas.spec.ts +315 -0
- package/lib/v3-core-main/test/UniswapV3Pool.spec.ts +2043 -0
- package/lib/v3-core-main/test/UniswapV3Pool.swaps.spec.ts +588 -0
- package/lib/v3-core-main/test/UniswapV3Router.spec.ts +133 -0
- package/lib/v3-core-main/test/__snapshots__/BitMath.spec.ts.snap +13 -0
- package/lib/v3-core-main/test/__snapshots__/LiquidityMath.spec.ts.snap +5 -0
- package/lib/v3-core-main/test/__snapshots__/NoDelegateCall.spec.ts.snap +3 -0
- package/lib/v3-core-main/test/__snapshots__/Oracle.spec.ts.snap +87 -0
- package/lib/v3-core-main/test/__snapshots__/SqrtPriceMath.spec.ts.snap +17 -0
- package/lib/v3-core-main/test/__snapshots__/SwapMath.spec.ts.snap +17 -0
- package/lib/v3-core-main/test/__snapshots__/TickBitmap.spec.ts.snap +19 -0
- package/lib/v3-core-main/test/__snapshots__/TickMath.spec.ts.snap +165 -0
- package/lib/v3-core-main/test/__snapshots__/UniswapV3Factory.spec.ts.snap +7 -0
- package/lib/v3-core-main/test/__snapshots__/UniswapV3Pool.arbitrage.spec.ts.snap +977 -0
- package/lib/v3-core-main/test/__snapshots__/UniswapV3Pool.gas.spec.ts.snap +169 -0
- package/lib/v3-core-main/test/__snapshots__/UniswapV3Pool.swaps.spec.ts.snap +3541 -0
- package/lib/v3-core-main/test/shared/checkObservationEquals.ts +38 -0
- package/lib/v3-core-main/test/shared/expect.ts +8 -0
- package/lib/v3-core-main/test/shared/fixtures.ts +92 -0
- package/lib/v3-core-main/test/shared/format.ts +10 -0
- package/lib/v3-core-main/test/shared/snapshotGasCost.ts +27 -0
- package/lib/v3-core-main/test/shared/utilities.ts +258 -0
- package/lib/v3-core-main/test/snapshotCumulativesInside.test.ts +73 -0
- package/lib/v3-core-main/tsconfig.json +13 -0
- package/lib/v3-core-main/yarn.lock +9271 -0
- package/lib/v3-periphery-main/.gitattributes +1 -0
- package/lib/v3-periphery-main/.github/stale.yml +25 -0
- package/lib/v3-periphery-main/.github/workflows/lint.yml +33 -0
- package/lib/v3-periphery-main/.github/workflows/tests.yml +39 -0
- package/lib/v3-periphery-main/.prettierignore +1 -0
- package/lib/v3-periphery-main/.prettierrc +5 -0
- package/lib/v3-periphery-main/.solhint.json +6 -0
- package/lib/v3-periphery-main/.yarnrc +1 -0
- package/lib/v3-periphery-main/LICENSE +339 -0
- package/lib/v3-periphery-main/README.md +52 -0
- package/lib/v3-periphery-main/audits/abdk/audit.pdf +0 -0
- package/lib/v3-periphery-main/bug-bounty.md +80 -0
- package/lib/v3-periphery-main/contracts/NonfungiblePositionManager.sol +400 -0
- package/lib/v3-periphery-main/contracts/NonfungibleTokenPositionDescriptor.sol +124 -0
- package/lib/v3-periphery-main/contracts/SwapRouter.sol +244 -0
- package/lib/v3-periphery-main/contracts/V3Migrator.sol +99 -0
- package/lib/v3-periphery-main/contracts/base/BlockTimestamp.sol +12 -0
- package/lib/v3-periphery-main/contracts/base/ERC721Permit.sol +86 -0
- package/lib/v3-periphery-main/contracts/base/LiquidityManagement.sol +90 -0
- package/lib/v3-periphery-main/contracts/base/Multicall.sol +28 -0
- package/lib/v3-periphery-main/contracts/base/PeripheryImmutableState.sol +18 -0
- package/lib/v3-periphery-main/contracts/base/PeripheryPayments.sol +70 -0
- package/lib/v3-periphery-main/contracts/base/PeripheryPaymentsWithFee.sol +55 -0
- package/lib/v3-periphery-main/contracts/base/PeripheryValidation.sol +11 -0
- package/lib/v3-periphery-main/contracts/base/PoolInitializer.sol +32 -0
- package/lib/v3-periphery-main/contracts/base/SelfPermit.sol +63 -0
- package/lib/v3-periphery-main/contracts/examples/PairFlash.sol +149 -0
- package/lib/v3-periphery-main/contracts/interfaces/IERC20Metadata.sol +18 -0
- package/lib/v3-periphery-main/contracts/interfaces/IERC721Permit.sol +32 -0
- package/lib/v3-periphery-main/contracts/interfaces/IMulticall.sol +13 -0
- package/lib/v3-periphery-main/contracts/interfaces/INonfungiblePositionManager.sol +179 -0
- package/lib/v3-periphery-main/contracts/interfaces/INonfungibleTokenPositionDescriptor.sol +17 -0
- package/lib/v3-periphery-main/contracts/interfaces/IPeripheryImmutableState.sol +12 -0
- package/lib/v3-periphery-main/contracts/interfaces/IPeripheryPayments.sol +28 -0
- package/lib/v3-periphery-main/contracts/interfaces/IPeripheryPaymentsWithFee.sol +29 -0
- package/lib/v3-periphery-main/contracts/interfaces/IPoolInitializer.sol +22 -0
- package/lib/v3-periphery-main/contracts/interfaces/IQuoter.sol +51 -0
- package/lib/v3-periphery-main/contracts/interfaces/IQuoterV2.sol +98 -0
- package/lib/v3-periphery-main/contracts/interfaces/ISelfPermit.sol +76 -0
- package/lib/v3-periphery-main/contracts/interfaces/ISwapRouter.sol +67 -0
- package/lib/v3-periphery-main/contracts/interfaces/ITickLens.sol +25 -0
- package/lib/v3-periphery-main/contracts/interfaces/IV3Migrator.sol +34 -0
- package/lib/v3-periphery-main/contracts/interfaces/external/IERC1271.sol +16 -0
- package/lib/v3-periphery-main/contracts/interfaces/external/IERC20PermitAllowed.sol +27 -0
- package/lib/v3-periphery-main/contracts/interfaces/external/IWETH9.sol +13 -0
- package/lib/v3-periphery-main/contracts/lens/Quoter.sol +170 -0
- package/lib/v3-periphery-main/contracts/lens/QuoterV2.sol +273 -0
- package/lib/v3-periphery-main/contracts/lens/README.md +4 -0
- package/lib/v3-periphery-main/contracts/lens/TickLens.sol +42 -0
- package/lib/v3-periphery-main/contracts/lens/UniswapInterfaceMulticall.sol +39 -0
- package/lib/v3-periphery-main/contracts/libraries/BytesLib.sol +101 -0
- package/lib/v3-periphery-main/contracts/libraries/CallbackValidation.sol +36 -0
- package/lib/v3-periphery-main/contracts/libraries/ChainId.sol +13 -0
- package/lib/v3-periphery-main/contracts/libraries/HexStrings.sol +29 -0
- package/lib/v3-periphery-main/contracts/libraries/LiquidityAmounts.sol +137 -0
- package/lib/v3-periphery-main/contracts/libraries/NFTDescriptor.sol +477 -0
- package/lib/v3-periphery-main/contracts/libraries/NFTSVG.sol +406 -0
- package/lib/v3-periphery-main/contracts/libraries/OracleLibrary.sol +180 -0
- package/lib/v3-periphery-main/contracts/libraries/Path.sol +69 -0
- package/lib/v3-periphery-main/contracts/libraries/PoolAddress.sol +48 -0
- package/lib/v3-periphery-main/contracts/libraries/PoolTicksCounter.sol +96 -0
- package/lib/v3-periphery-main/contracts/libraries/PositionKey.sol +13 -0
- package/lib/v3-periphery-main/contracts/libraries/PositionValue.sol +167 -0
- package/lib/v3-periphery-main/contracts/libraries/SqrtPriceMathPartial.sol +62 -0
- package/lib/v3-periphery-main/contracts/libraries/TokenRatioSortOrder.sol +12 -0
- package/lib/v3-periphery-main/contracts/libraries/TransferHelper.sol +60 -0
- package/lib/v3-periphery-main/contracts/test/Base64Test.sol +16 -0
- package/lib/v3-periphery-main/contracts/test/LiquidityAmountsTest.sol +120 -0
- package/lib/v3-periphery-main/contracts/test/MockObservable.sol +48 -0
- package/lib/v3-periphery-main/contracts/test/MockObservations.sol +82 -0
- package/lib/v3-periphery-main/contracts/test/MockTimeNonfungiblePositionManager.sol +23 -0
- package/lib/v3-periphery-main/contracts/test/MockTimeSwapRouter.sol +19 -0
- package/lib/v3-periphery-main/contracts/test/NFTDescriptorTest.sol +75 -0
- package/lib/v3-periphery-main/contracts/test/NonfungiblePositionManagerPositionsGasTest.sol +18 -0
- package/lib/v3-periphery-main/contracts/test/OracleTest.sol +67 -0
- package/lib/v3-periphery-main/contracts/test/PathTest.sol +37 -0
- package/lib/v3-periphery-main/contracts/test/PeripheryImmutableStateTest.sol +8 -0
- package/lib/v3-periphery-main/contracts/test/PoolAddressTest.sol +30 -0
- package/lib/v3-periphery-main/contracts/test/PoolTicksCounterTest.sol +18 -0
- package/lib/v3-periphery-main/contracts/test/PositionValueTest.sol +57 -0
- package/lib/v3-periphery-main/contracts/test/SelfPermitTest.sol +9 -0
- package/lib/v3-periphery-main/contracts/test/TestCallbackValidation.sol +15 -0
- package/lib/v3-periphery-main/contracts/test/TestERC20.sol +10 -0
- package/lib/v3-periphery-main/contracts/test/TestERC20Metadata.sol +14 -0
- package/lib/v3-periphery-main/contracts/test/TestERC20PermitAllowed.sol +24 -0
- package/lib/v3-periphery-main/contracts/test/TestMulticall.sol +30 -0
- package/lib/v3-periphery-main/contracts/test/TestPositionNFTOwner.sol +28 -0
- package/lib/v3-periphery-main/contracts/test/TestUniswapV3Callee.sol +62 -0
- package/lib/v3-periphery-main/contracts/test/TickLensTest.sol +15 -0
- package/lib/v3-periphery-main/deploys.md +25 -0
- package/lib/v3-periphery-main/hardhat.config.ts +104 -0
- package/lib/v3-periphery-main/package.json +68 -0
- package/lib/v3-periphery-main/test/Base64.spec.ts +81 -0
- package/lib/v3-periphery-main/test/CallbackValidation.spec.ts +56 -0
- package/lib/v3-periphery-main/test/LiquidityAmounts.spec.ts +241 -0
- package/lib/v3-periphery-main/test/Multicall.spec.ts +65 -0
- package/lib/v3-periphery-main/test/NFTDescriptor.spec.ts +907 -0
- package/lib/v3-periphery-main/test/NonfungiblePositionManager.spec.ts +1304 -0
- package/lib/v3-periphery-main/test/NonfungibleTokenPositionDescriptor.spec.ts +217 -0
- package/lib/v3-periphery-main/test/OracleLibrary.spec.ts +675 -0
- package/lib/v3-periphery-main/test/PairFlash.spec.ts +168 -0
- package/lib/v3-periphery-main/test/Path.spec.ts +90 -0
- package/lib/v3-periphery-main/test/PeripheryImmutableState.spec.ts +56 -0
- package/lib/v3-periphery-main/test/PoolAddress.spec.ts +72 -0
- package/lib/v3-periphery-main/test/PoolTicksCounter.spec.ts +280 -0
- package/lib/v3-periphery-main/test/PositionValue.spec.ts +490 -0
- package/lib/v3-periphery-main/test/Quoter.spec.ts +201 -0
- package/lib/v3-periphery-main/test/QuoterV2.spec.ts +578 -0
- package/lib/v3-periphery-main/test/SelfPermit.spec.ts +198 -0
- package/lib/v3-periphery-main/test/SwapRouter.gas.spec.ts +453 -0
- package/lib/v3-periphery-main/test/SwapRouter.spec.ts +916 -0
- package/lib/v3-periphery-main/test/TickLens.spec.ts +223 -0
- package/lib/v3-periphery-main/test/V3Migrator.spec.ts +446 -0
- package/lib/v3-periphery-main/test/__snapshots__/Base64.spec.ts.snap +32 -0
- package/lib/v3-periphery-main/test/__snapshots__/LiquidityAmounts.spec.ts.snap +21 -0
- package/lib/v3-periphery-main/test/__snapshots__/Multicall.spec.ts.snap +5 -0
- package/lib/v3-periphery-main/test/__snapshots__/NFTDescriptor.spec.ts.snap +7 -0
- package/lib/v3-periphery-main/test/__snapshots__/NFTDescriptor.svg +1 -0
- package/lib/v3-periphery-main/test/__snapshots__/NonfungiblePositionManager.spec.ts.snap +41 -0
- package/lib/v3-periphery-main/test/__snapshots__/OracleLibrary.spec.ts.snap +3 -0
- package/lib/v3-periphery-main/test/__snapshots__/PairFlash.spec.ts.snap +3 -0
- package/lib/v3-periphery-main/test/__snapshots__/Path.spec.ts.snap +3 -0
- package/lib/v3-periphery-main/test/__snapshots__/PeripheryImmutableState.spec.ts.snap +3 -0
- package/lib/v3-periphery-main/test/__snapshots__/PoolAddress.spec.ts.snap +5 -0
- package/lib/v3-periphery-main/test/__snapshots__/PositionValue.spec.ts.snap +11 -0
- package/lib/v3-periphery-main/test/__snapshots__/QuoterV2.spec.ts.snap +51 -0
- package/lib/v3-periphery-main/test/__snapshots__/SwapRouter.gas.spec.ts.snap +37 -0
- package/lib/v3-periphery-main/test/__snapshots__/SwapRouter.spec.ts.snap +3 -0
- package/lib/v3-periphery-main/test/__snapshots__/TickLens.spec.ts.snap +5 -0
- package/lib/v3-periphery-main/test/__snapshots__/V3Migrator.spec.ts.snap +3 -0
- package/lib/v3-periphery-main/test/contracts/WETH9.json +156 -0
- package/lib/v3-periphery-main/test/shared/base64.ts +7 -0
- package/lib/v3-periphery-main/test/shared/completeFixture.ts +63 -0
- package/lib/v3-periphery-main/test/shared/computePoolAddress.ts +22 -0
- package/lib/v3-periphery-main/test/shared/constants.ts +15 -0
- package/lib/v3-periphery-main/test/shared/encodePriceSqrt.ts +16 -0
- package/lib/v3-periphery-main/test/shared/expandTo18Decimals.ts +5 -0
- package/lib/v3-periphery-main/test/shared/expect.ts +8 -0
- package/lib/v3-periphery-main/test/shared/externalFixtures.ts +57 -0
- package/lib/v3-periphery-main/test/shared/extractJSONFromURI.ts +5 -0
- package/lib/v3-periphery-main/test/shared/formatSqrtRatioX96.spec.ts +30 -0
- package/lib/v3-periphery-main/test/shared/formatSqrtRatioX96.ts +30 -0
- package/lib/v3-periphery-main/test/shared/getPermitNFTSignature.ts +57 -0
- package/lib/v3-periphery-main/test/shared/path.ts +61 -0
- package/lib/v3-periphery-main/test/shared/permit.ts +61 -0
- package/lib/v3-periphery-main/test/shared/poolAtAddress.ts +7 -0
- package/lib/v3-periphery-main/test/shared/quoter.ts +153 -0
- package/lib/v3-periphery-main/test/shared/snapshotGasCost.ts +27 -0
- package/lib/v3-periphery-main/test/shared/ticks.ts +9 -0
- package/lib/v3-periphery-main/test/shared/tokenSort.ts +10 -0
- package/lib/v3-periphery-main/testnet-deploys.md +3 -0
- package/lib/v3-periphery-main/tsconfig.json +14 -0
- package/lib/v3-periphery-main/yarn.lock +8111 -0
- package/package.json +44 -0
- package/src/LPStateStorage.sol +74 -0
- package/src/MinimalPositionDescriptor.sol +38 -0
- package/src/NonfungiblePositionManagerImporter.sol +13 -0
- package/src/QuoterV2Importer.sol +9 -0
- package/src/RapidexV3FactoryImporter.sol +6 -0
- package/src/SwapRouterImporter.sol +9 -0
- package/src/TestToken.sol +60 -0
- package/src/WMST.sol +63 -0
- package/src/flattened/LPStateStorage.flat.sol +76 -0
- package/src/flattened/MinimalPositionDescriptor.flat.sol +40 -0
- package/src/flattened/NonfungiblePositionManagerImporter.flat.sol +2695 -0
- package/src/flattened/QuoterV2Importer.flat.sol +1616 -0
- package/src/flattened/RapidexV3FactoryImporter.flat.sol +3193 -0
- package/src/flattened/SwapRouterImporter.flat.sol +1811 -0
- package/src/flattened/TestToken.flat.sol +62 -0
- package/src/flattened/WMST.flat.sol +65 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`LiquidityAmounts #getAmount0ForLiquidity gas 1`] = `352`;
|
|
4
|
+
|
|
5
|
+
exports[`LiquidityAmounts #getAmountsForLiquidity gas for price above 1`] = `481`;
|
|
6
|
+
|
|
7
|
+
exports[`LiquidityAmounts #getAmountsForLiquidity gas for price below 1`] = `502`;
|
|
8
|
+
|
|
9
|
+
exports[`LiquidityAmounts #getAmountsForLiquidity gas for price inside 1`] = `840`;
|
|
10
|
+
|
|
11
|
+
exports[`LiquidityAmounts #getLiquidityForAmount0 gas 1`] = `565`;
|
|
12
|
+
|
|
13
|
+
exports[`LiquidityAmounts #getLiquidityForAmount1 gas 1`] = `362`;
|
|
14
|
+
|
|
15
|
+
exports[`LiquidityAmounts #getLiquidityForAmount1 gas 2`] = `368`;
|
|
16
|
+
|
|
17
|
+
exports[`LiquidityAmounts #getLiquidityForAmounts gas for price above 1`] = `537`;
|
|
18
|
+
|
|
19
|
+
exports[`LiquidityAmounts #getLiquidityForAmounts gas for price below 1`] = `712`;
|
|
20
|
+
|
|
21
|
+
exports[`LiquidityAmounts #getLiquidityForAmounts gas for price inside 1`] = `1162`;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`NFTDescriptor #constructTokenURI gas 1`] = `1632898`;
|
|
4
|
+
|
|
5
|
+
exports[`NFTDescriptor #constructTokenURI snapshot matches 1`] = `"data:application/json;base64,eyJuYW1lIjoiVW5pc3dhcCAtIDAuMDUlIC0gVU5JL1dFVEggLSAxLjAwMDA8PjEuMTA1MiIsICJkZXNjcmlwdGlvbiI6IlRoaXMgTkZUIHJlcHJlc2VudHMgYSBsaXF1aWRpdHkgcG9zaXRpb24gaW4gYSBVbmlzd2FwIFYzIFVOSS1XRVRIIHBvb2wuIFRoZSBvd25lciBvZiB0aGlzIE5GVCBjYW4gbW9kaWZ5IG9yIHJlZGVlbSB0aGUgcG9zaXRpb24uXG5cblBvb2wgQWRkcmVzczogMHhiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiXG5VTkkgQWRkcmVzczogMHhhYmNkZWFiY2RlZmFiY2RlZmFiY2RlZmFiY2RlZmFiY2RlZmFiY2RmXG5XRVRIIEFkZHJlc3M6IDB4MTIzNDU2Nzg5MDEyMzQ1Njc4OTEyMzQ1Njc4OTAxMjM0NTY3ODkwMVxuRmVlIFRpZXI6IDAuMDUlXG5Ub2tlbiBJRDogMVxuXG7imqDvuI8gRElTQ0xBSU1FUjogRHVlIGRpbGlnZW5jZSBpcyBpbXBlcmF0aXZlIHdoZW4gYXNzZXNzaW5nIHRoaXMgTkZULiBNYWtlIHN1cmUgdG9rZW4gYWRkcmVzc2VzIG1hdGNoIHRoZSBleHBlY3RlZCB0b2tlbnMsIGFzIHRva2VuIHN5bWJvbHMgbWF5IGJlIGltaXRhdGVkLiIsICJpbWFnZSI6ICJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNamt3SWlCb1pXbG5hSFE5SWpVd01DSWdkbWxsZDBKdmVEMGlNQ0F3SURJNU1DQTFNREFpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUoyaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc25QanhrWldaelBqeG1hV3gwWlhJZ2FXUTlJbVl4SWo0OFptVkpiV0ZuWlNCeVpYTjFiSFE5SW5Bd0lpQjRiR2x1YXpwb2NtVm1QU0prWVhSaE9tbHRZV2RsTDNOMlp5dDRiV3c3WW1GelpUWTBMRkJJVGpKYWVVSXpZVmRTTUdGRU1HNU5hbXQzU25sQ2IxcFhiRzVoU0ZFNVNucFZkMDFEWTJka2JXeHNaREJLZG1WRU1HNU5RMEYzU1VSSk5VMURRVEZOUkVGdVNVaG9kR0pITlhwUVUyUnZaRWhTZDA5cE9IWmtNMlF6VEc1amVreHRPWGxhZVRoNVRVUkJkMHd6VGpKYWVXTXJVRWhLYkZrelVXZGtNbXhyWkVkbk9VcDZTVFZOU0VJMFNubENiMXBYYkc1aFNGRTVTbnBWZDAxSVFqUktlVUp0WVZkNGMxQlRZMnBaVjBwcVdrZFdhRXA1T0N0UVF6bDZaRzFqS3lJdlBqeG1aVWx0WVdkbElISmxjM1ZzZEQwaWNERWlJSGhzYVc1ck9taHlaV1k5SW1SaGRHRTZhVzFoWjJVdmMzWm5LM2h0YkR0aVlYTmxOalFzVUVoT01scDVRak5oVjFJd1lVUXdiazFxYTNkS2VVSnZXbGRzYm1GSVVUbEtlbFYzVFVOaloyUnRiR3hrTUVwMlpVUXdiazFEUVhkSlJFazFUVU5CTVUxRVFXNUpTR2gwWWtjMWVsQlRaRzlrU0ZKM1QyazRkbVF6WkROTWJtTjZURzA1ZVZwNU9IbE5SRUYzVEROT01scDVZeXRRUjA1d1kyMU9jMXBUUW1wbFJEQnVUV3BaTkVwNVFtcGxWREJ1VFdwVk1VcDVRbmxRVTJONFRXcENkMlZEWTJkYWJXeHpZa1F3YmtsNlJYbE5lbEV4VG1samRsQnFkM1pqTTFwdVVHYzlQU0l2UGp4bVpVbHRZV2RsSUhKbGMzVnNkRDBpY0RJaUlIaHNhVzVyT21oeVpXWTlJbVJoZEdFNmFXMWhaMlV2YzNabkszaHRiRHRpWVhObE5qUXNVRWhPTWxwNVFqTmhWMUl3WVVRd2JrMXFhM2RLZVVKdldsZHNibUZJVVRsS2VsVjNUVU5qWjJSdGJHeGtNRXAyWlVRd2JrMURRWGRKUkVrMVRVTkJNVTFFUVc1SlNHaDBZa2MxZWxCVFpHOWtTRkozVDJrNGRtUXpaRE5NYm1ONlRHMDVlVnA1T0hsTlJFRjNURE5PTWxwNVl5dFFSMDV3WTIxT2MxcFRRbXBsUkRCdVRXcEJNa3A1UW1wbFZEQnVUVlJWZVVwNVFubFFVMk40VFdwQ2QyVkRZMmRhYld4ellrUXdia2t5V21oWmJVNXJXbWxqZGxCcWQzWmpNMXB1VUdjOVBTSWdMejQ4Wm1WSmJXRm5aU0J5WlhOMWJIUTlJbkF6SWlCNGJHbHVhenBvY21WbVBTSmtZWFJoT21sdFlXZGxMM04yWnl0NGJXdzdZbUZ6WlRZMExGQklUakphZVVJellWZFNNR0ZFTUc1TmFtdDNTbmxDYjFwWGJHNWhTRkU1U25wVmQwMURZMmRrYld4c1pEQktkbVZFTUc1TlEwRjNTVVJKTlUxRFFURk5SRUZ1U1Vob2RHSkhOWHBRVTJSdlpFaFNkMDlwT0haa00yUXpURzVqZWt4dE9YbGFlVGg1VFVSQmQwd3pUakphZVdNclVFZE9jR050VG5OYVUwSnFaVVF3YmsxcVVYZEtlVUpxWlZRd2JrMTZRVEpLZVVKNVVGTmplRTFFUW5kbFEyTm5XbTFzYzJKRU1HNUplbGt6VDBScmQwMVRZM1pRYW5kMll6TmFibEJuUFQwaUlDOCtQR1psUW14bGJtUWdiVzlrWlQwaWIzWmxjbXhoZVNJZ2FXNDlJbkF3SWlCcGJqSTlJbkF4SWlBdlBqeG1aVUpzWlc1a0lHMXZaR1U5SW1WNFkyeDFjMmx2YmlJZ2FXNHlQU0p3TWlJZ0x6NDhabVZDYkdWdVpDQnRiMlJsUFNKdmRtVnliR0Y1SWlCcGJqSTlJbkF6SWlCeVpYTjFiSFE5SW1Kc1pXNWtUM1YwSWlBdlBqeG1aVWRoZFhOemFXRnVRbXgxY2lCcGJqMGlZbXhsYm1SUGRYUWlJSE4wWkVSbGRtbGhkR2x2YmowaU5ESWlJQzgrUEM5bWFXeDBaWEkrSUR4amJHbHdVR0YwYUNCcFpEMGlZMjl5Ym1WeWN5SStQSEpsWTNRZ2QybGtkR2c5SWpJNU1DSWdhR1ZwWjJoMFBTSTFNREFpSUhKNFBTSTBNaUlnY25rOUlqUXlJaUF2UGp3dlkyeHBjRkJoZEdnK1BIQmhkR2dnYVdROUluUmxlSFF0Y0dGMGFDMWhJaUJrUFNKTk5EQWdNVElnU0RJMU1DQkJNamdnTWpnZ01DQXdJREVnTWpjNElEUXdJRlkwTmpBZ1FUSTRJREk0SURBZ01DQXhJREkxTUNBME9EZ2dTRFF3SUVFeU9DQXlPQ0F3SURBZ01TQXhNaUEwTmpBZ1ZqUXdJRUV5T0NBeU9DQXdJREFnTVNBME1DQXhNaUI2SWlBdlBqeHdZWFJvSUdsa1BTSnRhVzVwYldGd0lpQmtQU0pOTWpNMElEUTBORU15TXpRZ05EVTNMamswT1NBeU5ESXVNakVnTkRZeklESTFNeUEwTmpNaUlDOCtQR1pwYkhSbGNpQnBaRDBpZEc5d0xYSmxaMmx2YmkxaWJIVnlJajQ4Wm1WSFlYVnpjMmxoYmtKc2RYSWdhVzQ5SWxOdmRYSmpaVWR5WVhCb2FXTWlJSE4wWkVSbGRtbGhkR2x2YmowaU1qUWlJQzgrUEM5bWFXeDBaWEkrUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKbmNtRmtMWFZ3SWlCNE1UMGlNU0lnZURJOUlqQWlJSGt4UFNJeElpQjVNajBpTUNJK1BITjBiM0FnYjJabWMyVjBQU0l3TGpBaUlITjBiM0F0WTI5c2IzSTlJbmRvYVhSbElpQnpkRzl3TFc5d1lXTnBkSGs5SWpFaUlDOCtQSE4wYjNBZ2IyWm1jMlYwUFNJdU9TSWdjM1J2Y0MxamIyeHZjajBpZDJocGRHVWlJSE4wYjNBdGIzQmhZMmwwZVQwaU1DSWdMejQ4TDJ4cGJtVmhja2R5WVdScFpXNTBQanhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpWjNKaFpDMWtiM2R1SWlCNE1UMGlNQ0lnZURJOUlqRWlJSGt4UFNJd0lpQjVNajBpTVNJK1BITjBiM0FnYjJabWMyVjBQU0l3TGpBaUlITjBiM0F0WTI5c2IzSTlJbmRvYVhSbElpQnpkRzl3TFc5d1lXTnBkSGs5SWpFaUlDOCtQSE4wYjNBZ2IyWm1jMlYwUFNJd0xqa2lJSE4wYjNBdFkyOXNiM0k5SW5kb2FYUmxJaUJ6ZEc5d0xXOXdZV05wZEhrOUlqQWlJQzgrUEM5c2FXNWxZWEpIY21Ga2FXVnVkRDQ4YldGemF5QnBaRDBpWm1Ga1pTMTFjQ0lnYldGemEwTnZiblJsYm5SVmJtbDBjejBpYjJKcVpXTjBRbTkxYm1ScGJtZENiM2dpUGp4eVpXTjBJSGRwWkhSb1BTSXhJaUJvWldsbmFIUTlJakVpSUdacGJHdzlJblZ5YkNnalozSmhaQzExY0NraUlDOCtQQzl0WVhOclBqeHRZWE5ySUdsa1BTSm1ZV1JsTFdSdmQyNGlJRzFoYzJ0RGIyNTBaVzUwVlc1cGRITTlJbTlpYW1WamRFSnZkVzVrYVc1blFtOTRJajQ4Y21WamRDQjNhV1IwYUQwaU1TSWdhR1ZwWjJoMFBTSXhJaUJtYVd4c1BTSjFjbXdvSTJkeVlXUXRaRzkzYmlraUlDOCtQQzl0WVhOclBqeHRZWE5ySUdsa1BTSnViMjVsSWlCdFlYTnJRMjl1ZEdWdWRGVnVhWFJ6UFNKdlltcGxZM1JDYjNWdVpHbHVaMEp2ZUNJK1BISmxZM1FnZDJsa2RHZzlJakVpSUdobGFXZG9kRDBpTVNJZ1ptbHNiRDBpZDJocGRHVWlJQzgrUEM5dFlYTnJQanhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpWjNKaFpDMXplVzFpYjJ3aVBqeHpkRzl3SUc5bVpuTmxkRDBpTUM0M0lpQnpkRzl3TFdOdmJHOXlQU0ozYUdsMFpTSWdjM1J2Y0MxdmNHRmphWFI1UFNJeElpQXZQanh6ZEc5d0lHOW1abk5sZEQwaUxqazFJaUJ6ZEc5d0xXTnZiRzl5UFNKM2FHbDBaU0lnYzNSdmNDMXZjR0ZqYVhSNVBTSXdJaUF2UGp3dmJHbHVaV0Z5UjNKaFpHbGxiblErUEcxaGMyc2dhV1E5SW1aaFpHVXRjM2x0WW05c0lpQnRZWE5yUTI5dWRHVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJK1BISmxZM1FnZDJsa2RHZzlJakk1TUhCNElpQm9aV2xuYUhROUlqSXdNSEI0SWlCbWFXeHNQU0oxY213b0kyZHlZV1F0YzNsdFltOXNLU0lnTHo0OEwyMWhjMnMrUEM5a1pXWnpQanhuSUdOc2FYQXRjR0YwYUQwaWRYSnNLQ05qYjNKdVpYSnpLU0krUEhKbFkzUWdabWxzYkQwaVlXSmpaR1ZoSWlCNFBTSXdjSGdpSUhrOUlqQndlQ0lnZDJsa2RHZzlJakk1TUhCNElpQm9aV2xuYUhROUlqVXdNSEI0SWlBdlBqeHlaV04wSUhOMGVXeGxQU0ptYVd4MFpYSTZJSFZ5YkNnalpqRXBJaUI0UFNJd2NIZ2lJSGs5SWpCd2VDSWdkMmxrZEdnOUlqSTVNSEI0SWlCb1pXbG5hSFE5SWpVd01IQjRJaUF2UGlBOFp5QnpkSGxzWlQwaVptbHNkR1Z5T25WeWJDZ2pkRzl3TFhKbFoybHZiaTFpYkhWeUtUc2dkSEpoYm5ObWIzSnRPbk5qWVd4bEtERXVOU2s3SUhSeVlXNXpabTl5YlMxdmNtbG5hVzQ2WTJWdWRHVnlJSFJ2Y0RzaVBqeHlaV04wSUdacGJHdzlJbTV2Ym1VaUlIZzlJakJ3ZUNJZ2VUMGlNSEI0SWlCM2FXUjBhRDBpTWprd2NIZ2lJR2hsYVdkb2REMGlOVEF3Y0hnaUlDOCtQR1ZzYkdsd2MyVWdZM2c5SWpVd0pTSWdZM2s5SWpCd2VDSWdjbmc5SWpFNE1IQjRJaUJ5ZVQwaU1USXdjSGdpSUdacGJHdzlJaU13TURBaUlHOXdZV05wZEhrOUlqQXVPRFVpSUM4K1BDOW5Qanh5WldOMElIZzlJakFpSUhrOUlqQWlJSGRwWkhSb1BTSXlPVEFpSUdobGFXZG9kRDBpTlRBd0lpQnllRDBpTkRJaUlISjVQU0kwTWlJZ1ptbHNiRDBpY21kaVlTZ3dMREFzTUN3d0tTSWdjM1J5YjJ0bFBTSnlaMkpoS0RJMU5Td3lOVFVzTWpVMUxEQXVNaWtpSUM4K1BDOW5QangwWlhoMElIUmxlSFF0Y21WdVpHVnlhVzVuUFNKdmNIUnBiV2w2WlZOd1pXVmtJajQ4ZEdWNGRGQmhkR2dnYzNSaGNuUlBabVp6WlhROUlpMHhNREFsSWlCbWFXeHNQU0ozYUdsMFpTSWdabTl1ZEMxbVlXMXBiSGs5SWlkRGIzVnlhV1Z5SUU1bGR5Y3NJRzF2Ym05emNHRmpaU0lnWm05dWRDMXphWHBsUFNJeE1IQjRJaUI0YkdsdWF6cG9jbVZtUFNJamRHVjRkQzF3WVhSb0xXRWlQakI0TVRJek5EVTJOemc1TURFeU16UTFOamM0T1RFeU16UTFOamM0T1RBeE1qTTBOVFkzT0Rrd01TRGlnS0lnVjBWVVNDQThZVzVwYldGMFpTQmhaR1JwZEdsMlpUMGljM1Z0SWlCaGRIUnlhV0oxZEdWT1lXMWxQU0p6ZEdGeWRFOW1abk5sZENJZ1puSnZiVDBpTUNVaUlIUnZQU0l4TURBbElpQmlaV2RwYmowaU1ITWlJR1IxY2owaU16QnpJaUJ5WlhCbFlYUkRiM1Z1ZEQwaWFXNWtaV1pwYm1sMFpTSWdMejQ4TDNSbGVIUlFZWFJvUGlBOGRHVjRkRkJoZEdnZ2MzUmhjblJQWm1aelpYUTlJakFsSWlCbWFXeHNQU0ozYUdsMFpTSWdabTl1ZEMxbVlXMXBiSGs5SWlkRGIzVnlhV1Z5SUU1bGR5Y3NJRzF2Ym05emNHRmpaU0lnWm05dWRDMXphWHBsUFNJeE1IQjRJaUI0YkdsdWF6cG9jbVZtUFNJamRHVjRkQzF3WVhSb0xXRWlQakI0TVRJek5EVTJOemc1TURFeU16UTFOamM0T1RFeU16UTFOamM0T1RBeE1qTTBOVFkzT0Rrd01TRGlnS0lnVjBWVVNDQThZVzVwYldGMFpTQmhaR1JwZEdsMlpUMGljM1Z0SWlCaGRIUnlhV0oxZEdWT1lXMWxQU0p6ZEdGeWRFOW1abk5sZENJZ1puSnZiVDBpTUNVaUlIUnZQU0l4TURBbElpQmlaV2RwYmowaU1ITWlJR1IxY2owaU16QnpJaUJ5WlhCbFlYUkRiM1Z1ZEQwaWFXNWtaV1pwYm1sMFpTSWdMejRnUEM5MFpYaDBVR0YwYUQ0OGRHVjRkRkJoZEdnZ2MzUmhjblJQWm1aelpYUTlJalV3SlNJZ1ptbHNiRDBpZDJocGRHVWlJR1p2Ym5RdFptRnRhV3g1UFNJblEyOTFjbWxsY2lCT1pYY25MQ0J0YjI1dmMzQmhZMlVpSUdadmJuUXRjMmw2WlQwaU1UQndlQ0lnZUd4cGJtczZhSEpsWmowaUkzUmxlSFF0Y0dGMGFDMWhJajR3ZUdGaVkyUmxZV0pqWkdWbVlXSmpaR1ZtWVdKalpHVm1ZV0pqWkdWbVlXSmpaR1ZtWVdKalpHWWc0b0NpSUZWT1NTQThZVzVwYldGMFpTQmhaR1JwZEdsMlpUMGljM1Z0SWlCaGRIUnlhV0oxZEdWT1lXMWxQU0p6ZEdGeWRFOW1abk5sZENJZ1puSnZiVDBpTUNVaUlIUnZQU0l4TURBbElpQmlaV2RwYmowaU1ITWlJR1IxY2owaU16QnpJaUJ5WlhCbFlYUkRiM1Z1ZEQwaWFXNWtaV1pwYm1sMFpTSWdMejQ4TDNSbGVIUlFZWFJvUGp4MFpYaDBVR0YwYUNCemRHRnlkRTltWm5ObGREMGlMVFV3SlNJZ1ptbHNiRDBpZDJocGRHVWlJR1p2Ym5RdFptRnRhV3g1UFNJblEyOTFjbWxsY2lCT1pYY25MQ0J0YjI1dmMzQmhZMlVpSUdadmJuUXRjMmw2WlQwaU1UQndlQ0lnZUd4cGJtczZhSEpsWmowaUkzUmxlSFF0Y0dGMGFDMWhJajR3ZUdGaVkyUmxZV0pqWkdWbVlXSmpaR1ZtWVdKalpHVm1ZV0pqWkdWbVlXSmpaR1ZtWVdKalpHWWc0b0NpSUZWT1NTQThZVzVwYldGMFpTQmhaR1JwZEdsMlpUMGljM1Z0SWlCaGRIUnlhV0oxZEdWT1lXMWxQU0p6ZEdGeWRFOW1abk5sZENJZ1puSnZiVDBpTUNVaUlIUnZQU0l4TURBbElpQmlaV2RwYmowaU1ITWlJR1IxY2owaU16QnpJaUJ5WlhCbFlYUkRiM1Z1ZEQwaWFXNWtaV1pwYm1sMFpTSWdMejQ4TDNSbGVIUlFZWFJvUGp3dmRHVjRkRDQ4WnlCdFlYTnJQU0oxY213b0kyWmhaR1V0YzNsdFltOXNLU0krUEhKbFkzUWdabWxzYkQwaWJtOXVaU0lnZUQwaU1IQjRJaUI1UFNJd2NIZ2lJSGRwWkhSb1BTSXlPVEJ3ZUNJZ2FHVnBaMmgwUFNJeU1EQndlQ0lnTHo0Z1BIUmxlSFFnZVQwaU56QndlQ0lnZUQwaU16SndlQ0lnWm1sc2JEMGlkMmhwZEdVaUlHWnZiblF0Wm1GdGFXeDVQU0luUTI5MWNtbGxjaUJPWlhjbkxDQnRiMjV2YzNCaFkyVWlJR1p2Ym5RdGQyVnBaMmgwUFNJeU1EQWlJR1p2Ym5RdGMybDZaVDBpTXpad2VDSStWVTVKTDFkRlZFZzhMM1JsZUhRK1BIUmxlSFFnZVQwaU1URTFjSGdpSUhnOUlqTXljSGdpSUdacGJHdzlJbmRvYVhSbElpQm1iMjUwTFdaaGJXbHNlVDBpSjBOdmRYSnBaWElnVG1WM0p5d2diVzl1YjNOd1lXTmxJaUJtYjI1MExYZGxhV2RvZEQwaU1qQXdJaUJtYjI1MExYTnBlbVU5SWpNMmNIZ2lQakF1TURVbFBDOTBaWGgwUGp3dlp6NDhjbVZqZENCNFBTSXhOaUlnZVQwaU1UWWlJSGRwWkhSb1BTSXlOVGdpSUdobGFXZG9kRDBpTkRZNElpQnllRDBpTWpZaUlISjVQU0l5TmlJZ1ptbHNiRDBpY21kaVlTZ3dMREFzTUN3d0tTSWdjM1J5YjJ0bFBTSnlaMkpoS0RJMU5Td3lOVFVzTWpVMUxEQXVNaWtpSUM4K1BHY2diV0Z6YXowaWRYSnNLQ05tWVdSbExXUnZkMjRwSWlCemRIbHNaVDBpZEhKaGJuTm1iM0p0T25SeVlXNXpiR0YwWlNnM01uQjRMREU0T1hCNEtTSStQSEpsWTNRZ2VEMGlMVEUyY0hnaUlIazlJaTB4Tm5CNElpQjNhV1IwYUQwaU1UZ3djSGdpSUdobGFXZG9kRDBpTVRnd2NIZ2lJR1pwYkd3OUltNXZibVVpSUM4K1BIQmhkR2dnWkQwaVRURWdNVU01SURneElEWTFJREV6TnlBeE5EVWdNVFExSWlCemRISnZhMlU5SW5KblltRW9NQ3d3TERBc01DNHpLU0lnYzNSeWIydGxMWGRwWkhSb1BTSXpNbkI0SWlCbWFXeHNQU0p1YjI1bElpQnpkSEp2YTJVdGJHbHVaV05oY0QwaWNtOTFibVFpSUM4K1BDOW5QanhuSUcxaGMyczlJblZ5YkNnalptRmtaUzFrYjNkdUtTSWdjM1I1YkdVOUluUnlZVzV6Wm05eWJUcDBjbUZ1YzJ4aGRHVW9Oekp3ZUN3eE9EbHdlQ2tpUGp4eVpXTjBJSGc5SWkweE5uQjRJaUI1UFNJdE1UWndlQ0lnZDJsa2RHZzlJakU0TUhCNElpQm9aV2xuYUhROUlqRTRNSEI0SWlCbWFXeHNQU0p1YjI1bElpQXZQanh3WVhSb0lHUTlJazB4SURGRE9TQTRNU0EyTlNBeE16Y2dNVFExSURFME5TSWdjM1J5YjJ0bFBTSnlaMkpoS0RJMU5Td3lOVFVzTWpVMUxERXBJaUJtYVd4c1BTSnViMjVsSWlCemRISnZhMlV0YkdsdVpXTmhjRDBpY205MWJtUWlJQzgrUEM5blBqeGphWEpqYkdVZ1kzZzlJamN6Y0hnaUlHTjVQU0l4T1RCd2VDSWdjajBpTkhCNElpQm1hV3hzUFNKM2FHbDBaU0lnTHo0OFkybHlZMnhsSUdONFBTSTNNM0I0SWlCamVUMGlNVGt3Y0hnaUlISTlJakkwY0hnaUlHWnBiR3c5SW01dmJtVWlJSE4wY205clpUMGlkMmhwZEdVaUlDOCtJRHhuSUhOMGVXeGxQU0owY21GdWMyWnZjbTA2ZEhKaGJuTnNZWFJsS0RJNWNIZ3NJRE00TkhCNEtTSStQSEpsWTNRZ2QybGtkR2c5SWpZemNIZ2lJR2hsYVdkb2REMGlNalp3ZUNJZ2NuZzlJamh3ZUNJZ2NuazlJamh3ZUNJZ1ptbHNiRDBpY21kaVlTZ3dMREFzTUN3d0xqWXBJaUF2UGp4MFpYaDBJSGc5SWpFeWNIZ2lJSGs5SWpFM2NIZ2lJR1p2Ym5RdFptRnRhV3g1UFNJblEyOTFjbWxsY2lCT1pYY25MQ0J0YjI1dmMzQmhZMlVpSUdadmJuUXRjMmw2WlQwaU1USndlQ0lnWm1sc2JEMGlkMmhwZEdVaVBqeDBjM0JoYmlCbWFXeHNQU0p5WjJKaEtESTFOU3d5TlRVc01qVTFMREF1TmlraVBrbEVPaUE4TDNSemNHRnVQakU4TDNSbGVIUStQQzluUGlBOFp5QnpkSGxzWlQwaWRISmhibk5tYjNKdE9uUnlZVzV6YkdGMFpTZ3lPWEI0TENBME1UUndlQ2tpUGp4eVpXTjBJSGRwWkhSb1BTSXhNRFZ3ZUNJZ2FHVnBaMmgwUFNJeU5uQjRJaUJ5ZUQwaU9IQjRJaUJ5ZVQwaU9IQjRJaUJtYVd4c1BTSnlaMkpoS0RBc01Dd3dMREF1TmlraUlDOCtQSFJsZUhRZ2VEMGlNVEp3ZUNJZ2VUMGlNVGR3ZUNJZ1ptOXVkQzFtWVcxcGJIazlJaWREYjNWeWFXVnlJRTVsZHljc0lHMXZibTl6Y0dGalpTSWdabTl1ZEMxemFYcGxQU0l4TW5CNElpQm1hV3hzUFNKM2FHbDBaU0krUEhSemNHRnVJR1pwYkd3OUluSm5ZbUVvTWpVMUxESTFOU3d5TlRVc01DNDJLU0krVFdsdUlGUnBZMnM2SUR3dmRITndZVzQrTUR3dmRHVjRkRDQ4TDJjK0lEeG5JSE4wZVd4bFBTSjBjbUZ1YzJadmNtMDZkSEpoYm5Oc1lYUmxLREk1Y0hnc0lEUTBOSEI0S1NJK1BISmxZM1FnZDJsa2RHZzlJakV5Tm5CNElpQm9aV2xuYUhROUlqSTJjSGdpSUhKNFBTSTRjSGdpSUhKNVBTSTRjSGdpSUdacGJHdzlJbkpuWW1Fb01Dd3dMREFzTUM0MktTSWdMejQ4ZEdWNGRDQjRQU0l4TW5CNElpQjVQU0l4TjNCNElpQm1iMjUwTFdaaGJXbHNlVDBpSjBOdmRYSnBaWElnVG1WM0p5d2diVzl1YjNOd1lXTmxJaUJtYjI1MExYTnBlbVU5SWpFeWNIZ2lJR1pwYkd3OUluZG9hWFJsSWo0OGRITndZVzRnWm1sc2JEMGljbWRpWVNneU5UVXNNalUxTERJMU5Td3dMallwSWo1TllYZ2dWR2xqYXpvZ1BDOTBjM0JoYmo0eE1EQXdQQzkwWlhoMFBqd3ZaejQ4WnlCemRIbHNaVDBpZEhKaGJuTm1iM0p0T25SeVlXNXpiR0YwWlNneU1qWndlQ3dnTkRNemNIZ3BJajQ4Y21WamRDQjNhV1IwYUQwaU16WndlQ0lnYUdWcFoyaDBQU0l6Tm5CNElpQnllRDBpT0hCNElpQnllVDBpT0hCNElpQm1hV3hzUFNKdWIyNWxJaUJ6ZEhKdmEyVTlJbkpuWW1Fb01qVTFMREkxTlN3eU5UVXNNQzR5S1NJZ0x6NDhjR0YwYUNCemRISnZhMlV0YkdsdVpXTmhjRDBpY205MWJtUWlJR1E5SWswNElEbERPQzR3TURBd05DQXlNaTQ1TkRrMElERTJMakl3T1RrZ01qZ2dNamNnTWpnaUlHWnBiR3c5SW01dmJtVWlJSE4wY205clpUMGlkMmhwZEdVaUlDOCtQR05wY21Oc1pTQnpkSGxzWlQwaWRISmhibk5tYjNKdE9uUnlZVzV6YkdGMFpUTmtLREV6Y0hnc0lESXpjSGdzSURCd2VDa2lJR040UFNJd2NIZ2lJR041UFNJd2NIZ2lJSEk5SWpSd2VDSWdabWxzYkQwaWQyaHBkR1VpTHo0OEwyYytQR2NnYzNSNWJHVTlJblJ5WVc1elptOXliVHAwY21GdWMyeGhkR1VvTWpJMmNIZ3NJRE01TW5CNEtTSStQSEpsWTNRZ2QybGtkR2c5SWpNMmNIZ2lJR2hsYVdkb2REMGlNelp3ZUNJZ2NuZzlJamh3ZUNJZ2NuazlJamh3ZUNJZ1ptbHNiRDBpYm05dVpTSWdjM1J5YjJ0bFBTSnlaMkpoS0RJMU5Td3lOVFVzTWpVMUxEQXVNaWtpSUM4K1BHYytQSEJoZEdnZ2MzUjViR1U5SW5SeVlXNXpabTl5YlRwMGNtRnVjMnhoZEdVb05uQjRMRFp3ZUNraUlHUTlJazB4TWlBd1RERXlMalkxTWpJZ09TNDFOalU0TjB3eE9DQXhMall3TnpkTU1UTXVOemd4T1NBeE1DNHlNVGd4VERJeUxqTTVNak1nTmt3eE5DNDBNelF4SURFeExqTTBOemhNTWpRZ01USk1NVFF1TkRNME1TQXhNaTQyTlRJeVRESXlMak01TWpNZ01UaE1NVE11TnpneE9TQXhNeTQzT0RFNVRERTRJREl5TGpNNU1qTk1NVEl1TmpVeU1pQXhOQzQwTXpReFRERXlJREkwVERFeExqTTBOemdnTVRRdU5ETTBNVXcySURJeUxqTTVNak5NTVRBdU1qRTRNU0F4TXk0M09ERTVUREV1TmpBM055QXhPRXc1TGpVMk5UZzNJREV5TGpZMU1qSk1NQ0F4TWt3NUxqVTJOVGczSURFeExqTTBOemhNTVM0Mk1EYzNJRFpNTVRBdU1qRTRNU0F4TUM0eU1UZ3hURFlnTVM0Mk1EYzNUREV4TGpNME56Z2dPUzQxTmpVNE4wd3hNaUF3V2lJZ1ptbHNiRDBpZDJocGRHVWlJQzgrUEdGdWFXMWhkR1ZVY21GdWMyWnZjbTBnWVhSMGNtbGlkWFJsVG1GdFpUMGlkSEpoYm5ObWIzSnRJaUIwZVhCbFBTSnliM1JoZEdVaUlHWnliMjA5SWpBZ01UZ2dNVGdpSUhSdlBTSXpOakFnTVRnZ01UZ2lJR1IxY2owaU1UQnpJaUJ5WlhCbFlYUkRiM1Z1ZEQwaWFXNWtaV1pwYm1sMFpTSXZQand2Wno0OEwyYytQQzl6ZG1jKyJ9"`;
|
|
6
|
+
|
|
7
|
+
exports[`NFTDescriptor #svgImage matches the current snapshot 1`] = `"<svg width=\\"290\\" height=\\"500\\" viewBox=\\"0 0 290 500\\" xmlns=\\"http://www.w3.org/2000/svg\\" xmlns:xlink='http://www.w3.org/1999/xlink'><defs><filter id=\\"f1\\"><feImage result=\\"p0\\" xlink:href=\\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMjkwJyBoZWlnaHQ9JzUwMCcgdmlld0JveD0nMCAwIDI5MCA1MDAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHJlY3Qgd2lkdGg9JzI5MHB4JyBoZWlnaHQ9JzUwMHB4JyBmaWxsPScjMTIzNDU2Jy8+PC9zdmc+\\"/><feImage result=\\"p1\\" xlink:href=\\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMjkwJyBoZWlnaHQ9JzUwMCcgdmlld0JveD0nMCAwIDI5MCA1MDAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PGNpcmNsZSBjeD0nMTkyJyBjeT0nMzI1JyByPScxMjBweCcgZmlsbD0nI2FiY2RlYScvPjwvc3ZnPg==\\"/><feImage result=\\"p2\\" xlink:href=\\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMjkwJyBoZWlnaHQ9JzUwMCcgdmlld0JveD0nMCAwIDI5MCA1MDAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PGNpcmNsZSBjeD0nMjQzJyBjeT0nMzYyJyByPScxMjBweCcgZmlsbD0nIzY3ODkwMScvPjwvc3ZnPg==\\" /><feImage result=\\"p3\\" xlink:href=\\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMjkwJyBoZWlnaHQ9JzUwMCcgdmlld0JveD0nMCAwIDI5MCA1MDAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PGNpcmNsZSBjeD0nMzcnIGN5PScxMzEnIHI9JzEwMHB4JyBmaWxsPScjZmFiY2RmJy8+PC9zdmc+\\" /><feBlend mode=\\"overlay\\" in=\\"p0\\" in2=\\"p1\\" /><feBlend mode=\\"exclusion\\" in2=\\"p2\\" /><feBlend mode=\\"overlay\\" in2=\\"p3\\" result=\\"blendOut\\" /><feGaussianBlur in=\\"blendOut\\" stdDeviation=\\"42\\" /></filter> <clipPath id=\\"corners\\"><rect width=\\"290\\" height=\\"500\\" rx=\\"42\\" ry=\\"42\\" /></clipPath><path id=\\"text-path-a\\" d=\\"M40 12 H250 A28 28 0 0 1 278 40 V460 A28 28 0 0 1 250 488 H40 A28 28 0 0 1 12 460 V40 A28 28 0 0 1 40 12 z\\" /><path id=\\"minimap\\" d=\\"M234 444C234 457.949 242.21 463 253 463\\" /><filter id=\\"top-region-blur\\"><feGaussianBlur in=\\"SourceGraphic\\" stdDeviation=\\"24\\" /></filter><linearGradient id=\\"grad-up\\" x1=\\"1\\" x2=\\"0\\" y1=\\"1\\" y2=\\"0\\"><stop offset=\\"0.0\\" stop-color=\\"white\\" stop-opacity=\\"1\\" /><stop offset=\\".9\\" stop-color=\\"white\\" stop-opacity=\\"0\\" /></linearGradient><linearGradient id=\\"grad-down\\" x1=\\"0\\" x2=\\"1\\" y1=\\"0\\" y2=\\"1\\"><stop offset=\\"0.0\\" stop-color=\\"white\\" stop-opacity=\\"1\\" /><stop offset=\\"0.9\\" stop-color=\\"white\\" stop-opacity=\\"0\\" /></linearGradient><mask id=\\"fade-up\\" maskContentUnits=\\"objectBoundingBox\\"><rect width=\\"1\\" height=\\"1\\" fill=\\"url(#grad-up)\\" /></mask><mask id=\\"fade-down\\" maskContentUnits=\\"objectBoundingBox\\"><rect width=\\"1\\" height=\\"1\\" fill=\\"url(#grad-down)\\" /></mask><mask id=\\"none\\" maskContentUnits=\\"objectBoundingBox\\"><rect width=\\"1\\" height=\\"1\\" fill=\\"white\\" /></mask><linearGradient id=\\"grad-symbol\\"><stop offset=\\"0.7\\" stop-color=\\"white\\" stop-opacity=\\"1\\" /><stop offset=\\".95\\" stop-color=\\"white\\" stop-opacity=\\"0\\" /></linearGradient><mask id=\\"fade-symbol\\" maskContentUnits=\\"userSpaceOnUse\\"><rect width=\\"290px\\" height=\\"200px\\" fill=\\"url(#grad-symbol)\\" /></mask></defs><g clip-path=\\"url(#corners)\\"><rect fill=\\"123456\\" x=\\"0px\\" y=\\"0px\\" width=\\"290px\\" height=\\"500px\\" /><rect style=\\"filter: url(#f1)\\" x=\\"0px\\" y=\\"0px\\" width=\\"290px\\" height=\\"500px\\" /> <g style=\\"filter:url(#top-region-blur); transform:scale(1.5); transform-origin:center top;\\"><rect fill=\\"none\\" x=\\"0px\\" y=\\"0px\\" width=\\"290px\\" height=\\"500px\\" /><ellipse cx=\\"50%\\" cy=\\"0px\\" rx=\\"180px\\" ry=\\"120px\\" fill=\\"#000\\" opacity=\\"0.85\\" /></g><rect x=\\"0\\" y=\\"0\\" width=\\"290\\" height=\\"500\\" rx=\\"42\\" ry=\\"42\\" fill=\\"rgba(0,0,0,0)\\" stroke=\\"rgba(255,255,255,0.2)\\" /></g><text text-rendering=\\"optimizeSpeed\\"><textPath startOffset=\\"-100%\\" fill=\\"white\\" font-family=\\"'Courier New', monospace\\" font-size=\\"10px\\" xlink:href=\\"#text-path-a\\">0xabcdeabcdefabcdefabcdefabcdefabcdefabcdf • WETH <animate additive=\\"sum\\" attributeName=\\"startOffset\\" from=\\"0%\\" to=\\"100%\\" begin=\\"0s\\" dur=\\"30s\\" repeatCount=\\"indefinite\\" /></textPath> <textPath startOffset=\\"0%\\" fill=\\"white\\" font-family=\\"'Courier New', monospace\\" font-size=\\"10px\\" xlink:href=\\"#text-path-a\\">0xabcdeabcdefabcdefabcdefabcdefabcdefabcdf • WETH <animate additive=\\"sum\\" attributeName=\\"startOffset\\" from=\\"0%\\" to=\\"100%\\" begin=\\"0s\\" dur=\\"30s\\" repeatCount=\\"indefinite\\" /> </textPath><textPath startOffset=\\"50%\\" fill=\\"white\\" font-family=\\"'Courier New', monospace\\" font-size=\\"10px\\" xlink:href=\\"#text-path-a\\">0x1234567890123456789123456789012345678901 • UNI <animate additive=\\"sum\\" attributeName=\\"startOffset\\" from=\\"0%\\" to=\\"100%\\" begin=\\"0s\\" dur=\\"30s\\" repeatCount=\\"indefinite\\" /></textPath><textPath startOffset=\\"-50%\\" fill=\\"white\\" font-family=\\"'Courier New', monospace\\" font-size=\\"10px\\" xlink:href=\\"#text-path-a\\">0x1234567890123456789123456789012345678901 • UNI <animate additive=\\"sum\\" attributeName=\\"startOffset\\" from=\\"0%\\" to=\\"100%\\" begin=\\"0s\\" dur=\\"30s\\" repeatCount=\\"indefinite\\" /></textPath></text><g mask=\\"url(#fade-symbol)\\"><rect fill=\\"none\\" x=\\"0px\\" y=\\"0px\\" width=\\"290px\\" height=\\"200px\\" /> <text y=\\"70px\\" x=\\"32px\\" fill=\\"white\\" font-family=\\"'Courier New', monospace\\" font-weight=\\"200\\" font-size=\\"36px\\">UNI/WETH</text><text y=\\"115px\\" x=\\"32px\\" fill=\\"white\\" font-family=\\"'Courier New', monospace\\" font-weight=\\"200\\" font-size=\\"36px\\">0.05%</text></g><rect x=\\"16\\" y=\\"16\\" width=\\"258\\" height=\\"468\\" rx=\\"26\\" ry=\\"26\\" fill=\\"rgba(0,0,0,0)\\" stroke=\\"rgba(255,255,255,0.2)\\" /><g mask=\\"url(#none)\\" style=\\"transform:translate(72px,189px)\\"><rect x=\\"-16px\\" y=\\"-16px\\" width=\\"180px\\" height=\\"180px\\" fill=\\"none\\" /><path d=\\"M1 1C17 73 73 129 145 145\\" stroke=\\"rgba(0,0,0,0.3)\\" stroke-width=\\"32px\\" fill=\\"none\\" stroke-linecap=\\"round\\" /></g><g mask=\\"url(#none)\\" style=\\"transform:translate(72px,189px)\\"><rect x=\\"-16px\\" y=\\"-16px\\" width=\\"180px\\" height=\\"180px\\" fill=\\"none\\" /><path d=\\"M1 1C17 73 73 129 145 145\\" stroke=\\"rgba(255,255,255,1)\\" fill=\\"none\\" stroke-linecap=\\"round\\" /></g><circle cx=\\"73px\\" cy=\\"190px\\" r=\\"4px\\" fill=\\"white\\" /><circle cx=\\"217px\\" cy=\\"334px\\" r=\\"4px\\" fill=\\"white\\" /> <g style=\\"transform:translate(29px, 384px)\\"><rect width=\\"77px\\" height=\\"26px\\" rx=\\"8px\\" ry=\\"8px\\" fill=\\"rgba(0,0,0,0.6)\\" /><text x=\\"12px\\" y=\\"17px\\" font-family=\\"'Courier New', monospace\\" font-size=\\"12px\\" fill=\\"white\\"><tspan fill=\\"rgba(255,255,255,0.6)\\">ID: </tspan>123</text></g> <g style=\\"transform:translate(29px, 414px)\\"><rect width=\\"133px\\" height=\\"26px\\" rx=\\"8px\\" ry=\\"8px\\" fill=\\"rgba(0,0,0,0.6)\\" /><text x=\\"12px\\" y=\\"17px\\" font-family=\\"'Courier New', monospace\\" font-size=\\"12px\\" fill=\\"white\\"><tspan fill=\\"rgba(255,255,255,0.6)\\">Min Tick: </tspan>-1000</text></g> <g style=\\"transform:translate(29px, 444px)\\"><rect width=\\"126px\\" height=\\"26px\\" rx=\\"8px\\" ry=\\"8px\\" fill=\\"rgba(0,0,0,0.6)\\" /><text x=\\"12px\\" y=\\"17px\\" font-family=\\"'Courier New', monospace\\" font-size=\\"12px\\" fill=\\"white\\"><tspan fill=\\"rgba(255,255,255,0.6)\\">Max Tick: </tspan>2000</text></g><g style=\\"transform:translate(226px, 433px)\\"><rect width=\\"36px\\" height=\\"36px\\" rx=\\"8px\\" ry=\\"8px\\" fill=\\"none\\" stroke=\\"rgba(255,255,255,0.2)\\" /><path stroke-linecap=\\"round\\" d=\\"M8 9C8.00004 22.9494 16.2099 28 27 28\\" fill=\\"none\\" stroke=\\"white\\" /><circle style=\\"transform:translate3d(13px, 23px, 0px)\\" cx=\\"0px\\" cy=\\"0px\\" r=\\"4px\\" fill=\\"white\\"/></g></svg>"`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="290" height="500" viewBox="0 0 290 500" xmlns="http://www.w3.org/2000/svg" xmlns:xlink='http://www.w3.org/1999/xlink'><defs><filter id="f1"><feImage result="p0" xlink:href="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMjkwJyBoZWlnaHQ9JzUwMCcgdmlld0JveD0nMCAwIDI5MCA1MDAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHJlY3Qgd2lkdGg9JzI5MHB4JyBoZWlnaHQ9JzUwMHB4JyBmaWxsPScjMTIzNDU2Jy8+PC9zdmc+"/><feImage result="p1" xlink:href="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMjkwJyBoZWlnaHQ9JzUwMCcgdmlld0JveD0nMCAwIDI5MCA1MDAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PGNpcmNsZSBjeD0nMTkyJyBjeT0nMzI1JyByPScxMjBweCcgZmlsbD0nI2FiY2RlYScvPjwvc3ZnPg=="/><feImage result="p2" xlink:href="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMjkwJyBoZWlnaHQ9JzUwMCcgdmlld0JveD0nMCAwIDI5MCA1MDAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PGNpcmNsZSBjeD0nMjQzJyBjeT0nMzYyJyByPScxMjBweCcgZmlsbD0nIzY3ODkwMScvPjwvc3ZnPg==" /><feImage result="p3" xlink:href="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMjkwJyBoZWlnaHQ9JzUwMCcgdmlld0JveD0nMCAwIDI5MCA1MDAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PGNpcmNsZSBjeD0nMzcnIGN5PScxMzEnIHI9JzEwMHB4JyBmaWxsPScjZmFiY2RmJy8+PC9zdmc+" /><feBlend mode="overlay" in="p0" in2="p1" /><feBlend mode="exclusion" in2="p2" /><feBlend mode="overlay" in2="p3" result="blendOut" /><feGaussianBlur in="blendOut" stdDeviation="42" /></filter> <clipPath id="corners"><rect width="290" height="500" rx="42" ry="42" /></clipPath><path id="text-path-a" d="M40 12 H250 A28 28 0 0 1 278 40 V460 A28 28 0 0 1 250 488 H40 A28 28 0 0 1 12 460 V40 A28 28 0 0 1 40 12 z" /><path id="minimap" d="M234 444C234 457.949 242.21 463 253 463" /><filter id="top-region-blur"><feGaussianBlur in="SourceGraphic" stdDeviation="24" /></filter><linearGradient id="grad-up" x1="1" x2="0" y1="1" y2="0"><stop offset="0.0" stop-color="white" stop-opacity="1" /><stop offset=".9" stop-color="white" stop-opacity="0" /></linearGradient><linearGradient id="grad-down" x1="0" x2="1" y1="0" y2="1"><stop offset="0.0" stop-color="white" stop-opacity="1" /><stop offset="0.9" stop-color="white" stop-opacity="0" /></linearGradient><mask id="fade-up" maskContentUnits="objectBoundingBox"><rect width="1" height="1" fill="url(#grad-up)" /></mask><mask id="fade-down" maskContentUnits="objectBoundingBox"><rect width="1" height="1" fill="url(#grad-down)" /></mask><mask id="none" maskContentUnits="objectBoundingBox"><rect width="1" height="1" fill="white" /></mask><linearGradient id="grad-symbol"><stop offset="0.7" stop-color="white" stop-opacity="1" /><stop offset=".95" stop-color="white" stop-opacity="0" /></linearGradient><mask id="fade-symbol" maskContentUnits="userSpaceOnUse"><rect width="290px" height="200px" fill="url(#grad-symbol)" /></mask></defs><g clip-path="url(#corners)"><rect fill="123456" x="0px" y="0px" width="290px" height="500px" /><rect style="filter: url(#f1)" x="0px" y="0px" width="290px" height="500px" /> <g style="filter:url(#top-region-blur); transform:scale(1.5); transform-origin:center top;"><rect fill="none" x="0px" y="0px" width="290px" height="500px" /><ellipse cx="50%" cy="0px" rx="180px" ry="120px" fill="#000" opacity="0.85" /></g><rect x="0" y="0" width="290" height="500" rx="42" ry="42" fill="rgba(0,0,0,0)" stroke="rgba(255,255,255,0.2)" /></g><text text-rendering="optimizeSpeed"><textPath startOffset="-100%" fill="white" font-family="'Courier New', monospace" font-size="10px" xlink:href="#text-path-a">0xabcdeabcdefabcdefabcdefabcdefabcdefabcdf • WETH <animate additive="sum" attributeName="startOffset" from="0%" to="100%" begin="0s" dur="30s" repeatCount="indefinite" /></textPath> <textPath startOffset="0%" fill="white" font-family="'Courier New', monospace" font-size="10px" xlink:href="#text-path-a">0xabcdeabcdefabcdefabcdefabcdefabcdefabcdf • WETH <animate additive="sum" attributeName="startOffset" from="0%" to="100%" begin="0s" dur="30s" repeatCount="indefinite" /> </textPath><textPath startOffset="50%" fill="white" font-family="'Courier New', monospace" font-size="10px" xlink:href="#text-path-a">0x1234567890123456789123456789012345678901 • UNI <animate additive="sum" attributeName="startOffset" from="0%" to="100%" begin="0s" dur="30s" repeatCount="indefinite" /></textPath><textPath startOffset="-50%" fill="white" font-family="'Courier New', monospace" font-size="10px" xlink:href="#text-path-a">0x1234567890123456789123456789012345678901 • UNI <animate additive="sum" attributeName="startOffset" from="0%" to="100%" begin="0s" dur="30s" repeatCount="indefinite" /></textPath></text><g mask="url(#fade-symbol)"><rect fill="none" x="0px" y="0px" width="290px" height="200px" /> <text y="70px" x="32px" fill="white" font-family="'Courier New', monospace" font-weight="200" font-size="36px">UNI/WETH</text><text y="115px" x="32px" fill="white" font-family="'Courier New', monospace" font-weight="200" font-size="36px">0.05%</text></g><rect x="16" y="16" width="258" height="468" rx="26" ry="26" fill="rgba(0,0,0,0)" stroke="rgba(255,255,255,0.2)" /><g mask="url(#none)" style="transform:translate(72px,189px)"><rect x="-16px" y="-16px" width="180px" height="180px" fill="none" /><path d="M1 1C17 73 73 129 145 145" stroke="rgba(0,0,0,0.3)" stroke-width="32px" fill="none" stroke-linecap="round" /></g><g mask="url(#none)" style="transform:translate(72px,189px)"><rect x="-16px" y="-16px" width="180px" height="180px" fill="none" /><path d="M1 1C17 73 73 129 145 145" stroke="rgba(255,255,255,1)" fill="none" stroke-linecap="round" /></g><circle cx="73px" cy="190px" r="4px" fill="white" /><circle cx="217px" cy="334px" r="4px" fill="white" /> <g style="transform:translate(29px, 384px)"><rect width="77px" height="26px" rx="8px" ry="8px" fill="rgba(0,0,0,0.6)" /><text x="12px" y="17px" font-family="'Courier New', monospace" font-size="12px" fill="white"><tspan fill="rgba(255,255,255,0.6)">ID: </tspan>123</text></g> <g style="transform:translate(29px, 414px)"><rect width="133px" height="26px" rx="8px" ry="8px" fill="rgba(0,0,0,0.6)" /><text x="12px" y="17px" font-family="'Courier New', monospace" font-size="12px" fill="white"><tspan fill="rgba(255,255,255,0.6)">Min Tick: </tspan>-1000</text></g> <g style="transform:translate(29px, 444px)"><rect width="126px" height="26px" rx="8px" ry="8px" fill="rgba(0,0,0,0.6)" /><text x="12px" y="17px" font-family="'Courier New', monospace" font-size="12px" fill="white"><tspan fill="rgba(255,255,255,0.6)">Max Tick: </tspan>2000</text></g><g style="transform:translate(226px, 433px)"><rect width="36px" height="36px" rx="8px" ry="8px" fill="none" stroke="rgba(255,255,255,0.2)" /><path stroke-linecap="round" d="M8 9C8.00004 22.9494 16.2099 28 27 28" fill="none" stroke="white" /><circle style="transform:translate3d(13px, 23px, 0px)" cx="0px" cy="0px" r="4px" fill="white"/></g></svg>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`NonfungiblePositionManager #burn gas 1`] = `66076`;
|
|
4
|
+
|
|
5
|
+
exports[`NonfungiblePositionManager #collect gas transfers both 1`] = `118970`;
|
|
6
|
+
|
|
7
|
+
exports[`NonfungiblePositionManager #collect gas transfers token0 only 1`] = `111897`;
|
|
8
|
+
|
|
9
|
+
exports[`NonfungiblePositionManager #collect gas transfers token1 only 1`] = `112104`;
|
|
10
|
+
|
|
11
|
+
exports[`NonfungiblePositionManager #createAndInitializePoolIfNecessary gas 1`] = `4612043`;
|
|
12
|
+
|
|
13
|
+
exports[`NonfungiblePositionManager #decreaseLiquidity gas complete decrease 1`] = `148666`;
|
|
14
|
+
|
|
15
|
+
exports[`NonfungiblePositionManager #decreaseLiquidity gas partial decrease 1`] = `161366`;
|
|
16
|
+
|
|
17
|
+
exports[`NonfungiblePositionManager #increaseLiquidity gas 1`] = `176626`;
|
|
18
|
+
|
|
19
|
+
exports[`NonfungiblePositionManager #mint gas first mint for pool 1`] = `619406`;
|
|
20
|
+
|
|
21
|
+
exports[`NonfungiblePositionManager #mint gas first mint for pool using eth with non-zero refund 1`] = `629749`;
|
|
22
|
+
|
|
23
|
+
exports[`NonfungiblePositionManager #mint gas first mint for pool using eth with zero refund 1`] = `622524`;
|
|
24
|
+
|
|
25
|
+
exports[`NonfungiblePositionManager #mint gas mint for same pool, different ticks 1`] = `451862`;
|
|
26
|
+
|
|
27
|
+
exports[`NonfungiblePositionManager #mint gas mint on same ticks 1`] = `344732`;
|
|
28
|
+
|
|
29
|
+
exports[`NonfungiblePositionManager #permit owned by eoa gas 1`] = `64492`;
|
|
30
|
+
|
|
31
|
+
exports[`NonfungiblePositionManager #permit owned by verifying contract gas 1`] = `68289`;
|
|
32
|
+
|
|
33
|
+
exports[`NonfungiblePositionManager #positions gas 1`] = `19890`;
|
|
34
|
+
|
|
35
|
+
exports[`NonfungiblePositionManager #transferFrom gas 1`] = `109691`;
|
|
36
|
+
|
|
37
|
+
exports[`NonfungiblePositionManager #transferFrom gas comes from approved 1`] = `108291`;
|
|
38
|
+
|
|
39
|
+
exports[`NonfungiblePositionManager bytecode size 1`] = `24450`;
|
|
40
|
+
|
|
41
|
+
exports[`NonfungiblePositionManager multicall exit gas 1`] = `228718`;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`PositionValue #fees when price is above the position range gas 1`] = `47658`;
|
|
4
|
+
|
|
5
|
+
exports[`PositionValue #fees when price is below the position range gas 1`] = `47626`;
|
|
6
|
+
|
|
7
|
+
exports[`PositionValue #fees when price is within the position range gas 1`] = `53216`;
|
|
8
|
+
|
|
9
|
+
exports[`PositionValue #principal gas 1`] = `23001`;
|
|
10
|
+
|
|
11
|
+
exports[`PositionValue #total gas 1`] = `59777`;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`QuoterV2 quotes #quoteExactInput 0 -> 2 -> 1 1`] = `277146`;
|
|
4
|
+
|
|
5
|
+
exports[`QuoterV2 quotes #quoteExactInput 0 -> 2 cross 0 tick, starting tick initialized 1`] = `123797`;
|
|
6
|
+
|
|
7
|
+
exports[`QuoterV2 quotes #quoteExactInput 0 -> 2 cross 0 tick, starting tick not initialized 1`] = `100962`;
|
|
8
|
+
|
|
9
|
+
exports[`QuoterV2 quotes #quoteExactInput 0 -> 2 cross 1 tick 1`] = `144724`;
|
|
10
|
+
|
|
11
|
+
exports[`QuoterV2 quotes #quoteExactInput 0 -> 2 cross 2 tick 1`] = `182321`;
|
|
12
|
+
|
|
13
|
+
exports[`QuoterV2 quotes #quoteExactInput 0 -> 2 cross 2 tick where after is initialized 1`] = `144762`;
|
|
14
|
+
|
|
15
|
+
exports[`QuoterV2 quotes #quoteExactInput 2 -> 0 cross 0 tick, starting tick initialized 1`] = `97654`;
|
|
16
|
+
|
|
17
|
+
exports[`QuoterV2 quotes #quoteExactInput 2 -> 0 cross 0 tick, starting tick not initialized 1`] = `93779`;
|
|
18
|
+
|
|
19
|
+
exports[`QuoterV2 quotes #quoteExactInput 2 -> 0 cross 2 1`] = `175133`;
|
|
20
|
+
|
|
21
|
+
exports[`QuoterV2 quotes #quoteExactInput 2 -> 0 cross 2 where tick after is initialized 1`] = `175141`;
|
|
22
|
+
|
|
23
|
+
exports[`QuoterV2 quotes #quoteExactInput 2 -> 1 1`] = `97329`;
|
|
24
|
+
|
|
25
|
+
exports[`QuoterV2 quotes #quoteExactInputSingle 0 -> 2 1`] = `182303`;
|
|
26
|
+
|
|
27
|
+
exports[`QuoterV2 quotes #quoteExactInputSingle 2 -> 0 1`] = `175105`;
|
|
28
|
+
|
|
29
|
+
exports[`QuoterV2 quotes #quoteExactOutput 0 -> 2 -> 1 1`] = `276746`;
|
|
30
|
+
|
|
31
|
+
exports[`QuoterV2 quotes #quoteExactOutput 0 -> 2 cross 0 tick starting tick initialized 1`] = `123352`;
|
|
32
|
+
|
|
33
|
+
exports[`QuoterV2 quotes #quoteExactOutput 0 -> 2 cross 0 tick starting tick not initialized 1`] = `100537`;
|
|
34
|
+
|
|
35
|
+
exports[`QuoterV2 quotes #quoteExactOutput 0 -> 2 cross 1 tick 1`] = `144010`;
|
|
36
|
+
|
|
37
|
+
exports[`QuoterV2 quotes #quoteExactOutput 0 -> 2 cross 2 tick 1`] = `181363`;
|
|
38
|
+
|
|
39
|
+
exports[`QuoterV2 quotes #quoteExactOutput 0 -> 2 cross 2 where tick after is initialized 1`] = `144048`;
|
|
40
|
+
|
|
41
|
+
exports[`QuoterV2 quotes #quoteExactOutput 2 -> 0 cross 1 tick 1`] = `137858`;
|
|
42
|
+
|
|
43
|
+
exports[`QuoterV2 quotes #quoteExactOutput 2 -> 0 cross 2 ticks 1`] = `175203`;
|
|
44
|
+
|
|
45
|
+
exports[`QuoterV2 quotes #quoteExactOutput 2 -> 0 cross 2 where tick after is initialized 1`] = `175197`;
|
|
46
|
+
|
|
47
|
+
exports[`QuoterV2 quotes #quoteExactOutput 2 -> 1 1`] = `97870`;
|
|
48
|
+
|
|
49
|
+
exports[`QuoterV2 quotes #quoteExactOutputSingle 0 -> 1 1`] = `105200`;
|
|
50
|
+
|
|
51
|
+
exports[`QuoterV2 quotes #quoteExactOutputSingle 1 -> 0 1`] = `98511`;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`SwapRouter gas tests #exactInput 0 -> 1 -> 2 1`] = `172498`;
|
|
4
|
+
|
|
5
|
+
exports[`SwapRouter gas tests #exactInput 0 -> 1 1`] = `107759`;
|
|
6
|
+
|
|
7
|
+
exports[`SwapRouter gas tests #exactInput 0 -> 1 minimal 1`] = `98059`;
|
|
8
|
+
|
|
9
|
+
exports[`SwapRouter gas tests #exactInput 0 -> WETH9 1`] = `127578`;
|
|
10
|
+
|
|
11
|
+
exports[`SwapRouter gas tests #exactInput 2 trades (via router) 1`] = `188814`;
|
|
12
|
+
|
|
13
|
+
exports[`SwapRouter gas tests #exactInput 3 trades (directly to sender) 1`] = `258601`;
|
|
14
|
+
|
|
15
|
+
exports[`SwapRouter gas tests #exactInput WETH9 -> 0 1`] = `106083`;
|
|
16
|
+
|
|
17
|
+
exports[`SwapRouter gas tests #exactInputSingle 0 -> 1 1`] = `107180`;
|
|
18
|
+
|
|
19
|
+
exports[`SwapRouter gas tests #exactInputSingle 0 -> WETH9 1`] = `126993`;
|
|
20
|
+
|
|
21
|
+
exports[`SwapRouter gas tests #exactInputSingle WETH9 -> 0 1`] = `105504`;
|
|
22
|
+
|
|
23
|
+
exports[`SwapRouter gas tests #exactOutput 0 -> 1 -> 2 1`] = `169275`;
|
|
24
|
+
|
|
25
|
+
exports[`SwapRouter gas tests #exactOutput 0 -> 1 1`] = `111757`;
|
|
26
|
+
|
|
27
|
+
exports[`SwapRouter gas tests #exactOutput 0 -> WETH9 1`] = `128821`;
|
|
28
|
+
|
|
29
|
+
exports[`SwapRouter gas tests #exactOutput WETH9 -> 0 1`] = `119691`;
|
|
30
|
+
|
|
31
|
+
exports[`SwapRouter gas tests #exactOutputSingle 0 -> 1 1`] = `111967`;
|
|
32
|
+
|
|
33
|
+
exports[`SwapRouter gas tests #exactOutputSingle 0 -> WETH9 1`] = `129031`;
|
|
34
|
+
|
|
35
|
+
exports[`SwapRouter gas tests #exactOutputSingle WETH9 -> 0 1`] = `114366`;
|
|
36
|
+
|
|
37
|
+
exports[`SwapRouter gas tests 3 trades (directly to sender) 1`] = `179440`;
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
{
|
|
2
|
+
"bytecode": "60606040526040805190810160405280600d81526020017f57726170706564204574686572000000000000000000000000000000000000008152506000908051906020019061004f9291906100c8565b506040805190810160405280600481526020017f57455448000000000000000000000000000000000000000000000000000000008152506001908051906020019061009b9291906100c8565b506012600260006101000a81548160ff021916908360ff16021790555034156100c357600080fd5b61016d565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061010957805160ff1916838001178555610137565b82800160010185558215610137579182015b8281111561013657825182559160200191906001019061011b565b5b5090506101449190610148565b5090565b61016a91905b8082111561016657600081600090555060010161014e565b5090565b90565b610c348061017c6000396000f3006060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b9578063095ea7b31461014757806318160ddd146101a157806323b872dd146101ca5780632e1a7d4d14610243578063313ce5671461026657806370a082311461029557806395d89b41146102e2578063a9059cbb14610370578063d0e30db0146103ca578063dd62ed3e146103d4575b6100b7610440565b005b34156100c457600080fd5b6100cc6104dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561010c5780820151818401526020810190506100f1565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610187600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061057b565b604051808215151515815260200191505060405180910390f35b34156101ac57600080fd5b6101b461066d565b6040518082815260200191505060405180910390f35b34156101d557600080fd5b610229600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061068c565b604051808215151515815260200191505060405180910390f35b341561024e57600080fd5b61026460048080359060200190919050506109d9565b005b341561027157600080fd5b610279610b05565b604051808260ff1660ff16815260200191505060405180910390f35b34156102a057600080fd5b6102cc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b18565b6040518082815260200191505060405180910390f35b34156102ed57600080fd5b6102f5610b30565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033557808201518184015260208101905061031a565b50505050905090810190601f1680156103625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037b57600080fd5b6103b0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bce565b604051808215151515815260200191505060405180910390f35b6103d2610440565b005b34156103df57600080fd5b61042a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610be3565b6040518082815260200191505060405180910390f35b34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a2565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105735780601f1061054857610100808354040283529160200191610573565b820191906000526020600020905b81548152906001019060200180831161055657829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106dc57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156107b457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156108cf5781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561084457600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a2757600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ab457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a250565b600260009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc65780601f10610b9b57610100808354040283529160200191610bc6565b820191906000526020600020905b815481529060010190602001808311610ba957829003601f168201915b505050505081565b6000610bdb33848461068c565b905092915050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a72305820deb4c2ccab3c2fdca32ab3f46728389c2fe2c165d5fafa07661e4e004f6c344a0029",
|
|
3
|
+
"abi": [
|
|
4
|
+
{
|
|
5
|
+
"constant": true,
|
|
6
|
+
"inputs": [],
|
|
7
|
+
"name": "name",
|
|
8
|
+
"outputs": [{ "name": "", "type": "string" }],
|
|
9
|
+
"payable": false,
|
|
10
|
+
"stateMutability": "view",
|
|
11
|
+
"type": "function"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"constant": false,
|
|
15
|
+
"inputs": [
|
|
16
|
+
{ "name": "guy", "type": "address" },
|
|
17
|
+
{ "name": "wad", "type": "uint256" }
|
|
18
|
+
],
|
|
19
|
+
"name": "approve",
|
|
20
|
+
"outputs": [{ "name": "", "type": "bool" }],
|
|
21
|
+
"payable": false,
|
|
22
|
+
"stateMutability": "nonpayable",
|
|
23
|
+
"type": "function"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"constant": true,
|
|
27
|
+
"inputs": [],
|
|
28
|
+
"name": "totalSupply",
|
|
29
|
+
"outputs": [{ "name": "", "type": "uint256" }],
|
|
30
|
+
"payable": false,
|
|
31
|
+
"stateMutability": "view",
|
|
32
|
+
"type": "function"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"constant": false,
|
|
36
|
+
"inputs": [
|
|
37
|
+
{ "name": "src", "type": "address" },
|
|
38
|
+
{ "name": "dst", "type": "address" },
|
|
39
|
+
{ "name": "wad", "type": "uint256" }
|
|
40
|
+
],
|
|
41
|
+
"name": "transferFrom",
|
|
42
|
+
"outputs": [{ "name": "", "type": "bool" }],
|
|
43
|
+
"payable": false,
|
|
44
|
+
"stateMutability": "nonpayable",
|
|
45
|
+
"type": "function"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"constant": false,
|
|
49
|
+
"inputs": [{ "name": "wad", "type": "uint256" }],
|
|
50
|
+
"name": "withdraw",
|
|
51
|
+
"outputs": [],
|
|
52
|
+
"payable": false,
|
|
53
|
+
"stateMutability": "nonpayable",
|
|
54
|
+
"type": "function"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"constant": true,
|
|
58
|
+
"inputs": [],
|
|
59
|
+
"name": "decimals",
|
|
60
|
+
"outputs": [{ "name": "", "type": "uint8" }],
|
|
61
|
+
"payable": false,
|
|
62
|
+
"stateMutability": "view",
|
|
63
|
+
"type": "function"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"constant": true,
|
|
67
|
+
"inputs": [{ "name": "", "type": "address" }],
|
|
68
|
+
"name": "balanceOf",
|
|
69
|
+
"outputs": [{ "name": "", "type": "uint256" }],
|
|
70
|
+
"payable": false,
|
|
71
|
+
"stateMutability": "view",
|
|
72
|
+
"type": "function"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"constant": true,
|
|
76
|
+
"inputs": [],
|
|
77
|
+
"name": "symbol",
|
|
78
|
+
"outputs": [{ "name": "", "type": "string" }],
|
|
79
|
+
"payable": false,
|
|
80
|
+
"stateMutability": "view",
|
|
81
|
+
"type": "function"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"constant": false,
|
|
85
|
+
"inputs": [
|
|
86
|
+
{ "name": "dst", "type": "address" },
|
|
87
|
+
{ "name": "wad", "type": "uint256" }
|
|
88
|
+
],
|
|
89
|
+
"name": "transfer",
|
|
90
|
+
"outputs": [{ "name": "", "type": "bool" }],
|
|
91
|
+
"payable": false,
|
|
92
|
+
"stateMutability": "nonpayable",
|
|
93
|
+
"type": "function"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"constant": false,
|
|
97
|
+
"inputs": [],
|
|
98
|
+
"name": "deposit",
|
|
99
|
+
"outputs": [],
|
|
100
|
+
"payable": true,
|
|
101
|
+
"stateMutability": "payable",
|
|
102
|
+
"type": "function"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"constant": true,
|
|
106
|
+
"inputs": [
|
|
107
|
+
{ "name": "", "type": "address" },
|
|
108
|
+
{ "name": "", "type": "address" }
|
|
109
|
+
],
|
|
110
|
+
"name": "allowance",
|
|
111
|
+
"outputs": [{ "name": "", "type": "uint256" }],
|
|
112
|
+
"payable": false,
|
|
113
|
+
"stateMutability": "view",
|
|
114
|
+
"type": "function"
|
|
115
|
+
},
|
|
116
|
+
{ "payable": true, "stateMutability": "payable", "type": "fallback" },
|
|
117
|
+
{
|
|
118
|
+
"anonymous": false,
|
|
119
|
+
"inputs": [
|
|
120
|
+
{ "indexed": true, "name": "src", "type": "address" },
|
|
121
|
+
{ "indexed": true, "name": "guy", "type": "address" },
|
|
122
|
+
{ "indexed": false, "name": "wad", "type": "uint256" }
|
|
123
|
+
],
|
|
124
|
+
"name": "Approval",
|
|
125
|
+
"type": "event"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"anonymous": false,
|
|
129
|
+
"inputs": [
|
|
130
|
+
{ "indexed": true, "name": "src", "type": "address" },
|
|
131
|
+
{ "indexed": true, "name": "dst", "type": "address" },
|
|
132
|
+
{ "indexed": false, "name": "wad", "type": "uint256" }
|
|
133
|
+
],
|
|
134
|
+
"name": "Transfer",
|
|
135
|
+
"type": "event"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"anonymous": false,
|
|
139
|
+
"inputs": [
|
|
140
|
+
{ "indexed": true, "name": "dst", "type": "address" },
|
|
141
|
+
{ "indexed": false, "name": "wad", "type": "uint256" }
|
|
142
|
+
],
|
|
143
|
+
"name": "Deposit",
|
|
144
|
+
"type": "event"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"anonymous": false,
|
|
148
|
+
"inputs": [
|
|
149
|
+
{ "indexed": true, "name": "src", "type": "address" },
|
|
150
|
+
{ "indexed": false, "name": "wad", "type": "uint256" }
|
|
151
|
+
],
|
|
152
|
+
"name": "Withdrawal",
|
|
153
|
+
"type": "event"
|
|
154
|
+
}
|
|
155
|
+
]
|
|
156
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Fixture } from 'ethereum-waffle'
|
|
2
|
+
import { ethers } from 'hardhat'
|
|
3
|
+
import { v3RouterFixture } from './externalFixtures'
|
|
4
|
+
import { constants } from 'ethers'
|
|
5
|
+
import {
|
|
6
|
+
IWETH9,
|
|
7
|
+
MockTimeNonfungiblePositionManager,
|
|
8
|
+
MockTimeSwapRouter,
|
|
9
|
+
NonfungibleTokenPositionDescriptor,
|
|
10
|
+
TestERC20,
|
|
11
|
+
IUniswapV3Factory,
|
|
12
|
+
} from '../../typechain'
|
|
13
|
+
|
|
14
|
+
const completeFixture: Fixture<{
|
|
15
|
+
weth9: IWETH9
|
|
16
|
+
factory: IUniswapV3Factory
|
|
17
|
+
router: MockTimeSwapRouter
|
|
18
|
+
nft: MockTimeNonfungiblePositionManager
|
|
19
|
+
nftDescriptor: NonfungibleTokenPositionDescriptor
|
|
20
|
+
tokens: [TestERC20, TestERC20, TestERC20]
|
|
21
|
+
}> = async ([wallet], provider) => {
|
|
22
|
+
const { weth9, factory, router } = await v3RouterFixture([wallet], provider)
|
|
23
|
+
|
|
24
|
+
const tokenFactory = await ethers.getContractFactory('TestERC20')
|
|
25
|
+
const tokens: [TestERC20, TestERC20, TestERC20] = [
|
|
26
|
+
(await tokenFactory.deploy(constants.MaxUint256.div(2))) as TestERC20, // do not use maxu256 to avoid overflowing
|
|
27
|
+
(await tokenFactory.deploy(constants.MaxUint256.div(2))) as TestERC20,
|
|
28
|
+
(await tokenFactory.deploy(constants.MaxUint256.div(2))) as TestERC20,
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
const nftDescriptorLibraryFactory = await ethers.getContractFactory('NFTDescriptor')
|
|
32
|
+
const nftDescriptorLibrary = await nftDescriptorLibraryFactory.deploy()
|
|
33
|
+
const positionDescriptorFactory = await ethers.getContractFactory('NonfungibleTokenPositionDescriptor', {
|
|
34
|
+
libraries: {
|
|
35
|
+
NFTDescriptor: nftDescriptorLibrary.address,
|
|
36
|
+
},
|
|
37
|
+
})
|
|
38
|
+
const nftDescriptor = (await positionDescriptorFactory.deploy(
|
|
39
|
+
tokens[0].address,
|
|
40
|
+
// 'ETH' as a bytes32 string
|
|
41
|
+
'0x4554480000000000000000000000000000000000000000000000000000000000'
|
|
42
|
+
)) as NonfungibleTokenPositionDescriptor
|
|
43
|
+
|
|
44
|
+
const positionManagerFactory = await ethers.getContractFactory('MockTimeNonfungiblePositionManager')
|
|
45
|
+
const nft = (await positionManagerFactory.deploy(
|
|
46
|
+
factory.address,
|
|
47
|
+
weth9.address,
|
|
48
|
+
nftDescriptor.address
|
|
49
|
+
)) as MockTimeNonfungiblePositionManager
|
|
50
|
+
|
|
51
|
+
tokens.sort((a, b) => (a.address.toLowerCase() < b.address.toLowerCase() ? -1 : 1))
|
|
52
|
+
|
|
53
|
+
return {
|
|
54
|
+
weth9,
|
|
55
|
+
factory,
|
|
56
|
+
router,
|
|
57
|
+
tokens,
|
|
58
|
+
nft,
|
|
59
|
+
nftDescriptor,
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export default completeFixture
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { bytecode } from '@uniswap/v3-core/artifacts/contracts/UniswapV3Pool.sol/UniswapV3Pool.json'
|
|
2
|
+
import { utils } from 'ethers'
|
|
3
|
+
|
|
4
|
+
export const POOL_BYTECODE_HASH = utils.keccak256(bytecode)
|
|
5
|
+
|
|
6
|
+
export function computePoolAddress(factoryAddress: string, [tokenA, tokenB]: [string, string], fee: number): string {
|
|
7
|
+
const [token0, token1] = tokenA.toLowerCase() < tokenB.toLowerCase() ? [tokenA, tokenB] : [tokenB, tokenA]
|
|
8
|
+
const constructorArgumentsEncoded = utils.defaultAbiCoder.encode(
|
|
9
|
+
['address', 'address', 'uint24'],
|
|
10
|
+
[token0, token1, fee]
|
|
11
|
+
)
|
|
12
|
+
const create2Inputs = [
|
|
13
|
+
'0xff',
|
|
14
|
+
factoryAddress,
|
|
15
|
+
// salt
|
|
16
|
+
utils.keccak256(constructorArgumentsEncoded),
|
|
17
|
+
// init code hash
|
|
18
|
+
POOL_BYTECODE_HASH,
|
|
19
|
+
]
|
|
20
|
+
const sanitizedInputs = `0x${create2Inputs.map((i) => i.slice(2)).join('')}`
|
|
21
|
+
return utils.getAddress(`0x${utils.keccak256(sanitizedInputs).slice(-40)}`)
|
|
22
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BigNumber } from 'ethers'
|
|
2
|
+
|
|
3
|
+
export const MaxUint128 = BigNumber.from(2).pow(128).sub(1)
|
|
4
|
+
|
|
5
|
+
export enum FeeAmount {
|
|
6
|
+
LOW = 500,
|
|
7
|
+
MEDIUM = 3000,
|
|
8
|
+
HIGH = 10000,
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const TICK_SPACINGS: { [amount in FeeAmount]: number } = {
|
|
12
|
+
[FeeAmount.LOW]: 10,
|
|
13
|
+
[FeeAmount.MEDIUM]: 60,
|
|
14
|
+
[FeeAmount.HIGH]: 200,
|
|
15
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import bn from 'bignumber.js'
|
|
2
|
+
import { BigNumber, BigNumberish } from 'ethers'
|
|
3
|
+
|
|
4
|
+
bn.config({ EXPONENTIAL_AT: 999999, DECIMAL_PLACES: 40 })
|
|
5
|
+
|
|
6
|
+
// returns the sqrt price as a 64x96
|
|
7
|
+
export function encodePriceSqrt(reserve1: BigNumberish, reserve0: BigNumberish): BigNumber {
|
|
8
|
+
return BigNumber.from(
|
|
9
|
+
new bn(reserve1.toString())
|
|
10
|
+
.div(reserve0.toString())
|
|
11
|
+
.sqrt()
|
|
12
|
+
.multipliedBy(new bn(2).pow(96))
|
|
13
|
+
.integerValue(3)
|
|
14
|
+
.toString()
|
|
15
|
+
)
|
|
16
|
+
}
|