mint-day 0.3.2 → 0.3.3
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/.env.example +5 -0
- package/api/classify.ts +97 -0
- package/api/feed.ts +71 -0
- package/api/sponsor.ts +106 -0
- package/api/verify.ts +93 -0
- package/contracts/.env.example +4 -0
- package/contracts/.github/workflows/test.yml +38 -0
- package/contracts/.gitmodules +6 -0
- package/contracts/README.md +66 -0
- package/contracts/broadcast/Deploy.s.sol/8453/run-1773710193457.json +29 -0
- package/contracts/broadcast/Deploy.s.sol/8453/run-latest.json +29 -0
- package/contracts/broadcast/Deploy.s.sol/84532/run-1773630171259.json +71 -0
- package/contracts/broadcast/Deploy.s.sol/84532/run-1773709957408.json +71 -0
- package/contracts/broadcast/Deploy.s.sol/84532/run-latest.json +71 -0
- package/contracts/foundry.lock +14 -0
- package/contracts/foundry.toml +20 -0
- package/contracts/lib/forge-std/.gitattributes +1 -0
- package/contracts/lib/forge-std/.github/CODEOWNERS +1 -0
- package/contracts/lib/forge-std/.github/dependabot.yml +6 -0
- package/contracts/lib/forge-std/.github/workflows/ci.yml +125 -0
- package/contracts/lib/forge-std/.github/workflows/sync.yml +36 -0
- package/contracts/lib/forge-std/CONTRIBUTING.md +193 -0
- package/contracts/lib/forge-std/LICENSE-APACHE +203 -0
- package/contracts/lib/forge-std/LICENSE-MIT +25 -0
- package/contracts/lib/forge-std/README.md +314 -0
- package/contracts/lib/forge-std/RELEASE_CHECKLIST.md +12 -0
- package/contracts/lib/forge-std/foundry.toml +18 -0
- package/contracts/lib/forge-std/package.json +16 -0
- package/contracts/lib/forge-std/scripts/vm.py +636 -0
- package/contracts/lib/forge-std/src/Base.sol +48 -0
- package/contracts/lib/forge-std/src/Config.sol +60 -0
- package/contracts/lib/forge-std/src/LibVariable.sol +477 -0
- package/contracts/lib/forge-std/src/Script.sol +28 -0
- package/contracts/lib/forge-std/src/StdAssertions.sol +779 -0
- package/contracts/lib/forge-std/src/StdChains.sol +303 -0
- package/contracts/lib/forge-std/src/StdCheats.sol +825 -0
- package/contracts/lib/forge-std/src/StdConfig.sol +632 -0
- package/contracts/lib/forge-std/src/StdConstants.sol +30 -0
- package/contracts/lib/forge-std/src/StdError.sol +15 -0
- package/contracts/lib/forge-std/src/StdInvariant.sol +140 -0
- package/contracts/lib/forge-std/src/StdJson.sol +275 -0
- package/contracts/lib/forge-std/src/StdMath.sol +47 -0
- package/contracts/lib/forge-std/src/StdStorage.sol +475 -0
- package/contracts/lib/forge-std/src/StdStyle.sol +333 -0
- package/contracts/lib/forge-std/src/StdToml.sol +275 -0
- package/contracts/lib/forge-std/src/StdUtils.sol +200 -0
- package/contracts/lib/forge-std/src/Test.sol +32 -0
- package/contracts/lib/forge-std/src/Vm.sol +2533 -0
- package/contracts/lib/forge-std/src/console.sol +1551 -0
- package/contracts/lib/forge-std/src/console2.sol +4 -0
- package/contracts/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
- package/contracts/lib/forge-std/src/interfaces/IERC165.sol +12 -0
- package/contracts/lib/forge-std/src/interfaces/IERC20.sol +43 -0
- package/contracts/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
- package/contracts/lib/forge-std/src/interfaces/IERC6909.sol +72 -0
- package/contracts/lib/forge-std/src/interfaces/IERC721.sol +164 -0
- package/contracts/lib/forge-std/src/interfaces/IERC7540.sol +144 -0
- package/contracts/lib/forge-std/src/interfaces/IERC7575.sol +241 -0
- package/contracts/lib/forge-std/src/interfaces/IMulticall3.sol +68 -0
- package/contracts/lib/forge-std/src/safeconsole.sol +13248 -0
- package/contracts/lib/forge-std/test/CommonBase.t.sol +44 -0
- package/contracts/lib/forge-std/test/Config.t.sol +381 -0
- package/contracts/lib/forge-std/test/LibVariable.t.sol +452 -0
- package/contracts/lib/forge-std/test/StdAssertions.t.sol +141 -0
- package/contracts/lib/forge-std/test/StdChains.t.sol +227 -0
- package/contracts/lib/forge-std/test/StdCheats.t.sol +638 -0
- package/contracts/lib/forge-std/test/StdConstants.t.sol +38 -0
- package/contracts/lib/forge-std/test/StdError.t.sol +119 -0
- package/contracts/lib/forge-std/test/StdJson.t.sol +49 -0
- package/contracts/lib/forge-std/test/StdMath.t.sol +202 -0
- package/contracts/lib/forge-std/test/StdStorage.t.sol +485 -0
- package/contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
- package/contracts/lib/forge-std/test/StdToml.t.sol +49 -0
- package/contracts/lib/forge-std/test/StdUtils.t.sol +342 -0
- package/contracts/lib/forge-std/test/Vm.t.sol +18 -0
- package/contracts/lib/forge-std/test/compilation/CompilationScript.sol +8 -0
- package/contracts/lib/forge-std/test/compilation/CompilationScriptBase.sol +8 -0
- package/contracts/lib/forge-std/test/compilation/CompilationTest.sol +8 -0
- package/contracts/lib/forge-std/test/compilation/CompilationTestBase.sol +8 -0
- package/contracts/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
- package/contracts/lib/forge-std/test/fixtures/config.toml +81 -0
- package/contracts/lib/forge-std/test/fixtures/test.json +8 -0
- package/contracts/lib/forge-std/test/fixtures/test.toml +6 -0
- package/contracts/lib/openzeppelin-contracts/.changeset/config.json +12 -0
- package/contracts/lib/openzeppelin-contracts/.codecov.yml +16 -0
- package/contracts/lib/openzeppelin-contracts/.editorconfig +21 -0
- package/contracts/lib/openzeppelin-contracts/.gitattributes +3 -0
- package/contracts/lib/openzeppelin-contracts/.github/CODEOWNERS +10 -0
- package/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
- package/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/config.yml +4 -0
- package/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
- package/contracts/lib/openzeppelin-contracts/.github/PULL_REQUEST_TEMPLATE.md +20 -0
- package/contracts/lib/openzeppelin-contracts/.github/actions/gas-compare/action.yml +51 -0
- package/contracts/lib/openzeppelin-contracts/.github/actions/setup/action.yml +108 -0
- package/contracts/lib/openzeppelin-contracts/.github/actions/storage-layout/action.yml +57 -0
- package/contracts/lib/openzeppelin-contracts/.github/workflows/actionlint.yml +18 -0
- package/contracts/lib/openzeppelin-contracts/.github/workflows/changeset.yml +28 -0
- package/contracts/lib/openzeppelin-contracts/.github/workflows/checks.yml +132 -0
- package/contracts/lib/openzeppelin-contracts/.github/workflows/docs.yml +19 -0
- package/contracts/lib/openzeppelin-contracts/.github/workflows/formal-verification.yml +63 -0
- package/contracts/lib/openzeppelin-contracts/.github/workflows/release-cycle.yml +212 -0
- package/contracts/lib/openzeppelin-contracts/.github/workflows/release-upgradeable.yml +97 -0
- package/contracts/lib/openzeppelin-contracts/.github/workflows/upgradeable.yml +35 -0
- package/contracts/lib/openzeppelin-contracts/.gitmodules +10 -0
- package/contracts/lib/openzeppelin-contracts/.husky/pre-commit +2 -0
- package/contracts/lib/openzeppelin-contracts/.mocharc.js +4 -0
- package/contracts/lib/openzeppelin-contracts/.prettierrc +15 -0
- package/contracts/lib/openzeppelin-contracts/.solcover.js +21 -0
- package/contracts/lib/openzeppelin-contracts/CHANGELOG.md +1424 -0
- package/contracts/lib/openzeppelin-contracts/CODE_OF_CONDUCT.md +73 -0
- package/contracts/lib/openzeppelin-contracts/CONTRIBUTING.md +36 -0
- package/contracts/lib/openzeppelin-contracts/FUNDING.json +10 -0
- package/contracts/lib/openzeppelin-contracts/GUIDELINES.md +170 -0
- package/contracts/lib/openzeppelin-contracts/LICENSE +22 -0
- package/contracts/lib/openzeppelin-contracts/README.md +122 -0
- package/contracts/lib/openzeppelin-contracts/RELEASING.md +45 -0
- package/contracts/lib/openzeppelin-contracts/SECURITY.md +43 -0
- package/contracts/lib/openzeppelin-contracts/audits/2017-03.md +292 -0
- package/contracts/lib/openzeppelin-contracts/audits/2018-10.pdf +0 -0
- package/contracts/lib/openzeppelin-contracts/audits/2022-10-Checkpoints.pdf +0 -0
- package/contracts/lib/openzeppelin-contracts/audits/2022-10-ERC4626.pdf +0 -0
- package/contracts/lib/openzeppelin-contracts/audits/2023-05-v4.9.pdf +0 -0
- package/contracts/lib/openzeppelin-contracts/audits/2023-10-v5.0.pdf +0 -0
- package/contracts/lib/openzeppelin-contracts/audits/2024-10-v5.1.pdf +0 -0
- package/contracts/lib/openzeppelin-contracts/audits/2024-12-v5.2.pdf +0 -0
- package/contracts/lib/openzeppelin-contracts/audits/2025-04-v5.3.pdf +0 -0
- package/contracts/lib/openzeppelin-contracts/audits/2025-07-v5.4.pdf +0 -0
- package/contracts/lib/openzeppelin-contracts/audits/2025-10-v5.5.pdf +0 -0
- package/contracts/lib/openzeppelin-contracts/audits/README.md +22 -0
- package/contracts/lib/openzeppelin-contracts/contracts/access/AccessControl.sol +207 -0
- package/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol +98 -0
- package/contracts/lib/openzeppelin-contracts/contracts/access/Ownable.sol +100 -0
- package/contracts/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol +67 -0
- package/contracts/lib/openzeppelin-contracts/contracts/access/README.adoc +45 -0
- package/contracts/lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol +372 -0
- package/contracts/lib/openzeppelin-contracts/contracts/access/extensions/AccessControlEnumerable.sol +81 -0
- package/contracts/lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol +192 -0
- package/contracts/lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlEnumerable.sol +31 -0
- package/contracts/lib/openzeppelin-contracts/contracts/access/manager/AccessManaged.sol +112 -0
- package/contracts/lib/openzeppelin-contracts/contracts/access/manager/AccessManager.sol +741 -0
- package/contracts/lib/openzeppelin-contracts/contracts/access/manager/AuthorityUtils.sol +36 -0
- package/contracts/lib/openzeppelin-contracts/contracts/access/manager/IAccessManaged.sol +32 -0
- package/contracts/lib/openzeppelin-contracts/contracts/access/manager/IAccessManager.sol +403 -0
- package/contracts/lib/openzeppelin-contracts/contracts/access/manager/IAuthority.sol +14 -0
- package/contracts/lib/openzeppelin-contracts/contracts/account/Account.sol +151 -0
- package/contracts/lib/openzeppelin-contracts/contracts/account/README.adoc +30 -0
- package/contracts/lib/openzeppelin-contracts/contracts/account/extensions/draft-AccountERC7579.sol +420 -0
- package/contracts/lib/openzeppelin-contracts/contracts/account/extensions/draft-AccountERC7579Hooked.sol +107 -0
- package/contracts/lib/openzeppelin-contracts/contracts/account/extensions/draft-ERC7821.sol +70 -0
- package/contracts/lib/openzeppelin-contracts/contracts/account/utils/EIP7702Utils.sol +21 -0
- package/contracts/lib/openzeppelin-contracts/contracts/account/utils/draft-ERC4337Utils.sol +279 -0
- package/contracts/lib/openzeppelin-contracts/contracts/account/utils/draft-ERC7579Utils.sol +280 -0
- package/contracts/lib/openzeppelin-contracts/contracts/crosschain/CrosschainLinked.sol +109 -0
- package/contracts/lib/openzeppelin-contracts/contracts/crosschain/ERC7786Recipient.sol +66 -0
- package/contracts/lib/openzeppelin-contracts/contracts/crosschain/README.adoc +29 -0
- package/contracts/lib/openzeppelin-contracts/contracts/crosschain/bridges/BridgeERC20.sol +37 -0
- package/contracts/lib/openzeppelin-contracts/contracts/crosschain/bridges/BridgeERC7802.sol +34 -0
- package/contracts/lib/openzeppelin-contracts/contracts/crosschain/bridges/abstract/BridgeFungible.sol +80 -0
- package/contracts/lib/openzeppelin-contracts/contracts/finance/README.adoc +14 -0
- package/contracts/lib/openzeppelin-contracts/contracts/finance/VestingWallet.sol +160 -0
- package/contracts/lib/openzeppelin-contracts/contracts/finance/VestingWalletCliff.sol +54 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/Governor.sol +819 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/IGovernor.sol +454 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/README.adoc +197 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/TimelockController.sol +470 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingFractional.sol +190 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingOverridable.sol +222 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol +96 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorNoncesKeyed.sol +91 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorPreventLateQuorum.sol +92 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalGuardian.sol +59 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSequentialProposalId.sol +75 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSettings.sol +106 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorStorage.sol +134 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSuperQuorum.sol +59 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockAccess.sol +346 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockCompound.sol +165 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol +167 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol +63 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +113 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol +135 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol +60 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol +253 -0
- package/contracts/lib/openzeppelin-contracts/contracts/governance/utils/VotesExtended.sol +85 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155.sol +6 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155MetadataURI.sol +6 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155Receiver.sol +6 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol +17 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol +86 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Receiver.sol +32 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Spender.sol +26 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol +6 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Implementer.sol +20 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Registry.sol +112 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol +24 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol +6 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20Metadata.sol +6 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol +19 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2612.sol +8 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2981.sol +26 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156.sol +7 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol +27 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol +41 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol +230 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol +20 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol +28 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol +16 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol +9 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol +17 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC6909.sol +125 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol +6 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Enumerable.sol +6 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Metadata.sol +6 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Receiver.sol +6 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC7751.sol +12 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777.sol +200 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Recipient.sol +35 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Sender.sol +35 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC7913.sol +18 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/README.adoc +138 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol +20 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC4337.sol +255 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol +162 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7579.sol +227 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7674.sol +17 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7786.sol +64 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7802.sol +32 -0
- package/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC7821.sol +44 -0
- package/contracts/lib/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol +90 -0
- package/contracts/lib/openzeppelin-contracts/contracts/metatx/ERC2771Forwarder.sol +372 -0
- package/contracts/lib/openzeppelin-contracts/contracts/metatx/README.adoc +17 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/AccessManagedTarget.sol +34 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/AccessManagerMock.sol +20 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/ArraysMock.sol +171 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/AuthorityMock.sol +69 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/Base64Dirty.sol +19 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/BatchCaller.sol +20 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/CallReceiverMock.sol +106 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/ConstructorMock.sol +34 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/ContextMock.sol +35 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/DummyImplementation.sol +61 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/EIP712Verifier.sol +16 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC1271WalletMock.sol +24 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165Mock.sol +100 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC2771ContextMock.sol +28 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC3156FlashBorrowerMock.sol +53 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol +17 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/InitializableMock.sol +130 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/MerkleProofCustomHashMock.sol +62 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/MerkleTreeMock.sol +52 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/MulticallHelper.sol +23 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol +131 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/PausableMock.sol +31 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol +17 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol +59 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyTransientMock.sol +59 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol +61 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/SingleInheritanceInitializableMocks.sol +49 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/Stateless.sol +62 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol +87 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol +26 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/TransientSlotMock.sol +61 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/UpgradeableBeaconMock.sol +27 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/VotesExtendedMock.sol +42 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/VotesMock.sol +42 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/account/AccountMock.sol +181 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/account/modules/ERC7579Mock.sol +128 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/account/utils/ERC7579UtilsMock.sol +23 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/compound/CompTimelock.sol +174 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/ERC7786GatewayMock.sol +56 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/ERC7786RecipientMock.sol +31 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCountingOverridableMock.sol +18 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorFractionalMock.sol +14 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorMock.sol +14 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorNoncesKeyedMock.sol +44 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorPreventLateQuorumMock.sol +40 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorProposalGuardianMock.sol +27 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorSequentialProposalIdMock.sol +39 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorStorageMock.sol +79 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorSuperQuorumMock.sol +95 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockAccessMock.sol +70 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockCompoundMock.sol +69 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockControlMock.sol +69 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVoteMock.sol +20 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVotesSuperQuorumFractionMock.sol +37 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorWithParamsMock.sol +51 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/BadBeacon.sol +11 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/ClashingImplementation.sol +19 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/ERC1967ProxyUnsafe.sol +13 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSUpgradeableMock.sol +35 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC1155ReceiverMock.sol +74 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ForceApproveMock.sol +13 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363NoReturnMock.sol +33 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ReceiverMock.sol +52 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363ReturnFalseMock.sol +34 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC1363SpenderMock.sol +47 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ApprovalMock.sol +10 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20BridgeableMock.sol +30 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20DecimalsMock.sol +17 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ExcessDecimalsMock.sol +9 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20FlashMintMock.sol +26 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ForceApproveMock.sol +13 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20GetterHelper.sol +38 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol +16 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20MulticallMock.sol +8 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20NoReturnMock.sol +30 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20Reentrant.sol +39 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ReturnFalseMock.sol +19 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesAdditionalCheckpointsMock.sol +31 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesLegacyMock.sol +253 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesTimestampMock.sol +29 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626LimitsMock.sol +23 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626Mock.sol +17 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626OffsetMock.sol +17 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4646FeesMock.sol +40 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveEnumerableMock.sol +42 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol +61 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ReceiverMock.sol +47 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721URIStorageMock.sol +17 -0
- package/contracts/lib/openzeppelin-contracts/contracts/mocks/utils/cryptography/ERC7739Mock.sol +12 -0
- package/contracts/lib/openzeppelin-contracts/contracts/package.json +32 -0
- package/contracts/lib/openzeppelin-contracts/contracts/proxy/Clones.sol +294 -0
- package/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol +62 -0
- package/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol +177 -0
- package/contracts/lib/openzeppelin-contracts/contracts/proxy/Proxy.sol +69 -0
- package/contracts/lib/openzeppelin-contracts/contracts/proxy/README.adoc +87 -0
- package/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol +57 -0
- package/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol +16 -0
- package/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol +70 -0
- package/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol +45 -0
- package/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +118 -0
- package/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol +238 -0
- package/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol +148 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol +417 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol +123 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol +59 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/README.adoc +43 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +28 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +38 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Supply.sol +88 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +58 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +20 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol +42 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Utils.sol +88 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol +305 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol +79 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/README.adoc +81 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC1363.sol +135 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol +39 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Capped.sol +54 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Crosschain.sol +39 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20FlashMint.sol +130 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Pausable.sol +33 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol +77 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol +83 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol +89 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.sol +315 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol +26 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol +90 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Bridgeable.sol +51 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20TemporaryApproval.sol +119 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/ERC1363Utils.sol +95 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol +280 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC6909/ERC6909.sol +224 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC6909/README.adoc +27 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/ERC6909ContentURI.sol +59 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/ERC6909Metadata.sol +83 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC6909/extensions/ERC6909TokenSupply.sol +41 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol +433 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol +135 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol +28 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/README.adoc +69 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Burnable.sol +26 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol +176 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol +165 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol +37 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Royalty.sol +26 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol +62 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol +47 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Wrapper.sol +102 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol +29 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol +27 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol +26 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Utils.sol +50 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/common/ERC2981.sol +139 -0
- package/contracts/lib/openzeppelin-contracts/contracts/token/common/README.adoc +10 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol +167 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Arrays.sol +888 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Base58.sol +240 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Base64.sol +234 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Blockhash.sol +54 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Bytes.sol +332 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/CAIP10.sol +54 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/CAIP2.sol +51 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Calldata.sol +25 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Comparators.sol +19 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol +28 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Create2.sol +91 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Errors.sol +34 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/LowLevelCall.sol +127 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Memory.sol +149 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Multicall.sol +37 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Nonces.sol +46 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/NoncesKeyed.sol +74 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Packing.sol +1656 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Panic.sol +57 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Pausable.sol +112 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/README.adoc +160 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/RLP.sol +487 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol +119 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/ReentrancyGuardTransient.sol +84 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/RelayedCall.sol +137 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol +122 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol +155 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol +143 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/Strings.sol +532 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol +183 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol +284 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol +160 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/Hashes.sol +31 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol +510 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol +228 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/P256.sol +408 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/README.adoc +76 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/RSA.sol +154 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol +191 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/TrieProof.sol +255 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/WebAuthn.sol +269 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-ERC7739Utils.sol +207 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/AbstractSigner.sol +23 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/MultiSignerERC7913.sol +259 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/MultiSignerERC7913Weighted.sol +208 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerECDSA.sol +56 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerEIP7702.sol +25 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerERC7913.sol +63 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerP256.sol +64 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerRSA.sol +65 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/SignerWebAuthn.sol +46 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/signers/draft-ERC7739.sol +98 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/verifiers/ERC7913P256Verifier.sol +29 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/verifiers/ERC7913RSAVerifier.sol +23 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/verifiers/ERC7913WebAuthnVerifier.sol +35 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/draft-InteroperableAddress.sol +245 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol +25 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol +142 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol +25 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/math/Math.sol +763 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol +1162 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol +68 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/structs/Accumulators.sol +135 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol +60 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol +833 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/structs/CircularBuffer.sol +152 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol +237 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol +1443 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol +895 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/structs/Heap.sol +259 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/structs/MerkleTree.sol +267 -0
- package/contracts/lib/openzeppelin-contracts/contracts/utils/types/Time.sol +133 -0
- package/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/ICompoundTimelock.sol +86 -0
- package/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/LICENSE +11 -0
- package/contracts/lib/openzeppelin-contracts/eslint.config.mjs +29 -0
- package/contracts/lib/openzeppelin-contracts/foundry.toml +20 -0
- package/contracts/lib/openzeppelin-contracts/fv/Makefile +54 -0
- package/contracts/lib/openzeppelin-contracts/fv/README.md +60 -0
- package/contracts/lib/openzeppelin-contracts/fv/diff/access_manager_AccessManager.sol.patch +97 -0
- package/contracts/lib/openzeppelin-contracts/fv/diff/account_extensions_draft-AccountERC7579.sol.patch +25 -0
- package/contracts/lib/openzeppelin-contracts/fv/diff/token_ERC721_ERC721.sol.patch +11 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/AccessControlDefaultAdminRulesHarness.sol +46 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/AccessControlHarness.sol +6 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/AccessManagedHarness.sol +36 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/AccessManagerHarness.sol +116 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/AccountHarness.sol +60 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/DoubleEndedQueueHarness.sol +58 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/ERC20FlashMintHarness.sol +36 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/ERC20PermitHarness.sol +16 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/ERC20WrapperHarness.sol +22 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/ERC721Harness.sol +37 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/ERC721ReceiverHarness.sol +11 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/EnumerableMapHarness.sol +55 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/EnumerableSetHarness.sol +35 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/InitializableHarness.sol +23 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/NoncesHarness.sol +14 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/Ownable2StepHarness.sol +10 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/OwnableHarness.sol +10 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/PausableHarness.sol +18 -0
- package/contracts/lib/openzeppelin-contracts/fv/harnesses/TimelockControllerHarness.sol +13 -0
- package/contracts/lib/openzeppelin-contracts/fv/reports/2021-10.pdf +0 -0
- package/contracts/lib/openzeppelin-contracts/fv/reports/2022-03.pdf +0 -0
- package/contracts/lib/openzeppelin-contracts/fv/reports/2022-05.pdf +0 -0
- package/contracts/lib/openzeppelin-contracts/fv/run.js +68 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/AccessControl.conf +8 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/AccessControl.spec +119 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/AccessControlDefaultAdminRules.conf +8 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/AccessControlDefaultAdminRules.spec +467 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/AccessManaged.conf +14 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/AccessManaged.spec +49 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/AccessManager.conf +10 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/AccessManager.spec +837 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/Account.conf +9 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/Account.spec +490 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/DoubleEndedQueue.conf +8 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/DoubleEndedQueue.spec +300 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/ERC20.conf +9 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/ERC20.spec +352 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/ERC20FlashMint.conf +10 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/ERC20FlashMint.spec +55 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/ERC20Wrapper.conf +13 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/ERC20Wrapper.spec +226 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/ERC721.conf +10 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/ERC721.spec +695 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/EnumerableMap.conf +8 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/EnumerableMap.spec +364 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/EnumerableSet.conf +8 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/EnumerableSet.spec +272 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/Initializable.conf +8 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/Initializable.spec +176 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/Nonces.conf +8 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/Nonces.spec +92 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/Ownable.conf +8 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/Ownable.spec +77 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/Ownable2Step.conf +8 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/Ownable2Step.spec +108 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/Pausable.conf +8 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/Pausable.spec +96 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/TimelockController.conf +10 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/TimelockController.spec +299 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/helpers/helpers.spec +13 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/methods/IAccessControl.spec +8 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/methods/IAccessManaged.spec +5 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/methods/IAccessManager.spec +33 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/methods/IAccount.spec +34 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/methods/IERC20.spec +11 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/methods/IERC2612.spec +5 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/methods/IERC3156FlashBorrower.spec +3 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/methods/IERC3156FlashLender.spec +5 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/methods/IERC5313.spec +3 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/methods/IERC721.spec +17 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/methods/IERC721Receiver.spec +3 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/methods/IOwnable.spec +5 -0
- package/contracts/lib/openzeppelin-contracts/fv/specs/methods/IOwnable2Step.spec +7 -0
- package/contracts/lib/openzeppelin-contracts/fv-requirements.txt +4 -0
- package/contracts/lib/openzeppelin-contracts/hardhat/async-test-sanity.js +10 -0
- package/contracts/lib/openzeppelin-contracts/hardhat/env-artifacts.js +29 -0
- package/contracts/lib/openzeppelin-contracts/hardhat/ignore-unreachable-warnings.js +45 -0
- package/contracts/lib/openzeppelin-contracts/hardhat/remappings.js +18 -0
- package/contracts/lib/openzeppelin-contracts/hardhat/skip-foundry-tests.js +6 -0
- package/contracts/lib/openzeppelin-contracts/hardhat/task-test-get-files.js +25 -0
- package/contracts/lib/openzeppelin-contracts/hardhat.config.js +124 -0
- package/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.prop.sol +404 -0
- package/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.test.sol +356 -0
- package/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/LICENSE +661 -0
- package/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/README.md +116 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/.gitattributes +1 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/ci.yml +128 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/sync.yml +31 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/CONTRIBUTING.md +193 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-APACHE +203 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-MIT +25 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/README.md +266 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/foundry.toml +23 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/package.json +16 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/scripts/vm.py +646 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Base.sol +35 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Script.sol +27 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol +669 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol +287 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol +829 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol +15 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol +122 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol +283 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol +43 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol +473 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol +333 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdToml.sol +283 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol +209 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Test.sol +33 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol +2263 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console.sol +1560 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console2.sol +4 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC165.sol +12 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC20.sol +43 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC721.sol +164 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/src/safeconsole.sol +13937 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdAssertions.t.sol +141 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol +227 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol +618 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdError.t.sol +120 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdJson.t.sol +49 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdMath.t.sol +202 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol +488 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdToml.t.sol +49 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol +342 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/Vm.t.sol +18 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScript.sol +10 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScriptBase.sol +10 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTest.sol +10 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTestBase.sol +10 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/test.json +8 -0
- package/contracts/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/test.toml +6 -0
- package/contracts/lib/openzeppelin-contracts/lib/halmos-cheatcodes/LICENSE +661 -0
- package/contracts/lib/openzeppelin-contracts/lib/halmos-cheatcodes/README.md +97 -0
- package/contracts/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/SVM.sol +49 -0
- package/contracts/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/SymTest.sol +11 -0
- package/contracts/lib/openzeppelin-contracts/logo.svg +15 -0
- package/contracts/lib/openzeppelin-contracts/netlify.toml +3 -0
- package/contracts/lib/openzeppelin-contracts/package-lock.json +11150 -0
- package/contracts/lib/openzeppelin-contracts/package.json +108 -0
- package/contracts/lib/openzeppelin-contracts/remappings.txt +1 -0
- package/contracts/lib/openzeppelin-contracts/renovate.json +4 -0
- package/contracts/lib/openzeppelin-contracts/scripts/checks/compare-layout.js +28 -0
- package/contracts/lib/openzeppelin-contracts/scripts/checks/compareGasReports.js +249 -0
- package/contracts/lib/openzeppelin-contracts/scripts/checks/coverage.sh +24 -0
- package/contracts/lib/openzeppelin-contracts/scripts/checks/extract-layout.js +39 -0
- package/contracts/lib/openzeppelin-contracts/scripts/checks/generation.sh +6 -0
- package/contracts/lib/openzeppelin-contracts/scripts/checks/inheritance-ordering.js +55 -0
- package/contracts/lib/openzeppelin-contracts/scripts/checks/pragma-validity.js +45 -0
- package/contracts/lib/openzeppelin-contracts/scripts/fetch-common-contracts.js +50 -0
- package/contracts/lib/openzeppelin-contracts/scripts/gen-nav.js +81 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/format-lines.js +16 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/helpers/sanitize.js +5 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/run.js +61 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Arrays.js +505 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Arrays.opts.js +9 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.js +242 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.opts.js +18 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.t.js +141 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Enumerable.opts.js +56 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMap.js +464 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSet.js +470 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/MerkleProof.js +186 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/MerkleProof.opts.js +11 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Packing.js +92 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Packing.opts.js +3 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Packing.t.js +48 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/SafeCast.js +136 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Slot.opts.js +15 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/SlotDerivation.js +119 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/SlotDerivation.t.js +127 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlot.js +77 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlotMock.js +57 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/TransientSlot.js +80 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/TransientSlotMock.js +35 -0
- package/contracts/lib/openzeppelin-contracts/scripts/generate/templates/conversion.js +34 -0
- package/contracts/lib/openzeppelin-contracts/scripts/get-contracts-metadata.js +55 -0
- package/contracts/lib/openzeppelin-contracts/scripts/git-user-config.sh +6 -0
- package/contracts/lib/openzeppelin-contracts/scripts/helpers.js +7 -0
- package/contracts/lib/openzeppelin-contracts/scripts/minimize-pragma.js +140 -0
- package/contracts/lib/openzeppelin-contracts/scripts/prepack.sh +23 -0
- package/contracts/lib/openzeppelin-contracts/scripts/prepare-docs.sh +26 -0
- package/contracts/lib/openzeppelin-contracts/scripts/release/format-changelog.js +33 -0
- package/contracts/lib/openzeppelin-contracts/scripts/release/synchronize-versions.js +15 -0
- package/contracts/lib/openzeppelin-contracts/scripts/release/update-comment.js +34 -0
- package/contracts/lib/openzeppelin-contracts/scripts/release/version.sh +11 -0
- package/contracts/lib/openzeppelin-contracts/scripts/release/workflow/check-upgradeable.sh +27 -0
- package/contracts/lib/openzeppelin-contracts/scripts/release/workflow/exit-prerelease.sh +8 -0
- package/contracts/lib/openzeppelin-contracts/scripts/release/workflow/github-release.js +48 -0
- package/contracts/lib/openzeppelin-contracts/scripts/release/workflow/integrity-check.sh +20 -0
- package/contracts/lib/openzeppelin-contracts/scripts/release/workflow/pack.sh +26 -0
- package/contracts/lib/openzeppelin-contracts/scripts/release/workflow/publish.sh +26 -0
- package/contracts/lib/openzeppelin-contracts/scripts/release/workflow/rerun.js +7 -0
- package/contracts/lib/openzeppelin-contracts/scripts/release/workflow/set-changesets-pr-title.js +17 -0
- package/contracts/lib/openzeppelin-contracts/scripts/release/workflow/start.sh +35 -0
- package/contracts/lib/openzeppelin-contracts/scripts/release/workflow/state.js +112 -0
- package/contracts/lib/openzeppelin-contracts/scripts/remove-ignored-artifacts.js +45 -0
- package/contracts/lib/openzeppelin-contracts/scripts/set-max-old-space-size.sh +10 -0
- package/contracts/lib/openzeppelin-contracts/scripts/solc-versions.js +15 -0
- package/contracts/lib/openzeppelin-contracts/scripts/solhint-custom/index.js +118 -0
- package/contracts/lib/openzeppelin-contracts/scripts/solhint-custom/package.json +8 -0
- package/contracts/lib/openzeppelin-contracts/scripts/update-docs-branch.js +65 -0
- package/contracts/lib/openzeppelin-contracts/scripts/upgradeable/README.md +21 -0
- package/contracts/lib/openzeppelin-contracts/scripts/upgradeable/alias/Initializable.sol +5 -0
- package/contracts/lib/openzeppelin-contracts/scripts/upgradeable/alias/UUPSUpgradeable.sol +5 -0
- package/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-apply.sh +19 -0
- package/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-save.sh +18 -0
- package/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile-onto.sh +54 -0
- package/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile.sh +50 -0
- package/contracts/lib/openzeppelin-contracts/scripts/upgradeable/upgradeable.patch +390 -0
- package/contracts/lib/openzeppelin-contracts/slither.config.json +4 -0
- package/contracts/lib/openzeppelin-contracts/solhint.config.js +29 -0
- package/contracts/lib/openzeppelin-contracts/test/TESTING.md +3 -0
- package/contracts/lib/openzeppelin-contracts/test/access/AccessControl.behavior.js +874 -0
- package/contracts/lib/openzeppelin-contracts/test/access/AccessControl.test.js +19 -0
- package/contracts/lib/openzeppelin-contracts/test/access/Ownable.test.js +79 -0
- package/contracts/lib/openzeppelin-contracts/test/access/Ownable2Step.test.js +102 -0
- package/contracts/lib/openzeppelin-contracts/test/access/extensions/AccessControlDefaultAdminRules.test.js +32 -0
- package/contracts/lib/openzeppelin-contracts/test/access/extensions/AccessControlEnumerable.test.js +24 -0
- package/contracts/lib/openzeppelin-contracts/test/access/manager/AccessManaged.test.js +146 -0
- package/contracts/lib/openzeppelin-contracts/test/access/manager/AccessManager.behavior.js +257 -0
- package/contracts/lib/openzeppelin-contracts/test/access/manager/AccessManager.predicate.js +456 -0
- package/contracts/lib/openzeppelin-contracts/test/access/manager/AccessManager.test.js +2489 -0
- package/contracts/lib/openzeppelin-contracts/test/access/manager/AuthorityUtils.test.js +112 -0
- package/contracts/lib/openzeppelin-contracts/test/account/Account.behavior.js +144 -0
- package/contracts/lib/openzeppelin-contracts/test/account/Account.test.js +48 -0
- package/contracts/lib/openzeppelin-contracts/test/account/AccountECDSA.test.js +52 -0
- package/contracts/lib/openzeppelin-contracts/test/account/AccountEIP7702.t.sol +116 -0
- package/contracts/lib/openzeppelin-contracts/test/account/AccountEIP7702.test.js +52 -0
- package/contracts/lib/openzeppelin-contracts/test/account/AccountERC7913.test.js +138 -0
- package/contracts/lib/openzeppelin-contracts/test/account/AccountMultiSigner.test.js +326 -0
- package/contracts/lib/openzeppelin-contracts/test/account/AccountMultiSignerWeighted.test.js +312 -0
- package/contracts/lib/openzeppelin-contracts/test/account/AccountP256.test.js +58 -0
- package/contracts/lib/openzeppelin-contracts/test/account/AccountRSA.test.js +58 -0
- package/contracts/lib/openzeppelin-contracts/test/account/AccountWebAuthn.test.js +75 -0
- package/contracts/lib/openzeppelin-contracts/test/account/examples/AccountEIP7702WithModulesMock.test.js +99 -0
- package/contracts/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579.behavior.js +621 -0
- package/contracts/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579.test.js +60 -0
- package/contracts/lib/openzeppelin-contracts/test/account/extensions/AccountERC7579Hooked.test.js +60 -0
- package/contracts/lib/openzeppelin-contracts/test/account/extensions/ERC7821.behavior.js +145 -0
- package/contracts/lib/openzeppelin-contracts/test/account/utils/EIP7702Utils.test.js +53 -0
- package/contracts/lib/openzeppelin-contracts/test/account/utils/draft-ERC4337Utils.test.js +594 -0
- package/contracts/lib/openzeppelin-contracts/test/account/utils/draft-ERC7579Utils.t.sol +434 -0
- package/contracts/lib/openzeppelin-contracts/test/account/utils/draft-ERC7579Utils.test.js +399 -0
- package/contracts/lib/openzeppelin-contracts/test/crosschain/BridgeERC20.behavior.js +144 -0
- package/contracts/lib/openzeppelin-contracts/test/crosschain/BridgeERC20.test.js +46 -0
- package/contracts/lib/openzeppelin-contracts/test/crosschain/ERC7786Recipient.test.js +55 -0
- package/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.behavior.js +87 -0
- package/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.test.js +65 -0
- package/contracts/lib/openzeppelin-contracts/test/finance/VestingWalletCliff.test.js +70 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/Governor.t.sol +59 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/Governor.test.js +980 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/TimelockController.test.js +1279 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorCountingFractional.test.js +248 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorCountingOverridable.test.js +346 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorERC721.test.js +131 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorNoncesKeyed.test.js +243 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorPreventLateQuorum.test.js +185 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorProposalGuardian.test.js +132 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorSequentialProposalId.test.js +202 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorStorage.test.js +175 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorSuperQuorum.test.js +168 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorSuperQuorumGreaterThanQuorum.t.sol +83 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockAccess.test.js +864 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockCompound.test.js +448 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockControl.test.js +504 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesQuorumFraction.test.js +165 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesSuperQuorumFraction.test.js +160 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorWithParams.test.js +245 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/utils/ERC6372.behavior.js +28 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.behavior.js +325 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.test.js +102 -0
- package/contracts/lib/openzeppelin-contracts/test/governance/utils/VotesExtended.test.js +152 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/access-manager.js +85 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/account.js +16 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/chains.js +56 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/constants.js +7 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/deploy.js +14 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/eip712-types.js +61 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/eip712.js +45 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/enums.js +15 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/erc4337.js +244 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/erc7579.js +58 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/erc7739.js +118 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/governance.js +218 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/iterate.js +41 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/math.js +33 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/methods.js +14 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/precompiles.js +12 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/random.js +26 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/signers.js +222 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/storage.js +48 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/strings.js +5 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/time.js +33 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/trie.js +80 -0
- package/contracts/lib/openzeppelin-contracts/test/helpers/txpool.js +28 -0
- package/contracts/lib/openzeppelin-contracts/test/metatx/ERC2771Context.test.js +109 -0
- package/contracts/lib/openzeppelin-contracts/test/metatx/ERC2771Forwarder.t.sol +279 -0
- package/contracts/lib/openzeppelin-contracts/test/metatx/ERC2771Forwarder.test.js +384 -0
- package/contracts/lib/openzeppelin-contracts/test/proxy/Clones.behaviour.js +160 -0
- package/contracts/lib/openzeppelin-contracts/test/proxy/Clones.t.sol +91 -0
- package/contracts/lib/openzeppelin-contracts/test/proxy/Clones.test.js +177 -0
- package/contracts/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Proxy.test.js +36 -0
- package/contracts/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Utils.test.js +162 -0
- package/contracts/lib/openzeppelin-contracts/test/proxy/Proxy.behaviour.js +198 -0
- package/contracts/lib/openzeppelin-contracts/test/proxy/beacon/BeaconProxy.test.js +141 -0
- package/contracts/lib/openzeppelin-contracts/test/proxy/beacon/UpgradeableBeacon.test.js +55 -0
- package/contracts/lib/openzeppelin-contracts/test/proxy/transparent/ProxyAdmin.test.js +82 -0
- package/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +367 -0
- package/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.test.js +28 -0
- package/contracts/lib/openzeppelin-contracts/test/proxy/utils/Initializable.test.js +216 -0
- package/contracts/lib/openzeppelin-contracts/test/proxy/utils/UUPSUpgradeable.test.js +120 -0
- package/contracts/lib/openzeppelin-contracts/test/sanity.test.js +27 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.behavior.js +865 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.test.js +258 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Burnable.test.js +66 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Pausable.test.js +105 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Supply.test.js +119 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +70 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Holder.test.js +56 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Utils.test.js +299 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.behavior.js +269 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.test.js +199 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC1363.test.js +370 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.test.js +105 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.test.js +55 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Crosschain.test.js +83 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20FlashMint.test.js +164 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Pausable.test.js +129 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Permit.test.js +109 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Votes.test.js +546 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Wrapper.test.js +203 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.t.sol +41 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.test.js +888 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Bridgeable.test.js +89 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20TemporaryApproval.test.js +142 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC20/utils/SafeERC20.test.js +463 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC6909/ERC6909.behavior.js +216 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC6909/ERC6909.test.js +104 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909ContentURI.test.js +52 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909Metadata.test.js +62 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC6909/extensions/ERC6909TokenSupply.test.js +56 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.behavior.js +954 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.test.js +23 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721Enumerable.test.js +28 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Burnable.test.js +77 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.t.sol +187 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.test.js +228 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Pausable.test.js +81 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Royalty.test.js +57 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721URIStorage.test.js +134 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Votes.test.js +194 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Wrapper.test.js +201 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Holder.test.js +20 -0
- package/contracts/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Utils.test.js +94 -0
- package/contracts/lib/openzeppelin-contracts/test/token/common/ERC2981.behavior.js +152 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Address.test.js +332 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Arrays.t.sol +416 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Arrays.test.js +284 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Base58.t.sol +24 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Base58.test.js +65 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Base64.t.sol +36 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Base64.test.js +79 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Blockhash.t.sol +101 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Blockhash.test.js +59 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Bytes.t.sol +322 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Bytes.test.js +371 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/CAIP.test.js +56 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Calldata.test.js +22 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Context.behavior.js +48 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Context.test.js +18 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Create2.t.sol +17 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Create2.test.js +190 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/LowLevelCall.test.js +257 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Memory.t.sol +90 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Memory.test.js +94 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Multicall.test.js +72 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Nonces.behavior.js +189 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Nonces.test.js +16 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/NoncesKeyed.t.sol +51 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/NoncesKeyed.test.js +17 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Packing.t.sol +993 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Packing.test.js +70 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Panic.test.js +37 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Pausable.test.js +90 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/RLP.t.sol +144 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/RLP.test.js +224 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/ReentrancyGuard.test.js +58 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/RelayedCall.test.js +217 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.t.sol +109 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.test.js +64 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/SlotDerivation.t.sol +248 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/SlotDerivation.test.js +58 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/StorageSlot.test.js +73 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Strings.t.sol +50 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/Strings.test.js +366 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/TransientSlot.test.js +59 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/cryptography/ECDSA.test.js +322 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/cryptography/EIP712.test.js +105 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/cryptography/ERC1271.behavior.js +111 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/cryptography/ERC7739.test.js +42 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/cryptography/ERC7739Utils.test.js +203 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/cryptography/MerkleProof.test.js +213 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/cryptography/MessageHashUtils.t.sol +33 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/cryptography/MessageHashUtils.test.js +149 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/cryptography/P256.t.sol +45 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/cryptography/P256.test.js +182 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/cryptography/RSA.helper.js +17 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/cryptography/RSA.test.js +102 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/cryptography/SigVer15_186-3.rsp +3850 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/cryptography/SignatureChecker.test.js +427 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/cryptography/TrieProof.test.js +719 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/cryptography/WebAuthn.t.sol +340 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/cryptography/ecdsa_secp256r1_sha256_p1363_test.json +3719 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/draft-InteroperableAddress.t.sol +99 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/draft-InteroperableAddress.test.js +217 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165.test.js +18 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165Checker.test.js +272 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/introspection/SupportsInterface.behavior.js +169 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/math/Math.t.sol +370 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/math/Math.test.js +746 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/math/SafeCast.test.js +159 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/math/SignedMath.t.sol +81 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/math/SignedMath.test.js +53 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/structs/Accumulators.t.sol +35 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/structs/BitMap.test.js +149 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/structs/Checkpoints.t.sol +440 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/structs/Checkpoints.test.js +147 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/structs/CircularBuffer.test.js +83 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/structs/DoubleEndedQueue.test.js +144 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.behavior.js +214 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.test.js +83 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.behavior.js +175 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.test.js +66 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/structs/Heap.t.sol +74 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/structs/Heap.test.js +113 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/structs/MerkleTree.test.js +180 -0
- package/contracts/lib/openzeppelin-contracts/test/utils/types/Time.test.js +135 -0
- package/contracts/script/Deploy.s.sol +16 -0
- package/contracts/src/MintFactory.sol +74 -0
- package/contracts/test/MintFactory.t.sol +149 -0
- package/dist/index.js +12 -21
- package/dist/services/metadata.js +11 -23
- package/dist/tools/mint-check.js +7 -30
- package/dist/tools/mint-resolve.js +9 -31
- package/dist/tools/mint.d.ts +6 -9
- package/dist/tools/mint.js +108 -173
- package/docs/superpowers/plans/2026-03-15-agent-mint-service.md +950 -0
- package/package.json +1 -5
- package/scripts/deploy-mainnet.html +118 -0
- package/scripts/e2e-sponsored.mjs +80 -0
- package/scripts/e2e-test.sh +64 -0
- package/scripts/fund-wallet.html +107 -0
- package/site/.well-known/agent.json +25 -0
- package/site/admin.html +711 -0
- package/site/assets/logo.png +0 -0
- package/site/assets/screenshot-feed.png +0 -0
- package/site/assets/screenshot-home.png +0 -0
- package/site/feed.html +438 -0
- package/site/index.html +544 -0
- package/site/llms.txt +100 -0
- package/site/og.html +216 -0
- package/site/og.png +0 -0
- package/site/shared.css +152 -0
- package/site/shared.js +222 -0
- package/src/index.ts +99 -0
- package/src/services/calldata.ts +70 -0
- package/src/services/classifier.ts +96 -0
- package/src/services/ens.ts +36 -0
- package/src/services/image-upload.ts +82 -0
- package/src/services/metadata.ts +128 -0
- package/src/tools/mint-check.ts +182 -0
- package/src/tools/mint-resolve.ts +110 -0
- package/src/tools/mint.ts +395 -0
- package/src/types.ts +43 -0
- package/tsconfig.json +14 -0
- package/vercel.json +4 -0
package/site/index.html
ADDED
|
@@ -0,0 +1,544 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>mint.day — Free NFT minting for agents. On Base.</title>
|
|
7
|
+
<meta name="description" content="An MCP server that gives AI agents the ability to mint NFTs on Base. Gas sponsored. Zero config. Identity, proof of work, credentials, art. The agent decides when.">
|
|
8
|
+
<meta property="og:title" content="mint.day — Free NFT minting for agents. On Base.">
|
|
9
|
+
<meta property="og:description" content="Gas sponsored. Zero config. Your agent describes what it wants and a token mints on Base mainnet. Identity, credentials, proof of work. One tool call.">
|
|
10
|
+
<meta property="og:type" content="website">
|
|
11
|
+
<meta property="og:url" content="https://mint.day">
|
|
12
|
+
<meta property="og:image" content="https://mint.day/og.png">
|
|
13
|
+
<meta property="og:image:width" content="1200">
|
|
14
|
+
<meta property="og:image:height" content="630">
|
|
15
|
+
<meta name="twitter:card" content="summary_large_image">
|
|
16
|
+
<meta name="twitter:title" content="mint.day — Free NFT minting for agents. On Base.">
|
|
17
|
+
<meta name="twitter:description" content="Gas sponsored. Zero config. One tool call. Your agent mints on Base mainnet.">
|
|
18
|
+
<meta name="twitter:image" content="https://mint.day/og.png">
|
|
19
|
+
<meta name="twitter:creator" content="@jordanlyall">
|
|
20
|
+
<link rel="stylesheet" href="shared.css">
|
|
21
|
+
<style>
|
|
22
|
+
/* ── Hero glow ── */
|
|
23
|
+
.hero-glow {
|
|
24
|
+
position: fixed;
|
|
25
|
+
top: 0; left: 0; right: 0;
|
|
26
|
+
height: 480px;
|
|
27
|
+
background: linear-gradient(180deg, rgba(229, 160, 48, 0.07) 0%, rgba(45, 184, 122, 0.04) 45%, transparent 100%);
|
|
28
|
+
pointer-events: none;
|
|
29
|
+
z-index: 0;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.container { position: relative; z-index: 1; }
|
|
33
|
+
|
|
34
|
+
/* ── Hero ── */
|
|
35
|
+
.hero { padding: 100px 0 0; }
|
|
36
|
+
|
|
37
|
+
.hero h1 {
|
|
38
|
+
font-family: 'JetBrains Mono', monospace;
|
|
39
|
+
font-size: clamp(36px, 7vw, 56px);
|
|
40
|
+
font-weight: 700;
|
|
41
|
+
line-height: 1.1;
|
|
42
|
+
letter-spacing: -0.04em;
|
|
43
|
+
color: var(--text);
|
|
44
|
+
margin-bottom: 24px;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.hero h1 .green { color: var(--green); }
|
|
48
|
+
|
|
49
|
+
.hero .subtitle {
|
|
50
|
+
font-size: 18px;
|
|
51
|
+
color: var(--text-secondary);
|
|
52
|
+
max-width: 640px;
|
|
53
|
+
line-height: 1.7;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.hero .subtitle strong { color: var(--text); font-weight: 500; }
|
|
57
|
+
|
|
58
|
+
.hero-install { margin-top: 32px; }
|
|
59
|
+
|
|
60
|
+
/* ── Badges ── */
|
|
61
|
+
.badge {
|
|
62
|
+
font-family: 'JetBrains Mono', monospace;
|
|
63
|
+
font-size: 11px;
|
|
64
|
+
padding: 5px 10px;
|
|
65
|
+
border-radius: 4px;
|
|
66
|
+
border: 1px solid var(--border-bright);
|
|
67
|
+
color: var(--text-muted);
|
|
68
|
+
background: var(--surface);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* ── Flow ── */
|
|
72
|
+
.flow { margin: 96px 0 0; }
|
|
73
|
+
|
|
74
|
+
.flow-steps { display: flex; flex-direction: column; gap: 0; }
|
|
75
|
+
|
|
76
|
+
.flow-item {
|
|
77
|
+
display: flex;
|
|
78
|
+
align-items: flex-start;
|
|
79
|
+
gap: 16px;
|
|
80
|
+
padding: 20px 0;
|
|
81
|
+
opacity: 0;
|
|
82
|
+
animation: stepIn 0.4s ease-out forwards;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.flow-item:nth-child(1) { animation-delay: 0.3s; }
|
|
86
|
+
.flow-item:nth-child(3) { animation-delay: 0.6s; }
|
|
87
|
+
.flow-item:nth-child(5) { animation-delay: 0.9s; }
|
|
88
|
+
|
|
89
|
+
@keyframes stepIn {
|
|
90
|
+
from { opacity: 0; transform: translateY(6px); }
|
|
91
|
+
to { opacity: 1; transform: translateY(0); }
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.flow-num {
|
|
95
|
+
font-family: 'JetBrains Mono', monospace;
|
|
96
|
+
font-size: 12px;
|
|
97
|
+
color: var(--text-dim);
|
|
98
|
+
flex-shrink: 0;
|
|
99
|
+
padding-top: 1px;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.flow-desc { display: flex; flex-direction: column; gap: 4px; }
|
|
103
|
+
|
|
104
|
+
.flow-action {
|
|
105
|
+
font-family: 'JetBrains Mono', monospace;
|
|
106
|
+
font-size: 14px;
|
|
107
|
+
color: var(--text);
|
|
108
|
+
font-weight: 500;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.flow-detail {
|
|
112
|
+
font-family: 'JetBrains Mono', monospace;
|
|
113
|
+
font-size: 13px;
|
|
114
|
+
color: var(--text-muted);
|
|
115
|
+
line-height: 1.5;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.flow-detail .str { color: var(--green); }
|
|
119
|
+
.flow-detail .hex { color: var(--cyan); }
|
|
120
|
+
|
|
121
|
+
.flow-connector {
|
|
122
|
+
width: 1px;
|
|
123
|
+
height: 12px;
|
|
124
|
+
background: var(--border-bright);
|
|
125
|
+
margin-left: 10px;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/* ── Token Zero ── */
|
|
129
|
+
.token-zero {
|
|
130
|
+
margin: 48px 0 0;
|
|
131
|
+
border: 1px solid var(--border);
|
|
132
|
+
border-left: 3px solid var(--green);
|
|
133
|
+
border-radius: 10px;
|
|
134
|
+
overflow: hidden;
|
|
135
|
+
background: var(--surface);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.token-zero-header {
|
|
139
|
+
padding: 12px 20px;
|
|
140
|
+
border-bottom: 1px solid var(--border);
|
|
141
|
+
font-family: 'JetBrains Mono', monospace;
|
|
142
|
+
font-size: 11px;
|
|
143
|
+
color: var(--text-dim);
|
|
144
|
+
display: flex;
|
|
145
|
+
justify-content: space-between;
|
|
146
|
+
align-items: center;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.token-zero-header a { color: var(--blue); text-decoration: none; font-size: 11px; }
|
|
150
|
+
.token-zero-header a:hover { color: var(--text-secondary); }
|
|
151
|
+
|
|
152
|
+
.token-zero-body {
|
|
153
|
+
padding: 24px;
|
|
154
|
+
display: flex;
|
|
155
|
+
gap: 24px;
|
|
156
|
+
align-items: flex-start;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.token-zero-card {
|
|
160
|
+
width: 140px;
|
|
161
|
+
height: 140px;
|
|
162
|
+
border-radius: 10px;
|
|
163
|
+
flex-shrink: 0;
|
|
164
|
+
background: linear-gradient(145deg, #f0faf5, #edf8f1, #faf6ed);
|
|
165
|
+
display: flex;
|
|
166
|
+
flex-direction: column;
|
|
167
|
+
justify-content: space-between;
|
|
168
|
+
padding: 16px;
|
|
169
|
+
font-family: 'JetBrains Mono', monospace;
|
|
170
|
+
border: 1px solid rgba(45, 184, 122, 0.18);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.token-zero-card .tz-accent { height: 3px; width: 32px; border-radius: 2px; background: linear-gradient(90deg, var(--green), var(--amber)); opacity: 0.8; }
|
|
174
|
+
.token-zero-card .tz-type { font-size: 9px; letter-spacing: 2px; color: var(--green); opacity: 0.7; margin-top: 8px; }
|
|
175
|
+
.token-zero-card .tz-sb { font-size: 8px; color: var(--green); opacity: 0.4; margin-top: 2px; }
|
|
176
|
+
.token-zero-card .tz-name { font-size: 13px; font-weight: 600; color: #1e9e65; margin-top: auto; }
|
|
177
|
+
.token-zero-card .tz-brand { font-size: 9px; color: var(--amber); opacity: 0.35; margin-top: 4px; }
|
|
178
|
+
|
|
179
|
+
.token-zero-transcript {
|
|
180
|
+
flex: 1;
|
|
181
|
+
font-family: 'JetBrains Mono', monospace;
|
|
182
|
+
font-size: 12px;
|
|
183
|
+
line-height: 1.8;
|
|
184
|
+
color: var(--text-muted);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.token-zero-transcript .t-agent { color: var(--text-secondary); }
|
|
188
|
+
.token-zero-transcript .t-str { color: var(--green); }
|
|
189
|
+
.token-zero-transcript .t-dim { color: var(--text-dim); }
|
|
190
|
+
.token-zero-transcript .t-key { color: var(--text-dim); }
|
|
191
|
+
.token-zero-transcript .t-val { color: var(--text-secondary); }
|
|
192
|
+
.token-zero-transcript .t-link { color: var(--blue); text-decoration: none; }
|
|
193
|
+
.token-zero-transcript .t-link:hover { text-decoration: underline; }
|
|
194
|
+
|
|
195
|
+
/* ── Use Cases ── */
|
|
196
|
+
.usecases { margin: 96px 0 0; }
|
|
197
|
+
|
|
198
|
+
.usecase-grid {
|
|
199
|
+
display: grid;
|
|
200
|
+
grid-template-columns: 1fr 1fr;
|
|
201
|
+
gap: 2px;
|
|
202
|
+
background: var(--border);
|
|
203
|
+
border: 1px solid var(--border);
|
|
204
|
+
border-radius: 10px;
|
|
205
|
+
overflow: hidden;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.usecase { background: var(--surface); padding: 24px; transition: background 0.2s; }
|
|
209
|
+
.usecase:hover { background: var(--surface-raised); }
|
|
210
|
+
.usecase-icon { width: 32px; height: 32px; margin-bottom: 12px; opacity: 0.85; }
|
|
211
|
+
|
|
212
|
+
.usecase-scenario {
|
|
213
|
+
font-family: 'JetBrains Mono', monospace;
|
|
214
|
+
font-size: 13px;
|
|
215
|
+
color: var(--text-secondary);
|
|
216
|
+
line-height: 1.6;
|
|
217
|
+
margin-bottom: 12px;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
.usecase-type {
|
|
221
|
+
display: inline-flex;
|
|
222
|
+
align-items: center;
|
|
223
|
+
gap: 6px;
|
|
224
|
+
font-family: 'JetBrains Mono', monospace;
|
|
225
|
+
font-size: 11px;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
.usecase-dot { width: 6px; height: 6px; border-radius: 50%; }
|
|
229
|
+
|
|
230
|
+
.usecase-type.identity .usecase-dot { background: var(--blue); }
|
|
231
|
+
.usecase-type.identity { color: var(--blue); }
|
|
232
|
+
.usecase-type.attestation .usecase-dot { background: var(--green); }
|
|
233
|
+
.usecase-type.attestation { color: var(--green); }
|
|
234
|
+
.usecase-type.credential .usecase-dot { background: var(--purple); }
|
|
235
|
+
.usecase-type.credential { color: var(--purple); }
|
|
236
|
+
.usecase-type.receipt .usecase-dot { background: var(--orange); }
|
|
237
|
+
.usecase-type.receipt { color: var(--orange); }
|
|
238
|
+
.usecase-type.pass .usecase-dot { background: var(--cyan); }
|
|
239
|
+
.usecase-type.pass { color: var(--cyan); }
|
|
240
|
+
.usecase-type.visual .usecase-dot { background: var(--purple); }
|
|
241
|
+
.usecase-type.visual { color: var(--purple); }
|
|
242
|
+
|
|
243
|
+
.usecase-tag {
|
|
244
|
+
font-family: 'JetBrains Mono', monospace;
|
|
245
|
+
font-size: 9px;
|
|
246
|
+
padding: 2px 6px;
|
|
247
|
+
border-radius: 3px;
|
|
248
|
+
margin-left: 8px;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
.usecase-spec { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--blue); opacity: 0.6; margin-top: 8px; }
|
|
252
|
+
.usecase-tag.soulbound { border: 1px solid rgba(34, 197, 94, 0.2); color: var(--green); }
|
|
253
|
+
.usecase-tag.transferable { border: 1px solid var(--border-bright); color: var(--text-dim); }
|
|
254
|
+
|
|
255
|
+
/* ── Install ── */
|
|
256
|
+
.install-row {
|
|
257
|
+
display: flex;
|
|
258
|
+
align-items: center;
|
|
259
|
+
gap: 16px;
|
|
260
|
+
flex-wrap: wrap;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.npx-block {
|
|
264
|
+
display: inline-flex;
|
|
265
|
+
align-items: center;
|
|
266
|
+
gap: 8px;
|
|
267
|
+
padding: 12px 20px;
|
|
268
|
+
background: var(--surface);
|
|
269
|
+
border: 1px solid var(--border);
|
|
270
|
+
border-radius: 8px;
|
|
271
|
+
box-shadow: 0 1px 4px rgba(0,0,0,0.06);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.npx-block code { font-family: 'JetBrains Mono', monospace; font-size: 15px; color: var(--text); }
|
|
275
|
+
.npx-block .prompt { color: var(--green); }
|
|
276
|
+
|
|
277
|
+
.copy-setup-btn {
|
|
278
|
+
font-family: 'JetBrains Mono', monospace;
|
|
279
|
+
font-size: 13px;
|
|
280
|
+
color: var(--green);
|
|
281
|
+
background: transparent;
|
|
282
|
+
border: 1.5px solid var(--green);
|
|
283
|
+
border-radius: 8px;
|
|
284
|
+
padding: 12px 24px;
|
|
285
|
+
cursor: pointer;
|
|
286
|
+
transition: all 0.2s;
|
|
287
|
+
font-weight: 600;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
.copy-setup-btn:hover { background: var(--green-dim); box-shadow: 0 4px 16px rgba(45, 184, 122, 0.15); }
|
|
291
|
+
|
|
292
|
+
.github-btn {
|
|
293
|
+
font-family: 'JetBrains Mono', monospace;
|
|
294
|
+
font-size: 13px;
|
|
295
|
+
color: var(--text-muted);
|
|
296
|
+
background: none;
|
|
297
|
+
border: 1px solid var(--border);
|
|
298
|
+
border-radius: 8px;
|
|
299
|
+
padding: 12px 24px;
|
|
300
|
+
cursor: pointer;
|
|
301
|
+
transition: all 0.2s;
|
|
302
|
+
font-weight: 500;
|
|
303
|
+
text-decoration: none;
|
|
304
|
+
display: inline-flex;
|
|
305
|
+
align-items: center;
|
|
306
|
+
gap: 8px;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
.github-btn:hover { border-color: var(--border-bright); color: var(--text); }
|
|
310
|
+
|
|
311
|
+
/* ── FAQ ── */
|
|
312
|
+
.faq { margin: 96px 0; }
|
|
313
|
+
.faq-item { padding: 24px 0; border-top: 1px solid var(--border); }
|
|
314
|
+
|
|
315
|
+
.faq-q {
|
|
316
|
+
font-family: 'JetBrains Mono', monospace;
|
|
317
|
+
font-weight: 600;
|
|
318
|
+
font-size: 14px;
|
|
319
|
+
color: var(--text);
|
|
320
|
+
margin-bottom: 10px;
|
|
321
|
+
letter-spacing: -0.01em;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
.faq-a { font-size: 15px; color: var(--text-muted); line-height: 1.7; }
|
|
325
|
+
|
|
326
|
+
.faq-a code {
|
|
327
|
+
font-family: 'JetBrains Mono', monospace;
|
|
328
|
+
font-size: 13px;
|
|
329
|
+
background: var(--surface-raised);
|
|
330
|
+
padding: 2px 7px;
|
|
331
|
+
border-radius: 4px;
|
|
332
|
+
border: 1px solid var(--border);
|
|
333
|
+
color: var(--text-secondary);
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
.faq-a a { color: var(--blue); text-decoration: none; transition: color 0.2s; }
|
|
337
|
+
.faq-a a:hover { color: var(--text); }
|
|
338
|
+
|
|
339
|
+
.roadmap-line {
|
|
340
|
+
font-family: 'JetBrains Mono', monospace;
|
|
341
|
+
font-size: 12px;
|
|
342
|
+
color: var(--text-dim);
|
|
343
|
+
text-align: center;
|
|
344
|
+
padding: 48px 0 0;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
/* ── Responsive ── */
|
|
348
|
+
@media (max-width: 680px) {
|
|
349
|
+
.hero { padding: 56px 0 0; }
|
|
350
|
+
.usecase-grid { grid-template-columns: 1fr; }
|
|
351
|
+
.install-row { flex-direction: column; align-items: stretch; }
|
|
352
|
+
.copy-setup-btn { text-align: center; }
|
|
353
|
+
.token-zero-body { flex-direction: column; align-items: center; }
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
/* ── Animations ── */
|
|
357
|
+
@keyframes fadeUp {
|
|
358
|
+
from { opacity: 0; transform: translateY(16px); }
|
|
359
|
+
to { opacity: 1; transform: translateY(0); }
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
.hero { animation: fadeUp 0.6s ease-out both; }
|
|
363
|
+
.flow { animation: fadeUp 0.6s ease-out 0.1s both; }
|
|
364
|
+
.usecases { animation: fadeUp 0.6s ease-out 0.15s both; }
|
|
365
|
+
.faq { animation: fadeUp 0.6s ease-out 0.25s both; }
|
|
366
|
+
</style>
|
|
367
|
+
</head>
|
|
368
|
+
<body>
|
|
369
|
+
<div class="hero-glow"></div>
|
|
370
|
+
<div class="container">
|
|
371
|
+
|
|
372
|
+
<div id="site-nav"></div>
|
|
373
|
+
|
|
374
|
+
<!-- ── Hero ── -->
|
|
375
|
+
<section class="hero">
|
|
376
|
+
<h1>Free <span class="green">NFT minting</span> for agents. On Base.</h1>
|
|
377
|
+
<p class="subtitle">No wallet. No gas. No code. Tell your agent what to mint and it lands on-chain in seconds. Identity, credentials, proof of work. <strong>Works for humans too.</strong></p>
|
|
378
|
+
<div class="install-row hero-install">
|
|
379
|
+
<div class="npx-block" style="cursor:pointer;" onclick="copyNpx(this)" title="Copy">
|
|
380
|
+
<code><span class="prompt">$</span> npx mint-day</code>
|
|
381
|
+
<svg id="npx-copy-icon" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="color:var(--text-dim);margin-left:4px;vertical-align:-1px;flex-shrink:0"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></svg>
|
|
382
|
+
</div>
|
|
383
|
+
<button class="copy-setup-btn" onclick="copySetup(this)"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="vertical-align:-2px;margin-right:6px"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></svg>Copy setup for your agent</button>
|
|
384
|
+
<a href="https://github.com/jordanlyall/mintday" target="_blank" class="github-btn"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"/></svg>Docs & Source</a>
|
|
385
|
+
</div>
|
|
386
|
+
<div style="margin-top:20px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--text-dim);display:flex;gap:20px;flex-wrap:wrap;align-items:center;">
|
|
387
|
+
<span style="color:var(--text-muted);">Claude Code</span>
|
|
388
|
+
<span style="color:var(--text-muted);">Cursor</span>
|
|
389
|
+
<span style="color:var(--text-muted);">Windsurf</span>
|
|
390
|
+
<span style="color:var(--text-muted);">OpenClaw</span>
|
|
391
|
+
<span style="color:var(--text-dim);">+ any MCP client</span>
|
|
392
|
+
</div>
|
|
393
|
+
</section>
|
|
394
|
+
|
|
395
|
+
<!-- ── Token Zero ── -->
|
|
396
|
+
<section class="flow">
|
|
397
|
+
<div class="token-zero">
|
|
398
|
+
<div class="token-zero-header">
|
|
399
|
+
<span>Token #0 -- minted by an AI agent on Base mainnet</span>
|
|
400
|
+
<span style="display:flex;gap:8px;">
|
|
401
|
+
<a href="https://basescan.org/tx/0x4b16208f16a462fb530aba8c240280b019adc1e4f0dc8df97651cb783eb8ee93" target="_blank" title="Basescan" style="color:var(--text-dim);transition:color 0.15s;"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4"/><path d="M14 4h6v6"/><path d="M14 10L21 3"/></svg></a>
|
|
402
|
+
<a href="https://opensea.io/item/base/0x12a1c11a0b2860f64e7d8df20989f97d40de7f2c/0" target="_blank" title="OpenSea" style="color:var(--text-dim);transition:color 0.15s;"><svg width="14" height="14" viewBox="0 0 90 90" fill="currentColor"><path d="M45 0C20.151 0 0 20.151 0 45c0 24.849 20.151 45 45 45 24.849 0 45-20.151 45-45C90 20.151 69.849 0 45 0zM22.203 46.512l.252-.504 12.06-18.858c.18-.27.54-.234.684.054 2.016 4.464 3.762 10.008 2.952 13.464-.342 1.404-1.278 3.312-2.34 5.058-.126.252-.27.486-.414.72-.072.108-.198.162-.324.162H22.563c-.306 0-.486-.342-.36-.612v-.504zm52.38 5.4c0 .198-.126.36-.306.432-1.098.468-4.842 2.196-6.408 4.374-3.978 5.562-7.02 13.518-13.824 13.518H32.49c-10.116 0-18.324-8.226-18.324-18.378v-.324c0-.234.18-.414.414-.414h13.41c.27 0 .468.252.45.522-.09.72.054 1.458.432 2.124.72 1.332 2.07 2.16 3.528 2.16h5.526v-4.266h-5.472c-.306 0-.486-.36-.342-.63.054-.09.108-.18.18-.288.54-.828 1.314-2.142 2.088-3.636.522-.99 1.026-2.034 1.422-3.096.09-.198.162-.396.234-.576.126-.36.252-.702.342-1.044.09-.288.162-.594.234-.882.198-1.008.27-2.07.27-3.168 0-.432-.018-.882-.054-1.314-.018-.486-.072-.972-.144-1.458-.054-.414-.144-.828-.234-1.26-.126-.612-.288-1.224-.486-1.836l-.072-.252c-.144-.468-.27-.918-.432-1.386-1.044-3.042-2.178-5.94-3.276-8.478l-.234-.504c-.072-.162-.144-.306-.216-.45-.198-.414-.414-.81-.63-1.188-.108-.198-.234-.378-.342-.558-.144-.234-.306-.45-.432-.648-.09-.144-.198-.27-.288-.396l-.774-.972c-.09-.108.036-.27.162-.234l4.212 1.116h.018l.558.162.612.18.216.054V17.37c0-1.602 1.278-2.898 2.844-2.898.792 0 1.494.324 2.016.846.522.522.828 1.242.828 2.052v7.776l.45.126c.036.018.072.036.108.072.126.108.306.27.54.468.18.162.378.36.612.576.468.432 1.026.99 1.602 1.62.162.18.324.36.468.558.612.738 1.296 1.584 1.944 2.52.18.27.36.54.522.828.486.828.918 1.692 1.278 2.574.126.288.234.594.306.882v.036c.108.306.18.63.234.954.162.882.234 1.8.162 2.736-.036.378-.09.738-.162 1.116-.09.378-.18.738-.306 1.116-.252.72-.558 1.422-.918 2.07-.126.234-.27.486-.414.72-.162.234-.306.468-.468.684-.216.306-.45.594-.666.864-.198.252-.414.504-.63.738-.324.378-.648.72-.99 1.044-.198.216-.414.414-.63.594-.216.198-.432.378-.63.54-.324.27-.612.486-.864.666l-.558.396c-.09.072-.216.108-.324.108h-3.366v4.266h4.176c.954 0 1.854-.342 2.574-.954.252-.216 2.736-2.376 5.886-6.462.018-.036.072-.072.126-.09l14.652-4.266c.27-.072.54.126.54.396v.504z"/></svg></a>
|
|
403
|
+
</span>
|
|
404
|
+
</div>
|
|
405
|
+
<div class="token-zero-body">
|
|
406
|
+
<div class="token-zero-card">
|
|
407
|
+
<div>
|
|
408
|
+
<div class="tz-accent"></div>
|
|
409
|
+
<div class="tz-type">ATTESTATION</div>
|
|
410
|
+
<div class="tz-sb">SOULBOUND</div>
|
|
411
|
+
</div>
|
|
412
|
+
<div>
|
|
413
|
+
<div class="tz-name">running mint.day</div>
|
|
414
|
+
<div class="tz-brand">mint.day</div>
|
|
415
|
+
</div>
|
|
416
|
+
</div>
|
|
417
|
+
<div class="token-zero-transcript">
|
|
418
|
+
<div><span class="t-agent">agent:</span> <span class="t-str">"running mint.day"</span></div>
|
|
419
|
+
<div><span class="t-dim">type: Attestation, soulbound, to 0x1848...89bD</span></div>
|
|
420
|
+
<div><span class="t-dim">---</span></div>
|
|
421
|
+
<div style="display:grid;grid-template-columns:1fr 1fr;gap:0 24px;">
|
|
422
|
+
<div><span class="t-key">status:</span> <span class="t-val">minted</span></div>
|
|
423
|
+
<div><span class="t-key">block:</span> <span class="t-val">43,461,782</span></div>
|
|
424
|
+
<div><span class="t-key">chain:</span> <span class="t-val">Base</span></div>
|
|
425
|
+
<div><span class="t-key">tx:</span> <a class="t-link" href="https://basescan.org/tx/0x4b16208f16a462fb530aba8c240280b019adc1e4f0dc8df97651cb783eb8ee93" target="_blank">0x4b16...ee93</a></div>
|
|
426
|
+
<div><span class="t-key">gas:</span> <span class="t-val">sponsored</span></div>
|
|
427
|
+
<div><span class="t-key">opensea:</span> <a class="t-link" href="https://opensea.io/item/base/0x12a1c11a0b2860f64e7d8df20989f97d40de7f2c/0" target="_blank">token #0</a></div>
|
|
428
|
+
</div>
|
|
429
|
+
</div>
|
|
430
|
+
</div>
|
|
431
|
+
</div>
|
|
432
|
+
</section>
|
|
433
|
+
|
|
434
|
+
<!-- ── Use Cases ── -->
|
|
435
|
+
<section class="usecases">
|
|
436
|
+
<div class="section-label">What agents mint</div>
|
|
437
|
+
<div class="usecase-grid">
|
|
438
|
+
<div class="usecase">
|
|
439
|
+
<svg class="usecase-icon" viewBox="0 0 32 32" fill="none"><rect x="8" y="4" width="16" height="24" rx="3" stroke="#60a5fa" stroke-width="1.5"/><circle cx="16" cy="13" r="3.5" stroke="#60a5fa" stroke-width="1.5"/><path d="M10 24c0-3.3 2.7-6 6-6s6 2.7 6 6" stroke="#60a5fa" stroke-width="1.5" stroke-linecap="round"/></svg>
|
|
440
|
+
<div class="usecase-scenario">"Who are you? Show me your on-chain ID or I'm not sending funds."</div>
|
|
441
|
+
<div class="usecase-type identity"><span class="usecase-dot"></span> Identity <span class="usecase-tag transferable">transferable</span></div>
|
|
442
|
+
<div class="usecase-spec">ERC-8004: did, capabilities[], endpoints[]</div>
|
|
443
|
+
</div>
|
|
444
|
+
<div class="usecase">
|
|
445
|
+
<svg class="usecase-icon" viewBox="0 0 32 32" fill="none"><rect x="5" y="5" width="22" height="22" rx="3" stroke="#a78bfa" stroke-width="1.5"/><circle cx="12" cy="13" r="2" fill="#a78bfa" opacity="0.5"/><path d="M5 22l6-6 4 4 6-8 6 6" stroke="#a78bfa" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
|
446
|
+
<div class="usecase-scenario">"I made this. Put it on-chain before someone else claims it."</div>
|
|
447
|
+
<div class="usecase-type visual"><span class="usecase-dot"></span> PFP / Art <span class="usecase-tag transferable">image</span></div>
|
|
448
|
+
</div>
|
|
449
|
+
<div class="usecase">
|
|
450
|
+
<svg class="usecase-icon" viewBox="0 0 32 32" fill="none"><circle cx="16" cy="16" r="11" stroke="#22c55e" stroke-width="1.5"/><path d="M10 16l4 4 8-8" stroke="#22c55e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
|
451
|
+
<div class="usecase-scenario">"Done. Stamp it. Permanent proof this audit happened."</div>
|
|
452
|
+
<div class="usecase-type attestation"><span class="usecase-dot"></span> Attestation <span class="usecase-tag soulbound">soulbound</span></div>
|
|
453
|
+
</div>
|
|
454
|
+
<div class="usecase">
|
|
455
|
+
<svg class="usecase-icon" viewBox="0 0 32 32" fill="none"><path d="M16 4l3 6h7l-5.5 4.5 2 7L16 17l-6.5 4.5 2-7L6 10h7l3-6z" stroke="#a78bfa" stroke-width="1.5" stroke-linejoin="round"/></svg>
|
|
456
|
+
<div class="usecase-scenario">"Vetted. Certified. This agent earned its credential."</div>
|
|
457
|
+
<div class="usecase-type credential"><span class="usecase-dot"></span> Credential <span class="usecase-tag soulbound">soulbound</span></div>
|
|
458
|
+
</div>
|
|
459
|
+
<div class="usecase">
|
|
460
|
+
<svg class="usecase-icon" viewBox="0 0 32 32" fill="none"><circle cx="11" cy="16" r="5" stroke="#22d3ee" stroke-width="1.5"/><path d="M16 13h10M16 16h8M16 19h10" stroke="#22d3ee" stroke-width="1.5" stroke-linecap="round"/></svg>
|
|
461
|
+
<div class="usecase-scenario">"You're approved. Here's your on-chain access pass."</div>
|
|
462
|
+
<div class="usecase-type pass"><span class="usecase-dot"></span> Pass <span class="usecase-tag transferable">transferable</span></div>
|
|
463
|
+
</div>
|
|
464
|
+
<div class="usecase">
|
|
465
|
+
<svg class="usecase-icon" viewBox="0 0 32 32" fill="none"><rect x="6" y="6" width="20" height="20" rx="2" stroke="#fb923c" stroke-width="1.5"/><line x1="6" y1="12" x2="26" y2="12" stroke="#fb923c" stroke-width="1.5"/><line x1="12" y1="18" x2="20" y2="18" stroke="#fb923c" stroke-width="1.5" stroke-linecap="round"/><line x1="14" y1="22" x2="18" y2="22" stroke="#fb923c" stroke-width="1.5" stroke-linecap="round"/></svg>
|
|
466
|
+
<div class="usecase-scenario">"Paid. Both parties sign off. Receipt on-chain forever."</div>
|
|
467
|
+
<div class="usecase-type receipt"><span class="usecase-dot"></span> Receipt <span class="usecase-tag transferable">transferable</span></div>
|
|
468
|
+
</div>
|
|
469
|
+
<div class="usecase">
|
|
470
|
+
<svg class="usecase-icon" viewBox="0 0 32 32" fill="none"><rect x="6" y="8" width="20" height="16" rx="3" stroke="#60a5fa" stroke-width="1.5"/><path d="M10 16h4M14 14v4" stroke="#60a5fa" stroke-width="1.5" stroke-linecap="round"/><circle cx="22" cy="16" r="1.5" fill="#60a5fa" opacity="0.5"/></svg>
|
|
471
|
+
<div class="usecase-scenario">"Open Claude. Type 'mint proof I shipped v2.' NFT on Base. No wallet needed."</div>
|
|
472
|
+
<div class="usecase-type identity"><span class="usecase-dot"></span> Works for humans too</div>
|
|
473
|
+
</div>
|
|
474
|
+
<div class="usecase">
|
|
475
|
+
<svg class="usecase-icon" viewBox="0 0 32 32" fill="none"><circle cx="16" cy="16" r="10" stroke="#6e6259" stroke-width="1.5" stroke-dasharray="3 3"/><path d="M12 16h8M16 12v8" stroke="#6e6259" stroke-width="1.5" stroke-linecap="round"/></svg>
|
|
476
|
+
<div class="usecase-scenario">Whatever you or your agent can dream up. Describe it and mint.day puts it on-chain.</div>
|
|
477
|
+
<div class="usecase-type" style="color:var(--text-dim);"><span class="usecase-dot" style="background:var(--text-dim);"></span> You decide</div>
|
|
478
|
+
</div>
|
|
479
|
+
</div>
|
|
480
|
+
</section>
|
|
481
|
+
|
|
482
|
+
<!-- ── FAQ ── -->
|
|
483
|
+
<section class="faq" id="faq">
|
|
484
|
+
<div class="section-label">FAQ</div>
|
|
485
|
+
<div class="faq-item">
|
|
486
|
+
<div class="faq-q">What does it cost?</div>
|
|
487
|
+
<div class="faq-a">Free. Zero mint fee. Gas is sponsored by default on Base mainnet.</div>
|
|
488
|
+
</div>
|
|
489
|
+
<div class="faq-item">
|
|
490
|
+
<div class="faq-q">Does my agent need a wallet?</div>
|
|
491
|
+
<div class="faq-a">No. Gas is sponsored. Just provide a recipient address.</div>
|
|
492
|
+
</div>
|
|
493
|
+
<div class="faq-item">
|
|
494
|
+
<div class="faq-q">Does my agent decide when to mint?</div>
|
|
495
|
+
<div class="faq-a">Yes. The tool description tells your agent what minting is for. It decides when on-chain proof has value.</div>
|
|
496
|
+
</div>
|
|
497
|
+
<div class="faq-item">
|
|
498
|
+
<div class="faq-q">What if the intent is misclassified?</div>
|
|
499
|
+
<div class="faq-a">Every mint returns a preview first. Your agent confirms before anything goes on-chain.</div>
|
|
500
|
+
</div>
|
|
501
|
+
<div class="faq-item">
|
|
502
|
+
<div class="faq-q">Can agents verify each other?</div>
|
|
503
|
+
<div class="faq-a">Yes. <code>mint_resolve(address)</code> returns an agent's Identity token with ERC-8004 metadata: did, capabilities, and endpoints. <code>mint_check(address)</code> returns all tokens held. Trust before transacting.</div>
|
|
504
|
+
</div>
|
|
505
|
+
<div class="faq-item">
|
|
506
|
+
<div class="faq-q">Can I mint with images?</div>
|
|
507
|
+
<div class="faq-a">Yes. Pass an image URL or a local file path. Local files are auto-uploaded and pinned. PFPs, art, screenshots, generated visuals. If your agent can see it, it can mint it.</div>
|
|
508
|
+
</div>
|
|
509
|
+
<div class="faq-item">
|
|
510
|
+
<div class="faq-q">Where is the contract?</div>
|
|
511
|
+
<div class="faq-a"><a href="https://basescan.org/address/0x12a1c11a0b2860f64e7d8df20989f97d40de7f2c" target="_blank">0x12a1c11a...7f2c</a> on Base. Permissionless. Anyone can call <code>mint()</code> directly without the MCP server.</div>
|
|
512
|
+
</div>
|
|
513
|
+
</section>
|
|
514
|
+
|
|
515
|
+
<div id="site-footer"></div>
|
|
516
|
+
|
|
517
|
+
</div>
|
|
518
|
+
|
|
519
|
+
<script defer src="/_vercel/insights/script.js"></script>
|
|
520
|
+
<script src="shared.js"></script>
|
|
521
|
+
<script>
|
|
522
|
+
renderNav("site-nav");
|
|
523
|
+
renderFooter("site-footer");
|
|
524
|
+
|
|
525
|
+
var AGENT_SETUP = 'Install mint.day for me.\n\nmint.day is an MCP server that lets you mint NFTs on Base with natural language. Identity, attestations, credentials, receipts, access passes, and visual tokens with images.\n\nAdd this MCP config:\n\n{\n "mcpServers": {\n "mint-day": {\n "command": "npx",\n "args": ["mint-day"]\n }\n }\n}\n\nThat\'s it. No API keys. No wallet. Gas is sponsored. Just tell me what to mint.';
|
|
526
|
+
|
|
527
|
+
function copyNpx(el) {
|
|
528
|
+
navigator.clipboard.writeText('npx mint-day').then(function() {
|
|
529
|
+
var icon = el.querySelector('svg');
|
|
530
|
+
if (icon) icon.style.color = 'var(--green)';
|
|
531
|
+
setTimeout(function() { if (icon) icon.style.color = 'var(--text-dim)'; }, 1500);
|
|
532
|
+
});
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
function copySetup(btn) {
|
|
536
|
+
navigator.clipboard.writeText(AGENT_SETUP).then(function() {
|
|
537
|
+
var orig = btn.innerHTML;
|
|
538
|
+
btn.textContent = 'Copied!';
|
|
539
|
+
setTimeout(function() { btn.innerHTML = orig; }, 2000);
|
|
540
|
+
});
|
|
541
|
+
}
|
|
542
|
+
</script>
|
|
543
|
+
</body>
|
|
544
|
+
</html>
|
package/site/llms.txt
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# mint.day
|
|
2
|
+
|
|
3
|
+
> Free NFT minting for AI agents on Base. One MCP tool call. Zero config. Gas sponsored.
|
|
4
|
+
|
|
5
|
+
## What is mint.day?
|
|
6
|
+
|
|
7
|
+
mint.day is an MCP server that gives AI agents the ability to mint NFTs on Base with natural language. No wallet setup. No gas fees. No Solidity knowledge. The agent describes what it wants and a token appears on-chain in seconds.
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
Add to your MCP config (Claude Code, Cursor, Windsurf, or any MCP client):
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"mcpServers": {
|
|
16
|
+
"mint-day": {
|
|
17
|
+
"command": "npx",
|
|
18
|
+
"args": ["-y", "mint-day"]
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
No API keys. No environment variables. Works immediately.
|
|
25
|
+
|
|
26
|
+
## Tools
|
|
27
|
+
|
|
28
|
+
### mint
|
|
29
|
+
|
|
30
|
+
Create a permanent, verifiable on-chain record on Base.
|
|
31
|
+
|
|
32
|
+
Natural language input:
|
|
33
|
+
- "Proof I completed the security audit for 0xABC"
|
|
34
|
+
- "This is my agent's on-chain identity"
|
|
35
|
+
- "Receipt for payment between 0xABC and 0xDEF"
|
|
36
|
+
|
|
37
|
+
Parameters:
|
|
38
|
+
- description (string): What to mint, in plain English
|
|
39
|
+
- tokenType (optional): Identity, Attestation, Credential, Receipt, or Pass
|
|
40
|
+
- recipient (optional): Ethereum address to receive the token
|
|
41
|
+
- soulbound (optional): Whether the token is non-transferable
|
|
42
|
+
- image (optional): URL or base64 for visual tokens
|
|
43
|
+
- metadata (optional): Additional key-value pairs (e.g., did, capabilities, endpoints for ERC-8004)
|
|
44
|
+
- mintId (string): Confirmation ID from a previous preview, to confirm and execute
|
|
45
|
+
|
|
46
|
+
Every mint returns a preview first. Call again with mintId to confirm and execute.
|
|
47
|
+
|
|
48
|
+
### mint_check
|
|
49
|
+
|
|
50
|
+
Look up tokens by address, transaction hash, or get global stats.
|
|
51
|
+
|
|
52
|
+
Parameters:
|
|
53
|
+
- address (optional): Ethereum address to check
|
|
54
|
+
- txHash (optional): Transaction hash to look up
|
|
55
|
+
|
|
56
|
+
### mint_resolve
|
|
57
|
+
|
|
58
|
+
Resolve an agent's on-chain identity. Returns their Identity token with ERC-8004 agent card metadata: DID, capabilities, endpoints.
|
|
59
|
+
|
|
60
|
+
Parameters:
|
|
61
|
+
- address (string): Ethereum address to resolve
|
|
62
|
+
|
|
63
|
+
## Token Types
|
|
64
|
+
|
|
65
|
+
| Type | Default Binding | Use For |
|
|
66
|
+
|------|----------------|---------|
|
|
67
|
+
| Identity | transferable | Agent ID card, on-chain registration |
|
|
68
|
+
| Attestation | soulbound | Proof of action, task completion |
|
|
69
|
+
| Credential | soulbound | Reputation anchor, certification |
|
|
70
|
+
| Receipt | transferable | Payment record between two parties |
|
|
71
|
+
| Pass | transferable | API access, capability unlock |
|
|
72
|
+
|
|
73
|
+
## Contract
|
|
74
|
+
|
|
75
|
+
Base Mainnet: 0x12a1c11a0b2860f64e7d8df20989f97d40de7f2c
|
|
76
|
+
Permissionless ERC-721. Zero mint fee. Gas sponsored by default.
|
|
77
|
+
|
|
78
|
+
## HTTP API (no install required)
|
|
79
|
+
|
|
80
|
+
### GET /api/verify?address=0x...
|
|
81
|
+
|
|
82
|
+
Verify an address's on-chain tokens. Returns identity status, credentials, attestations. Use this to check trust before transacting with another agent.
|
|
83
|
+
|
|
84
|
+
Response:
|
|
85
|
+
- verified (boolean): whether the address holds any mint.day tokens
|
|
86
|
+
- hasIdentity (boolean): whether the address has an Identity token
|
|
87
|
+
- credentialCount (number): number of credentials held
|
|
88
|
+
- attestationCount (number): number of attestations held
|
|
89
|
+
- tokens (array): full token details with metadata
|
|
90
|
+
|
|
91
|
+
### GET /api/feed
|
|
92
|
+
|
|
93
|
+
Live feed of all mint.day tokens on Base mainnet. Returns recent mints with type, recipient, name, and tx hash.
|
|
94
|
+
|
|
95
|
+
## Links
|
|
96
|
+
|
|
97
|
+
- npm: https://www.npmjs.com/package/mint-day
|
|
98
|
+
- GitHub: https://github.com/jordanlyall/agent-mint
|
|
99
|
+
- Site: https://mint.day
|
|
100
|
+
- Agent card: https://mint.day/.well-known/agent.json
|