@artblocks/contracts 1.0.4 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -7
- package/artifacts/contracts/AdminACLV0.sol/AdminACLV0.json +2 -2
- package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
- package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +336 -131
- package/artifacts/contracts/archive/GenArt721CoreV3.sol/GenArt721CoreV3.json +2047 -0
- package/artifacts/contracts/archive/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +2021 -0
- package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterBase_v0_1_1.sol/MinterBase.json +1 -1
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExp}/MinterDAExpV4.sol/MinterDAExpV4.json +3 -3
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +1109 -0
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDALin}/MinterDALinV4.sol/MinterDALinV4.json +3 -3
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterHolder}/MinterHolderV4.sol/MinterHolderV4.json +3 -3
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterMerkle}/MinterMerkleV5.sol/MinterMerkleV5.json +3 -3
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +31 -63
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol/MinterPolyptychV0.json +3 -3
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSEA}/MinterSEAV0.sol/MinterSEAV0.json +3 -3
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV4.sol/MinterSetPriceV4.json +3 -3
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +65 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +65 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +807 -0
- package/artifacts/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol/GenArt721MinterBurner_PBAB.json +65 -2
- package/artifacts/contracts/engine/V2/GenArt721Minter_PBAB.sol/GenArt721Minter_PBAB.json +65 -2
- package/artifacts/contracts/engine/V3/EngineFactoryV0.sol/EngineFactoryV0.json +606 -0
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +565 -209
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +785 -227
- package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +40 -15
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +2 -2
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +40 -15
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +36 -68
- package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +12 -12
- package/artifacts/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol/IAdminACLV0_Extended.json +140 -0
- package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol/IBytecodeStorageReaderV2.json +130 -0
- package/artifacts/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +6 -6
- package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +71 -39
- package/artifacts/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol/IEngineFactoryV0.json +283 -0
- package/artifacts/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +12 -12
- package/artifacts/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +12 -12
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +30 -62
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +30 -62
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +170 -104
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +170 -104
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.json +1028 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol/IGenArt721CoreContractV3_Engine_PreV3p2.json +741 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol/IGenArt721CoreContractV3_ProjectFinance.json +87 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol/IGenArt721Minter_PBAB.json +279 -0
- package/artifacts/contracts/interfaces/v0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +22 -22
- package/artifacts/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +1 -1
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +26 -101
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol/ISharedMinterDAExpV0.json +1 -57
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol/ISharedMinterDALinV0.json +1 -57
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol/ISharedMinterDAV0.json +2 -21
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol/ISharedMinterHolderERC20V0.json +158 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol/ISharedMinterHolderV0.json +15 -90
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol/ISharedMinterMerkleV0.json +10 -36
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterRAMV0.sol/ISharedMinterRAMV0.json +62 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol/ISharedMinterRequired.json +37 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +4 -236
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol/ISharedMinterSimplePurchaseV0.json +5 -5
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterV0.sol/ISharedMinterV0.json +7 -423
- package/artifacts/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +17 -17
- package/artifacts/contracts/interfaces/v0.8.x/ISplitAtomicFactoryV0.sol/ISplitAtomicFactoryV0.json +170 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISplitAtomicV0.sol/ISplitAtomicV0.json +126 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISplitProviderV0.sol/ISplitProviderV0.json +98 -0
- package/artifacts/contracts/interfaces/v0.8.x/integration-refs/splits-0x-v2/ISplitFactoryV2.sol/ISplitFactoryV2.json +123 -0
- package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
- package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +2 -2
- package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +2 -2
- package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +2 -2
- package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BitMap.sol/BitMaps256.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV0.sol/BytecodeStorage.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageReader.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageWriter.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageReader.json +214 -0
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageWriter.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/ERC721_PackedHashSeedV1.sol/ERC721_PackedHashSeedV1.json +444 -0
- package/artifacts/contracts/libs/v0.8.x/PackedBools.sol/PackedBools.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/SSTORE2.sol/SSTORE2.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +208 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +60 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DALib.sol/DALib.json +30 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +60 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol/GenericMinterEventsLib.json +346 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +29 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +30 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol/RAMLib.json +398 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +254 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +48 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +41 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +35 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +79 -3
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +41 -41
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +66 -632
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +67 -594
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +33 -524
- package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +66 -632
- package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +33 -524
- package/artifacts/contracts/minter-suite/Minters/MinterRAMV0.sol/MinterRAMV0.json +1374 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +56 -722
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +58 -454
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +61 -552
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +55 -497
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +110 -571
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +69 -560
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +28 -444
- package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol/MinterSetPriceV5_SingleCore.json +417 -0
- package/artifacts/contracts/mock/BytecodeV2LibCallsMock.sol/BytecodeV2LibCallsMock.json +154 -0
- package/artifacts/contracts/mock/BytecodeV2TextCR_DMock.sol/BytecodeV2TextCR_DMock.json +428 -0
- package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
- package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +2 -2
- package/artifacts/contracts/mock/ForceSendMock.sol/ForceSendMock.json +24 -0
- package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +4 -9
- package/artifacts/contracts/mock/Mock0xSplitsV2PullFactory.sol/Mock0xSplitsV2PullFactory.json +149 -0
- package/artifacts/contracts/mock/Mock0xSplitsV2Splitter.sol/Mock0xSplitsV2Splitter.json +99 -0
- package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +20 -2
- package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +20 -2
- package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +2 -2
- package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyGenArt721MinterMock.sol/ReentrancyGenArt721MinterMock.json +100 -0
- package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyHolderMockShared.sol/ReentrancyHolderMockShared.json +136 -0
- package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyMerkleMockShared.sol/ReentrancyMerkleMockShared.json +105 -0
- package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyMockShared.sol/ReentrancyMockShared.json +100 -0
- package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancySEAMockShared.sol/ReentrancySEAAutoBidderMockShared.json +69 -0
- package/artifacts/contracts/mock/ReentrancySplitterMocks.sol/ReentrancySplitterDrainETHMock.json +54 -0
- package/artifacts/contracts/mock/ReentrancySplitterMocks.sol/ReentrancySplitterSendETHMock.json +54 -0
- package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
- package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
- package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +2 -2
- package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +19 -19
- package/artifacts/contracts/split/SplitAtomicFactoryV0.sol/SplitAtomicFactoryV0.json +203 -0
- package/artifacts/contracts/split/SplitAtomicV0.sol/SplitAtomicV0.json +168 -0
- package/artifacts/contracts/split/split-provider/SplitProviderV0.sol/SplitProviderV0.json +141 -0
- package/contracts/AdminACLV0.sol +6 -2
- package/contracts/AdminACLV1.sol +2 -2
- package/contracts/DependencyRegistryV0.sol +737 -390
- package/contracts/{GenArt721CoreV3.sol → archive/GenArt721CoreV3.sol} +56 -20
- package/contracts/{explorations → archive}/GenArt721CoreV3_Explorations.sol +49 -13
- package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterBase_v0_1_1.sol +4 -4
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExp}/MinterDAExpV4.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +5 -5
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExpSettlement}/MinterDAExpSettlementV2.sol +9 -62
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDALin}/MinterDALinV4.sol +4 -4
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterHolder}/MinterHolderV4.sol +5 -5
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterMerkle}/MinterMerkleV5.sol +5 -5
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol +7 -7
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSEA}/MinterSEAV0.sol +13 -13
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV4.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol +82 -10
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +82 -10
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPriceERC20}/MinterSetPriceERC20V4.sol +88 -21
- package/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol +81 -22
- package/contracts/engine/V2/GenArt721Minter_PBAB.sol +80 -22
- package/contracts/engine/V3/EngineFactoryV0.sol +419 -0
- package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +893 -493
- package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +1053 -655
- package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +7 -13
- package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +5 -11
- package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +2 -2
- package/contracts/engine-registry/CoreRegistryV1.sol +58 -65
- package/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol +20 -0
- package/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol +23 -0
- package/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol +6 -8
- package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +48 -43
- package/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol +124 -0
- package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV0.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV1.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpV1.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterDALinV1.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterHolderV2.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterMerkleV2.sol +1 -3
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol +115 -11
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol +84 -8
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol +26 -8
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol +141 -0
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol +78 -0
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol +47 -0
- package/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol +91 -0
- package/contracts/interfaces/v0.8.x/IMinterFilterV1.sol +25 -25
- package/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol +1 -3
- package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +30 -20
- package/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol +1 -14
- package/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol +1 -15
- package/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol +2 -8
- package/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol +47 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol +15 -43
- package/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol +10 -20
- package/contracts/interfaces/v0.8.x/ISharedMinterRAMV0.sol +23 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol +20 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +1 -67
- package/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol +5 -5
- package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +18 -160
- package/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol +37 -37
- package/contracts/interfaces/v0.8.x/ISplitAtomicFactoryV0.sol +81 -0
- package/contracts/interfaces/v0.8.x/ISplitAtomicV0.sol +72 -0
- package/contracts/interfaces/v0.8.x/ISplitProviderV0.sol +49 -0
- package/contracts/interfaces/v0.8.x/integration-refs/splits-0x-v2/ISplitFactoryV2.sol +62 -0
- package/contracts/libs/v0.8.x/ABHelpers.sol +31 -17
- package/contracts/libs/v0.8.x/AuthLib.sol +101 -102
- package/contracts/libs/v0.8.x/BitMap.sol +112 -0
- package/contracts/libs/v0.8.x/BytecodeStorageV2.sol +593 -0
- package/contracts/libs/v0.8.x/Bytes32Strings.sol +5 -5
- package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +90 -0
- package/contracts/libs/v0.8.x/ERC721_PackedHashSeedV1.sol +591 -0
- package/contracts/libs/v0.8.x/PackedBools.sol +42 -0
- package/contracts/libs/v0.8.x/V3FlexLib.sol +591 -0
- package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +162 -39
- package/contracts/libs/v0.8.x/minter-libs/DALib.sol +26 -0
- package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +139 -37
- package/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol +171 -0
- package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +299 -158
- package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +268 -55
- package/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol +138 -58
- package/contracts/libs/v0.8.x/minter-libs/RAMLib.sol +2927 -0
- package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +796 -123
- package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +131 -13
- package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +607 -224
- package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +494 -330
- package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +217 -78
- package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +358 -309
- package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +391 -491
- package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +396 -632
- package/contracts/minter-suite/Minters/MinterDAExpV5.sol +212 -273
- package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +393 -488
- package/contracts/minter-suite/Minters/MinterDALinV5.sol +220 -277
- package/contracts/minter-suite/Minters/MinterRAMV0.sol +1205 -0
- package/contracts/minter-suite/Minters/MinterSEAV1.sol +329 -677
- package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +287 -303
- package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +355 -446
- package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +328 -416
- package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +552 -622
- package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +429 -553
- package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +180 -227
- package/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol +446 -0
- package/contracts/mock/BytecodeV2LibCallsMock.sol +128 -0
- package/contracts/mock/BytecodeV2TextCR_DMock.sol +316 -0
- package/contracts/mock/ForceSendMock.sol +22 -0
- package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +3 -10
- package/contracts/mock/Mock0xSplitsV2PullFactory.sol +75 -0
- package/contracts/mock/Mock0xSplitsV2Splitter.sol +47 -0
- package/contracts/mock/MockAdminACLV0.sol +21 -0
- package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +21 -0
- package/contracts/mock/ReentrancyGenArt721MinterMock.sol +47 -0
- package/contracts/mock/ReentrancyHolderMockShared.sol +59 -0
- package/contracts/mock/ReentrancyMerkleMockShared.sol +58 -0
- package/contracts/mock/ReentrancyMockShared.sol +48 -0
- package/contracts/mock/ReentrancySEAMockShared.sol +40 -0
- package/contracts/mock/ReentrancySplitterMocks.sol +67 -0
- package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +1 -1
- package/contracts/randomizer/shared/SharedRandomizerV0.sol +79 -71
- package/contracts/split/SplitAtomicFactoryV0.sol +121 -0
- package/contracts/split/SplitAtomicV0.sol +265 -0
- package/contracts/split/split-provider/SplitProviderV0.sol +201 -0
- package/package.json +79 -45
- package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +0 -1965
- package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +0 -1939
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +0 -1127
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +0 -768
- package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +0 -208
- package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol/GenArt721RoyaltyOverride_PBAB.json +0 -301
- package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +0 -168
- package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +0 -221
|
@@ -5,8 +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/
|
|
9
|
-
import "../../../interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol";
|
|
8
|
+
import "../../../interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol";
|
|
10
9
|
import "../../../interfaces/v0.8.x/IDependencyRegistryCompatibleV0.sol";
|
|
11
10
|
import "../../../interfaces/v0.8.x/IManifold.sol";
|
|
12
11
|
|
|
@@ -44,7 +43,7 @@ import "../../../libs/v0.8.x/Bytes32Strings.sol";
|
|
|
44
43
|
* - updateIPFSGateway
|
|
45
44
|
* - updateArweaveGateway
|
|
46
45
|
* ----------------------------------------------------------------------------
|
|
47
|
-
* The following functions are restricted to either the
|
|
46
|
+
* The following functions are restricted to either the Artist address or
|
|
48
47
|
* the Admin ACL contract, only when the project is not locked:
|
|
49
48
|
* - updateProjectName
|
|
50
49
|
* - updateProjectArtistName
|
|
@@ -105,7 +104,7 @@ contract GenArt721CoreV3_Engine_Flex_PROOF is
|
|
|
105
104
|
Ownable,
|
|
106
105
|
IDependencyRegistryCompatibleV0,
|
|
107
106
|
IManifold,
|
|
108
|
-
|
|
107
|
+
IGenArt721CoreContractV3_Engine_Flex_PreV3p2
|
|
109
108
|
{
|
|
110
109
|
using BytecodeStorageWriter for string;
|
|
111
110
|
using Bytes32Strings for bytes32;
|
|
@@ -272,7 +271,7 @@ contract GenArt721CoreV3_Engine_Flex_PROOF is
|
|
|
272
271
|
bool public immutable autoApproveArtistSplitProposals;
|
|
273
272
|
|
|
274
273
|
/// version & type of this core contract
|
|
275
|
-
bytes32 constant CORE_VERSION = "v3.1.
|
|
274
|
+
bytes32 constant CORE_VERSION = "v3.1.6";
|
|
276
275
|
|
|
277
276
|
function coreVersion() external pure returns (string memory) {
|
|
278
277
|
return CORE_VERSION.toString();
|
|
@@ -381,8 +380,7 @@ contract GenArt721CoreV3_Engine_Flex_PROOF is
|
|
|
381
380
|
address _randomizerContract,
|
|
382
381
|
address _adminACLContract,
|
|
383
382
|
uint248 _startingProjectId,
|
|
384
|
-
bool _autoApproveArtistSplitProposals
|
|
385
|
-
address _engineRegistryContract
|
|
383
|
+
bool _autoApproveArtistSplitProposals
|
|
386
384
|
) ERC721_PackedHashSeed(_tokenName, _tokenSymbol) {
|
|
387
385
|
_onlyNonZeroAddress(_renderProviderAddress);
|
|
388
386
|
_onlyNonZeroAddress(_platformProviderAddress);
|
|
@@ -413,12 +411,8 @@ contract GenArt721CoreV3_Engine_Flex_PROOF is
|
|
|
413
411
|
// initialize next project ID
|
|
414
412
|
_nextProjectId = _startingProjectId;
|
|
415
413
|
emit PlatformUpdated(FIELD_NEXT_PROJECT_ID);
|
|
416
|
-
//
|
|
417
|
-
|
|
418
|
-
address(this),
|
|
419
|
-
CORE_VERSION,
|
|
420
|
-
CORE_TYPE
|
|
421
|
-
);
|
|
414
|
+
// @dev follow-on action: This contract does not self-register. A core
|
|
415
|
+
// registry owner must register contract in a subsequent call.
|
|
422
416
|
}
|
|
423
417
|
|
|
424
418
|
/**
|
|
@@ -7,7 +7,6 @@ import "./interfaces/IAdminACLV0_PROHIBITION.sol";
|
|
|
7
7
|
import "./interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol";
|
|
8
8
|
|
|
9
9
|
import "../../../../interfaces/v0.8.x/IRandomizerV2.sol";
|
|
10
|
-
import "../../../../interfaces/v0.8.x/IEngineRegistryV0.sol";
|
|
11
10
|
import "../../../../interfaces/v0.8.x/IDependencyRegistryCompatibleV0.sol";
|
|
12
11
|
import "../../../../interfaces/v0.8.x/IManifold.sol";
|
|
13
12
|
|
|
@@ -45,7 +44,7 @@ import "../../../../libs/v0.8.x/Bytes32Strings.sol";
|
|
|
45
44
|
* - updateIPFSGateway
|
|
46
45
|
* - updateArweaveGateway
|
|
47
46
|
* ----------------------------------------------------------------------------
|
|
48
|
-
* The following functions are restricted to either the
|
|
47
|
+
* The following functions are restricted to either the Artist address or
|
|
49
48
|
* the Admin ACL contract, only when the project is not locked:
|
|
50
49
|
* - updateProjectName
|
|
51
50
|
* - updateProjectArtistName
|
|
@@ -271,7 +270,7 @@ contract GenArt721CoreV3_Engine_Flex_PROHIBITION is
|
|
|
271
270
|
bool public immutable autoApproveArtistSplitProposals;
|
|
272
271
|
|
|
273
272
|
/// version & type of this core contract
|
|
274
|
-
bytes32 constant CORE_VERSION = "v3.1.
|
|
273
|
+
bytes32 constant CORE_VERSION = "v3.1.5";
|
|
275
274
|
|
|
276
275
|
function coreVersion() external pure returns (string memory) {
|
|
277
276
|
return CORE_VERSION.toString();
|
|
@@ -392,8 +391,7 @@ contract GenArt721CoreV3_Engine_Flex_PROHIBITION is
|
|
|
392
391
|
address _randomizerContract,
|
|
393
392
|
address _adminACLContract,
|
|
394
393
|
uint248 _startingProjectId,
|
|
395
|
-
bool _autoApproveArtistSplitProposals
|
|
396
|
-
address _engineRegistryContract
|
|
394
|
+
bool _autoApproveArtistSplitProposals
|
|
397
395
|
) ERC721_PackedHashSeed(_tokenName, _tokenSymbol) {
|
|
398
396
|
_onlyNonZeroAddress(_renderProviderAddress);
|
|
399
397
|
_onlyNonZeroAddress(_platformProviderAddress);
|
|
@@ -424,12 +422,8 @@ contract GenArt721CoreV3_Engine_Flex_PROHIBITION is
|
|
|
424
422
|
// initialize next project ID
|
|
425
423
|
_nextProjectId = _startingProjectId;
|
|
426
424
|
emit PlatformUpdated(FIELD_NEXT_PROJECT_ID);
|
|
427
|
-
//
|
|
428
|
-
|
|
429
|
-
address(this),
|
|
430
|
-
CORE_VERSION,
|
|
431
|
-
CORE_TYPE
|
|
432
|
-
);
|
|
425
|
+
// @dev follow-on action: This contract does not self-register. A core
|
|
426
|
+
// registry owner must register contract in a subsequent call.
|
|
433
427
|
}
|
|
434
428
|
|
|
435
429
|
/**
|
|
@@ -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
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
|
|
3
|
+
// @dev fixed to specific solidity version for clarity and for more clear
|
|
4
|
+
// source code verification purposes.
|
|
3
5
|
pragma solidity 0.8.19;
|
|
4
6
|
|
|
5
|
-
import "../interfaces/v0.8.x/ICoreRegistryV1.sol";
|
|
6
|
-
|
|
7
|
-
import "@openzeppelin-4.7/contracts/
|
|
7
|
+
import {ICoreRegistryV1} from "../interfaces/v0.8.x/ICoreRegistryV1.sol";
|
|
8
|
+
|
|
9
|
+
import {Ownable} from "@openzeppelin-4.7/contracts/access/Ownable.sol";
|
|
10
|
+
import {EnumerableSet} from "@openzeppelin-4.7/contracts/utils/structs/EnumerableSet.sol";
|
|
8
11
|
|
|
9
12
|
/**
|
|
10
13
|
* @title Art Blocks Core Contract Registry, V1.
|
|
@@ -57,20 +60,11 @@ contract CoreRegistryV1 is Ownable, ICoreRegistryV1 {
|
|
|
57
60
|
using EnumerableSet for EnumerableSet.AddressSet;
|
|
58
61
|
|
|
59
62
|
/// private enumerable set of registered contracts
|
|
60
|
-
EnumerableSet.AddressSet private
|
|
63
|
+
EnumerableSet.AddressSet private _registeredContracts;
|
|
61
64
|
|
|
62
65
|
/// private mapping of registered contract addresses to
|
|
63
66
|
EnumerableSet.AddressSet
|
|
64
|
-
private
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* @notice Reverts if `tx.origin` is not the owner.
|
|
68
|
-
* @dev Warning that this check is only against tx.origin, which may be
|
|
69
|
-
* misleading when used for security.
|
|
70
|
-
*/
|
|
71
|
-
function _onlyOwnerOrigin() internal view {
|
|
72
|
-
require(tx.origin == owner(), "Only tx origin of owner");
|
|
73
|
-
}
|
|
67
|
+
private _registeredMinterFilterV2CompatibleContracts;
|
|
74
68
|
|
|
75
69
|
constructor() Ownable() {}
|
|
76
70
|
|
|
@@ -82,24 +76,19 @@ contract CoreRegistryV1 is Ownable, ICoreRegistryV1 {
|
|
|
82
76
|
* registered.
|
|
83
77
|
*/
|
|
84
78
|
function registerContract(
|
|
85
|
-
address
|
|
86
|
-
bytes32
|
|
87
|
-
bytes32
|
|
79
|
+
address contractAddress,
|
|
80
|
+
bytes32 coreVersion,
|
|
81
|
+
bytes32 coreType
|
|
88
82
|
) external {
|
|
89
83
|
// CHECKS
|
|
90
|
-
//
|
|
91
|
-
|
|
92
|
-
// fashion at the time of contract deployment of `_contractAddress`.
|
|
93
|
-
// @dev Security implications of using `tx.origin` are acknowledged
|
|
94
|
-
_onlyOwnerOrigin();
|
|
95
|
-
// only allow registration of a contract registering itself, or allow
|
|
96
|
-
// the owner to register any contract.
|
|
97
|
-
require(
|
|
98
|
-
msg.sender == _contractAddress || msg.sender == owner(),
|
|
99
|
-
"Only owner or registrant"
|
|
100
|
-
);
|
|
84
|
+
// revert if not called by owner
|
|
85
|
+
Ownable._checkOwner();
|
|
101
86
|
// EFFECTS
|
|
102
|
-
_registerContract(
|
|
87
|
+
_registerContract({
|
|
88
|
+
contractAddress: contractAddress,
|
|
89
|
+
coreVersion: coreVersion,
|
|
90
|
+
coreType: coreType
|
|
91
|
+
});
|
|
103
92
|
}
|
|
104
93
|
|
|
105
94
|
/**
|
|
@@ -108,12 +97,12 @@ contract CoreRegistryV1 is Ownable, ICoreRegistryV1 {
|
|
|
108
97
|
* Reverts if authorization fails, or if the contract is not already
|
|
109
98
|
* registered.
|
|
110
99
|
*/
|
|
111
|
-
function unregisterContract(address
|
|
100
|
+
function unregisterContract(address contractAddress) external {
|
|
112
101
|
// CHECKS
|
|
113
102
|
// revert if not called by owner
|
|
114
103
|
Ownable._checkOwner();
|
|
115
104
|
// EFFECTS
|
|
116
|
-
_unregisterContract(
|
|
105
|
+
_unregisterContract(contractAddress);
|
|
117
106
|
}
|
|
118
107
|
|
|
119
108
|
/**
|
|
@@ -122,32 +111,32 @@ contract CoreRegistryV1 is Ownable, ICoreRegistryV1 {
|
|
|
122
111
|
* Reverts if any contract is already registered.
|
|
123
112
|
* @dev This should primarily be used for backfilling the registry with
|
|
124
113
|
* existing contracts shortly after deployment.
|
|
125
|
-
* @param
|
|
126
|
-
* @param
|
|
127
|
-
* @param
|
|
114
|
+
* @param contractAddresses Array of contract addresses to register.
|
|
115
|
+
* @param coreVersions Array of core versions for each contract (aligned).
|
|
116
|
+
* @param coreTypes Array of core types for each contract (aligned).
|
|
128
117
|
*/
|
|
129
118
|
function registerContracts(
|
|
130
|
-
address[] calldata
|
|
131
|
-
bytes32[] calldata
|
|
132
|
-
bytes32[] calldata
|
|
119
|
+
address[] calldata contractAddresses,
|
|
120
|
+
bytes32[] calldata coreVersions,
|
|
121
|
+
bytes32[] calldata coreTypes
|
|
133
122
|
) external {
|
|
134
123
|
// CHECKS
|
|
135
124
|
// revert if not called by owner
|
|
136
125
|
Ownable._checkOwner();
|
|
137
126
|
// validate same length arrays
|
|
138
|
-
uint256 numContracts =
|
|
127
|
+
uint256 numContracts = contractAddresses.length;
|
|
139
128
|
require(
|
|
140
|
-
numContracts ==
|
|
141
|
-
numContracts ==
|
|
129
|
+
numContracts == coreVersions.length &&
|
|
130
|
+
numContracts == coreTypes.length,
|
|
142
131
|
"Mismatched array lengths"
|
|
143
132
|
);
|
|
144
133
|
// EFFECTS
|
|
145
134
|
for (uint256 i = 0; i < numContracts; ) {
|
|
146
|
-
_registerContract(
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
);
|
|
135
|
+
_registerContract({
|
|
136
|
+
contractAddress: contractAddresses[i],
|
|
137
|
+
coreVersion: coreVersions[i],
|
|
138
|
+
coreType: coreTypes[i]
|
|
139
|
+
});
|
|
151
140
|
unchecked {
|
|
152
141
|
++i;
|
|
153
142
|
}
|
|
@@ -158,18 +147,18 @@ contract CoreRegistryV1 is Ownable, ICoreRegistryV1 {
|
|
|
158
147
|
* @notice Unregister multiple contracts at once.
|
|
159
148
|
* Only callable by the owner.
|
|
160
149
|
* Reverts if any contract is not already registered.
|
|
161
|
-
* @param
|
|
150
|
+
* @param contractAddresses Array of contract addresses to unregister.
|
|
162
151
|
*/
|
|
163
152
|
function unregisterContracts(
|
|
164
|
-
address[] calldata
|
|
153
|
+
address[] calldata contractAddresses
|
|
165
154
|
) external {
|
|
166
155
|
// CHECKS
|
|
167
156
|
// revert if not called by owner
|
|
168
157
|
Ownable._checkOwner();
|
|
169
158
|
// EFFECTS
|
|
170
|
-
uint256 numContracts =
|
|
159
|
+
uint256 numContracts = contractAddresses.length;
|
|
171
160
|
for (uint256 i = 0; i < numContracts; ) {
|
|
172
|
-
_unregisterContract(
|
|
161
|
+
_unregisterContract(contractAddresses[i]);
|
|
173
162
|
unchecked {
|
|
174
163
|
++i;
|
|
175
164
|
}
|
|
@@ -181,18 +170,18 @@ contract CoreRegistryV1 is Ownable, ICoreRegistryV1 {
|
|
|
181
170
|
* @return The number of registered contracts.
|
|
182
171
|
*/
|
|
183
172
|
function getNumRegisteredContracts() external view returns (uint256) {
|
|
184
|
-
return
|
|
173
|
+
return _registeredContracts.length();
|
|
185
174
|
}
|
|
186
175
|
|
|
187
176
|
/**
|
|
188
177
|
* @notice Get the address of a registered contract by index.
|
|
189
|
-
* @param
|
|
178
|
+
* @param index The index of the contract to get.
|
|
190
179
|
* @return The address of the contract at the given index.
|
|
191
180
|
*/
|
|
192
181
|
function getRegisteredContractAt(
|
|
193
|
-
uint256
|
|
182
|
+
uint256 index
|
|
194
183
|
) external view returns (address) {
|
|
195
|
-
return
|
|
184
|
+
return _registeredContracts.at(index);
|
|
196
185
|
}
|
|
197
186
|
|
|
198
187
|
/**
|
|
@@ -207,19 +196,19 @@ contract CoreRegistryV1 is Ownable, ICoreRegistryV1 {
|
|
|
207
196
|
view
|
|
208
197
|
returns (address[] memory)
|
|
209
198
|
{
|
|
210
|
-
return
|
|
199
|
+
return _registeredContracts.values();
|
|
211
200
|
}
|
|
212
201
|
|
|
213
202
|
/**
|
|
214
203
|
* @notice Returns boolean representing if contract is registered on this
|
|
215
204
|
* registry.
|
|
216
|
-
* @param
|
|
205
|
+
* @param contractAddress The address of the contract to check.
|
|
217
206
|
* @return isRegistered True if the contract is registered.
|
|
218
207
|
*/
|
|
219
208
|
function isRegisteredContract(
|
|
220
|
-
address
|
|
209
|
+
address contractAddress
|
|
221
210
|
) external view returns (bool isRegistered) {
|
|
222
|
-
return
|
|
211
|
+
return _registeredContracts.contains(contractAddress);
|
|
223
212
|
}
|
|
224
213
|
|
|
225
214
|
/**
|
|
@@ -227,28 +216,32 @@ contract CoreRegistryV1 is Ownable, ICoreRegistryV1 {
|
|
|
227
216
|
* Reverts if the contract is already registered.
|
|
228
217
|
*/
|
|
229
218
|
function _registerContract(
|
|
230
|
-
address
|
|
231
|
-
bytes32
|
|
232
|
-
bytes32
|
|
219
|
+
address contractAddress,
|
|
220
|
+
bytes32 coreVersion,
|
|
221
|
+
bytes32 coreType
|
|
233
222
|
) internal {
|
|
234
223
|
// @dev add returns true only if not already registered
|
|
235
224
|
require(
|
|
236
|
-
|
|
225
|
+
_registeredContracts.add(contractAddress),
|
|
237
226
|
"Contract already registered"
|
|
238
227
|
);
|
|
239
|
-
emit ContractRegistered(
|
|
228
|
+
emit ContractRegistered({
|
|
229
|
+
_contractAddress: contractAddress,
|
|
230
|
+
_coreVersion: coreVersion,
|
|
231
|
+
_coreType: coreType
|
|
232
|
+
});
|
|
240
233
|
}
|
|
241
234
|
|
|
242
235
|
/**
|
|
243
236
|
* @notice Internal function to unregister a contract.
|
|
244
237
|
* Reverts if the contract is not already registered.
|
|
245
238
|
*/
|
|
246
|
-
function _unregisterContract(address
|
|
239
|
+
function _unregisterContract(address contractAddress) internal {
|
|
247
240
|
// @dev remove returns true only if already in set
|
|
248
241
|
require(
|
|
249
|
-
|
|
242
|
+
_registeredContracts.remove(contractAddress),
|
|
250
243
|
"Only registered contracts"
|
|
251
244
|
);
|
|
252
|
-
emit ContractUnregistered(_contractAddress);
|
|
245
|
+
emit ContractUnregistered({_contractAddress: contractAddress});
|
|
253
246
|
}
|
|
254
247
|
}
|
|
@@ -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
|
+
}
|
|
@@ -6,22 +6,20 @@ import "./IEngineRegistryV0.sol";
|
|
|
6
6
|
|
|
7
7
|
interface ICoreRegistryV1 is IEngineRegistryV0 {
|
|
8
8
|
function registerContracts(
|
|
9
|
-
address[] calldata
|
|
10
|
-
bytes32[] calldata
|
|
11
|
-
bytes32[] calldata
|
|
9
|
+
address[] calldata contractAddresses,
|
|
10
|
+
bytes32[] calldata coreVersions,
|
|
11
|
+
bytes32[] calldata coreTypes
|
|
12
12
|
) external;
|
|
13
13
|
|
|
14
|
-
function unregisterContracts(
|
|
15
|
-
address[] calldata _contractAddresses
|
|
16
|
-
) external;
|
|
14
|
+
function unregisterContracts(address[] calldata contractAddresses) external;
|
|
17
15
|
|
|
18
16
|
function getNumRegisteredContracts() external view returns (uint256);
|
|
19
17
|
|
|
20
18
|
function getRegisteredContractAt(
|
|
21
|
-
uint256
|
|
19
|
+
uint256 index
|
|
22
20
|
) external view returns (address);
|
|
23
21
|
|
|
24
22
|
function isRegisteredContract(
|
|
25
|
-
address
|
|
23
|
+
address contractAddress
|
|
26
24
|
) external view returns (bool isRegistered);
|
|
27
25
|
}
|
|
@@ -3,93 +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 licenseType);
|
|
22
|
+
|
|
23
|
+
event LicenseTextUpdated(bytes32 indexed licenseType);
|
|
24
|
+
|
|
21
25
|
event DependencyAdded(
|
|
22
|
-
bytes32 indexed
|
|
23
|
-
|
|
24
|
-
string
|
|
25
|
-
string
|
|
26
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
27
|
+
bytes32 indexed licenseType,
|
|
28
|
+
string preferredCDN,
|
|
29
|
+
string preferredRepository,
|
|
30
|
+
string website
|
|
26
31
|
);
|
|
27
32
|
|
|
28
|
-
event DependencyRemoved(bytes32 indexed
|
|
33
|
+
event DependencyRemoved(bytes32 indexed dependencyNameAndVersion);
|
|
29
34
|
|
|
30
|
-
event
|
|
31
|
-
bytes32 indexed
|
|
32
|
-
string
|
|
35
|
+
event DependencyWebsiteUpdated(
|
|
36
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
37
|
+
string website
|
|
33
38
|
);
|
|
34
39
|
|
|
35
40
|
event DependencyPreferredCDNUpdated(
|
|
36
|
-
bytes32 indexed
|
|
37
|
-
string
|
|
41
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
42
|
+
string preferredCDN
|
|
38
43
|
);
|
|
39
44
|
|
|
40
45
|
event DependencyPreferredRepositoryUpdated(
|
|
41
|
-
bytes32 indexed
|
|
42
|
-
string
|
|
46
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
47
|
+
string preferredRepository
|
|
43
48
|
);
|
|
44
49
|
|
|
45
50
|
event DependencyAdditionalCDNUpdated(
|
|
46
|
-
bytes32 indexed
|
|
47
|
-
string
|
|
48
|
-
uint256
|
|
51
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
52
|
+
string additionalCDN,
|
|
53
|
+
uint256 additionalCDNIndex
|
|
49
54
|
);
|
|
50
55
|
|
|
51
56
|
event DependencyAdditionalCDNRemoved(
|
|
52
|
-
bytes32 indexed
|
|
53
|
-
uint256 indexed
|
|
57
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
58
|
+
uint256 indexed additionalCDNIndex
|
|
54
59
|
);
|
|
55
60
|
|
|
56
61
|
event DependencyAdditionalRepositoryUpdated(
|
|
57
|
-
bytes32 indexed
|
|
58
|
-
string
|
|
59
|
-
uint256
|
|
62
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
63
|
+
string additionalRepository,
|
|
64
|
+
uint256 additionalRepositoryIndex
|
|
60
65
|
);
|
|
61
66
|
|
|
62
67
|
event DependencyAdditionalRepositoryRemoved(
|
|
63
|
-
bytes32 indexed
|
|
64
|
-
uint256 indexed
|
|
68
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
69
|
+
uint256 indexed additionalRepositoryIndex
|
|
65
70
|
);
|
|
66
71
|
|
|
67
|
-
event DependencyScriptUpdated(bytes32 indexed
|
|
72
|
+
event DependencyScriptUpdated(bytes32 indexed dependencyNameAndVersion);
|
|
68
73
|
|
|
69
74
|
/**
|
|
70
|
-
* @notice Returns the count of scripts for dependency `
|
|
71
|
-
* @param
|
|
75
|
+
* @notice Returns the count of scripts for dependency `dependencyNameAndVersion`.
|
|
76
|
+
* @param dependencyNameAndVersion Dependency type to be queried.
|
|
72
77
|
*/
|
|
73
78
|
function getDependencyScriptCount(
|
|
74
|
-
bytes32
|
|
79
|
+
bytes32 dependencyNameAndVersion
|
|
75
80
|
) external view returns (uint256);
|
|
76
81
|
|
|
77
82
|
/**
|
|
78
83
|
* @notice Returns address with bytecode containing script for
|
|
79
|
-
* dependency type `
|
|
84
|
+
* dependency type `dependencyNameAndVersions` at script index `index`.
|
|
80
85
|
*/
|
|
81
86
|
function getDependencyScriptBytecodeAddress(
|
|
82
|
-
bytes32
|
|
83
|
-
uint256
|
|
87
|
+
bytes32 dependencyNameAndVersion,
|
|
88
|
+
uint256 index
|
|
84
89
|
) external view returns (address);
|
|
85
90
|
|
|
86
91
|
/**
|
|
87
|
-
* @notice Returns script for dependency type `
|
|
88
|
-
* @param
|
|
89
|
-
* @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.
|
|
90
95
|
*/
|
|
91
96
|
function getDependencyScript(
|
|
92
|
-
bytes32
|
|
93
|
-
uint256
|
|
97
|
+
bytes32 dependencyNameAndVersion,
|
|
98
|
+
uint256 index
|
|
94
99
|
) external view returns (string memory);
|
|
95
100
|
}
|