@artblocks/contracts 1.0.3 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -25
- package/artifacts/contracts/AdminACLV0.sol/AdminACLV0.json +2 -2
- package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
- package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +212 -17
- package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +6 -6
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol/MinterDAExpV0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol/MinterDAExpV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol/MinterDALinV0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol/MinterDALinV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol/MinterHolderV0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol/MinterMerkleV0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol/MinterSetPriceV0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV1.sol/MinterSetPriceV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
- package/artifacts/contracts/engine/V2/GenArt721CoreV2_ENGINE_FLEX.sol/GenArt721CoreV2_ENGINE_FLEX.json +2 -2
- package/artifacts/contracts/engine/V2/GenArt721CoreV2_PBAB.sol/GenArt721CoreV2_PBAB.json +2 -2
- package/artifacts/contracts/engine/V2/GenArt721CoreV2_PRTNR.sol/GenArt721CoreV2_PRTNR.json +2 -2
- package/artifacts/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol/GenArt721MinterBurner_PBAB.json +2 -2
- package/artifacts/contracts/engine/V2/GenArt721MinterDAExp_PBAB.sol/GenArt721MinterDAExp_PBAB.json +2 -2
- package/artifacts/contracts/engine/V2/GenArt721Minter_PBAB.sol/GenArt721Minter_PBAB.json +2 -2
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +6 -11
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +6 -11
- package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +6 -11
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +2 -2
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +6 -11
- package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +12 -12
- package/artifacts/contracts/engine-registry/EngineRegistryV0.sol/EngineRegistryV0.json +2 -2
- package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +6 -6
- package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IBonusContract.sol/IBonusContract.json +1 -1
- package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +1 -1
- package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +1 -1
- package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IRandomizer.sol/IRandomizer.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IAdminACLV0.sol/IAdminACLV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IArtblocksRoyaltyOverride.sol/IArtblocksRoyaltyOverride.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IBonusContract.sol/IBonusContract.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IBytecodeStorageReader.sol/IBytecodeStorageReader.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/ICoreRegistryV1.sol/ICoreRegistryV1.json +7 -7
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDelegationRegistry.sol/IDelegationRegistry.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryCompatibleV0.sol/IDependencyRegistryCompatibleV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +22 -3
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IEngineRegistryV0.sol/IEngineRegistryV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlement_Mixin.sol/IFilteredMinterDAExpSettlement_Mixin.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV0.sol/IFilteredMinterDAExpV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV1.sol/IFilteredMinterDAExpV1.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV0.sol/IFilteredMinterDALinV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV1.sol/IFilteredMinterDALinV1.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV0.sol/IFilteredMinterHolderV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV1.sol/IFilteredMinterHolderV1.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV2.sol/IFilteredMinterHolderV2.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV0.sol/IFilteredMinterMerkleV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV1.sol/IFilteredMinterMerkleV1.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV2.sol/IFilteredMinterMerkleV2.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterSEAV0.sol/IFilteredMinterSEAV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV0.sol/IFilteredMinterV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV1.sol/IFilteredMinterV1.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV2.sol/IFilteredMinterV2.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractExposesHashSeed.sol/IGenArt721CoreContractExposesHashSeed.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +1 -1
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3WithSharedRandomizer.sol/IGenArt721CoreContractV3WithSharedRandomizer.json +24 -0
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IManifold.sol/IManifold.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterBaseV0.sol/IMinterBaseV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV0.sol/IMinterFilterV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV1.sol/IMinterFilterV1.json +104 -19
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPICoreV0.sol/IMintingAPICoreV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPIMinterV0.sol/IMintingAPIMinterV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer.sol/IRandomizer.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerPolyptychV0.sol/IRandomizerPolyptychV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerV2.sol/IRandomizerV2.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer_V3CoreBase.sol/IRandomizer_V3CoreBase.json +1 -1
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +114 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol/ISharedMinterDAExpV0.json +37 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol/ISharedMinterDALinV0.json +37 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol/ISharedMinterDAV0.json +50 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol/ISharedMinterHolderERC20V0.json +158 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol/ISharedMinterHolderV0.json +128 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol/ISharedMinterMerkleV0.json +97 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +29 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol/ISharedMinterSimplePurchaseV0.json +64 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterV0.sol/ISharedMinterV0.json +117 -0
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +52 -36
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IWETH.sol/IWETH.json +1 -1
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Address.json +2 -2
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Counters.json +2 -2
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/CustomERC721Metadata.json +2 -2
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721.json +2 -2
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721Enumerable.json +2 -2
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/GenArt721CoreV1.json +2 -2
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/SafeMath.json +2 -2
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Strings.json +2 -2
- package/artifacts/contracts/legacy/GenArt721LegacyMinter.sol/GenArt721LegacyMinter.json +2 -2
- package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
- package/artifacts/contracts/libs/{0.5.x → v0.5.x}/CustomERC721Metadata.sol/CustomERC721Metadata.json +3 -3
- package/artifacts/contracts/libs/{0.5.x → v0.5.x}/IERC20.sol/IERC20.json +1 -1
- package/artifacts/contracts/libs/{0.5.x → v0.5.x}/SafeMath.sol/SafeMath.json +3 -3
- package/artifacts/contracts/libs/{0.5.x → v0.5.x}/Strings.sol/Strings.json +3 -3
- package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +10 -0
- package/artifacts/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV0.sol/BytecodeStorage.json +3 -3
- package/artifacts/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV1.sol/BytecodeStorageReader.json +3 -3
- package/artifacts/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV1.sol/BytecodeStorageWriter.json +3 -3
- package/artifacts/contracts/libs/{0.8.x → v0.8.x}/Bytes32Strings.sol/Bytes32Strings.json +3 -3
- package/artifacts/contracts/libs/{0.8.x → v0.8.x}/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +3 -3
- package/artifacts/contracts/libs/{0.8.x → v0.8.x}/SSTORE2.sol/SSTORE2.json +3 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +67 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DALib.sol/DALib.json +30 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +67 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol/GenericMinterEventsLib.json +346 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +36 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +37 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +261 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +55 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +48 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +42 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +86 -0
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV0.sol/MinterFilterV0.json +2 -2
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +96 -40
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +662 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -20
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +619 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +418 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +662 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +418 -0
- package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSEAV0.sol/MinterSEAV0.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +659 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +452 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +600 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +633 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +782 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +676 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +356 -0
- package/artifacts/contracts/mock/BytecodeV0TextCR_DMock.sol/BytecodeV0TextCR_DMock.json +2 -2
- package/artifacts/contracts/mock/BytecodeV1LibCallsMock.sol/BytecodeV1LibCallsMock.json +2 -2
- package/artifacts/contracts/mock/BytecodeV1TextCR_DMock.sol/BytecodeV1TextCR_DMock.json +4 -4
- package/artifacts/contracts/mock/DeadReceiverBidderMock.sol/DeadReceiverBidderMock.json +25 -2
- package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
- package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +28 -2
- package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +6 -11
- package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +2 -2
- package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +2 -2
- package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +2 -2
- package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyHolderMockShared.sol/ReentrancyHolderMockShared.json +136 -0
- package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyMerkleMockShared.sol/ReentrancyMerkleMockShared.json +105 -0
- package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyMockShared.sol/ReentrancyMockShared.json +100 -0
- package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancySEAMockShared.sol/ReentrancySEAAutoBidderMockShared.json +69 -0
- package/artifacts/contracts/mock/SSTORE2Mock.sol/SSTORE2Mock.json +2 -2
- package/artifacts/contracts/randomizer/deprecated/BasicRandomizer.sol/BasicRandomizer.json +2 -2
- package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
- package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
- package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +2 -2
- package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +58 -42
- package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +2 -2
- package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol/GenArt721RoyaltyOverride_PBAB.json +2 -2
- package/contracts/AdminACLV0.sol +1 -1
- package/contracts/AdminACLV1.sol +1 -1
- package/contracts/DependencyRegistryV0.sol +300 -123
- package/contracts/GenArt721CoreV3.sol +27 -12
- package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV1.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +3 -3
- package/contracts/archive/readme.md +16 -0
- package/contracts/engine/README.md +21 -0
- package/contracts/engine/V2/GenArt721CoreV2_ENGINE_FLEX.sol +2 -2
- package/contracts/engine/V2/GenArt721CoreV2_PBAB.sol +2 -2
- package/contracts/engine/V2/GenArt721CoreV2_PRTNR.sol +3 -3
- package/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol +2 -2
- package/contracts/engine/V2/GenArt721MinterDAExp_PBAB.sol +1 -1
- package/contracts/engine/V2/GenArt721Minter_PBAB.sol +2 -2
- package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +31 -22
- package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +31 -22
- package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +12 -18
- package/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol +1 -1
- package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +23 -24
- package/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol +1 -1
- package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +1 -1
- package/contracts/engine-registry/CoreRegistryV1.sol +58 -65
- package/contracts/engine-registry/EngineRegistryV0.sol +1 -1
- package/contracts/explorations/GenArt721CoreV3_Explorations.sol +27 -12
- package/contracts/interfaces/{0.8.x → v0.8.x}/ICoreRegistryV1.sol +6 -8
- package/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryV0.sol +5 -2
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3WithSharedRandomizer.sol +23 -0
- package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV1.sol +45 -19
- package/contracts/interfaces/v0.8.x/IRandomizer_V3CoreBase.sol +23 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +28 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol +12 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol +12 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol +13 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol +47 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol +41 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol +34 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +15 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol +28 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +43 -0
- package/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol +123 -0
- package/contracts/legacy/GenArt721CoreV1.sol +2 -2
- package/contracts/legacy/GenArt721LegacyMinter.sol +5 -5
- package/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol +1 -1
- package/contracts/libs/v0.8.x/ABHelpers.sol +55 -0
- package/contracts/libs/v0.8.x/AuthLib.sol +196 -0
- package/contracts/libs/{0.8.x → v0.8.x}/Bytes32Strings.sol +5 -5
- package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +250 -0
- package/contracts/libs/v0.8.x/minter-libs/DALib.sol +26 -0
- package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +216 -0
- package/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol +171 -0
- package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +488 -0
- package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +384 -0
- package/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol +240 -0
- package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +995 -0
- package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +166 -0
- package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +770 -0
- package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +741 -0
- package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +291 -0
- package/contracts/minter-suite/MinterFilter/MinterFilterV0.sol +3 -3
- package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +5 -5
- package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +414 -297
- package/contracts/minter-suite/Minters/MinterBase_v0_1_1.sol +4 -4
- package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +866 -0
- package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +4 -57
- package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +886 -0
- package/contracts/minter-suite/Minters/MinterDAExpV4.sol +3 -3
- package/contracts/minter-suite/Minters/MinterDAExpV5.sol +545 -0
- package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +857 -0
- package/contracts/minter-suite/Minters/MinterDALinV4.sol +3 -3
- package/contracts/minter-suite/Minters/MinterDALinV5.sol +534 -0
- package/contracts/minter-suite/Minters/MinterHolderV4.sol +4 -4
- package/contracts/minter-suite/Minters/MinterMerkleV5.sol +4 -4
- package/contracts/minter-suite/Minters/MinterPolyptychV0.sol +6 -6
- package/contracts/minter-suite/Minters/MinterSEAV0.sol +3 -3
- package/contracts/minter-suite/Minters/MinterSEAV1.sol +853 -0
- package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +5 -5
- package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +545 -0
- package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +730 -0
- package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +714 -0
- package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +1012 -0
- package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +868 -0
- package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +3 -3
- package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +414 -0
- package/contracts/mock/BytecodeV0TextCR_DMock.sol +1 -1
- package/contracts/mock/BytecodeV1LibCallsMock.sol +1 -1
- package/contracts/mock/BytecodeV1TextCR_DMock.sol +1 -1
- package/contracts/mock/DeadReceiverBidderMock.sol +15 -0
- package/contracts/mock/DummySharedMinter.sol +2 -2
- package/contracts/mock/ERC20Mock.sol +16 -0
- package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +11 -18
- package/contracts/mock/MockAdminACLV0.sol +1 -1
- package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +1 -1
- package/contracts/mock/OriginRegisterMock.sol +1 -1
- package/contracts/mock/ReentrancyHolderMock.sol +1 -1
- package/contracts/mock/ReentrancyHolderMockShared.sol +59 -0
- package/contracts/mock/ReentrancyMerkleMock.sol +1 -1
- package/contracts/mock/ReentrancyMerkleMockShared.sol +58 -0
- package/contracts/mock/ReentrancyMock.sol +1 -1
- package/contracts/mock/ReentrancyMockShared.sol +48 -0
- package/contracts/mock/ReentrancySEAMock.sol +1 -1
- package/contracts/mock/ReentrancySEAMockShared.sol +40 -0
- package/contracts/mock/SSTORE2Mock.sol +1 -1
- package/contracts/randomizer/deprecated/BasicRandomizer.sol +1 -1
- package/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol +2 -2
- package/contracts/randomizer/deprecated/RandomizerV2.sol +2 -2
- package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +1 -1
- package/contracts/randomizer/shared/SharedRandomizerV0.sol +134 -111
- package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +2 -2
- package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +2 -2
- package/package.json +57 -36
- package/LICENSE +0 -165
- package/contracts/interfaces/0.8.x/IRandomizer_V3CoreBase.sol +0 -10
- package/contracts/interfaces/0.8.x/ISharedRandomizerV0.sol +0 -105
- /package/contracts/interfaces/{0.5.x → v0.5.x}/IBonusContract.sol +0 -0
- /package/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreContractV1.sol +0 -0
- /package/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreV2_PBAB.sol +0 -0
- /package/contracts/interfaces/{0.5.x → v0.5.x}/IRandomizer.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IAdminACLV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IArtblocksRoyaltyOverride.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IBonusContract.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IBytecodeStorageReader.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IDelegationRegistry.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryCompatibleV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IEngineRegistryV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV1.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlement_Mixin.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV1.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV1.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV1.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV2.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV1.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV2.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterSEAV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV1.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV2.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractExposesHashSeed.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV1.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Base.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine_Flex.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreV2_PBAB.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IManifold.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterBaseV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPICoreV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPIMinterV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IPseudorandomAtomic.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerPolyptychV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerV2.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IWETH.sol +0 -0
- /package/contracts/libs/{0.5.x → v0.5.x}/CustomERC721Metadata.sol +0 -0
- /package/contracts/libs/{0.5.x → v0.5.x}/IERC20.sol +0 -0
- /package/contracts/libs/{0.5.x → v0.5.x}/SafeMath.sol +0 -0
- /package/contracts/libs/{0.5.x → v0.5.x}/Strings.sol +0 -0
- /package/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV0.sol +0 -0
- /package/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV1.sol +0 -0
- /package/contracts/libs/{0.8.x → v0.8.x}/ERC721_PackedHashSeed.sol +0 -0
- /package/contracts/libs/{0.8.x → v0.8.x}/SSTORE2.sol +0 -0
|
@@ -3,17 +3,17 @@ pragma solidity 0.8.19;
|
|
|
3
3
|
|
|
4
4
|
// Created By: Art Blocks Inc.
|
|
5
5
|
|
|
6
|
-
import "../interfaces/
|
|
7
|
-
import "../interfaces/
|
|
8
|
-
import "../interfaces/
|
|
9
|
-
import "../interfaces/
|
|
10
|
-
import "../interfaces/
|
|
6
|
+
import "../interfaces/v0.8.x/IRandomizerV2.sol";
|
|
7
|
+
import "../interfaces/v0.8.x/IAdminACLV0.sol";
|
|
8
|
+
import "../interfaces/v0.8.x/IGenArt721CoreContractV3.sol";
|
|
9
|
+
import "../interfaces/v0.8.x/IGenArt721CoreContractExposesHashSeed.sol";
|
|
10
|
+
import "../interfaces/v0.8.x/IManifold.sol";
|
|
11
11
|
|
|
12
12
|
import "@openzeppelin-4.7/contracts/utils/Strings.sol";
|
|
13
13
|
import "@openzeppelin-4.7/contracts/access/Ownable.sol";
|
|
14
|
-
import "../libs/
|
|
15
|
-
import "../libs/
|
|
16
|
-
import "../libs/
|
|
14
|
+
import "../libs/v0.8.x/ERC721_PackedHashSeed.sol";
|
|
15
|
+
import "../libs/v0.8.x/BytecodeStorageV1.sol";
|
|
16
|
+
import "../libs/v0.8.x/Bytes32Strings.sol";
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* @title Art Blocks ERC-721 core contract, V3_Explorations.
|
|
@@ -181,7 +181,7 @@ contract GenArt721CoreV3_Explorations is
|
|
|
181
181
|
bool paused;
|
|
182
182
|
string name;
|
|
183
183
|
string artist;
|
|
184
|
-
|
|
184
|
+
address descriptionAddress;
|
|
185
185
|
string website;
|
|
186
186
|
string license;
|
|
187
187
|
string projectBaseURI;
|
|
@@ -238,7 +238,7 @@ contract GenArt721CoreV3_Explorations is
|
|
|
238
238
|
/// version & type of this core contract
|
|
239
239
|
/// coreVersion is updated from Flagship V3 core due to minor changes
|
|
240
240
|
/// implemented in the Explorations version of the contract.
|
|
241
|
-
string public constant coreVersion = "v3.2.
|
|
241
|
+
string public constant coreVersion = "v3.2.3";
|
|
242
242
|
/// coreType remains consistent with flagship V3 core because external &
|
|
243
243
|
/// public functions used for indexing are unchanged.
|
|
244
244
|
string public constant coreType = "GenArt721CoreV3";
|
|
@@ -950,6 +950,13 @@ contract GenArt721CoreV3_Explorations is
|
|
|
950
950
|
/**
|
|
951
951
|
* @notice Updates description of project `_projectId`.
|
|
952
952
|
* Only artist may call when unlocked, only admin may call when locked.
|
|
953
|
+
* Note: The BytecodeStorage library is used to store the description to
|
|
954
|
+
* reduce initial upload cost, however, even minor edits will require an
|
|
955
|
+
* expensive, entirely new bytecode storage contract to be deployed instead
|
|
956
|
+
* of relatively cheap updates to already-warm storage slots. This results
|
|
957
|
+
* in an increased gas cost for minor edits to the description after the
|
|
958
|
+
* initial upload, but an overall decrease in gas cost for projects with
|
|
959
|
+
* less than ~3-5 edits (depending on the length of the description).
|
|
953
960
|
* @param _projectId Project ID.
|
|
954
961
|
* @param _projectDescription New project description.
|
|
955
962
|
*/
|
|
@@ -969,7 +976,10 @@ contract GenArt721CoreV3_Explorations is
|
|
|
969
976
|
"Only artist when unlocked, owner when locked"
|
|
970
977
|
);
|
|
971
978
|
// effects
|
|
972
|
-
|
|
979
|
+
// store description in contract bytecode, replacing reference address from
|
|
980
|
+
// the old storage description with the newly created one
|
|
981
|
+
projects[_projectId].descriptionAddress = _projectDescription
|
|
982
|
+
.writeToBytecode();
|
|
973
983
|
emit ProjectUpdated(_projectId, FIELD_PROJECT_DESCRIPTION);
|
|
974
984
|
}
|
|
975
985
|
|
|
@@ -1360,7 +1370,12 @@ contract GenArt721CoreV3_Explorations is
|
|
|
1360
1370
|
Project storage project = projects[_projectId];
|
|
1361
1371
|
projectName = project.name;
|
|
1362
1372
|
artist = project.artist;
|
|
1363
|
-
|
|
1373
|
+
address projectDescriptionBytecodeAddress = project.descriptionAddress;
|
|
1374
|
+
if (projectDescriptionBytecodeAddress == address(0)) {
|
|
1375
|
+
description = "";
|
|
1376
|
+
} else {
|
|
1377
|
+
description = _readFromBytecode(projectDescriptionBytecodeAddress);
|
|
1378
|
+
}
|
|
1364
1379
|
website = project.website;
|
|
1365
1380
|
license = project.license;
|
|
1366
1381
|
}
|
|
@@ -6,22 +6,20 @@ import "./IEngineRegistryV0.sol";
|
|
|
6
6
|
|
|
7
7
|
interface ICoreRegistryV1 is IEngineRegistryV0 {
|
|
8
8
|
function registerContracts(
|
|
9
|
-
address[] calldata
|
|
10
|
-
bytes32[] calldata
|
|
11
|
-
bytes32[] calldata
|
|
9
|
+
address[] calldata contractAddresses,
|
|
10
|
+
bytes32[] calldata coreVersions,
|
|
11
|
+
bytes32[] calldata coreTypes
|
|
12
12
|
) external;
|
|
13
13
|
|
|
14
|
-
function unregisterContracts(
|
|
15
|
-
address[] calldata _contractAddresses
|
|
16
|
-
) external;
|
|
14
|
+
function unregisterContracts(address[] calldata contractAddresses) external;
|
|
17
15
|
|
|
18
16
|
function getNumRegisteredContracts() external view returns (uint256);
|
|
19
17
|
|
|
20
18
|
function getRegisteredContractAt(
|
|
21
|
-
uint256
|
|
19
|
+
uint256 index
|
|
22
20
|
) external view returns (address);
|
|
23
21
|
|
|
24
22
|
function isRegisteredContract(
|
|
25
|
-
address
|
|
23
|
+
address contractAddress
|
|
26
24
|
) external view returns (bool isRegistered);
|
|
27
25
|
}
|
|
@@ -18,8 +18,11 @@ interface IDependencyRegistryV0 {
|
|
|
18
18
|
uint256 indexed _projectId
|
|
19
19
|
);
|
|
20
20
|
|
|
21
|
+
event LicenseTypeAdded(bytes32 indexed _licenseType);
|
|
22
|
+
|
|
21
23
|
event DependencyAdded(
|
|
22
24
|
bytes32 indexed _dependencyType,
|
|
25
|
+
bytes32 indexed _licenseType,
|
|
23
26
|
string _preferredCDN,
|
|
24
27
|
string _preferredRepository,
|
|
25
28
|
string _referenceWebsite
|
|
@@ -78,7 +81,7 @@ interface IDependencyRegistryV0 {
|
|
|
78
81
|
* @notice Returns address with bytecode containing script for
|
|
79
82
|
* dependency type `_dependencyTypes` at script index `_index`.
|
|
80
83
|
*/
|
|
81
|
-
function
|
|
84
|
+
function getDependencyScriptBytecodeAddress(
|
|
82
85
|
bytes32 _dependencyType,
|
|
83
86
|
uint256 _index
|
|
84
87
|
) external view returns (address);
|
|
@@ -88,7 +91,7 @@ interface IDependencyRegistryV0 {
|
|
|
88
91
|
* @param _dependencyType Dependency type to be queried.
|
|
89
92
|
* @param _index Index of script to be queried.
|
|
90
93
|
*/
|
|
91
|
-
function
|
|
94
|
+
function getDependencyScript(
|
|
92
95
|
bytes32 _dependencyType,
|
|
93
96
|
uint256 _index
|
|
94
97
|
) external view returns (string memory);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
import "./ISharedRandomizerV0.sol";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @title Interface for accessing a shared randomizer on a core contract.
|
|
10
|
+
* @notice This interface provides access to a V3 core contract's shared
|
|
11
|
+
* randomizer. Note that randomizers are configurable by core contract admin,
|
|
12
|
+
* and therefore may not currently be assigned a shared randomizer. For that
|
|
13
|
+
* reason, this is a separate interface from `IGenArt721CoreContractV3_Base,
|
|
14
|
+
* and casting a contract as this interface makes the assumption that the core
|
|
15
|
+
* contract's randomizer conforms to `ISharedRandomizerV0`.
|
|
16
|
+
* This interface is expected to be most useful for minters that explicitly
|
|
17
|
+
* assign hash seeds via mechanisms on the shared randomizer (e.g. Polyptych
|
|
18
|
+
* minters)
|
|
19
|
+
*/
|
|
20
|
+
interface IGenArt721CoreContractV3WithSharedRandomizer {
|
|
21
|
+
/// current randomizer contract, that we cast as a shared randomizer
|
|
22
|
+
function randomizerContract() external returns (ISharedRandomizerV0);
|
|
23
|
+
}
|
|
@@ -85,46 +85,63 @@ interface IMinterFilterV1 {
|
|
|
85
85
|
*/
|
|
86
86
|
event CoreRegistryUpdated(address indexed coreRegistry);
|
|
87
87
|
|
|
88
|
+
// struct used to return minter info
|
|
89
|
+
// @dev this is not used for storage of data
|
|
90
|
+
struct MinterWithType {
|
|
91
|
+
address minterAddress;
|
|
92
|
+
string minterType;
|
|
93
|
+
}
|
|
94
|
+
|
|
88
95
|
function setMinterForProject(
|
|
89
|
-
uint256
|
|
90
|
-
address
|
|
91
|
-
address
|
|
96
|
+
uint256 projectId,
|
|
97
|
+
address coreContract,
|
|
98
|
+
address minter
|
|
92
99
|
) external;
|
|
93
100
|
|
|
94
101
|
function removeMinterForProject(
|
|
95
|
-
uint256
|
|
96
|
-
address
|
|
102
|
+
uint256 projectId,
|
|
103
|
+
address coreContract
|
|
97
104
|
) external;
|
|
98
105
|
|
|
99
106
|
// @dev function name is optimized for gas
|
|
100
107
|
function mint_joo(
|
|
101
|
-
address
|
|
102
|
-
uint256
|
|
103
|
-
address
|
|
104
|
-
address
|
|
108
|
+
address to,
|
|
109
|
+
uint256 projectId,
|
|
110
|
+
address coreContract,
|
|
111
|
+
address sender
|
|
105
112
|
) external returns (uint256);
|
|
106
113
|
|
|
107
|
-
function updateCoreRegistry(address
|
|
114
|
+
function updateCoreRegistry(address coreRegistry) external;
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* @notice Returns if `sender` is allowed to call function on `contract`
|
|
118
|
+
* with `selector` selector, according to the MinterFilter's Admin ACL.
|
|
119
|
+
*/
|
|
120
|
+
function adminACLAllowed(
|
|
121
|
+
address sender,
|
|
122
|
+
address contract_,
|
|
123
|
+
bytes4 selector
|
|
124
|
+
) external returns (bool);
|
|
108
125
|
|
|
109
126
|
function minterFilterType() external pure returns (string memory);
|
|
110
127
|
|
|
111
128
|
function getMinterForProject(
|
|
112
|
-
uint256
|
|
113
|
-
address
|
|
129
|
+
uint256 projectId,
|
|
130
|
+
address coreContract
|
|
114
131
|
) external view returns (address);
|
|
115
132
|
|
|
116
133
|
function projectHasMinter(
|
|
117
|
-
uint256
|
|
118
|
-
address
|
|
134
|
+
uint256 projectId,
|
|
135
|
+
address coreContract
|
|
119
136
|
) external view returns (bool);
|
|
120
137
|
|
|
121
138
|
/**
|
|
122
139
|
* @notice View that returns if a core contract is registered with the
|
|
123
140
|
* core registry, allowing this minter filter to service it.
|
|
124
|
-
* @param
|
|
141
|
+
* @param coreContract core contract address to be checked
|
|
125
142
|
*/
|
|
126
143
|
function isRegisteredCoreContract(
|
|
127
|
-
address
|
|
144
|
+
address coreContract
|
|
128
145
|
) external view returns (bool);
|
|
129
146
|
|
|
130
147
|
/// Address of current core registry contract
|
|
@@ -135,12 +152,12 @@ interface IMinterFilterV1 {
|
|
|
135
152
|
|
|
136
153
|
/// The quantity of projects on a core contract that have assigned minters
|
|
137
154
|
function getNumProjectsOnContractWithMinters(
|
|
138
|
-
address
|
|
155
|
+
address coreContract
|
|
139
156
|
) external view returns (uint256);
|
|
140
157
|
|
|
141
158
|
function getProjectAndMinterInfoOnContractAt(
|
|
142
|
-
address
|
|
143
|
-
uint256
|
|
159
|
+
address coreContract,
|
|
160
|
+
uint256 index
|
|
144
161
|
)
|
|
145
162
|
external
|
|
146
163
|
view
|
|
@@ -150,6 +167,15 @@ interface IMinterFilterV1 {
|
|
|
150
167
|
string memory minterType
|
|
151
168
|
);
|
|
152
169
|
|
|
170
|
+
function getAllGloballyApprovedMinters()
|
|
171
|
+
external
|
|
172
|
+
view
|
|
173
|
+
returns (MinterWithType[] memory mintersWithTypes);
|
|
174
|
+
|
|
175
|
+
function getAllContractApprovedMinters(
|
|
176
|
+
address coreContract
|
|
177
|
+
) external view returns (MinterWithType[] memory mintersWithTypes);
|
|
178
|
+
|
|
153
179
|
/**
|
|
154
180
|
* Owner of contract.
|
|
155
181
|
* @dev This returns the address of the Admin ACL contract.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Creatd By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
interface IRandomizer_V3CoreBase {
|
|
7
|
+
/**
|
|
8
|
+
* @notice This function is intended to be called by a core contract, and
|
|
9
|
+
* the core contract can be assured that the randomizer will call back to
|
|
10
|
+
* the calling contract to set the token hash seed for `_tokenId` via
|
|
11
|
+
* `setTokenHash_8PT`.
|
|
12
|
+
* @dev This function may revert if hash seed generation is improperly
|
|
13
|
+
* configured (for example, if in polyptych mode, but no hash seed has been
|
|
14
|
+
* previously configured).
|
|
15
|
+
* @dev This function is not specifically gated to any specific caller, but
|
|
16
|
+
* will only call back to the calling contract, `msg.sender`, to set the
|
|
17
|
+
* specified token's hash seed.
|
|
18
|
+
* A third party contract calling this function will not be able to set the
|
|
19
|
+
* token hash seed on a different core contract.
|
|
20
|
+
* @param _tokenId The token ID must be assigned a hash.
|
|
21
|
+
*/
|
|
22
|
+
function assignTokenHash(uint256 _tokenId) external;
|
|
23
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
import "./ISharedMinterDAExpV0.sol";
|
|
6
|
+
|
|
7
|
+
interface ISharedMinterDAExpSettlementV0 is ISharedMinterDAExpV0 {
|
|
8
|
+
/// returns latest purchase price for project `projectId`, or 0 if no
|
|
9
|
+
/// purchases have been made.
|
|
10
|
+
function getProjectLatestPurchasePrice(
|
|
11
|
+
uint256 projectId,
|
|
12
|
+
address coreContract
|
|
13
|
+
) external view returns (uint256 latestPurchasePrice);
|
|
14
|
+
|
|
15
|
+
/// returns the number of settleable invocations for project `projectId`.
|
|
16
|
+
function getNumSettleableInvocations(
|
|
17
|
+
uint256 projectId,
|
|
18
|
+
address coreContract
|
|
19
|
+
) external view returns (uint256 numSettleableInvocations);
|
|
20
|
+
|
|
21
|
+
/// Returns the current excess settlement funds on project `projectId`
|
|
22
|
+
/// for address `walletAddress`.
|
|
23
|
+
function getProjectExcessSettlementFunds(
|
|
24
|
+
uint256 projectId,
|
|
25
|
+
address coreContract,
|
|
26
|
+
address walletAddress
|
|
27
|
+
) external view returns (uint256 excessSettlementFundsInWei);
|
|
28
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
interface ISharedMinterDAExpV0 {
|
|
7
|
+
function minimumPriceDecayHalfLifeSeconds() external view returns (uint256);
|
|
8
|
+
|
|
9
|
+
function setMinimumPriceDecayHalfLifeSeconds(
|
|
10
|
+
uint256 minimumPriceDecayHalfLifeSeconds
|
|
11
|
+
) external;
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
interface ISharedMinterDALinV0 {
|
|
7
|
+
function minimumAuctionLengthSeconds() external view returns (uint256);
|
|
8
|
+
|
|
9
|
+
function setMinimumAuctionLengthSeconds(
|
|
10
|
+
uint256 minimumAuctionLengthSeconds
|
|
11
|
+
) external;
|
|
12
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
interface ISharedMinterDAV0 {
|
|
7
|
+
// @dev return variables left unnamed because specific minter
|
|
8
|
+
// implementations may return different values for the same slots
|
|
9
|
+
function projectAuctionParameters(
|
|
10
|
+
uint256 projectId,
|
|
11
|
+
address coreContract
|
|
12
|
+
) external view returns (uint40, uint40, uint256, uint256);
|
|
13
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @title This interface adds support for including token holder gating when purchasing with ERC20 tokens.
|
|
8
|
+
* @author Art Blocks Inc.
|
|
9
|
+
*/
|
|
10
|
+
interface ISharedMinterHolderERC20V0 {
|
|
11
|
+
// Triggers a purchase of a token from the desired project, to the
|
|
12
|
+
// TX-sending address, using owned ERC-721 NFT to claim right to purchase.
|
|
13
|
+
function purchase(
|
|
14
|
+
uint256 projectId,
|
|
15
|
+
address coreContract,
|
|
16
|
+
uint256 maxPricePerToken,
|
|
17
|
+
address currencyAddress,
|
|
18
|
+
address ownedNFTAddress,
|
|
19
|
+
uint256 ownedNFTTokenId
|
|
20
|
+
) external returns (uint256 tokenId);
|
|
21
|
+
|
|
22
|
+
// Triggers a purchase of a token from the desired project, to the specified
|
|
23
|
+
// receiving address, using owned ERC-721 NFT to claim right to purchase.
|
|
24
|
+
function purchaseTo(
|
|
25
|
+
address to,
|
|
26
|
+
uint256 projectId,
|
|
27
|
+
address coreContract,
|
|
28
|
+
uint256 maxPricePerToken,
|
|
29
|
+
address currencyAddress,
|
|
30
|
+
address ownedNFTAddress,
|
|
31
|
+
uint256 ownedNFTTokenId
|
|
32
|
+
) external returns (uint256 tokenId);
|
|
33
|
+
|
|
34
|
+
// Triggers a purchase of a token from the desired project, on behalf of
|
|
35
|
+
// the provided vault, to the specified receiving address, using owned
|
|
36
|
+
// ERC-721 NFT to claim right to purchase.
|
|
37
|
+
function purchaseTo(
|
|
38
|
+
address to,
|
|
39
|
+
uint256 projectId,
|
|
40
|
+
address coreContract,
|
|
41
|
+
uint256 maxPricePerToken,
|
|
42
|
+
address currencyAddress,
|
|
43
|
+
address ownedNFTAddress,
|
|
44
|
+
uint256 ownedNFTTokenId,
|
|
45
|
+
address vault
|
|
46
|
+
) external returns (uint256 tokenId);
|
|
47
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @title This interface adds support for including token holder gating when purchasing.
|
|
8
|
+
* @author Art Blocks Inc.
|
|
9
|
+
*/
|
|
10
|
+
interface ISharedMinterHolderV0 {
|
|
11
|
+
// Triggers a purchase of a token from the desired project, to the
|
|
12
|
+
// TX-sending address, using owned ERC-721 NFT to claim right to purchase.
|
|
13
|
+
function purchase(
|
|
14
|
+
uint256 projectId,
|
|
15
|
+
address coreContract,
|
|
16
|
+
address ownedNFTAddress,
|
|
17
|
+
uint256 ownedNFTTokenId
|
|
18
|
+
) external payable returns (uint256 tokenId);
|
|
19
|
+
|
|
20
|
+
// Triggers a purchase of a token from the desired project, to the specified
|
|
21
|
+
// receiving address, using owned ERC-721 NFT to claim right to purchase.
|
|
22
|
+
function purchaseTo(
|
|
23
|
+
address to,
|
|
24
|
+
uint256 projectId,
|
|
25
|
+
address coreContract,
|
|
26
|
+
address ownedNFTAddress,
|
|
27
|
+
uint256 ownedNFTTokenId
|
|
28
|
+
) external payable returns (uint256 tokenId);
|
|
29
|
+
|
|
30
|
+
// Triggers a purchase of a token from the desired project, on behalf of
|
|
31
|
+
// the provided vault, to the specified receiving address, using owned
|
|
32
|
+
// ERC-721 NFT to claim right to purchase.
|
|
33
|
+
function purchaseTo(
|
|
34
|
+
address to,
|
|
35
|
+
uint256 projectId,
|
|
36
|
+
address coreContract,
|
|
37
|
+
address ownedNFTAddress,
|
|
38
|
+
uint256 ownedNFTTokenId,
|
|
39
|
+
address vault
|
|
40
|
+
) external payable returns (uint256 tokenId);
|
|
41
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @title This interface adds support for including Merkle proofs when purchasing.
|
|
8
|
+
* @author Art Blocks Inc.
|
|
9
|
+
*/
|
|
10
|
+
interface ISharedMinterMerkleV0 {
|
|
11
|
+
// Triggers a purchase of a token from the desired project, to the
|
|
12
|
+
// TX-sending address. Requires Merkle proof.
|
|
13
|
+
function purchase(
|
|
14
|
+
uint256 projectId,
|
|
15
|
+
address coreContract,
|
|
16
|
+
bytes32[] calldata proof
|
|
17
|
+
) external payable returns (uint256 tokenId);
|
|
18
|
+
|
|
19
|
+
// Triggers a purchase of a token from the desired project, to the specified
|
|
20
|
+
// receiving address. Requires Merkle proof.
|
|
21
|
+
function purchaseTo(
|
|
22
|
+
address to,
|
|
23
|
+
uint256 projectId,
|
|
24
|
+
address coreContract,
|
|
25
|
+
bytes32[] calldata proof
|
|
26
|
+
) external payable returns (uint256 tokenId);
|
|
27
|
+
|
|
28
|
+
// Updates the Merkle root for the desired project.
|
|
29
|
+
function updateMerkleRoot(
|
|
30
|
+
uint256 projectId,
|
|
31
|
+
address coreContract,
|
|
32
|
+
bytes32 root
|
|
33
|
+
) external;
|
|
34
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @title This interface adds support for serial English auction minting.
|
|
8
|
+
* @author Art Blocks Inc.
|
|
9
|
+
*/
|
|
10
|
+
interface ISharedMinterSEAV0 {
|
|
11
|
+
function createBid(
|
|
12
|
+
uint256 projectId,
|
|
13
|
+
address coreContract
|
|
14
|
+
) external payable;
|
|
15
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @title Art Blocks Shared Minter Simple Purchase Interface
|
|
8
|
+
* @notice This interface is designed to be used by minter contracts that
|
|
9
|
+
* implement a simple purchase model, such that the only args required to
|
|
10
|
+
* purchase a token are the project id and the core contract address, and an
|
|
11
|
+
* optional recipient address.
|
|
12
|
+
*/
|
|
13
|
+
interface ISharedMinterSimplePurchaseV0 {
|
|
14
|
+
// Triggers a purchase of a token from the desired project, to the
|
|
15
|
+
// TX-sending address.
|
|
16
|
+
function purchase(
|
|
17
|
+
uint256 projectId,
|
|
18
|
+
address coreContract
|
|
19
|
+
) external payable returns (uint256 tokenId);
|
|
20
|
+
|
|
21
|
+
// Triggers a purchase of a token from the desired project, to the specified
|
|
22
|
+
// receiving address.
|
|
23
|
+
function purchaseTo(
|
|
24
|
+
address to,
|
|
25
|
+
uint256 projectId,
|
|
26
|
+
address coreContract
|
|
27
|
+
) external payable returns (uint256 tokenId);
|
|
28
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
interface ISharedMinterV0 {
|
|
7
|
+
// Sets the local max invocations for a given project, checking that the provided max invocations is
|
|
8
|
+
// less than or equal to the global max invocations for the project set on the core contract.
|
|
9
|
+
// This does not impact the max invocations value defined on the core contract.
|
|
10
|
+
function manuallyLimitProjectMaxInvocations(
|
|
11
|
+
uint256 projectId,
|
|
12
|
+
address coreContract,
|
|
13
|
+
uint24 maxInvocations
|
|
14
|
+
) external;
|
|
15
|
+
|
|
16
|
+
// Called to make the minter contract aware of the max invocations for a
|
|
17
|
+
// given project.
|
|
18
|
+
function syncProjectMaxInvocationsToCore(
|
|
19
|
+
uint256 projectId,
|
|
20
|
+
address coreContract
|
|
21
|
+
) external;
|
|
22
|
+
|
|
23
|
+
// getter function of public variable
|
|
24
|
+
function minterType() external view returns (string memory);
|
|
25
|
+
|
|
26
|
+
function minterFilterAddress() external returns (address);
|
|
27
|
+
|
|
28
|
+
// Gets if token price is configured, token price in wei, currency symbol,
|
|
29
|
+
// and currency address, assuming this is project's minter.
|
|
30
|
+
// Supersedes any defined core price.
|
|
31
|
+
function getPriceInfo(
|
|
32
|
+
uint256 projectId,
|
|
33
|
+
address coreContract
|
|
34
|
+
)
|
|
35
|
+
external
|
|
36
|
+
view
|
|
37
|
+
returns (
|
|
38
|
+
bool isConfigured,
|
|
39
|
+
uint256 tokenPriceInWei,
|
|
40
|
+
string memory currencySymbol,
|
|
41
|
+
address currencyAddress
|
|
42
|
+
);
|
|
43
|
+
}
|