@artblocks/contracts 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -154
- 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 +22 -4
- package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +42 -5
- 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/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/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/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/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/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
- package/artifacts/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol}/GenArt721CoreV2_ENGINE_FLEX.json +3 -3
- package/artifacts/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol}/GenArt721CoreV2_PBAB.json +3 -3
- package/artifacts/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol}/GenArt721CoreV2_PRTNR.json +3 -3
- package/artifacts/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol}/GenArt721MinterBurner_PBAB.json +3 -3
- package/artifacts/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol}/GenArt721MinterDAExp_PBAB.json +3 -3
- package/artifacts/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol}/GenArt721Minter_PBAB.json +3 -3
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +1960 -0
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +2247 -0
- package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +2247 -0
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +401 -0
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +2281 -0
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol/IAdminACLV0_PROHIBITION.json +359 -0
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +1094 -0
- package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +242 -0
- package/artifacts/contracts/engine-registry/EngineRegistryV0.sol/EngineRegistryV0.json +2 -2
- package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +41 -4
- package/artifacts/contracts/interfaces/0.8.x/IBytecodeStorageReader.sol/IBytecodeStorageReader.json +111 -0
- package/artifacts/contracts/interfaces/0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +172 -0
- package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterSEAV0.sol/IFilteredMinterSEAV0.json +1034 -0
- package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractExposesHashSeed.sol/IGenArt721CoreContractExposesHashSeed.json +30 -0
- package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +162 -0
- package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +162 -0
- package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +137 -13
- package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +1060 -0
- package/artifacts/contracts/interfaces/0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +429 -0
- package/artifacts/contracts/interfaces/0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +30 -0
- package/artifacts/contracts/interfaces/0.8.x/IRandomizer_V3CoreBase.sol/IRandomizer_V3CoreBase.json +24 -0
- package/artifacts/contracts/interfaces/0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +207 -0
- package/artifacts/contracts/interfaces/0.8.x/IWETH.sol/IWETH.json +55 -0
- package/artifacts/contracts/libs/0.8.x/{BytecodeStorage.sol → BytecodeStorageV0.sol}/BytecodeStorage.json +3 -3
- package/artifacts/contracts/libs/0.8.x/BytecodeStorageV1.sol/BytecodeStorageReader.json +163 -0
- package/artifacts/contracts/libs/0.8.x/BytecodeStorageV1.sol/BytecodeStorageWriter.json +10 -0
- package/artifacts/contracts/libs/0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
- package/artifacts/contracts/libs/0.8.x/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +2 -2
- package/artifacts/contracts/libs/0.8.x/SSTORE2.sol/SSTORE2.json +10 -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 +295 -0
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +692 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +2 -2
- 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/IGenArt721CoreContractV3WithRandomizer.json +104 -124
- package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSEAV0.sol/MinterSEAV0.json +1289 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
- package/artifacts/contracts/mock/{BytecodeTextCR_DMock.sol/BytecodeTextCR_DMock.json → BytecodeV0TextCR_DMock.sol/BytecodeV0TextCR_DMock.json} +4 -4
- package/artifacts/contracts/mock/BytecodeV1LibCallsMock.sol/BytecodeV1LibCallsMock.json +135 -0
- package/artifacts/contracts/mock/BytecodeV1TextCR_DMock.sol/BytecodeV1TextCR_DMock.json +301 -0
- package/artifacts/contracts/mock/DeadReceiverBidderMock.sol/DeadReceiverBidderMock.json +33 -0
- package/artifacts/contracts/mock/DeadReceiverMock.sol/DeadReceiverMock.json +2 -2
- package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +114 -0
- package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +2 -2
- package/artifacts/contracts/mock/GasLimitReceiverBidderMock.sol/GasLimitReceiverBidderMock.json +46 -0
- package/artifacts/contracts/mock/GasLimitReceiverMock.sol/GasLimitReceiverMock.json +28 -0
- package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +22 -4
- package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +2 -2
- package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +440 -0
- package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +39 -0
- 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/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +51 -0
- package/artifacts/contracts/mock/SSTORE2Mock.sol/SSTORE2Mock.json +118 -0
- package/artifacts/contracts/{BasicRandomizer.sol → randomizer/deprecated/BasicRandomizer.sol}/BasicRandomizer.json +3 -3
- package/artifacts/contracts/randomizer/deprecated/BasicRandomizerBase_v0_0_0.sol/RandomizerBase.json +10 -0
- package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +229 -0
- package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +102 -0
- package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +30 -0
- package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +231 -0
- package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +2 -2
- package/contracts/AdminACLV0.sol +1 -1
- package/contracts/AdminACLV1.sol +1 -1
- package/contracts/DependencyRegistryV0.sol +89 -141
- package/contracts/GenArt721CoreV3.sol +160 -204
- package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol +1 -1
- package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol +1 -1
- package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +1 -1
- package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +1 -1
- package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol +1 -1
- package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol +1 -1
- package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol +1 -1
- package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol +1 -1
- package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol +1 -1
- package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol +1 -1
- package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol +1 -1
- package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol +1 -1
- package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol +1 -1
- package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol +1 -1
- package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol +1 -1
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +1 -1
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +1 -1
- package/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol} +2 -2
- package/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol} +2 -2
- package/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol} +3 -3
- package/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol} +2 -2
- package/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol} +2 -2
- package/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol} +2 -2
- package/contracts/{GenArt721CoreV3_Engine.sol → engine/V3/GenArt721CoreV3_Engine.sol} +163 -216
- package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +2283 -0
- package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +2293 -0
- package/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol +281 -0
- package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +2354 -0
- package/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol +123 -0
- package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +29 -0
- package/contracts/engine-registry/CoreRegistryV1.sol +254 -0
- package/contracts/engine-registry/EngineRegistryV0.sol +1 -1
- package/contracts/explorations/GenArt721CoreV3_Explorations.sol +164 -190
- package/contracts/interfaces/0.8.x/IBytecodeStorageReader.sol +62 -0
- package/contracts/interfaces/0.8.x/ICoreRegistryV1.sol +27 -0
- package/contracts/interfaces/0.8.x/IDelegationRegistry.sol +1 -1
- package/contracts/interfaces/0.8.x/IDependencyRegistryCompatibleV0.sol +1 -1
- package/contracts/interfaces/0.8.x/IDependencyRegistryV0.sol +1 -1
- package/contracts/interfaces/0.8.x/IEngineRegistryV0.sol +1 -1
- package/contracts/interfaces/0.8.x/IFilteredMinterSEAV0.sol +164 -0
- package/contracts/interfaces/0.8.x/IGenArt721CoreContractExposesHashSeed.sol +11 -0
- package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol +42 -0
- package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol +0 -8
- package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol +132 -0
- package/contracts/interfaces/0.8.x/IMinterFilterV1.sol +158 -0
- package/contracts/interfaces/0.8.x/IPseudorandomAtomic.sol +16 -0
- package/contracts/interfaces/0.8.x/IRandomizerPolyptychV0.sol +1 -1
- package/contracts/interfaces/0.8.x/IRandomizerV2.sol +2 -5
- package/contracts/interfaces/0.8.x/IRandomizer_V3CoreBase.sol +10 -0
- package/contracts/interfaces/0.8.x/ISharedRandomizerV0.sol +105 -0
- package/contracts/interfaces/0.8.x/IWETH.sol +11 -0
- package/contracts/libs/0.8.x/BytecodeStorageV1.sol +399 -0
- package/contracts/libs/0.8.x/SSTORE2.sol +109 -0
- package/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol +1 -1
- package/contracts/libs/integration-refs/weth9/weth9.sol +765 -0
- package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +36 -48
- package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +756 -0
- package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +27 -35
- package/contracts/minter-suite/Minters/MinterDAExpV4.sol +17 -22
- package/contracts/minter-suite/Minters/MinterDALinV4.sol +16 -18
- package/contracts/minter-suite/Minters/MinterHolderV4.sol +20 -20
- package/contracts/minter-suite/Minters/MinterMerkleV5.sol +14 -16
- package/contracts/minter-suite/Minters/MinterPolyptychV0.sol +37 -36
- package/contracts/minter-suite/Minters/MinterSEAV0.sol +1273 -0
- package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +12 -12
- package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +10 -11
- package/contracts/mock/{BytecodeTextCR_DMock.sol → BytecodeV0TextCR_DMock.sol} +5 -5
- package/contracts/mock/BytecodeV1LibCallsMock.sol +114 -0
- package/contracts/mock/BytecodeV1TextCR_DMock.sol +233 -0
- package/contracts/mock/DeadReceiverBidderMock.sol +23 -0
- package/contracts/mock/DeadReceiverMock.sol +1 -1
- package/contracts/mock/DummySharedMinter.sol +75 -0
- package/contracts/mock/GasLimitReceiverBidderMock.sol +23 -0
- package/contracts/mock/GasLimitReceiverMock.sol +19 -0
- package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +14 -27
- package/contracts/mock/MockAdminACLV0.sol +1 -1
- package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +207 -0
- package/contracts/mock/OriginRegisterMock.sol +27 -0
- package/contracts/mock/RandomizerV2_NoAssignMock.sol +3 -12
- package/contracts/mock/ReentrancySEAMock.sol +36 -0
- package/contracts/mock/SSTORE2Mock.sol +93 -0
- package/contracts/{BasicRandomizer.sol → randomizer/deprecated/BasicRandomizer.sol} +1 -1
- package/contracts/randomizer/deprecated/BasicRandomizerBase_v0_0_0.sol +23 -0
- package/contracts/{BasicPolyptychRandomizerV0.sol → randomizer/deprecated/PolyptychRandomizerV0.sol} +20 -29
- package/contracts/{BasicRandomizerV2.sol → randomizer/deprecated/RandomizerV2.sol} +6 -14
- package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +30 -0
- package/contracts/randomizer/shared/SharedRandomizerV0.sol +245 -0
- package/package.json +36 -30
- package/.env.example +0 -10
- package/artifacts/contracts/BasicPolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +0 -229
- package/artifacts/contracts/BasicRandomizerV2.sol/BasicRandomizerV2.json +0 -102
- package/artifacts/contracts/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +0 -1942
- package/artifacts/contracts/engine-registry/future/EngineRegistryV1.sol/EngineRegistryV1.json +0 -109
- package/contracts/engine-registry/future/EngineRegistryV1.sol +0 -86
- /package/contracts/libs/0.8.x/{BytecodeStorage.sol → BytecodeStorageV0.sol} +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
2
|
// Created By: Art Blocks Inc.
|
|
3
3
|
|
|
4
|
-
import "../../interfaces/0.8.x/
|
|
4
|
+
import "../../interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol";
|
|
5
|
+
import "../../interfaces/0.8.x/IGenArt721CoreContractExposesHashSeed.sol";
|
|
5
6
|
import "../../interfaces/0.8.x/IMinterFilterV0.sol";
|
|
6
7
|
import "../../interfaces/0.8.x/IFilteredMinterHolderV2.sol";
|
|
7
8
|
import "../../interfaces/0.8.x/IRandomizerPolyptychV0.sol";
|
|
@@ -12,18 +13,19 @@ import "@openzeppelin-4.5/contracts/token/ERC721/IERC721.sol";
|
|
|
12
13
|
import "@openzeppelin-4.5/contracts/security/ReentrancyGuard.sol";
|
|
13
14
|
import "@openzeppelin-4.5/contracts/utils/structs/EnumerableSet.sol";
|
|
14
15
|
|
|
15
|
-
pragma solidity 0.8.
|
|
16
|
+
pragma solidity 0.8.19;
|
|
16
17
|
|
|
17
18
|
/**
|
|
18
19
|
* @title Core contract interface for accessing the randomizer from the minter
|
|
19
20
|
* @notice This interface provides the minter with access to the randomizer, allowing the
|
|
20
21
|
* token hash seed for a newly-minted token to be assigned by the minter if the artist
|
|
21
|
-
* has enabled the project as a polyptych. Polytptych projects must use the V3
|
|
22
|
-
*
|
|
22
|
+
* has enabled the project as a polyptych. Polytptych projects must use the V3 core
|
|
23
|
+
* contract, polyptych minter, and polyptych randomizer - this interface allows the
|
|
23
24
|
* minter to access the randomizer.
|
|
24
25
|
*/
|
|
25
26
|
interface IGenArt721CoreContractV3WithRandomizer is
|
|
26
|
-
|
|
27
|
+
IGenArt721CoreContractV3_Base,
|
|
28
|
+
IGenArt721CoreContractExposesHashSeed
|
|
27
29
|
{
|
|
28
30
|
/// current randomizer contract
|
|
29
31
|
function randomizerContract() external returns (IRandomizerPolyptychV0);
|
|
@@ -40,9 +42,9 @@ interface IGenArt721CoreContractV3WithRandomizer is
|
|
|
40
42
|
* using the `incrementPolyptychProjectPanelId` function. Panel IDs for a project may only
|
|
41
43
|
* be incremented such that panels must be minted in the order of their panel ID. Tokens
|
|
42
44
|
* of the same project and panel ID may be minted in any order.
|
|
43
|
-
* This is designed to be used with
|
|
45
|
+
* This is designed to be used with IGenArt721CoreContractExposesHashSeed contracts with an
|
|
44
46
|
* active IPolyptychRandomizerV0 randomizer available for this minter to use.
|
|
45
|
-
* This minter requires both a properly configured
|
|
47
|
+
* This minter requires both a properly configured core contract and polyptych
|
|
46
48
|
* randomizer in order to mint polyptych tokens.
|
|
47
49
|
* @author Art Blocks Inc.
|
|
48
50
|
* @notice Privileged Roles and Ownership:
|
|
@@ -146,9 +148,9 @@ contract MinterPolyptychV0 is
|
|
|
146
148
|
mapping(uint256 => mapping(address => mapping(uint256 => bool)))
|
|
147
149
|
public allowedProjectHolders;
|
|
148
150
|
|
|
149
|
-
//
|
|
151
|
+
// function to restrict access to only AdminACL allowed calls
|
|
150
152
|
// @dev defers which ACL contract is used to the core contract
|
|
151
|
-
|
|
153
|
+
function _onlyCoreAdminACL(bytes4 _selector) internal {
|
|
152
154
|
require(
|
|
153
155
|
genArtCoreContract.adminACLAllowed(
|
|
154
156
|
msg.sender,
|
|
@@ -157,16 +159,14 @@ contract MinterPolyptychV0 is
|
|
|
157
159
|
),
|
|
158
160
|
"Only Core AdminACL allowed"
|
|
159
161
|
);
|
|
160
|
-
_;
|
|
161
162
|
}
|
|
162
163
|
|
|
163
|
-
|
|
164
|
+
function _onlyArtist(uint256 _projectId) internal view {
|
|
164
165
|
require(
|
|
165
166
|
msg.sender ==
|
|
166
167
|
genArtCoreContract.projectIdToArtistAddress(_projectId),
|
|
167
168
|
"Only Artist"
|
|
168
169
|
);
|
|
169
|
-
_;
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
/**
|
|
@@ -216,8 +216,9 @@ contract MinterPolyptychV0 is
|
|
|
216
216
|
address _ownedNFTAddress,
|
|
217
217
|
uint256 _ownedNFTTokenId
|
|
218
218
|
) external view returns (bool panelMinted) {
|
|
219
|
-
bytes12 _tokenHash =
|
|
220
|
-
|
|
219
|
+
bytes12 _tokenHash = IGenArt721CoreContractExposesHashSeed(
|
|
220
|
+
_ownedNFTAddress
|
|
221
|
+
).tokenIdToHashSeed(_ownedNFTTokenId);
|
|
221
222
|
require(_tokenHash != bytes32(0), "Invalid token hash seed");
|
|
222
223
|
return polyptychPanelHashSeedIsMinted[_panelId][_tokenHash];
|
|
223
224
|
}
|
|
@@ -229,13 +230,10 @@ contract MinterPolyptychV0 is
|
|
|
229
230
|
* `projectId = tokenId / 1_000_000`
|
|
230
231
|
* @param _NFTAddress NFT core address to be registered.
|
|
231
232
|
*/
|
|
232
|
-
function registerNFTAddress(
|
|
233
|
-
|
|
234
|
-
) external onlyCoreAdminACL(this.registerNFTAddress.selector) {
|
|
233
|
+
function registerNFTAddress(address _NFTAddress) external {
|
|
234
|
+
_onlyCoreAdminACL(this.registerNFTAddress.selector);
|
|
235
235
|
// check that core contract implements the `tokenIdToHashSeed` function
|
|
236
|
-
|
|
237
|
-
0
|
|
238
|
-
);
|
|
236
|
+
IGenArt721CoreContractExposesHashSeed(_NFTAddress).tokenIdToHashSeed(0);
|
|
239
237
|
_registeredNFTAddresses.add(_NFTAddress);
|
|
240
238
|
emit RegisteredNFTAddress(_NFTAddress);
|
|
241
239
|
}
|
|
@@ -246,9 +244,8 @@ contract MinterPolyptychV0 is
|
|
|
246
244
|
* considered for adding to future allowlists.
|
|
247
245
|
* @param _NFTAddress NFT core address to be unregistered.
|
|
248
246
|
*/
|
|
249
|
-
function unregisterNFTAddress(
|
|
250
|
-
|
|
251
|
-
) external onlyCoreAdminACL(this.unregisterNFTAddress.selector) {
|
|
247
|
+
function unregisterNFTAddress(address _NFTAddress) external {
|
|
248
|
+
_onlyCoreAdminACL(this.unregisterNFTAddress.selector);
|
|
252
249
|
_registeredNFTAddresses.remove(_NFTAddress);
|
|
253
250
|
emit UnregisteredNFTAddress(_NFTAddress);
|
|
254
251
|
}
|
|
@@ -287,7 +284,8 @@ contract MinterPolyptychV0 is
|
|
|
287
284
|
uint256[] memory _ownedNFTProjectIdsAdd,
|
|
288
285
|
address[] memory _ownedNFTAddressesRemove,
|
|
289
286
|
uint256[] memory _ownedNFTProjectIdsRemove
|
|
290
|
-
) external
|
|
287
|
+
) external {
|
|
288
|
+
_onlyArtist(_projectId);
|
|
291
289
|
allowHoldersOfProjects(
|
|
292
290
|
_projectId,
|
|
293
291
|
_ownedNFTAddressesAdd,
|
|
@@ -339,7 +337,8 @@ contract MinterPolyptychV0 is
|
|
|
339
337
|
function manuallyLimitProjectMaxInvocations(
|
|
340
338
|
uint256 _projectId,
|
|
341
339
|
uint256 _maxInvocations
|
|
342
|
-
) external
|
|
340
|
+
) external {
|
|
341
|
+
_onlyArtist(_projectId);
|
|
343
342
|
// CHECKS
|
|
344
343
|
// ensure that the manually set maxInvocations is not greater than what is set on the core contract
|
|
345
344
|
uint256 maxInvocations;
|
|
@@ -376,7 +375,8 @@ contract MinterPolyptychV0 is
|
|
|
376
375
|
function updatePricePerTokenInWei(
|
|
377
376
|
uint256 _projectId,
|
|
378
377
|
uint256 _pricePerTokenInWei
|
|
379
|
-
) external
|
|
378
|
+
) external {
|
|
379
|
+
_onlyArtist(_projectId);
|
|
380
380
|
ProjectConfig storage _projectConfig = projectConfig[_projectId];
|
|
381
381
|
_projectConfig.pricePerTokenInWei = _pricePerTokenInWei;
|
|
382
382
|
_projectConfig.priceIsConfigured = true;
|
|
@@ -404,7 +404,8 @@ contract MinterPolyptychV0 is
|
|
|
404
404
|
uint256 _projectId,
|
|
405
405
|
string memory _currencySymbol,
|
|
406
406
|
address _currencyAddress
|
|
407
|
-
) external
|
|
407
|
+
) external {
|
|
408
|
+
_onlyArtist(_projectId);
|
|
408
409
|
// require null address if symbol is "ETH"
|
|
409
410
|
require(
|
|
410
411
|
(keccak256(abi.encodePacked(_currencySymbol)) ==
|
|
@@ -531,9 +532,8 @@ contract MinterPolyptychV0 is
|
|
|
531
532
|
* @notice Warning: Disabling purchaseTo is not supported on this minter.
|
|
532
533
|
* This method exists purely for interface-conformance purposes.
|
|
533
534
|
*/
|
|
534
|
-
function togglePurchaseToDisabled(
|
|
535
|
-
|
|
536
|
-
) external view onlyArtist(_projectId) {
|
|
535
|
+
function togglePurchaseToDisabled(uint256 _projectId) external view {
|
|
536
|
+
_onlyArtist(_projectId);
|
|
537
537
|
revert("Action not supported");
|
|
538
538
|
}
|
|
539
539
|
|
|
@@ -755,7 +755,7 @@ contract MinterPolyptychV0 is
|
|
|
755
755
|
// EFFECTS
|
|
756
756
|
|
|
757
757
|
// we need to store the new token ID before it is minted so the randomizer can query it
|
|
758
|
-
|
|
758
|
+
IGenArt721CoreContractExposesHashSeed _ownedNFTCoreContract = IGenArt721CoreContractExposesHashSeed(
|
|
759
759
|
_ownedNFTAddress
|
|
760
760
|
);
|
|
761
761
|
bytes12 _targetHashSeed = _ownedNFTCoreContract.tokenIdToHashSeed(
|
|
@@ -880,7 +880,8 @@ contract MinterPolyptychV0 is
|
|
|
880
880
|
uint256 _projectId,
|
|
881
881
|
address[] memory _ownedNFTAddresses,
|
|
882
882
|
uint256[] memory _ownedNFTProjectIds
|
|
883
|
-
) public
|
|
883
|
+
) public {
|
|
884
|
+
_onlyArtist(_projectId);
|
|
884
885
|
// require same length arrays
|
|
885
886
|
require(
|
|
886
887
|
_ownedNFTAddresses.length == _ownedNFTProjectIds.length,
|
|
@@ -925,7 +926,8 @@ contract MinterPolyptychV0 is
|
|
|
925
926
|
uint256 _projectId,
|
|
926
927
|
address[] memory _ownedNFTAddresses,
|
|
927
928
|
uint256[] memory _ownedNFTProjectIds
|
|
928
|
-
) public
|
|
929
|
+
) public {
|
|
930
|
+
_onlyArtist(_projectId);
|
|
929
931
|
// require same length arrays
|
|
930
932
|
require(
|
|
931
933
|
_ownedNFTAddresses.length == _ownedNFTProjectIds.length,
|
|
@@ -950,9 +952,8 @@ contract MinterPolyptychV0 is
|
|
|
950
952
|
* @notice Allows the artist to increment the minter to the next polyptych panel
|
|
951
953
|
* @param _projectId Project ID to increment to its next polyptych panel
|
|
952
954
|
*/
|
|
953
|
-
function incrementPolyptychProjectPanelId(
|
|
954
|
-
|
|
955
|
-
) public onlyArtist(_projectId) {
|
|
955
|
+
function incrementPolyptychProjectPanelId(uint256 _projectId) public {
|
|
956
|
+
_onlyArtist(_projectId);
|
|
956
957
|
projectConfig[_projectId].polyptychPanelId++;
|
|
957
958
|
}
|
|
958
959
|
|