@artblocks/contracts 1.0.4 → 1.2.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 +75 -7
- 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 +336 -131
- package/artifacts/contracts/archive/GenArt721CoreV3.sol/GenArt721CoreV3.json +2047 -0
- package/artifacts/contracts/archive/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +2021 -0
- package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterBase_v0_1_1.sol/MinterBase.json +1 -1
- 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/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExp}/MinterDAExpV4.sol/MinterDAExpV4.json +3 -3
- 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/MinterDAExpSettlement/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +1109 -0
- 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/{minter-suite/Minters → archive/minter-suite/Minters/MinterDALin}/MinterDALinV4.sol/MinterDALinV4.json +3 -3
- 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/{minter-suite/Minters → archive/minter-suite/Minters/MinterHolder}/MinterHolderV4.sol/MinterHolderV4.json +3 -3
- 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/{minter-suite/Minters → archive/minter-suite/Minters/MinterMerkle}/MinterMerkleV5.sol/MinterMerkleV5.json +3 -3
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +31 -63
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol/MinterPolyptychV0.json +3 -3
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSEA}/MinterSEAV0.sol/MinterSEAV0.json +3 -3
- 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/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV4.sol/MinterSetPriceV4.json +3 -3
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +65 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +65 -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/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +807 -0
- package/artifacts/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol/GenArt721MinterBurner_PBAB.json +65 -2
- package/artifacts/contracts/engine/V2/GenArt721Minter_PBAB.sol/GenArt721Minter_PBAB.json +65 -2
- package/artifacts/contracts/engine/V3/EngineFactoryV0.sol/EngineFactoryV0.json +606 -0
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +565 -209
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +785 -227
- package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +40 -15
- 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 +40 -15
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +36 -68
- package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +12 -12
- package/artifacts/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol/IAdminACLV0_Extended.json +140 -0
- package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol/IBytecodeStorageReaderV2.json +130 -0
- package/artifacts/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +6 -6
- package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +71 -39
- package/artifacts/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol/IEngineFactoryV0.json +283 -0
- package/artifacts/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +12 -12
- package/artifacts/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +12 -12
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +30 -62
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +30 -62
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +170 -104
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +170 -104
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.json +1028 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol/IGenArt721CoreContractV3_Engine_PreV3p2.json +741 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol/IGenArt721CoreContractV3_ProjectFinance.json +87 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol/IGenArt721Minter_PBAB.json +279 -0
- package/artifacts/contracts/interfaces/v0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +22 -22
- package/artifacts/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +1 -1
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +26 -101
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol/ISharedMinterDAExpV0.json +1 -57
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol/ISharedMinterDALinV0.json +1 -57
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol/ISharedMinterDAV0.json +2 -21
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol/ISharedMinterHolderERC20V0.json +158 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol/ISharedMinterHolderV0.json +15 -90
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol/ISharedMinterMerkleV0.json +10 -36
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterRAMV0.sol/ISharedMinterRAMV0.json +62 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol/ISharedMinterRequired.json +37 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +4 -236
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol/ISharedMinterSimplePurchaseV0.json +5 -5
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterV0.sol/ISharedMinterV0.json +7 -423
- package/artifacts/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +17 -17
- package/artifacts/contracts/interfaces/v0.8.x/ISplitAtomicFactoryV0.sol/ISplitAtomicFactoryV0.json +170 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISplitAtomicV0.sol/ISplitAtomicV0.json +126 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISplitProviderV0.sol/ISplitProviderV0.json +98 -0
- package/artifacts/contracts/interfaces/v0.8.x/integration-refs/splits-0x-v2/ISplitFactoryV2.sol/ISplitFactoryV2.json +123 -0
- package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
- package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +2 -2
- package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +2 -2
- package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +2 -2
- package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BitMap.sol/BitMaps256.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV0.sol/BytecodeStorage.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageReader.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageWriter.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageReader.json +214 -0
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageWriter.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/ERC721_PackedHashSeedV1.sol/ERC721_PackedHashSeedV1.json +444 -0
- package/artifacts/contracts/libs/v0.8.x/PackedBools.sol/PackedBools.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/SSTORE2.sol/SSTORE2.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +208 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +60 -3
- 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 +60 -3
- 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 +29 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +30 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol/RAMLib.json +398 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +254 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +48 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +41 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +35 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +79 -3
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +41 -41
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +66 -632
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +67 -594
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +33 -524
- package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +66 -632
- package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +33 -524
- package/artifacts/contracts/minter-suite/Minters/MinterRAMV0.sol/MinterRAMV0.json +1374 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +56 -722
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +58 -454
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +61 -552
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +55 -497
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +110 -571
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +69 -560
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +28 -444
- package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol/MinterSetPriceV5_SingleCore.json +417 -0
- package/artifacts/contracts/mock/BytecodeV2LibCallsMock.sol/BytecodeV2LibCallsMock.json +154 -0
- package/artifacts/contracts/mock/BytecodeV2TextCR_DMock.sol/BytecodeV2TextCR_DMock.json +428 -0
- package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
- package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +2 -2
- package/artifacts/contracts/mock/ForceSendMock.sol/ForceSendMock.json +24 -0
- package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +4 -9
- package/artifacts/contracts/mock/Mock0xSplitsV2PullFactory.sol/Mock0xSplitsV2PullFactory.json +149 -0
- package/artifacts/contracts/mock/Mock0xSplitsV2Splitter.sol/Mock0xSplitsV2Splitter.json +99 -0
- package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +20 -2
- package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +20 -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/ReentrancyGenArt721MinterMock.sol/ReentrancyGenArt721MinterMock.json +100 -0
- 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/ReentrancySplitterMocks.sol/ReentrancySplitterDrainETHMock.json +54 -0
- package/artifacts/contracts/mock/ReentrancySplitterMocks.sol/ReentrancySplitterSendETHMock.json +54 -0
- 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 +19 -19
- package/artifacts/contracts/split/SplitAtomicFactoryV0.sol/SplitAtomicFactoryV0.json +203 -0
- package/artifacts/contracts/split/SplitAtomicV0.sol/SplitAtomicV0.json +168 -0
- package/artifacts/contracts/split/split-provider/SplitProviderV0.sol/SplitProviderV0.json +141 -0
- package/contracts/AdminACLV0.sol +6 -2
- package/contracts/AdminACLV1.sol +2 -2
- package/contracts/DependencyRegistryV0.sol +737 -390
- package/contracts/{GenArt721CoreV3.sol → archive/GenArt721CoreV3.sol} +56 -20
- package/contracts/{explorations → archive}/GenArt721CoreV3_Explorations.sol +49 -13
- package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterBase_v0_1_1.sol +4 -4
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExp}/MinterDAExpV4.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +5 -5
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExpSettlement}/MinterDAExpSettlementV2.sol +9 -62
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDALin}/MinterDALinV4.sol +4 -4
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterHolder}/MinterHolderV4.sol +5 -5
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterMerkle}/MinterMerkleV5.sol +5 -5
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol +7 -7
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSEA}/MinterSEAV0.sol +13 -13
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV4.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol +82 -10
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +82 -10
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPriceERC20}/MinterSetPriceERC20V4.sol +88 -21
- package/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol +81 -22
- package/contracts/engine/V2/GenArt721Minter_PBAB.sol +80 -22
- package/contracts/engine/V3/EngineFactoryV0.sol +419 -0
- package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +893 -493
- package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +1053 -655
- package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +7 -13
- package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +5 -11
- package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +2 -2
- package/contracts/engine-registry/CoreRegistryV1.sol +58 -65
- package/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol +20 -0
- package/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol +23 -0
- package/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol +6 -8
- package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +48 -43
- package/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol +124 -0
- package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV0.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV1.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpV1.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterDALinV1.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterHolderV2.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterMerkleV2.sol +1 -3
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol +115 -11
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol +84 -8
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol +26 -8
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol +141 -0
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol +78 -0
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol +47 -0
- package/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol +91 -0
- package/contracts/interfaces/v0.8.x/IMinterFilterV1.sol +25 -25
- package/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol +1 -3
- package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +30 -20
- package/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol +1 -14
- package/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol +1 -15
- package/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol +2 -8
- package/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol +47 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol +15 -43
- package/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol +10 -20
- package/contracts/interfaces/v0.8.x/ISharedMinterRAMV0.sol +23 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol +20 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +1 -67
- package/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol +5 -5
- package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +18 -160
- package/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol +37 -37
- package/contracts/interfaces/v0.8.x/ISplitAtomicFactoryV0.sol +81 -0
- package/contracts/interfaces/v0.8.x/ISplitAtomicV0.sol +72 -0
- package/contracts/interfaces/v0.8.x/ISplitProviderV0.sol +49 -0
- package/contracts/interfaces/v0.8.x/integration-refs/splits-0x-v2/ISplitFactoryV2.sol +62 -0
- package/contracts/libs/v0.8.x/ABHelpers.sol +31 -17
- package/contracts/libs/v0.8.x/AuthLib.sol +101 -102
- package/contracts/libs/v0.8.x/BitMap.sol +112 -0
- package/contracts/libs/v0.8.x/BytecodeStorageV2.sol +593 -0
- package/contracts/libs/v0.8.x/Bytes32Strings.sol +5 -5
- package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +90 -0
- package/contracts/libs/v0.8.x/ERC721_PackedHashSeedV1.sol +591 -0
- package/contracts/libs/v0.8.x/PackedBools.sol +42 -0
- package/contracts/libs/v0.8.x/V3FlexLib.sol +591 -0
- package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +162 -39
- package/contracts/libs/v0.8.x/minter-libs/DALib.sol +26 -0
- package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +139 -37
- package/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol +171 -0
- package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +299 -158
- package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +268 -55
- package/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol +138 -58
- package/contracts/libs/v0.8.x/minter-libs/RAMLib.sol +2927 -0
- package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +796 -123
- package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +131 -13
- package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +607 -224
- package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +494 -330
- package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +217 -78
- package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +358 -309
- package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +391 -491
- package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +396 -632
- package/contracts/minter-suite/Minters/MinterDAExpV5.sol +212 -273
- package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +393 -488
- package/contracts/minter-suite/Minters/MinterDALinV5.sol +220 -277
- package/contracts/minter-suite/Minters/MinterRAMV0.sol +1205 -0
- package/contracts/minter-suite/Minters/MinterSEAV1.sol +329 -677
- package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +287 -303
- package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +355 -446
- package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +328 -416
- package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +552 -622
- package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +429 -553
- package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +180 -227
- package/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol +446 -0
- package/contracts/mock/BytecodeV2LibCallsMock.sol +128 -0
- package/contracts/mock/BytecodeV2TextCR_DMock.sol +316 -0
- package/contracts/mock/ForceSendMock.sol +22 -0
- package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +3 -10
- package/contracts/mock/Mock0xSplitsV2PullFactory.sol +75 -0
- package/contracts/mock/Mock0xSplitsV2Splitter.sol +47 -0
- package/contracts/mock/MockAdminACLV0.sol +21 -0
- package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +21 -0
- package/contracts/mock/ReentrancyGenArt721MinterMock.sol +47 -0
- package/contracts/mock/ReentrancyHolderMockShared.sol +59 -0
- package/contracts/mock/ReentrancyMerkleMockShared.sol +58 -0
- package/contracts/mock/ReentrancyMockShared.sol +48 -0
- package/contracts/mock/ReentrancySEAMockShared.sol +40 -0
- package/contracts/mock/ReentrancySplitterMocks.sol +67 -0
- package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +1 -1
- package/contracts/randomizer/shared/SharedRandomizerV0.sol +79 -71
- package/contracts/split/SplitAtomicFactoryV0.sol +121 -0
- package/contracts/split/SplitAtomicV0.sol +265 -0
- package/contracts/split/split-provider/SplitProviderV0.sol +201 -0
- package/package.json +79 -45
- package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +0 -1965
- package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +0 -1939
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +0 -1127
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +0 -768
- package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +0 -208
- package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol/GenArt721RoyaltyOverride_PBAB.json +0 -301
- package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +0 -168
- package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +0 -221
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
-
pragma solidity 0.8.
|
|
2
|
+
pragma solidity 0.8.22;
|
|
3
3
|
|
|
4
4
|
// Created By: Art Blocks Inc.
|
|
5
5
|
|
|
6
|
-
import "
|
|
7
|
-
import "
|
|
8
|
-
import "
|
|
9
|
-
import "
|
|
10
|
-
import "
|
|
6
|
+
import "../interfaces/v0.8.x/IRandomizer_V3CoreBase.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 "
|
|
15
|
-
import "
|
|
16
|
-
import "
|
|
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.
|
|
@@ -103,7 +103,7 @@ contract GenArt721CoreV3 is
|
|
|
103
103
|
uint8 constant AT_CHARACTER_CODE = uint8(bytes1("@")); // 0x40
|
|
104
104
|
|
|
105
105
|
// numeric constants
|
|
106
|
-
|
|
106
|
+
// max art blocks primary sales percentage is 100%
|
|
107
107
|
uint256 constant ART_BLOCKS_MAX_SECONDARY_SALES_BPS = 10000; // 10_000 BPS = 100%
|
|
108
108
|
uint256 constant ARTIST_MAX_SECONDARY_ROYALTY_PERCENTAGE = 95; // 95%
|
|
109
109
|
|
|
@@ -125,10 +125,13 @@ contract GenArt721CoreV3 is
|
|
|
125
125
|
bytes32 constant FIELD_ARTBLOCKS_SECONDARY_SALES_ADDRESS =
|
|
126
126
|
"artblocksSecondarySalesAddress";
|
|
127
127
|
bytes32 constant FIELD_RANDOMIZER_ADDRESS = "randomizerAddress";
|
|
128
|
+
bytes32 constant FIELD_NEXT_CORE_CONTRACT = "nextCoreContract";
|
|
128
129
|
bytes32 constant FIELD_ARTBLOCKS_CURATION_REGISTRY_ADDRESS =
|
|
129
130
|
"curationRegistryAddress";
|
|
130
131
|
bytes32 constant FIELD_ARTBLOCKS_DEPENDENCY_REGISTRY_ADDRESS =
|
|
131
132
|
"dependencyRegistryAddress";
|
|
133
|
+
bytes32 constant FIELD_ARTBLOCKS_ON_CHAIN_GENERATOR_ADDRESS =
|
|
134
|
+
"onChainGeneratorAddress";
|
|
132
135
|
bytes32 constant FIELD_ARTBLOCKS_PRIMARY_SALES_PERCENTAGE =
|
|
133
136
|
"artblocksPrimaryPercentage";
|
|
134
137
|
bytes32 constant FIELD_ARTBLOCKS_SECONDARY_SALES_BPS =
|
|
@@ -160,11 +163,15 @@ contract GenArt721CoreV3 is
|
|
|
160
163
|
/// Art Blocks Project ID range: [3-373]
|
|
161
164
|
address public constant ART_BLOCKS_ERC721TOKEN_ADDRESS_V1 =
|
|
162
165
|
0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270;
|
|
166
|
+
/// pointer to next core contract associated with this contract
|
|
167
|
+
address public nextCoreContract;
|
|
163
168
|
|
|
164
169
|
/// Curation registry managed by Art Blocks
|
|
165
170
|
address public artblocksCurationRegistryAddress;
|
|
166
171
|
/// Dependency registry managed by Art Blocks
|
|
167
172
|
address public artblocksDependencyRegistryAddress;
|
|
173
|
+
/// On chain generator managed by Art Blocks
|
|
174
|
+
address public artblocksOnChainGeneratorAddress;
|
|
168
175
|
|
|
169
176
|
/// current randomizer contract
|
|
170
177
|
IRandomizer_V3CoreBase public randomizerContract;
|
|
@@ -484,6 +491,16 @@ contract GenArt721CoreV3 is
|
|
|
484
491
|
Ownable.renounceOwnership();
|
|
485
492
|
}
|
|
486
493
|
|
|
494
|
+
/**
|
|
495
|
+
* @notice Updates reference to next core contract, associated with this contract.
|
|
496
|
+
* @param _nextCoreContract Address of the next core contract
|
|
497
|
+
*/
|
|
498
|
+
function updateNextCoreContract(address _nextCoreContract) external {
|
|
499
|
+
_onlyAdminACL(this.updateNextCoreContract.selector);
|
|
500
|
+
nextCoreContract = _nextCoreContract;
|
|
501
|
+
emit PlatformUpdated(FIELD_NEXT_CORE_CONTRACT);
|
|
502
|
+
}
|
|
503
|
+
|
|
487
504
|
/**
|
|
488
505
|
* @notice Updates reference to Art Blocks Curation Registry contract.
|
|
489
506
|
* @param _artblocksCurationRegistryAddress Address of new Curation
|
|
@@ -512,6 +529,19 @@ contract GenArt721CoreV3 is
|
|
|
512
529
|
emit PlatformUpdated(FIELD_ARTBLOCKS_DEPENDENCY_REGISTRY_ADDRESS);
|
|
513
530
|
}
|
|
514
531
|
|
|
532
|
+
/**
|
|
533
|
+
* @notice Updates reference to Art Blocks On Chain Generator contract.
|
|
534
|
+
* @param _artblocksOnChainGeneratorAddress Address of new on chain generator.
|
|
535
|
+
*/
|
|
536
|
+
function updateArtblocksOnChainGeneratorAddress(
|
|
537
|
+
address _artblocksOnChainGeneratorAddress
|
|
538
|
+
) external {
|
|
539
|
+
_onlyAdminACL(this.updateArtblocksOnChainGeneratorAddress.selector);
|
|
540
|
+
_onlyNonZeroAddress(_artblocksOnChainGeneratorAddress);
|
|
541
|
+
artblocksOnChainGeneratorAddress = _artblocksOnChainGeneratorAddress;
|
|
542
|
+
emit PlatformUpdated(FIELD_ARTBLOCKS_ON_CHAIN_GENERATOR_ADDRESS);
|
|
543
|
+
}
|
|
544
|
+
|
|
515
545
|
/**
|
|
516
546
|
* @notice Updates artblocksPrimarySalesAddress to
|
|
517
547
|
* `_artblocksPrimarySalesAddress`.
|
|
@@ -550,11 +580,8 @@ contract GenArt721CoreV3 is
|
|
|
550
580
|
uint256 artblocksPrimarySalesPercentage_
|
|
551
581
|
) external {
|
|
552
582
|
_onlyAdminACL(this.updateArtblocksPrimarySalesPercentage.selector);
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
ART_BLOCKS_MAX_PRIMARY_SALES_PERCENTAGE,
|
|
556
|
-
"Max of ART_BLOCKS_MAX_PRIMARY_SALES_PERCENTAGE percent"
|
|
557
|
-
);
|
|
583
|
+
// anything above 100 percent is illogical
|
|
584
|
+
require(artblocksPrimarySalesPercentage_ <= 100, "Max of 100 percent");
|
|
558
585
|
_artblocksPrimarySalesPercentage = uint8(
|
|
559
586
|
artblocksPrimarySalesPercentage_
|
|
560
587
|
);
|
|
@@ -896,6 +923,8 @@ contract GenArt721CoreV3 is
|
|
|
896
923
|
/**
|
|
897
924
|
* @notice Updates artist name for project `_projectId` to be
|
|
898
925
|
* `_projectArtistName`.
|
|
926
|
+
* @dev allows admin to update after project is locked, due to our
|
|
927
|
+
* experiences of artist name changes being requested post-lock.
|
|
899
928
|
* @param _projectId Project ID.
|
|
900
929
|
* @param _projectArtistName New artist name.
|
|
901
930
|
*/
|
|
@@ -903,10 +932,17 @@ contract GenArt721CoreV3 is
|
|
|
903
932
|
uint256 _projectId,
|
|
904
933
|
string memory _projectArtistName
|
|
905
934
|
) external {
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
935
|
+
// checks
|
|
936
|
+
// if unlocked, only artist may update, if locked, only admin may update
|
|
937
|
+
require(
|
|
938
|
+
_projectUnlocked(_projectId)
|
|
939
|
+
? msg.sender == projectIdToFinancials[_projectId].artistAddress
|
|
940
|
+
: adminACLAllowed(
|
|
941
|
+
msg.sender,
|
|
942
|
+
address(this),
|
|
943
|
+
this.updateProjectArtistName.selector
|
|
944
|
+
),
|
|
945
|
+
"Only artist, owner when locked"
|
|
910
946
|
);
|
|
911
947
|
_onlyNonEmptyString(_projectArtistName);
|
|
912
948
|
projects[_projectId].artist = _projectArtistName;
|
|
@@ -967,7 +1003,7 @@ contract GenArt721CoreV3 is
|
|
|
967
1003
|
address(this),
|
|
968
1004
|
this.updateProjectDescription.selector
|
|
969
1005
|
),
|
|
970
|
-
"Only artist
|
|
1006
|
+
"Only artist, owner when locked"
|
|
971
1007
|
);
|
|
972
1008
|
// effects
|
|
973
1009
|
// store description in contract bytecode, replacing reference address from
|
|
@@ -43,7 +43,7 @@ import "../libs/v0.8.x/Bytes32Strings.sol";
|
|
|
43
43
|
* - forbidNewProjects (forever forbidding new projects)
|
|
44
44
|
* - updateDefaultBaseURI (used to initialize new project base URIs)
|
|
45
45
|
* ----------------------------------------------------------------------------
|
|
46
|
-
* The following functions are restricted to either the
|
|
46
|
+
* The following functions are restricted to either the Artist address or
|
|
47
47
|
* the Admin ACL contract, only when the project is not locked:
|
|
48
48
|
* - updateProjectName
|
|
49
49
|
* - updateProjectArtistName
|
|
@@ -103,7 +103,7 @@ contract GenArt721CoreV3_Explorations is
|
|
|
103
103
|
uint8 constant AT_CHARACTER_CODE = uint8(bytes1("@")); // 0x40
|
|
104
104
|
|
|
105
105
|
// numeric constants
|
|
106
|
-
|
|
106
|
+
// max art blocks primary sales percentage is 100%
|
|
107
107
|
uint256 constant ART_BLOCKS_MAX_SECONDARY_SALES_BPS = 10000; // 10_000 BPS = 100%
|
|
108
108
|
uint256 constant ARTIST_MAX_SECONDARY_ROYALTY_PERCENTAGE = 95; // 95%
|
|
109
109
|
|
|
@@ -125,11 +125,14 @@ contract GenArt721CoreV3_Explorations is
|
|
|
125
125
|
bytes32 constant FIELD_ARTBLOCKS_SECONDARY_SALES_ADDRESS =
|
|
126
126
|
"artblocksSecondarySalesAddress";
|
|
127
127
|
bytes32 constant FIELD_RANDOMIZER_ADDRESS = "randomizerAddress";
|
|
128
|
+
bytes32 constant FIELD_NEXT_CORE_CONTRACT = "nextCoreContract";
|
|
128
129
|
// note: Curation registry address will never be updated on V3 Explorations
|
|
129
130
|
bytes32 constant FIELD_ARTBLOCKS_CURATION_REGISTRY_ADDRESS =
|
|
130
131
|
"curationRegistryAddress";
|
|
131
132
|
bytes32 constant FIELD_ARTBLOCKS_DEPENDENCY_REGISTRY_ADDRESS =
|
|
132
133
|
"dependencyRegistryAddress";
|
|
134
|
+
bytes32 constant FIELD_ARTBLOCKS_ON_CHAIN_GENERATOR_ADDRESS =
|
|
135
|
+
"onChainGeneratorAddress";
|
|
133
136
|
bytes32 constant FIELD_ARTBLOCKS_PRIMARY_SALES_PERCENTAGE =
|
|
134
137
|
"artblocksPrimaryPercentage";
|
|
135
138
|
bytes32 constant FIELD_ARTBLOCKS_SECONDARY_SALES_BPS =
|
|
@@ -154,12 +157,17 @@ contract GenArt721CoreV3_Explorations is
|
|
|
154
157
|
bytes32 constant FIELD_PROJECT_ASPECT_RATIO = "aspectRatio";
|
|
155
158
|
bytes32 constant FIELD_PROJECT_BASE_URI = "baseURI";
|
|
156
159
|
|
|
160
|
+
/// pointer to next core contract associated with this contract
|
|
161
|
+
address public nextCoreContract;
|
|
162
|
+
|
|
157
163
|
/// Curation registry is not relevant for Art Blocks Explorations, and will
|
|
158
164
|
/// remain null for interface-conformance purposes only, specifically for
|
|
159
165
|
/// indexing layers.
|
|
160
166
|
address public artblocksCurationRegistryAddress;
|
|
161
167
|
/// Dependency registry managed by Art Blocks
|
|
162
168
|
address public artblocksDependencyRegistryAddress;
|
|
169
|
+
/// On chain generator managed by Art Blocks
|
|
170
|
+
address public artblocksOnChainGeneratorAddress;
|
|
163
171
|
|
|
164
172
|
/// current randomizer contract
|
|
165
173
|
IRandomizerV2 public randomizerContract;
|
|
@@ -408,7 +416,7 @@ contract GenArt721CoreV3_Explorations is
|
|
|
408
416
|
unchecked {
|
|
409
417
|
// invocationsBefore is uint24 << max uint256. In production use,
|
|
410
418
|
// _projectId * ONE_MILLION must be << max uint256, otherwise
|
|
411
|
-
// tokenIdToProjectId function
|
|
419
|
+
// tokenIdToProjectId function becomes invalid.
|
|
412
420
|
// Therefore, no risk of overflow
|
|
413
421
|
thisTokenId = (_projectId * ONE_MILLION) + invocationsBefore;
|
|
414
422
|
}
|
|
@@ -489,6 +497,16 @@ contract GenArt721CoreV3_Explorations is
|
|
|
489
497
|
Ownable.renounceOwnership();
|
|
490
498
|
}
|
|
491
499
|
|
|
500
|
+
/**
|
|
501
|
+
* @notice Updates reference to next core contract, associated with this contract.
|
|
502
|
+
* @param _nextCoreContract Address of the next core contract
|
|
503
|
+
*/
|
|
504
|
+
function updateNextCoreContract(address _nextCoreContract) external {
|
|
505
|
+
_onlyAdminACL(this.updateNextCoreContract.selector);
|
|
506
|
+
nextCoreContract = _nextCoreContract;
|
|
507
|
+
emit PlatformUpdated(FIELD_NEXT_CORE_CONTRACT);
|
|
508
|
+
}
|
|
509
|
+
|
|
492
510
|
/**
|
|
493
511
|
* @notice Warning: Configuring Curation Registry contract is not supported
|
|
494
512
|
* on V3 Explorations version of this contract.
|
|
@@ -518,6 +536,19 @@ contract GenArt721CoreV3_Explorations is
|
|
|
518
536
|
emit PlatformUpdated(FIELD_ARTBLOCKS_DEPENDENCY_REGISTRY_ADDRESS);
|
|
519
537
|
}
|
|
520
538
|
|
|
539
|
+
/**
|
|
540
|
+
* @notice Updates reference to Art Blocks On Chain Generator contract.
|
|
541
|
+
* @param _artblocksOnChainGeneratorAddress Address of new on chain generator.
|
|
542
|
+
*/
|
|
543
|
+
function updateArtblocksOnChainGeneratorAddress(
|
|
544
|
+
address _artblocksOnChainGeneratorAddress
|
|
545
|
+
) external {
|
|
546
|
+
_onlyAdminACL(this.updateArtblocksOnChainGeneratorAddress.selector);
|
|
547
|
+
_onlyNonZeroAddress(_artblocksOnChainGeneratorAddress);
|
|
548
|
+
artblocksOnChainGeneratorAddress = _artblocksOnChainGeneratorAddress;
|
|
549
|
+
emit PlatformUpdated(FIELD_ARTBLOCKS_ON_CHAIN_GENERATOR_ADDRESS);
|
|
550
|
+
}
|
|
551
|
+
|
|
521
552
|
/**
|
|
522
553
|
* @notice Updates artblocksPrimarySalesAddress to
|
|
523
554
|
* `_artblocksPrimarySalesAddress`.
|
|
@@ -556,11 +587,8 @@ contract GenArt721CoreV3_Explorations is
|
|
|
556
587
|
uint256 artblocksPrimarySalesPercentage_
|
|
557
588
|
) external {
|
|
558
589
|
_onlyAdminACL(this.updateArtblocksPrimarySalesPercentage.selector);
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
ART_BLOCKS_MAX_PRIMARY_SALES_PERCENTAGE,
|
|
562
|
-
"Max of ART_BLOCKS_MAX_PRIMARY_SALES_PERCENTAGE percent"
|
|
563
|
-
);
|
|
590
|
+
// anything above 100 percent is illogical
|
|
591
|
+
require(artblocksPrimarySalesPercentage_ <= 100, "Max of 100 percent");
|
|
564
592
|
_artblocksPrimarySalesPercentage = uint8(
|
|
565
593
|
artblocksPrimarySalesPercentage_
|
|
566
594
|
);
|
|
@@ -902,6 +930,8 @@ contract GenArt721CoreV3_Explorations is
|
|
|
902
930
|
/**
|
|
903
931
|
* @notice Updates artist name for project `_projectId` to be
|
|
904
932
|
* `_projectArtistName`.
|
|
933
|
+
* @dev allows admin to update after project is locked, due to our
|
|
934
|
+
* experiences of artist name changes being requested post-lock.
|
|
905
935
|
* @param _projectId Project ID.
|
|
906
936
|
* @param _projectArtistName New artist name.
|
|
907
937
|
*/
|
|
@@ -909,10 +939,16 @@ contract GenArt721CoreV3_Explorations is
|
|
|
909
939
|
uint256 _projectId,
|
|
910
940
|
string memory _projectArtistName
|
|
911
941
|
) external {
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
_projectId
|
|
915
|
-
|
|
942
|
+
// if unlocked, only artist may update, if locked, only admin may update
|
|
943
|
+
require(
|
|
944
|
+
_projectUnlocked(_projectId)
|
|
945
|
+
? msg.sender == projectIdToFinancials[_projectId].artistAddress
|
|
946
|
+
: adminACLAllowed(
|
|
947
|
+
msg.sender,
|
|
948
|
+
address(this),
|
|
949
|
+
this.updateProjectArtistName.selector
|
|
950
|
+
),
|
|
951
|
+
"Only artist, owner when locked"
|
|
916
952
|
);
|
|
917
953
|
_onlyNonEmptyString(_projectArtistName);
|
|
918
954
|
projects[_projectId].artist = _projectArtistName;
|
|
@@ -973,7 +1009,7 @@ contract GenArt721CoreV3_Explorations is
|
|
|
973
1009
|
address(this),
|
|
974
1010
|
this.updateProjectDescription.selector
|
|
975
1011
|
),
|
|
976
|
-
"Only artist
|
|
1012
|
+
"Only artist, owner when locked"
|
|
977
1013
|
);
|
|
978
1014
|
// effects
|
|
979
1015
|
// store description in contract bytecode, replacing reference address from
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
2
|
// Created By: Art Blocks Inc.
|
|
3
3
|
|
|
4
|
-
import "
|
|
5
|
-
import "
|
|
6
|
-
import "
|
|
7
|
-
import "
|
|
4
|
+
import "../../../interfaces/v0.8.x/IMinterBaseV0.sol";
|
|
5
|
+
import "../../../interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol";
|
|
6
|
+
import "../../../interfaces/v0.8.x/IGenArt721CoreContractV3.sol";
|
|
7
|
+
import "../../../interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol";
|
|
8
8
|
|
|
9
9
|
import "@openzeppelin-4.7/contracts/token/ERC20/IERC20.sol";
|
|
10
10
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
2
|
// Created By: Art Blocks Inc.
|
|
3
3
|
|
|
4
|
-
import "
|
|
5
|
-
import "
|
|
6
|
-
import "
|
|
7
|
-
import "
|
|
4
|
+
import "../../../../interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol";
|
|
5
|
+
import "../../../../interfaces/v0.8.x/IMinterFilterV0.sol";
|
|
6
|
+
import "../../../../interfaces/v0.8.x/IFilteredMinterDAExpV1.sol";
|
|
7
|
+
import "../MinterBase_v0_1_1.sol";
|
|
8
8
|
|
|
9
9
|
import "@openzeppelin-4.5/contracts/security/ReentrancyGuard.sol";
|
|
10
10
|
import "@openzeppelin-4.5/contracts/utils/math/SafeCast.sol";
|
package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol
CHANGED
|
@@ -678,7 +678,7 @@ contract MinterDAExpSettlementV0 is
|
|
|
678
678
|
|
|
679
679
|
/**
|
|
680
680
|
* @notice Reclaims the sender's payment above current settled price for
|
|
681
|
-
* project `_projectId`. The current settled price is the
|
|
681
|
+
* project `_projectId`. The current settled price is the price paid
|
|
682
682
|
* for the most recently purchased token, or the base price if the artist
|
|
683
683
|
* has withdrawn revenues after the auction reached base price.
|
|
684
684
|
* This function is callable at any point, but is expected to typically be
|
|
@@ -694,7 +694,7 @@ contract MinterDAExpSettlementV0 is
|
|
|
694
694
|
|
|
695
695
|
/**
|
|
696
696
|
* @notice Reclaims the sender's payment above current settled price for
|
|
697
|
-
* project `_projectId`. The current settled price is the
|
|
697
|
+
* project `_projectId`. The current settled price is the price paid
|
|
698
698
|
* for the most recently purchased token, or the base price if the artist
|
|
699
699
|
* has withdrawn revenues after the auction reached base price.
|
|
700
700
|
* This function is callable at any point, but is expected to typically be
|
|
@@ -750,7 +750,7 @@ contract MinterDAExpSettlementV0 is
|
|
|
750
750
|
|
|
751
751
|
/**
|
|
752
752
|
* @notice Reclaims the sender's payment above current settled price for
|
|
753
|
-
* projects in `_projectIds`. The current settled price is the
|
|
753
|
+
* projects in `_projectIds`. The current settled price is the price
|
|
754
754
|
* paid for the most recently purchased token, or the base price if the
|
|
755
755
|
* artist has withdrawn revenues after the auction reached base price.
|
|
756
756
|
* This function is callable at any point, but is expected to typically be
|
|
@@ -774,7 +774,7 @@ contract MinterDAExpSettlementV0 is
|
|
|
774
774
|
|
|
775
775
|
/**
|
|
776
776
|
* @notice Reclaims the sender's payment above current settled price for
|
|
777
|
-
* projects in `_projectIds`. The current settled price is the
|
|
777
|
+
* projects in `_projectIds`. The current settled price is the price
|
|
778
778
|
* paid for the most recently purchased token, or the base price if the
|
|
779
779
|
* artist has withdrawn revenues after the auction reached base price.
|
|
780
780
|
* This function is callable at any point, but is expected to typically be
|
package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import "../../../../interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol";
|
|
5
5
|
import "../../../../interfaces/v0.8.x/IMinterFilterV0.sol";
|
|
6
6
|
import "../../../../interfaces/v0.8.x/IFilteredMinterDAExpSettlementV0.sol";
|
|
7
|
-
import "
|
|
7
|
+
import "../MinterBase_v0_1_1.sol";
|
|
8
8
|
|
|
9
9
|
import "@openzeppelin-4.7/contracts/security/ReentrancyGuard.sol";
|
|
10
10
|
import "@openzeppelin-4.7/contracts/utils/math/SafeCast.sol";
|
|
@@ -688,7 +688,7 @@ contract MinterDAExpSettlementV1 is
|
|
|
688
688
|
|
|
689
689
|
/**
|
|
690
690
|
* @notice Reclaims the sender's payment above current settled price for
|
|
691
|
-
* project `_projectId`. The current settled price is the
|
|
691
|
+
* project `_projectId`. The current settled price is the price paid
|
|
692
692
|
* for the most recently purchased token, or the base price if the artist
|
|
693
693
|
* has withdrawn revenues after the auction reached base price.
|
|
694
694
|
* This function is callable at any point, but is expected to typically be
|
|
@@ -704,7 +704,7 @@ contract MinterDAExpSettlementV1 is
|
|
|
704
704
|
|
|
705
705
|
/**
|
|
706
706
|
* @notice Reclaims the sender's payment above current settled price for
|
|
707
|
-
* project `_projectId`. The current settled price is the
|
|
707
|
+
* project `_projectId`. The current settled price is the price paid
|
|
708
708
|
* for the most recently purchased token, or the base price if the artist
|
|
709
709
|
* has withdrawn revenues after the auction reached base price.
|
|
710
710
|
* This function is callable at any point, but is expected to typically be
|
|
@@ -760,7 +760,7 @@ contract MinterDAExpSettlementV1 is
|
|
|
760
760
|
|
|
761
761
|
/**
|
|
762
762
|
* @notice Reclaims the sender's payment above current settled price for
|
|
763
|
-
* projects in `_projectIds`. The current settled price is the
|
|
763
|
+
* projects in `_projectIds`. The current settled price is the price
|
|
764
764
|
* paid for the most recently purchased token, or the base price if the
|
|
765
765
|
* artist has withdrawn revenues after the auction reached base price.
|
|
766
766
|
* This function is callable at any point, but is expected to typically be
|
|
@@ -784,7 +784,7 @@ contract MinterDAExpSettlementV1 is
|
|
|
784
784
|
|
|
785
785
|
/**
|
|
786
786
|
* @notice Reclaims the sender's payment above current settled price for
|
|
787
|
-
* projects in `_projectIds`. The current settled price is the
|
|
787
|
+
* projects in `_projectIds`. The current settled price is the price
|
|
788
788
|
* paid for the most recently purchased token, or the base price if the
|
|
789
789
|
* artist has withdrawn revenues after the auction reached base price.
|
|
790
790
|
* This function is callable at any point, but is expected to typically be
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
2
|
// Created By: Art Blocks Inc.
|
|
3
3
|
|
|
4
|
-
import "
|
|
5
|
-
import "
|
|
6
|
-
import "
|
|
7
|
-
import "
|
|
4
|
+
import "../../../../interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol";
|
|
5
|
+
import "../../../../interfaces/v0.8.x/IMinterFilterV0.sol";
|
|
6
|
+
import "../../../../interfaces/v0.8.x/IFilteredMinterDAExpSettlementV1.sol";
|
|
7
|
+
import "../MinterBase_v0_1_1.sol";
|
|
8
8
|
|
|
9
9
|
import "@openzeppelin-4.7/contracts/security/ReentrancyGuard.sol";
|
|
10
10
|
import "@openzeppelin-4.7/contracts/utils/math/SafeCast.sol";
|
|
@@ -40,7 +40,6 @@ pragma solidity 0.8.19;
|
|
|
40
40
|
* enforced when creating new auctions)
|
|
41
41
|
* - resetAuctionDetails (note: this will prevent minting until a new auction
|
|
42
42
|
* is created)
|
|
43
|
-
* - adminEmergencyReduceSelloutPrice
|
|
44
43
|
* ----------------------------------------------------------------------------
|
|
45
44
|
* The following functions are restricted to a project's artist or the core
|
|
46
45
|
* contract's Admin ACL contract:
|
|
@@ -510,52 +509,6 @@ contract MinterDAExpSettlementV2 is
|
|
|
510
509
|
);
|
|
511
510
|
}
|
|
512
511
|
|
|
513
|
-
/**
|
|
514
|
-
* @notice This represents an admin stepping in and reducing the sellout
|
|
515
|
-
* price of an auction. This is only callable by the core admin, only
|
|
516
|
-
* after the auction is complete, but before project revenues are
|
|
517
|
-
* withdrawn.
|
|
518
|
-
* This is only intended to be used in the case where for some reason, the
|
|
519
|
-
* sellout price was too high.
|
|
520
|
-
* @param _projectId Project ID to reduce auction sellout price for.
|
|
521
|
-
* @param _newSelloutPrice New sellout price to set for the auction. Must
|
|
522
|
-
* be less than the current sellout price.
|
|
523
|
-
*/
|
|
524
|
-
function adminEmergencyReduceSelloutPrice(
|
|
525
|
-
uint256 _projectId,
|
|
526
|
-
uint256 _newSelloutPrice
|
|
527
|
-
) external {
|
|
528
|
-
_onlyCoreAdminACL(this.adminEmergencyReduceSelloutPrice.selector);
|
|
529
|
-
ProjectConfig storage _projectConfig = projectConfig[_projectId];
|
|
530
|
-
require(
|
|
531
|
-
!_projectConfig.auctionRevenuesCollected,
|
|
532
|
-
"Only before revenues collected"
|
|
533
|
-
);
|
|
534
|
-
|
|
535
|
-
// refresh max invocations, updating any local values that are
|
|
536
|
-
// illogical with respect to the current core contract state, and
|
|
537
|
-
// ensuring that local hasMaxBeenInvoked is accurate.
|
|
538
|
-
_refreshMaxInvocations(_projectId);
|
|
539
|
-
|
|
540
|
-
// require max invocations has been reached
|
|
541
|
-
require(_projectConfig.maxHasBeenInvoked, "Auction must be complete");
|
|
542
|
-
// @dev no need to check that auction max invocations has been reached,
|
|
543
|
-
// because if it was, the sellout price will be zero, and the following
|
|
544
|
-
// check will fail.
|
|
545
|
-
require(
|
|
546
|
-
_newSelloutPrice < _projectConfig.latestPurchasePrice,
|
|
547
|
-
"May only reduce sellout price"
|
|
548
|
-
);
|
|
549
|
-
require(
|
|
550
|
-
_newSelloutPrice >= _projectConfig.basePrice,
|
|
551
|
-
"May only reduce sellout price to base price or greater"
|
|
552
|
-
);
|
|
553
|
-
// ensure _newSelloutPrice is non-zero
|
|
554
|
-
require(_newSelloutPrice > 0, "Only sellout prices > 0");
|
|
555
|
-
_projectConfig.latestPurchasePrice = _newSelloutPrice;
|
|
556
|
-
emit SelloutPriceUpdated(_projectId, _newSelloutPrice);
|
|
557
|
-
}
|
|
558
|
-
|
|
559
512
|
/**
|
|
560
513
|
* @notice This withdraws project revenues for the artist and admin.
|
|
561
514
|
* This function is only callable by the artist or admin, and only after
|
|
@@ -774,7 +727,7 @@ contract MinterDAExpSettlementV2 is
|
|
|
774
727
|
|
|
775
728
|
/**
|
|
776
729
|
* @notice Reclaims the sender's payment above current settled price for
|
|
777
|
-
* project `_projectId`. The current settled price is the
|
|
730
|
+
* project `_projectId`. The current settled price is the price paid
|
|
778
731
|
* for the most recently purchased token, or the base price if the artist
|
|
779
732
|
* has withdrawn revenues after the auction reached base price.
|
|
780
733
|
* This function is callable at any point, but is expected to typically be
|
|
@@ -790,7 +743,7 @@ contract MinterDAExpSettlementV2 is
|
|
|
790
743
|
|
|
791
744
|
/**
|
|
792
745
|
* @notice Reclaims the sender's payment above current settled price for
|
|
793
|
-
* project `_projectId`. The current settled price is the
|
|
746
|
+
* project `_projectId`. The current settled price is the price paid
|
|
794
747
|
* for the most recently purchased token, or the base price if the artist
|
|
795
748
|
* has withdrawn revenues after the auction reached base price.
|
|
796
749
|
* This function is callable at any point, but is expected to typically be
|
|
@@ -846,7 +799,7 @@ contract MinterDAExpSettlementV2 is
|
|
|
846
799
|
|
|
847
800
|
/**
|
|
848
801
|
* @notice Reclaims the sender's payment above current settled price for
|
|
849
|
-
* projects in `_projectIds`. The current settled price is the
|
|
802
|
+
* projects in `_projectIds`. The current settled price is the price
|
|
850
803
|
* paid for the most recently purchased token, or the base price if the
|
|
851
804
|
* artist has withdrawn revenues after the auction reached base price.
|
|
852
805
|
* This function is callable at any point, but is expected to typically be
|
|
@@ -870,7 +823,7 @@ contract MinterDAExpSettlementV2 is
|
|
|
870
823
|
|
|
871
824
|
/**
|
|
872
825
|
* @notice Reclaims the sender's payment above current settled price for
|
|
873
|
-
* projects in `_projectIds`. The current settled price is the
|
|
826
|
+
* projects in `_projectIds`. The current settled price is the price
|
|
874
827
|
* paid for the most recently purchased token, or the base price if the
|
|
875
828
|
* artist has withdrawn revenues after the auction reached base price.
|
|
876
829
|
* This function is callable at any point, but is expected to typically be
|
|
@@ -1256,13 +1209,7 @@ contract MinterDAExpSettlementV2 is
|
|
|
1256
1209
|
// ensure the local `maxHasBeenInvoked` state is accurate to
|
|
1257
1210
|
// prevent any false negatives due to minting on other minters
|
|
1258
1211
|
_projectConfig.maxHasBeenInvoked = true;
|
|
1259
|
-
//
|
|
1260
|
-
// @dev this is not strictly necessary, but is included for
|
|
1261
|
-
// convenience
|
|
1262
|
-
emit ProjectMaxInvocationsLimitUpdated(
|
|
1263
|
-
_projectId,
|
|
1264
|
-
coreMaxInvocations
|
|
1265
|
-
);
|
|
1212
|
+
// @dev no event needed since no change to max invocations
|
|
1266
1213
|
}
|
|
1267
1214
|
}
|
|
1268
1215
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
2
|
// Created By: Art Blocks Inc.
|
|
3
3
|
|
|
4
|
-
import "
|
|
5
|
-
import "
|
|
6
|
-
import "
|
|
7
|
-
import "
|
|
4
|
+
import "../../../../interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol";
|
|
5
|
+
import "../../../../interfaces/v0.8.x/IMinterFilterV0.sol";
|
|
6
|
+
import "../../../../interfaces/v0.8.x/IFilteredMinterDALinV1.sol";
|
|
7
|
+
import "../MinterBase_v0_1_1.sol";
|
|
8
8
|
|
|
9
9
|
import "@openzeppelin-4.5/contracts/security/ReentrancyGuard.sol";
|
|
10
10
|
import "@openzeppelin-4.5/contracts/utils/math/SafeCast.sol";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
2
|
// Created By: Art Blocks Inc.
|
|
3
3
|
|
|
4
|
-
import "
|
|
5
|
-
import "
|
|
6
|
-
import "
|
|
7
|
-
import "
|
|
8
|
-
import "
|
|
4
|
+
import "../../../../interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol";
|
|
5
|
+
import "../../../../interfaces/v0.8.x/IMinterFilterV0.sol";
|
|
6
|
+
import "../../../../interfaces/v0.8.x/IFilteredMinterHolderV2.sol";
|
|
7
|
+
import "../MinterBase_v0_1_1.sol";
|
|
8
|
+
import "../../../../interfaces/v0.8.x/IDelegationRegistry.sol";
|
|
9
9
|
|
|
10
10
|
import "@openzeppelin-4.5/contracts/token/ERC721/IERC721.sol";
|
|
11
11
|
import "@openzeppelin-4.5/contracts/security/ReentrancyGuard.sol";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
2
|
// Created By: Art Blocks Inc.
|
|
3
3
|
|
|
4
|
-
import "
|
|
5
|
-
import "
|
|
6
|
-
import "
|
|
7
|
-
import "
|
|
8
|
-
import "
|
|
4
|
+
import "../../../../interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol";
|
|
5
|
+
import "../../../../interfaces/v0.8.x/IMinterFilterV0.sol";
|
|
6
|
+
import "../../../../interfaces/v0.8.x/IFilteredMinterMerkleV2.sol";
|
|
7
|
+
import "../../../../interfaces/v0.8.x/IDelegationRegistry.sol";
|
|
8
|
+
import "../MinterBase_v0_1_1.sol";
|
|
9
9
|
|
|
10
10
|
import "@openzeppelin-4.7/contracts/utils/cryptography/MerkleProof.sol";
|
|
11
11
|
import "@openzeppelin-4.7/contracts/token/ERC20/IERC20.sol";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
2
|
// Created By: Art Blocks Inc.
|
|
3
3
|
|
|
4
|
-
import "
|
|
5
|
-
import "
|
|
6
|
-
import "
|
|
7
|
-
import "
|
|
8
|
-
import "
|
|
9
|
-
import "
|
|
10
|
-
import "
|
|
4
|
+
import "../../../../interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol";
|
|
5
|
+
import "../../../../interfaces/v0.8.x/IGenArt721CoreContractExposesHashSeed.sol";
|
|
6
|
+
import "../../../../interfaces/v0.8.x/IMinterFilterV0.sol";
|
|
7
|
+
import "../../../../interfaces/v0.8.x/IFilteredMinterHolderV2.sol";
|
|
8
|
+
import "../../../../interfaces/v0.8.x/IRandomizerPolyptychV0.sol";
|
|
9
|
+
import "../../../../interfaces/v0.8.x/IDelegationRegistry.sol";
|
|
10
|
+
import "../MinterBase_v0_1_1.sol";
|
|
11
11
|
|
|
12
12
|
import "@openzeppelin-4.5/contracts/token/ERC721/IERC721.sol";
|
|
13
13
|
import "@openzeppelin-4.5/contracts/security/ReentrancyGuard.sol";
|