@artblocks/contracts 1.1.0 → 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 +273 -155
- 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/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExpSettlement}/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +3 -3
- 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 +567 -206
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +787 -224
- package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +38 -8
- 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 +38 -8
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +36 -68
- 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/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +58 -45
- 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/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +1 -1
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +18 -0
- 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 +1 -1
- 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 +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DALib.sol/DALib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol/GenericMinterEventsLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +2 -2
- 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 +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.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 +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterRAMV0.sol/MinterRAMV0.json +1374 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +7 -7
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +2 -2
- 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 +2 -2
- 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/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 +2 -2
- package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyMerkleMockShared.sol/ReentrancyMerkleMockShared.json +2 -2
- package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyMockShared.sol/ReentrancyMockShared.json +2 -2
- package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancySEAMockShared.sol/ReentrancySEAAutoBidderMockShared.json +2 -2
- 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 +2 -2
- 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 +687 -408
- 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 +8 -8
- 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 +894 -488
- package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +1054 -650
- package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +3 -3
- package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +1 -1
- package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +2 -2
- 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/IDependencyRegistryV0.sol +47 -45
- 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/IPseudorandomAtomic.sol +1 -3
- package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +19 -0
- 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 -4
- package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +12 -6
- 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 +18 -4
- 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/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 +10 -12
- package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +4 -9
- package/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol +44 -44
- package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +64 -63
- package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +14 -10
- package/contracts/libs/v0.8.x/minter-libs/RAMLib.sol +2927 -0
- package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +60 -62
- package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +4 -8
- package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +92 -89
- package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +21 -15
- package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +5 -4
- package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +16 -10
- package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +2 -2
- package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +19 -15
- package/contracts/minter-suite/Minters/MinterDAExpV5.sol +2 -2
- package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +2 -2
- package/contracts/minter-suite/Minters/MinterDALinV5.sol +2 -2
- package/contracts/minter-suite/Minters/MinterRAMV0.sol +1205 -0
- package/contracts/minter-suite/Minters/MinterSEAV1.sol +21 -32
- package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +17 -8
- package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +2 -2
- package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +2 -2
- package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +23 -9
- package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +2 -2
- package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +2 -2
- 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/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/ReentrancySplitterMocks.sol +67 -0
- package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +1 -1
- package/contracts/randomizer/shared/SharedRandomizerV0.sol +1 -1
- 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 +62 -34
- 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/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/archive/readme.md +0 -16
- package/contracts/engine/README.md +0 -21
- package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +0 -168
- package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +0 -221
|
@@ -5,7 +5,7 @@ pragma solidity 0.8.19;
|
|
|
5
5
|
|
|
6
6
|
import "../../../interfaces/v0.8.x/IRandomizerV2.sol";
|
|
7
7
|
import "../../../interfaces/v0.8.x/IAdminACLV0.sol";
|
|
8
|
-
import "../../../interfaces/v0.8.x/
|
|
8
|
+
import "../../../interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol";
|
|
9
9
|
import "../../../interfaces/v0.8.x/IDependencyRegistryCompatibleV0.sol";
|
|
10
10
|
import "../../../interfaces/v0.8.x/IManifold.sol";
|
|
11
11
|
|
|
@@ -43,7 +43,7 @@ import "../../../libs/v0.8.x/Bytes32Strings.sol";
|
|
|
43
43
|
* - updateIPFSGateway
|
|
44
44
|
* - updateArweaveGateway
|
|
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
|
|
@@ -104,7 +104,7 @@ contract GenArt721CoreV3_Engine_Flex_PROOF is
|
|
|
104
104
|
Ownable,
|
|
105
105
|
IDependencyRegistryCompatibleV0,
|
|
106
106
|
IManifold,
|
|
107
|
-
|
|
107
|
+
IGenArt721CoreContractV3_Engine_Flex_PreV3p2
|
|
108
108
|
{
|
|
109
109
|
using BytecodeStorageWriter for string;
|
|
110
110
|
using Bytes32Strings for bytes32;
|
|
@@ -44,7 +44,7 @@ import "../../../../libs/v0.8.x/Bytes32Strings.sol";
|
|
|
44
44
|
* - updateIPFSGateway
|
|
45
45
|
* - updateArweaveGateway
|
|
46
46
|
* ----------------------------------------------------------------------------
|
|
47
|
-
* The following functions are restricted to either the
|
|
47
|
+
* The following functions are restricted to either the Artist address or
|
|
48
48
|
* the Admin ACL contract, only when the project is not locked:
|
|
49
49
|
* - updateProjectName
|
|
50
50
|
* - updateProjectArtistName
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
pragma solidity ^0.8.0;
|
|
5
5
|
|
|
6
6
|
import "./IAdminACLV0_PROHIBITION.sol";
|
|
7
|
-
import "../../../../../interfaces/v0.8.x/
|
|
7
|
+
import "../../../../../interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @title This interface is intended to house interface items that are common
|
|
@@ -12,7 +12,7 @@ import "../../../../../interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.so
|
|
|
12
12
|
* @author Art Blocks Inc.
|
|
13
13
|
*/
|
|
14
14
|
interface IGenArt721CoreContractV3_Engine_Flex_PROHIBITION is
|
|
15
|
-
|
|
15
|
+
IGenArt721CoreContractV3_Engine_Flex_PreV3p2
|
|
16
16
|
{
|
|
17
17
|
/**
|
|
18
18
|
* Function determining if _sender is allowed to call function with
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
import "./IAdminACLV0.sol";
|
|
7
|
+
|
|
8
|
+
interface IAdminACLV0_Extended is IAdminACLV0 {
|
|
9
|
+
/**
|
|
10
|
+
* @notice Allows superAdmin change the superAdmin address.
|
|
11
|
+
* @param _newSuperAdmin The new superAdmin address.
|
|
12
|
+
* @param _genArt721CoreAddressesToUpdate Array of genArt721Core
|
|
13
|
+
* addresses to update to the new superAdmin, for indexing purposes only.
|
|
14
|
+
* @dev this function is gated to only superAdmin address.
|
|
15
|
+
*/
|
|
16
|
+
function changeSuperAdmin(
|
|
17
|
+
address _newSuperAdmin,
|
|
18
|
+
address[] calldata _genArt721CoreAddressesToUpdate
|
|
19
|
+
) external;
|
|
20
|
+
}
|
|
@@ -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
|
+
import {IBytecodeStorageReader} from "./IBytecodeStorageReader.sol";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @title Art Blocks Script Storage Library (Reader)
|
|
10
|
+
* @notice This interface defines the expected read functions for the Art Blocks Script Storage Library (Reader).
|
|
11
|
+
* @dev This interface extends the V1 interface to add a function to get if data are stored in compressed format,
|
|
12
|
+
* which is functionality added in the V2 format of the bytecode storage.
|
|
13
|
+
*/
|
|
14
|
+
interface IBytecodeStorageReaderV2 is IBytecodeStorageReader {
|
|
15
|
+
/**
|
|
16
|
+
* @notice Get if data are stored in compressed format for given contract bytecode
|
|
17
|
+
* @param _address address of deployed contract with bytecode stored in the V0, V1, or V2 format
|
|
18
|
+
* @return isCompressed boolean indicating if the stored data are compressed
|
|
19
|
+
*/
|
|
20
|
+
function getIsCompressedForBytecode(
|
|
21
|
+
address _address
|
|
22
|
+
) external view returns (bool);
|
|
23
|
+
}
|
|
@@ -3,96 +3,98 @@
|
|
|
3
3
|
pragma solidity ^0.8.19;
|
|
4
4
|
|
|
5
5
|
interface IDependencyRegistryV0 {
|
|
6
|
-
event SupportedCoreContractAdded(address indexed
|
|
6
|
+
event SupportedCoreContractAdded(address indexed coreContractAddress);
|
|
7
7
|
|
|
8
|
-
event SupportedCoreContractRemoved(address indexed
|
|
8
|
+
event SupportedCoreContractRemoved(address indexed coreContractAddress);
|
|
9
9
|
|
|
10
|
-
event
|
|
11
|
-
address indexed
|
|
12
|
-
uint256 indexed
|
|
13
|
-
bytes32
|
|
10
|
+
event ProjectDependencyOverrideAdded(
|
|
11
|
+
address indexed coreContractAddress,
|
|
12
|
+
uint256 indexed projectId,
|
|
13
|
+
bytes32 dependencyNameAndVersion
|
|
14
14
|
);
|
|
15
15
|
|
|
16
|
-
event
|
|
17
|
-
address indexed
|
|
18
|
-
uint256 indexed
|
|
16
|
+
event ProjectDependencyOverrideRemoved(
|
|
17
|
+
address indexed coreContractAddress,
|
|
18
|
+
uint256 indexed projectId
|
|
19
19
|
);
|
|
20
20
|
|
|
21
|
-
event LicenseTypeAdded(bytes32 indexed
|
|
21
|
+
event LicenseTypeAdded(bytes32 indexed licenseType);
|
|
22
|
+
|
|
23
|
+
event LicenseTextUpdated(bytes32 indexed licenseType);
|
|
22
24
|
|
|
23
25
|
event DependencyAdded(
|
|
24
|
-
bytes32 indexed
|
|
25
|
-
bytes32 indexed
|
|
26
|
-
string
|
|
27
|
-
string
|
|
28
|
-
string
|
|
26
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
27
|
+
bytes32 indexed licenseType,
|
|
28
|
+
string preferredCDN,
|
|
29
|
+
string preferredRepository,
|
|
30
|
+
string website
|
|
29
31
|
);
|
|
30
32
|
|
|
31
|
-
event DependencyRemoved(bytes32 indexed
|
|
33
|
+
event DependencyRemoved(bytes32 indexed dependencyNameAndVersion);
|
|
32
34
|
|
|
33
|
-
event
|
|
34
|
-
bytes32 indexed
|
|
35
|
-
string
|
|
35
|
+
event DependencyWebsiteUpdated(
|
|
36
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
37
|
+
string website
|
|
36
38
|
);
|
|
37
39
|
|
|
38
40
|
event DependencyPreferredCDNUpdated(
|
|
39
|
-
bytes32 indexed
|
|
40
|
-
string
|
|
41
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
42
|
+
string preferredCDN
|
|
41
43
|
);
|
|
42
44
|
|
|
43
45
|
event DependencyPreferredRepositoryUpdated(
|
|
44
|
-
bytes32 indexed
|
|
45
|
-
string
|
|
46
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
47
|
+
string preferredRepository
|
|
46
48
|
);
|
|
47
49
|
|
|
48
50
|
event DependencyAdditionalCDNUpdated(
|
|
49
|
-
bytes32 indexed
|
|
50
|
-
string
|
|
51
|
-
uint256
|
|
51
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
52
|
+
string additionalCDN,
|
|
53
|
+
uint256 additionalCDNIndex
|
|
52
54
|
);
|
|
53
55
|
|
|
54
56
|
event DependencyAdditionalCDNRemoved(
|
|
55
|
-
bytes32 indexed
|
|
56
|
-
uint256 indexed
|
|
57
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
58
|
+
uint256 indexed additionalCDNIndex
|
|
57
59
|
);
|
|
58
60
|
|
|
59
61
|
event DependencyAdditionalRepositoryUpdated(
|
|
60
|
-
bytes32 indexed
|
|
61
|
-
string
|
|
62
|
-
uint256
|
|
62
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
63
|
+
string additionalRepository,
|
|
64
|
+
uint256 additionalRepositoryIndex
|
|
63
65
|
);
|
|
64
66
|
|
|
65
67
|
event DependencyAdditionalRepositoryRemoved(
|
|
66
|
-
bytes32 indexed
|
|
67
|
-
uint256 indexed
|
|
68
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
69
|
+
uint256 indexed additionalRepositoryIndex
|
|
68
70
|
);
|
|
69
71
|
|
|
70
|
-
event DependencyScriptUpdated(bytes32 indexed
|
|
72
|
+
event DependencyScriptUpdated(bytes32 indexed dependencyNameAndVersion);
|
|
71
73
|
|
|
72
74
|
/**
|
|
73
|
-
* @notice Returns the count of scripts for dependency `
|
|
74
|
-
* @param
|
|
75
|
+
* @notice Returns the count of scripts for dependency `dependencyNameAndVersion`.
|
|
76
|
+
* @param dependencyNameAndVersion Dependency type to be queried.
|
|
75
77
|
*/
|
|
76
78
|
function getDependencyScriptCount(
|
|
77
|
-
bytes32
|
|
79
|
+
bytes32 dependencyNameAndVersion
|
|
78
80
|
) external view returns (uint256);
|
|
79
81
|
|
|
80
82
|
/**
|
|
81
83
|
* @notice Returns address with bytecode containing script for
|
|
82
|
-
* dependency type `
|
|
84
|
+
* dependency type `dependencyNameAndVersions` at script index `index`.
|
|
83
85
|
*/
|
|
84
86
|
function getDependencyScriptBytecodeAddress(
|
|
85
|
-
bytes32
|
|
86
|
-
uint256
|
|
87
|
+
bytes32 dependencyNameAndVersion,
|
|
88
|
+
uint256 index
|
|
87
89
|
) external view returns (address);
|
|
88
90
|
|
|
89
91
|
/**
|
|
90
|
-
* @notice Returns script for dependency type `
|
|
91
|
-
* @param
|
|
92
|
-
* @param
|
|
92
|
+
* @notice Returns script for dependency type `dependencyNameAndVersion` at script index `index`.
|
|
93
|
+
* @param dependencyNameAndVersion Dependency type to be queried.
|
|
94
|
+
* @param index Index of script to be queried.
|
|
93
95
|
*/
|
|
94
96
|
function getDependencyScript(
|
|
95
|
-
bytes32
|
|
96
|
-
uint256
|
|
97
|
+
bytes32 dependencyNameAndVersion,
|
|
98
|
+
uint256 index
|
|
97
99
|
) external view returns (string memory);
|
|
98
100
|
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Creatd By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
import {EngineConfiguration} from "./IGenArt721CoreContractV3_Engine.sol";
|
|
7
|
+
|
|
8
|
+
interface IEngineFactoryV0 {
|
|
9
|
+
/// @notice Engine Core type
|
|
10
|
+
enum EngineCoreType {
|
|
11
|
+
Engine, // GenArt721CoreV3_Engine Contract
|
|
12
|
+
EngineFlex // GenArt721CoreV3_Engine_Flex Contract
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* @notice This contract was deployed.
|
|
16
|
+
* @param engineImplementation address with the implementation of the Engine contract
|
|
17
|
+
* @param engineFlexImplementation address with the implementation of the Engine Flex contract
|
|
18
|
+
* @param type_ type of this contract
|
|
19
|
+
*/
|
|
20
|
+
event Deployed(
|
|
21
|
+
address indexed engineImplementation,
|
|
22
|
+
address indexed engineFlexImplementation,
|
|
23
|
+
bytes32 indexed type_
|
|
24
|
+
);
|
|
25
|
+
/**
|
|
26
|
+
* @notice New Engine or Engine Flex contract was created.
|
|
27
|
+
* @param engineContract address of the newly created Engine contract
|
|
28
|
+
*/
|
|
29
|
+
event EngineContractCreated(address indexed engineContract);
|
|
30
|
+
/**
|
|
31
|
+
* @notice This contract was abandoned and no longer can be used to create
|
|
32
|
+
* new Engine or Engine Flex contracts.
|
|
33
|
+
*/
|
|
34
|
+
event Abandoned();
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @notice Creates a new Engine or Engine Flex contract with the provided
|
|
38
|
+
* `engineConfiguration`, depending on the `engineCoreContractType`.
|
|
39
|
+
* @param engineCoreContractType Type of Engine Core contract.
|
|
40
|
+
* @param engineConfiguration EngineConfiguration data to configure the
|
|
41
|
+
* contract with.
|
|
42
|
+
* @param adminACLContract Address of admin access control contract, to be
|
|
43
|
+
* set as contract owner. A new contract will be deployed if address is null.
|
|
44
|
+
* @param salt Salt used to deterministically deploy the clone.
|
|
45
|
+
* @return engineContract The address of the newly created Engine or Engine Flex
|
|
46
|
+
* contract. The address is also emitted in both the `EngineCreated` and
|
|
47
|
+
* `EngineFlexCreated` events.
|
|
48
|
+
*/
|
|
49
|
+
function createEngineContract(
|
|
50
|
+
EngineCoreType engineCoreContractType,
|
|
51
|
+
EngineConfiguration calldata engineConfiguration,
|
|
52
|
+
address adminACLContract,
|
|
53
|
+
bytes32 salt
|
|
54
|
+
) external returns (address engineContract);
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* @notice Drains the contract's balance to the `recipient`.
|
|
58
|
+
* @param recipient The address to send funds to.
|
|
59
|
+
* Only callable by the owner.
|
|
60
|
+
*/
|
|
61
|
+
function drainETH(address payable recipient) external;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @notice Drains the contract's balance of an input ERC20 token to
|
|
65
|
+
* the `recipient`.
|
|
66
|
+
* @param ERC20TokenAddress The address of the ERC20 token to withdraw.
|
|
67
|
+
* @param recipient The address to send ERC20 tokens to.
|
|
68
|
+
* Only callable by the owner.
|
|
69
|
+
*/
|
|
70
|
+
function drainERC20(address ERC20TokenAddress, address recipient) external;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* @notice Calls transferOwnership on the core registry.
|
|
74
|
+
* Useful for updating the owner of the core registry contract.
|
|
75
|
+
* @param _owner address of the new owner
|
|
76
|
+
*/
|
|
77
|
+
function transferCoreRegistryOwnership(address _owner) external;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* @notice Registers multiple contracts with the core registry.
|
|
81
|
+
* @param contractAddresses An array of contract addresses to register.
|
|
82
|
+
* @param coreVersions An array of versions corresponding to the contract addresses.
|
|
83
|
+
* @param coreTypes An array of types corresponding to the contract addresses.
|
|
84
|
+
*/
|
|
85
|
+
function registerMultipleContracts(
|
|
86
|
+
address[] calldata contractAddresses,
|
|
87
|
+
bytes32[] calldata coreVersions,
|
|
88
|
+
bytes32[] calldata coreTypes
|
|
89
|
+
) external;
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* @notice Unregisters multiple contracts from the core registry.
|
|
93
|
+
* @param contractAddresses An array of contract addresses to unregister.
|
|
94
|
+
*/
|
|
95
|
+
function unregisterMultipleContracts(
|
|
96
|
+
address[] calldata contractAddresses
|
|
97
|
+
) external;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* @notice The implementation contract that is cloned when creating new
|
|
101
|
+
* Engine Core contracts.
|
|
102
|
+
*/
|
|
103
|
+
function engineImplementation() external view returns (address);
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* @notice The implementation contract that is cloned when creating new
|
|
107
|
+
* Engine Flex Core contracts.
|
|
108
|
+
*/
|
|
109
|
+
function engineFlexImplementation() external view returns (address);
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* @notice Indicates whether the contract is abandoned.
|
|
113
|
+
* Once abandoned, the contract can no longer be used to create new Engine
|
|
114
|
+
* or Engine Flex contracts.
|
|
115
|
+
* @return bool True if the contract is abandoned, false otherwise.
|
|
116
|
+
*/
|
|
117
|
+
function isAbandoned() external view returns (bool);
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* @notice Indicates the type of the contract, e.g. `EngineFactoryV0`.
|
|
121
|
+
* @return type_ The type of the contract.
|
|
122
|
+
*/
|
|
123
|
+
function type_() external pure returns (bytes32);
|
|
124
|
+
}
|
|
@@ -11,6 +11,4 @@ pragma solidity ^0.8.0;
|
|
|
11
11
|
* add support for manually setting project max invocations.
|
|
12
12
|
* @author Art Blocks Inc.
|
|
13
13
|
*/
|
|
14
|
-
interface IFilteredMinterDAExpV1 is IFilteredMinterDAExpV0, IFilteredMinterV2 {
|
|
15
|
-
|
|
16
|
-
}
|
|
14
|
+
interface IFilteredMinterDAExpV1 is IFilteredMinterDAExpV0, IFilteredMinterV2 {}
|
|
@@ -11,6 +11,4 @@ pragma solidity ^0.8.0;
|
|
|
11
11
|
* add support for manually setting project max invocations.
|
|
12
12
|
* @author Art Blocks Inc.
|
|
13
13
|
*/
|
|
14
|
-
interface IFilteredMinterDALinV1 is IFilteredMinterDALinV0, IFilteredMinterV2 {
|
|
15
|
-
|
|
16
|
-
}
|
|
14
|
+
interface IFilteredMinterDALinV1 is IFilteredMinterDALinV0, IFilteredMinterV2 {}
|
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
pragma solidity ^0.8.0;
|
|
5
5
|
|
|
6
6
|
import "./IAdminACLV0.sol";
|
|
7
|
-
/// use the Royalty Registry's IManifold interface for token royalties
|
|
8
|
-
import "./IManifold.sol";
|
|
9
7
|
|
|
10
8
|
/**
|
|
11
9
|
* @title This interface is intended to house interface items that are common
|
|
@@ -14,7 +12,121 @@ import "./IManifold.sol";
|
|
|
14
12
|
* add support the Royalty Registry by default.
|
|
15
13
|
* @author Art Blocks Inc.
|
|
16
14
|
*/
|
|
17
|
-
interface IGenArt721CoreContractV3_Base
|
|
15
|
+
interface IGenArt721CoreContractV3_Base {
|
|
16
|
+
// This interface emits generic events that contain fields that indicate
|
|
17
|
+
// which parameter has been updated. This is sufficient for application
|
|
18
|
+
// state management, while also simplifying the contract and indexing code.
|
|
19
|
+
// This was done as an alternative to having custom events that emit what
|
|
20
|
+
// field-values have changed for each event, given that changed values can
|
|
21
|
+
// be introspected by indexers due to the design of this smart contract
|
|
22
|
+
// exposing these state changes via publicly viewable fields.
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @notice Project's royalty splitter was updated to `_splitter`.
|
|
26
|
+
* @dev New event in v3.2
|
|
27
|
+
* @param projectId The project ID.
|
|
28
|
+
* @param royaltySplitter The new splitter address to receive royalties.
|
|
29
|
+
*/
|
|
30
|
+
event ProjectRoyaltySplitterUpdated(
|
|
31
|
+
uint256 indexed projectId,
|
|
32
|
+
address indexed royaltySplitter
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
// The following fields are used to indicate which contract-level parameter
|
|
36
|
+
// has been updated in the `PlatformUpdated` event:
|
|
37
|
+
// @dev only append to the end of this enum in the case of future updates
|
|
38
|
+
enum PlatformUpdatedFields {
|
|
39
|
+
FIELD_NEXT_PROJECT_ID, // 0
|
|
40
|
+
FIELD_NEW_PROJECTS_FORBIDDEN, // 1
|
|
41
|
+
FIELD_DEFAULT_BASE_URI, // 2
|
|
42
|
+
FIELD_RANDOMIZER_ADDRESS, // 3
|
|
43
|
+
FIELD_NEXT_CORE_CONTRACT, // 4
|
|
44
|
+
FIELD_ARTBLOCKS_DEPENDENCY_REGISTRY_ADDRESS, // 5
|
|
45
|
+
FIELD_ARTBLOCKS_ON_CHAIN_GENERATOR_ADDRESS, // 6
|
|
46
|
+
FIELD_PROVIDER_SALES_ADDRESSES, // 7
|
|
47
|
+
FIELD_PROVIDER_PRIMARY_SALES_PERCENTAGES, // 8
|
|
48
|
+
FIELD_PROVIDER_SECONDARY_SALES_BPS, // 9
|
|
49
|
+
FIELD_SPLIT_PROVIDER // 10
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// The following fields are used to indicate which project-level parameter
|
|
53
|
+
// has been updated in the `ProjectUpdated` event:
|
|
54
|
+
// @dev only append to the end of this enum in the case of future updates
|
|
55
|
+
enum ProjectUpdatedFields {
|
|
56
|
+
FIELD_PROJECT_COMPLETED, // 0
|
|
57
|
+
FIELD_PROJECT_ACTIVE, // 1
|
|
58
|
+
FIELD_PROJECT_ARTIST_ADDRESS, // 2
|
|
59
|
+
FIELD_PROJECT_PAUSED, // 3
|
|
60
|
+
FIELD_PROJECT_CREATED, // 4
|
|
61
|
+
FIELD_PROJECT_NAME, // 5
|
|
62
|
+
FIELD_PROJECT_ARTIST_NAME, // 6
|
|
63
|
+
FIELD_PROJECT_SECONDARY_MARKET_ROYALTY_PERCENTAGE, // 7
|
|
64
|
+
FIELD_PROJECT_DESCRIPTION, // 8
|
|
65
|
+
FIELD_PROJECT_WEBSITE, // 9
|
|
66
|
+
FIELD_PROJECT_LICENSE, // 10
|
|
67
|
+
FIELD_PROJECT_MAX_INVOCATIONS, // 11
|
|
68
|
+
FIELD_PROJECT_SCRIPT, // 12
|
|
69
|
+
FIELD_PROJECT_SCRIPT_TYPE, // 13
|
|
70
|
+
FIELD_PROJECT_ASPECT_RATIO, // 14
|
|
71
|
+
FIELD_PROJECT_BASE_URI, // 15
|
|
72
|
+
FIELD_PROJECT_PROVIDER_SECONDARY_FINANCIALS // 16
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* @notice Error codes for the GenArt721 contract. Used by the GenArt721Error
|
|
77
|
+
* custom error.
|
|
78
|
+
* @dev only append to the end of this enum in the case of future updates
|
|
79
|
+
*/
|
|
80
|
+
enum ErrorCodes {
|
|
81
|
+
OnlyNonZeroAddress, // 0
|
|
82
|
+
OnlyNonEmptyString, // 1
|
|
83
|
+
OnlyNonEmptyBytes, // 2
|
|
84
|
+
TokenDoesNotExist, // 3
|
|
85
|
+
ProjectDoesNotExist, // 4
|
|
86
|
+
OnlyUnlockedProjects, // 5
|
|
87
|
+
OnlyAdminACL, // 6
|
|
88
|
+
OnlyArtist, // 7
|
|
89
|
+
OnlyArtistOrAdminACL, // 8
|
|
90
|
+
OnlyAdminACLOrRenouncedArtist, // 9
|
|
91
|
+
OnlyMinterContract, // 10
|
|
92
|
+
MaxInvocationsReached, // 11
|
|
93
|
+
ProjectMustExistAndBeActive, // 12
|
|
94
|
+
PurchasesPaused, // 13
|
|
95
|
+
OnlyRandomizer, // 14
|
|
96
|
+
TokenHashAlreadySet, // 15
|
|
97
|
+
NoZeroHashSeed, // 16
|
|
98
|
+
OverMaxSumOfPercentages, // 17
|
|
99
|
+
IndexOutOfBounds, // 18
|
|
100
|
+
OverMaxSumOfBPS, // 19
|
|
101
|
+
MaxOf100Percent, // 20
|
|
102
|
+
PrimaryPayeeIsZeroAddress, // 21
|
|
103
|
+
SecondaryPayeeIsZeroAddress, // 22
|
|
104
|
+
MustMatchArtistProposal, // 23
|
|
105
|
+
NewProjectsForbidden, // 24
|
|
106
|
+
NewProjectsAlreadyForbidden, // 25
|
|
107
|
+
OnlyArtistOrAdminIfLocked, // 26
|
|
108
|
+
OverMaxSecondaryRoyaltyPercentage, // 27
|
|
109
|
+
OnlyMaxInvocationsDecrease, // 28
|
|
110
|
+
OnlyGteInvocations, // 29
|
|
111
|
+
ScriptIdOutOfRange, // 30
|
|
112
|
+
NoScriptsToRemove, // 31
|
|
113
|
+
ScriptTypeAndVersionFormat, // 32
|
|
114
|
+
AspectRatioTooLong, // 33
|
|
115
|
+
AspectRatioNoNumbers, // 34
|
|
116
|
+
AspectRatioImproperFormat, // 35
|
|
117
|
+
OnlyNullPlatformProvider, // 36
|
|
118
|
+
ContractInitialized // 37
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* @notice Emits an error code `_errorCode` in the GenArt721Error event.
|
|
123
|
+
* @dev Emitting error codes instead of error strings saves significant
|
|
124
|
+
* contract bytecode size, allowing for more contract functionality within
|
|
125
|
+
* the 24KB contract size limit.
|
|
126
|
+
* @param _errorCode The error code to emit. See ErrorCodes enum.
|
|
127
|
+
*/
|
|
128
|
+
error GenArt721Error(ErrorCodes _errorCode);
|
|
129
|
+
|
|
18
130
|
/**
|
|
19
131
|
* @notice Token ID `_tokenId` minted to `_to`.
|
|
20
132
|
*/
|
|
@@ -95,14 +207,6 @@ interface IGenArt721CoreContractV3_Base is IManifold {
|
|
|
95
207
|
uint256 _projectId
|
|
96
208
|
) external view returns (address payable);
|
|
97
209
|
|
|
98
|
-
function projectIdToAdditionalPayeePrimarySales(
|
|
99
|
-
uint256 _projectId
|
|
100
|
-
) external view returns (address payable);
|
|
101
|
-
|
|
102
|
-
function projectIdToAdditionalPayeePrimarySalesPercentage(
|
|
103
|
-
uint256 _projectId
|
|
104
|
-
) external view returns (uint256);
|
|
105
|
-
|
|
106
210
|
function projectIdToSecondaryMarketRoyaltyPercentage(
|
|
107
211
|
uint256 _projectId
|
|
108
212
|
) external view returns (uint256);
|