@artblocks/contracts 1.0.3 → 1.0.4
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 +125 -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 -6
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +6 -6
- package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +4 -4
- 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 -6
- package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +2 -2
- 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 +1 -1
- 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 +3 -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 +86 -1
- 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 +207 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol/ISharedMinterDAExpV0.json +93 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol/ISharedMinterDALinV0.json +93 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol/ISharedMinterDAV0.json +69 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol/ISharedMinterHolderV0.json +203 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol/ISharedMinterMerkleV0.json +123 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +261 -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 +533 -0
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +42 -26
- 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 +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +10 -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 +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +10 -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 +58 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +1228 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +1146 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +909 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +1228 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +909 -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 +1325 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +848 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +1091 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +1075 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +1243 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +1167 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +772 -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 +4 -4
- 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/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
- 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 +48 -32
- 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 +216 -107
- 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/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 +29 -14
- package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +29 -14
- package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +9 -9
- package/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol +1 -1
- package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +20 -15
- 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 +1 -1
- 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}/IDependencyRegistryV0.sol +2 -2
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3WithSharedRandomizer.sol +23 -0
- package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV1.sol +26 -0
- package/contracts/interfaces/v0.8.x/IRandomizer_V3CoreBase.sol +23 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +37 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol +25 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol +26 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol +19 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol +69 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol +44 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +78 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol +28 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +191 -0
- package/contracts/interfaces/{0.8.x → v0.8.x}/ISharedRandomizerV0.sol +42 -24
- 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 +197 -0
- package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +125 -0
- package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +109 -0
- package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +348 -0
- package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +175 -0
- package/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol +160 -0
- package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +320 -0
- package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +44 -0
- package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +390 -0
- package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +583 -0
- package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +153 -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 +83 -9
- package/contracts/minter-suite/Minters/MinterBase_v0_1_1.sol +4 -4
- package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +966 -0
- package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +3 -3
- package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +1126 -0
- package/contracts/minter-suite/Minters/MinterDAExpV4.sol +3 -3
- package/contracts/minter-suite/Minters/MinterDAExpV5.sol +606 -0
- package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +952 -0
- package/contracts/minter-suite/Minters/MinterDALinV4.sol +3 -3
- package/contracts/minter-suite/Minters/MinterDALinV5.sol +591 -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 +1190 -0
- package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +5 -5
- package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +570 -0
- package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +821 -0
- package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +802 -0
- package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +1096 -0
- package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +992 -0
- package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +3 -3
- package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +461 -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 +9 -9
- 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/ReentrancyMerkleMock.sol +1 -1
- package/contracts/mock/ReentrancyMock.sol +1 -1
- package/contracts/mock/ReentrancySEAMock.sol +1 -1
- 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 +91 -76
- package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +2 -2
- package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +2 -2
- package/package.json +46 -31
- package/LICENSE +0 -165
- package/contracts/interfaces/0.8.x/IRandomizer_V3CoreBase.sol +0 -10
- /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}/ICoreRegistryV1.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}/Bytes32Strings.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,18 +3,18 @@ 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/
|
|
11
|
-
import "../../interfaces/
|
|
12
|
-
import "../../interfaces/
|
|
6
|
+
import "../../interfaces/v0.8.x/IRandomizer_V3CoreBase.sol";
|
|
7
|
+
import "../../interfaces/v0.8.x/IAdminACLV0.sol";
|
|
8
|
+
import "../../interfaces/v0.8.x/IEngineRegistryV0.sol";
|
|
9
|
+
import "../../interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol";
|
|
10
|
+
import "../../interfaces/v0.8.x/IGenArt721CoreContractExposesHashSeed.sol";
|
|
11
|
+
import "../../interfaces/v0.8.x/IDependencyRegistryCompatibleV0.sol";
|
|
12
|
+
import "../../interfaces/v0.8.x/IManifold.sol";
|
|
13
13
|
|
|
14
14
|
import "@openzeppelin-4.7/contracts/access/Ownable.sol";
|
|
15
|
-
import "../../libs/
|
|
16
|
-
import "../../libs/
|
|
17
|
-
import "../../libs/
|
|
15
|
+
import "../../libs/v0.8.x/ERC721_PackedHashSeed.sol";
|
|
16
|
+
import "../../libs/v0.8.x/BytecodeStorageV1.sol";
|
|
17
|
+
import "../../libs/v0.8.x/Bytes32Strings.sol";
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* @title Art Blocks Engine Flex ERC-721 core contract, V3.
|
|
@@ -184,7 +184,7 @@ contract GenArt721CoreV3_Engine_Flex is
|
|
|
184
184
|
bool paused;
|
|
185
185
|
string name;
|
|
186
186
|
string artist;
|
|
187
|
-
|
|
187
|
+
address descriptionAddress;
|
|
188
188
|
string website;
|
|
189
189
|
string license;
|
|
190
190
|
string projectBaseURI;
|
|
@@ -271,7 +271,7 @@ contract GenArt721CoreV3_Engine_Flex is
|
|
|
271
271
|
bool public immutable autoApproveArtistSplitProposals;
|
|
272
272
|
|
|
273
273
|
/// version & type of this core contract
|
|
274
|
-
bytes32 constant CORE_VERSION = "v3.1.
|
|
274
|
+
bytes32 constant CORE_VERSION = "v3.1.3";
|
|
275
275
|
|
|
276
276
|
function coreVersion() external pure returns (string memory) {
|
|
277
277
|
return CORE_VERSION.toString();
|
|
@@ -1195,6 +1195,13 @@ contract GenArt721CoreV3_Engine_Flex is
|
|
|
1195
1195
|
/**
|
|
1196
1196
|
* @notice Updates description of project `_projectId`.
|
|
1197
1197
|
* Only artist may call when unlocked, only admin may call when locked.
|
|
1198
|
+
* Note: The BytecodeStorage library is used to store the description to
|
|
1199
|
+
* reduce initial upload cost, however, even minor edits will require an
|
|
1200
|
+
* expensive, entirely new bytecode storage contract to be deployed instead
|
|
1201
|
+
* of relatively cheap updates to already-warm storage slots. This results
|
|
1202
|
+
* in an increased gas cost for minor edits to the description after the
|
|
1203
|
+
* initial upload, but an overall decrease in gas cost for projects with
|
|
1204
|
+
* less than ~3-5 edits (depending on the length of the description).
|
|
1198
1205
|
* @param _projectId Project ID.
|
|
1199
1206
|
* @param _projectDescription New project description.
|
|
1200
1207
|
*/
|
|
@@ -1214,7 +1221,10 @@ contract GenArt721CoreV3_Engine_Flex is
|
|
|
1214
1221
|
"Only artist when unlocked, owner when locked"
|
|
1215
1222
|
);
|
|
1216
1223
|
// effects
|
|
1217
|
-
|
|
1224
|
+
// store description in contract bytecode, replacing reference address from
|
|
1225
|
+
// the old storage description with the newly created one
|
|
1226
|
+
projects[_projectId].descriptionAddress = _projectDescription
|
|
1227
|
+
.writeToBytecode();
|
|
1218
1228
|
emit ProjectUpdated(_projectId, FIELD_PROJECT_DESCRIPTION);
|
|
1219
1229
|
}
|
|
1220
1230
|
|
|
@@ -1622,7 +1632,12 @@ contract GenArt721CoreV3_Engine_Flex is
|
|
|
1622
1632
|
Project storage project = projects[_projectId];
|
|
1623
1633
|
projectName = project.name;
|
|
1624
1634
|
artist = project.artist;
|
|
1625
|
-
|
|
1635
|
+
address projectDescriptionBytecodeAddress = project.descriptionAddress;
|
|
1636
|
+
if (projectDescriptionBytecodeAddress == address(0)) {
|
|
1637
|
+
description = "";
|
|
1638
|
+
} else {
|
|
1639
|
+
description = _readFromBytecode(projectDescriptionBytecodeAddress);
|
|
1640
|
+
}
|
|
1626
1641
|
website = project.website;
|
|
1627
1642
|
license = project.license;
|
|
1628
1643
|
}
|
|
@@ -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/
|
|
11
|
-
import "../../../interfaces/
|
|
6
|
+
import "../../../interfaces/v0.8.x/IRandomizerV2.sol";
|
|
7
|
+
import "../../../interfaces/v0.8.x/IAdminACLV0.sol";
|
|
8
|
+
import "../../../interfaces/v0.8.x/IEngineRegistryV0.sol";
|
|
9
|
+
import "../../../interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol";
|
|
10
|
+
import "../../../interfaces/v0.8.x/IDependencyRegistryCompatibleV0.sol";
|
|
11
|
+
import "../../../interfaces/v0.8.x/IManifold.sol";
|
|
12
12
|
|
|
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 Engine Flex ERC-721 core contract, V3.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
pragma solidity 0.8.19;
|
|
4
4
|
|
|
5
5
|
import "./interfaces/IAdminACLV0_PROHIBITION.sol";
|
|
6
|
-
import "../../../../interfaces/
|
|
6
|
+
import "../../../../interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol";
|
|
7
7
|
|
|
8
8
|
import "@openzeppelin-4.7/contracts/access/Ownable.sol";
|
|
9
9
|
import "@openzeppelin-4.7/contracts/utils/introspection/ERC165.sol";
|
|
@@ -6,15 +6,15 @@ pragma solidity 0.8.19;
|
|
|
6
6
|
import "./interfaces/IAdminACLV0_PROHIBITION.sol";
|
|
7
7
|
import "./interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol";
|
|
8
8
|
|
|
9
|
-
import "../../../../interfaces/
|
|
10
|
-
import "../../../../interfaces/
|
|
11
|
-
import "../../../../interfaces/
|
|
12
|
-
import "../../../../interfaces/
|
|
9
|
+
import "../../../../interfaces/v0.8.x/IRandomizerV2.sol";
|
|
10
|
+
import "../../../../interfaces/v0.8.x/IEngineRegistryV0.sol";
|
|
11
|
+
import "../../../../interfaces/v0.8.x/IDependencyRegistryCompatibleV0.sol";
|
|
12
|
+
import "../../../../interfaces/v0.8.x/IManifold.sol";
|
|
13
13
|
|
|
14
14
|
import "@openzeppelin-4.7/contracts/access/Ownable.sol";
|
|
15
|
-
import "../../../../libs/
|
|
16
|
-
import "../../../../libs/
|
|
17
|
-
import "../../../../libs/
|
|
15
|
+
import "../../../../libs/v0.8.x/ERC721_PackedHashSeed.sol";
|
|
16
|
+
import "../../../../libs/v0.8.x/BytecodeStorageV1.sol";
|
|
17
|
+
import "../../../../libs/v0.8.x/Bytes32Strings.sol";
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* @title Art Blocks Engine Flex ERC-721 core contract, V3.
|
|
@@ -919,7 +919,10 @@ contract GenArt721CoreV3_Engine_Flex_PROHIBITION is
|
|
|
919
919
|
uint256 _additionalPayeeSecondarySalesPercentage
|
|
920
920
|
) external {
|
|
921
921
|
_onlyValidProjectId(_projectId);
|
|
922
|
-
|
|
922
|
+
_onlyArtistOrAdminACL(
|
|
923
|
+
_projectId,
|
|
924
|
+
this.proposeArtistPaymentAddressesAndSplits.selector
|
|
925
|
+
);
|
|
923
926
|
_onlyNonZeroAddress(_artistAddress);
|
|
924
927
|
ProjectFinance storage projectFinance = projectIdToFinancials[
|
|
925
928
|
_projectId
|
|
@@ -1124,6 +1127,14 @@ contract GenArt721CoreV3_Engine_Flex_PROHIBITION is
|
|
|
1124
1127
|
_onlyNonEmptyString(_projectName);
|
|
1125
1128
|
_onlyNonZeroAddress(_artistAddress);
|
|
1126
1129
|
require(!newProjectsForbidden, "New projects forbidden");
|
|
1130
|
+
require(
|
|
1131
|
+
IAdminACLV0_PROHIBITION(address(adminACLContract)).allowed(
|
|
1132
|
+
msg.sender,
|
|
1133
|
+
address(this),
|
|
1134
|
+
this.addProject.selector
|
|
1135
|
+
),
|
|
1136
|
+
"Only Admin ACL allowed"
|
|
1137
|
+
);
|
|
1127
1138
|
uint256 projectId = _nextProjectId;
|
|
1128
1139
|
projectIdToFinancials[projectId].artistAddress = _artistAddress;
|
|
1129
1140
|
projects[projectId].name = _projectName;
|
|
@@ -2117,13 +2128,7 @@ contract GenArt721CoreV3_Engine_Flex_PROHIBITION is
|
|
|
2117
2128
|
bytes4 _selector
|
|
2118
2129
|
) public returns (bool) {
|
|
2119
2130
|
return
|
|
2120
|
-
|
|
2121
|
-
IAdminACLV0_PROHIBITION(address(adminACLContract)).allowed(
|
|
2122
|
-
_sender,
|
|
2123
|
-
_contract,
|
|
2124
|
-
_selector,
|
|
2125
|
-
type(uint256).max
|
|
2126
|
-
);
|
|
2131
|
+
adminACLAllowed(_sender, _contract, _selector, type(uint256).max);
|
|
2127
2132
|
}
|
|
2128
2133
|
|
|
2129
2134
|
/**
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
pragma solidity ^0.8.0;
|
|
5
5
|
|
|
6
6
|
import "./IAdminACLV0_PROHIBITION.sol";
|
|
7
|
-
import "../../../../../interfaces/
|
|
7
|
+
import "../../../../../interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @title This interface is intended to house interface items that are common
|
|
@@ -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
|
}
|
|
@@ -78,7 +78,7 @@ interface IDependencyRegistryV0 {
|
|
|
78
78
|
* @notice Returns address with bytecode containing script for
|
|
79
79
|
* dependency type `_dependencyTypes` at script index `_index`.
|
|
80
80
|
*/
|
|
81
|
-
function
|
|
81
|
+
function getDependencyScriptBytecodeAddress(
|
|
82
82
|
bytes32 _dependencyType,
|
|
83
83
|
uint256 _index
|
|
84
84
|
) external view returns (address);
|
|
@@ -88,7 +88,7 @@ interface IDependencyRegistryV0 {
|
|
|
88
88
|
* @param _dependencyType Dependency type to be queried.
|
|
89
89
|
* @param _index Index of script to be queried.
|
|
90
90
|
*/
|
|
91
|
-
function
|
|
91
|
+
function getDependencyScript(
|
|
92
92
|
bytes32 _dependencyType,
|
|
93
93
|
uint256 _index
|
|
94
94
|
) 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,6 +85,13 @@ 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
96
|
uint256 _projectId,
|
|
90
97
|
address _coreContract,
|
|
@@ -106,6 +113,16 @@ interface IMinterFilterV1 {
|
|
|
106
113
|
|
|
107
114
|
function updateCoreRegistry(address _coreRegistry) external;
|
|
108
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);
|
|
125
|
+
|
|
109
126
|
function minterFilterType() external pure returns (string memory);
|
|
110
127
|
|
|
111
128
|
function getMinterForProject(
|
|
@@ -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,37 @@
|
|
|
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
|
+
/// receipt has an updated state
|
|
9
|
+
event ReceiptUpdated(
|
|
10
|
+
address indexed _purchaser,
|
|
11
|
+
uint256 indexed _projectId,
|
|
12
|
+
address indexed _coreContract,
|
|
13
|
+
uint24 _numPurchased,
|
|
14
|
+
uint256 _netPosted
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
/// returns latest purchase price for project `_projectId`, or 0 if no
|
|
18
|
+
/// purchases have been made.
|
|
19
|
+
function getProjectLatestPurchasePrice(
|
|
20
|
+
uint256 _projectId,
|
|
21
|
+
address _coreContract
|
|
22
|
+
) external view returns (uint256 latestPurchasePrice);
|
|
23
|
+
|
|
24
|
+
/// returns the number of settleable invocations for project `_projectId`.
|
|
25
|
+
function getNumSettleableInvocations(
|
|
26
|
+
uint256 _projectId,
|
|
27
|
+
address _coreContract
|
|
28
|
+
) external view returns (uint256 numSettleableInvocations);
|
|
29
|
+
|
|
30
|
+
/// Returns the current excess settlement funds on project `_projectId`
|
|
31
|
+
/// for address `_walletAddress`.
|
|
32
|
+
function getProjectExcessSettlementFunds(
|
|
33
|
+
uint256 _projectId,
|
|
34
|
+
address _coreContract,
|
|
35
|
+
address _walletAddress
|
|
36
|
+
) external view returns (uint256 excessSettlementFundsInWei);
|
|
37
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
event SetAuctionDetailsExp(
|
|
8
|
+
uint256 indexed _projectId,
|
|
9
|
+
address indexed _coreContract,
|
|
10
|
+
uint40 _auctionTimestampStart,
|
|
11
|
+
uint40 _priceDecayHalfLifeSeconds,
|
|
12
|
+
uint256 _startPrice,
|
|
13
|
+
uint256 _basePrice
|
|
14
|
+
);
|
|
15
|
+
/// Minimum allowed price decay half life seconds updated.
|
|
16
|
+
event AuctionMinHalfLifeSecondsUpdated(
|
|
17
|
+
uint256 _minimumPriceDecayHalfLifeSeconds
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
function minimumPriceDecayHalfLifeSeconds() external view returns (uint256);
|
|
21
|
+
|
|
22
|
+
function setMinimumPriceDecayHalfLifeSeconds(
|
|
23
|
+
uint256 _minimumPriceDecayHalfLifeSeconds
|
|
24
|
+
) external;
|
|
25
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
event SetAuctionDetailsLin(
|
|
8
|
+
uint256 indexed _projectId,
|
|
9
|
+
address indexed _coreContract,
|
|
10
|
+
uint40 _auctionTimestampStart,
|
|
11
|
+
uint40 _auctionTimestampEnd,
|
|
12
|
+
uint256 _startPrice,
|
|
13
|
+
uint256 _basePrice
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
/// Minimum allowed auction length updated
|
|
17
|
+
event AuctionMinimumLengthSecondsUpdated(
|
|
18
|
+
uint256 _minimumAuctionLengthSeconds
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
function minimumAuctionLengthSeconds() external view returns (uint256);
|
|
22
|
+
|
|
23
|
+
function setMinimumAuctionLengthSeconds(
|
|
24
|
+
uint256 _minimumAuctionLengthSeconds
|
|
25
|
+
) external;
|
|
26
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
/// Auction details cleared for project `projectId`.
|
|
8
|
+
event ResetAuctionDetails(
|
|
9
|
+
uint256 indexed _projectId,
|
|
10
|
+
address indexed _coreContract
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
// @dev return variables left unnamed because specific minter
|
|
14
|
+
// implementations may return different values for the same slots
|
|
15
|
+
function projectAuctionParameters(
|
|
16
|
+
uint256 _projectId,
|
|
17
|
+
address _coreContract
|
|
18
|
+
) external view returns (uint40, uint40, uint256, uint256);
|
|
19
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
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
|
+
event DelegationRegistryUpdated(address delegationRegistry);
|
|
12
|
+
/**
|
|
13
|
+
* @notice Allow holders of NFTs at addresses `_ownedNFTAddresses`, project
|
|
14
|
+
* IDs `_ownedNFTProjectIds` to mint on project `_projectId`.
|
|
15
|
+
* `_ownedNFTAddresses` assumed to be aligned with `_ownedNFTProjectIds`.
|
|
16
|
+
* e.g. Allows holders of project `_ownedNFTProjectIds[0]` on token
|
|
17
|
+
* contract `_ownedNFTAddresses[0]` to mint.
|
|
18
|
+
*/
|
|
19
|
+
event AllowedHoldersOfProjects(
|
|
20
|
+
uint256 indexed _projectId,
|
|
21
|
+
address indexed _coreContract,
|
|
22
|
+
address[] _ownedNFTAddresses,
|
|
23
|
+
uint256[] _ownedNFTProjectIds
|
|
24
|
+
);
|
|
25
|
+
/**
|
|
26
|
+
* @notice Remove holders of NFTs at addresses `_ownedNFTAddresses`,
|
|
27
|
+
* project IDs `_ownedNFTProjectIds` to mint on project `_projectId`.
|
|
28
|
+
* `_ownedNFTAddresses` assumed to be aligned with `_ownedNFTProjectIds`.
|
|
29
|
+
* e.g. Removes holders of project `_ownedNFTProjectIds[0]` on token
|
|
30
|
+
* contract `_ownedNFTAddresses[0]` from mint allowlist.
|
|
31
|
+
*/
|
|
32
|
+
event RemovedHoldersOfProjects(
|
|
33
|
+
uint256 indexed _projectId,
|
|
34
|
+
address indexed _coreContract,
|
|
35
|
+
address[] _ownedNFTAddresses,
|
|
36
|
+
uint256[] _ownedNFTProjectIds
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
// Triggers a purchase of a token from the desired project, to the
|
|
40
|
+
// TX-sending address, using owned ERC-721 NFT to claim right to purchase.
|
|
41
|
+
function purchase(
|
|
42
|
+
uint256 _projectId,
|
|
43
|
+
address _coreContract,
|
|
44
|
+
address _ownedNFTAddress,
|
|
45
|
+
uint256 _ownedNFTTokenId
|
|
46
|
+
) external payable returns (uint256 tokenId);
|
|
47
|
+
|
|
48
|
+
// Triggers a purchase of a token from the desired project, to the specified
|
|
49
|
+
// receiving address, using owned ERC-721 NFT to claim right to purchase.
|
|
50
|
+
function purchaseTo(
|
|
51
|
+
address _to,
|
|
52
|
+
uint256 _projectId,
|
|
53
|
+
address _coreContract,
|
|
54
|
+
address _ownedNFTAddress,
|
|
55
|
+
uint256 _ownedNFTTokenId
|
|
56
|
+
) external payable returns (uint256 tokenId);
|
|
57
|
+
|
|
58
|
+
// Triggers a purchase of a token from the desired project, on behalf of
|
|
59
|
+
// the provided vault, to the specified receiving address, using owned
|
|
60
|
+
// ERC-721 NFT to claim right to purchase.
|
|
61
|
+
function purchaseTo(
|
|
62
|
+
address _to,
|
|
63
|
+
uint256 _projectId,
|
|
64
|
+
address _coreContract,
|
|
65
|
+
address _ownedNFTAddress,
|
|
66
|
+
uint256 _ownedNFTTokenId,
|
|
67
|
+
address _vault
|
|
68
|
+
) external payable returns (uint256 tokenId);
|
|
69
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
/**
|
|
12
|
+
* @notice Notifies of the contract's default maximum mints allowed per
|
|
13
|
+
* user for a given project, on this minter. This value can be overridden
|
|
14
|
+
* by the artist of any project at any time.
|
|
15
|
+
*/
|
|
16
|
+
event DefaultMaxInvocationsPerAddress(
|
|
17
|
+
uint256 defaultMaxInvocationsPerAddress
|
|
18
|
+
);
|
|
19
|
+
event DelegationRegistryUpdated(address delegationRegistry);
|
|
20
|
+
|
|
21
|
+
// Triggers a purchase of a token from the desired project, to the
|
|
22
|
+
// TX-sending address. Requires Merkle proof.
|
|
23
|
+
function purchase(
|
|
24
|
+
uint256 _projectId,
|
|
25
|
+
address _coreContract,
|
|
26
|
+
bytes32[] calldata _proof
|
|
27
|
+
) external payable returns (uint256 tokenId);
|
|
28
|
+
|
|
29
|
+
// Triggers a purchase of a token from the desired project, to the specified
|
|
30
|
+
// receiving address. Requires Merkle proof.
|
|
31
|
+
function purchaseTo(
|
|
32
|
+
address _to,
|
|
33
|
+
uint256 _projectId,
|
|
34
|
+
address _coreContract,
|
|
35
|
+
bytes32[] calldata _proof
|
|
36
|
+
) external payable returns (uint256 tokenId);
|
|
37
|
+
|
|
38
|
+
// Updates the Merkle root for the desired project.
|
|
39
|
+
function updateMerkleRoot(
|
|
40
|
+
uint256 _projectId,
|
|
41
|
+
address _coreContract,
|
|
42
|
+
bytes32 _root
|
|
43
|
+
) external;
|
|
44
|
+
}
|