@artblocks/contracts 1.1.0 → 1.2.1
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 +86 -34
- package/artifacts/contracts/AdminACLV0.sol/AdminACLV0.json +2 -2
- package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
- package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2.sol/BytecodeStorageReaderContractV2.json +201 -0
- package/artifacts/contracts/BytecodeStorageReaders/UniversalBytecodeStorageReader.sol/UniversalBytecodeStorageReader.json +154 -0
- package/artifacts/contracts/BytecodeStorageV2Writer.sol/BytecodeStorageV2Writer.json +87 -0
- package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +403 -155
- package/artifacts/contracts/GenArt721CoreV3_Curated.sol/GenArt721CoreV3_Curated.json +2493 -0
- package/artifacts/contracts/OwnedCreate2FactoryV0.sol/OwnedCreate2FactoryV0.json +311 -0
- package/artifacts/contracts/archive/GenArt721CoreV3.sol/GenArt721CoreV3.json +2060 -0
- package/artifacts/contracts/archive/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +2034 -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 +54 -49
- 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 +624 -0
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +613 -216
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +805 -206
- package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +51 -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 +51 -8
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +59 -54
- package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +2 -2
- package/artifacts/contracts/generator/AddressChunks.sol/AddressChunks.json +10 -0
- package/artifacts/contracts/generator/GenArt721GeneratorV0.sol/GenArt721GeneratorV0.json +333 -0
- package/artifacts/contracts/generator/GenArt721GeneratorV0.sol/ILegacyGenArt721CoreV2_PBAB_Flex.json +47 -0
- package/artifacts/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol/IAdminACLV0_Extended.json +140 -0
- package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReader.sol/IBytecodeStorageReader.json +7 -7
- package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol/IBytecodeStorageReaderV2.json +130 -0
- package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReader_Base.sol/IBytecodeStorageReader_Base.json +30 -0
- package/artifacts/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +13 -0
- package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +228 -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 +53 -48
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +53 -48
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +198 -90
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +198 -90
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.json +1065 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol/IGenArt721CoreContractV3_Engine_PreV3p2.json +778 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol/IGenArt721CoreContractV3_ProjectFinance.json +87 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreProjectScriptV0.sol/IGenArt721CoreProjectScriptV0.json +59 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreProjectScriptV1.sol/IGenArt721CoreProjectScriptV1.json +64 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreTokenHashProviderV0.sol/IGenArt721CoreTokenHashProviderV0.json +30 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreTokenHashProviderV1.sol/IGenArt721CoreTokenHashProviderV1.json +30 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721GeneratorV0.sol/IGenArt721GeneratorV0.json +63 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol/IGenArt721Minter_PBAB.json +279 -0
- package/artifacts/contracts/interfaces/v0.8.x/IOwnedCreate2FactoryV0.sol/IOwnedCreate2FactoryV0.json +74 -0
- package/artifacts/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +1 -1
- package/artifacts/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol/ISeaDropShimForContract.json +37 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +18 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMinPriceV0.sol/ISharedMinterMinPriceV0.json +37 -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/IUniversalBytecodeStorageReader.sol/IUniversalBytecodeStorageReader.json +56 -0
- package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ERC721SeaDropStructsErrorsAndEvents.sol/ERC721SeaDropStructsErrorsAndEvents.json +43 -0
- package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/INonFungibleSeaDropToken.sol/INonFungibleSeaDropToken.json +715 -0
- package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ISeaDrop.sol/ISeaDrop.json +1571 -0
- package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ISeaDropTokenContractMetadata.sol/ISeaDropTokenContractMetadata.json +345 -0
- package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/SeaDropErrorsAndEvents.sol/SeaDropErrorsAndEvents.json +717 -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/JsonStatic.sol/JsonStatic.json +10 -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 +195 -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/MinPriceLib.sol/MinPriceLib.json +24 -0
- 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/MinterMinPriceMerkleV0.sol/MinterMinPriceMerkleV0.json +664 -0
- package/artifacts/contracts/minter-suite/Minters/MinterMinPriceV0.sol/MinterMinPriceV0.json +387 -0
- 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/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol/SeaDropXArtBlocksShim.json +1206 -0
- package/artifacts/contracts/mock/BytecodeV1LibCallsMock.sol/BytecodeV1LibCallsMock.json +2 -2
- 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/ERC20MockAltDecimals.sol/ERC20MockAltDecimals.json +318 -0
- 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/MockFileStore.sol/MockFileStore.json +35 -0
- 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 +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/BytecodeStorageReaders/BytecodeStorageReaderContractV2.sol +103 -0
- package/contracts/BytecodeStorageReaders/UniversalBytecodeStorageReader.sol +70 -0
- package/contracts/BytecodeStorageV2Writer.sol +69 -0
- package/contracts/DependencyRegistryV0.sol +878 -430
- package/contracts/GenArt721CoreV3_Curated.sol +133 -0
- package/contracts/OwnedCreate2FactoryV0.sol +173 -0
- 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 +427 -0
- package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +977 -502
- package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +1137 -663
- 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/generator/AddressChunks.sol +106 -0
- package/contracts/generator/GenArt721GeneratorV0.sol +1094 -0
- package/contracts/generator/scripty-support/Scripty.sol +5 -0
- package/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol +20 -0
- package/contracts/interfaces/v0.8.x/IBytecodeStorageReader.sol +34 -36
- package/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol +25 -0
- package/contracts/interfaces/v0.8.x/IBytecodeStorageReader_Base.sol +20 -0
- package/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol +5 -0
- package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +141 -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 +126 -11
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol +86 -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/IGenArt721CoreProjectScriptV0.sol +22 -0
- package/contracts/interfaces/v0.8.x/IGenArt721CoreProjectScriptV1.sol +23 -0
- package/contracts/interfaces/v0.8.x/IGenArt721CoreTokenHashProviderV0.sol +11 -0
- package/contracts/interfaces/v0.8.x/IGenArt721CoreTokenHashProviderV1.sol +9 -0
- package/contracts/interfaces/v0.8.x/IGenArt721GeneratorV0.sol +14 -0
- package/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol +91 -0
- package/contracts/interfaces/v0.8.x/IOwnedCreate2FactoryV0.sol +40 -0
- package/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol +1 -3
- package/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol +19 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +19 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterMinPriceV0.sol +22 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterRAMV0.sol +23 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol +26 -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/IUniversalBytecodeStorageReader.sol +28 -0
- package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ERC721SeaDropStructsErrorsAndEvents.sol +58 -0
- package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/INonFungibleSeaDropToken.sol +186 -0
- package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ISeaDrop.sol +337 -0
- package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ISeaDropTokenContractMetadata.sol +152 -0
- package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/SeaDropErrorsAndEvents.sol +320 -0
- package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/SeaDropStructs.sol +146 -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/Bytes32Strings.sol +20 -0
- package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +98 -0
- package/contracts/libs/v0.8.x/ERC721_PackedHashSeedV1.sol +591 -0
- package/contracts/libs/v0.8.x/JsonStatic.sol +373 -0
- package/contracts/libs/v0.8.x/PackedBools.sol +42 -0
- package/contracts/libs/v0.8.x/V3FlexLib.sol +597 -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/MinPriceLib.sol +64 -0
- 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 +128 -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/MinterMinPriceMerkleV0.sol +765 -0
- package/contracts/minter-suite/Minters/MinterMinPriceV0.sol +462 -0
- 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/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol +869 -0
- package/contracts/mock/BytecodeV2LibCallsMock.sol +128 -0
- package/contracts/mock/BytecodeV2TextCR_DMock.sol +316 -0
- package/contracts/mock/ERC20MockAltDecimals.sol +31 -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/MockFileStore.sol +22 -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 +66 -36
- 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
|
@@ -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
|
+
}
|
|
@@ -3,60 +3,58 @@
|
|
|
3
3
|
|
|
4
4
|
pragma solidity ^0.8.0;
|
|
5
5
|
|
|
6
|
+
import {IBytecodeStorageReader_Base} from "./IBytecodeStorageReader_Base.sol";
|
|
7
|
+
|
|
6
8
|
/**
|
|
7
|
-
* @title Art Blocks Script Storage Library
|
|
8
|
-
* @notice This interface defines the expected read functions for the Art Blocks Script Storage Library
|
|
9
|
+
* @title Art Blocks Script Storage Library - Reader Contract
|
|
10
|
+
* @notice This interface defines the expected read functions for the Art Blocks Script Storage Library's Reader
|
|
11
|
+
* Contracts. It is extended from the base interface to add additional read functions for further introspection of
|
|
12
|
+
* stored data.
|
|
9
13
|
*/
|
|
10
|
-
interface IBytecodeStorageReader {
|
|
11
|
-
/**
|
|
12
|
-
* @notice Read a string from contract bytecode
|
|
13
|
-
* @param _address address of deployed contract with bytecode stored in the V0 or V1 format
|
|
14
|
-
* @return data string read from contract bytecode
|
|
15
|
-
* @dev This function performs input validation that the contract to read is in an expected format
|
|
16
|
-
*/
|
|
17
|
-
function readFromBytecode(
|
|
18
|
-
address _address
|
|
19
|
-
) external view returns (string memory data);
|
|
20
|
-
|
|
14
|
+
interface IBytecodeStorageReader is IBytecodeStorageReader_Base {
|
|
21
15
|
/**
|
|
22
|
-
* @notice Read
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* @dev
|
|
26
|
-
*
|
|
16
|
+
* @notice Read a bytes array from the SSTORE2-formatted bytecode of a contract.
|
|
17
|
+
* Note that this function is only compatible with contracts that have been deployed using the popular SSTORE2
|
|
18
|
+
* library.
|
|
19
|
+
* @dev see versioned BytecodeStorageReader implementation details to understand which data are being returned,
|
|
20
|
+
* espcially in the context of EOF updates.
|
|
21
|
+
* @param address_ address of contract with SSTORE2-formatted bytecode to be read
|
|
22
|
+
* @return data The bytes data stored at the specific address.
|
|
27
23
|
*/
|
|
28
24
|
function readBytesFromSSTORE2Bytecode(
|
|
29
|
-
address
|
|
25
|
+
address address_
|
|
30
26
|
) external view returns (bytes memory data);
|
|
31
27
|
|
|
32
28
|
/**
|
|
33
|
-
* @notice Read
|
|
34
|
-
* @
|
|
35
|
-
*
|
|
36
|
-
* @
|
|
37
|
-
* @
|
|
38
|
-
*
|
|
29
|
+
* @notice Read a bytes array from the a contract deployed via BytecodeStorage.
|
|
30
|
+
* @dev see versioned BytecodeStorageReader implementation details to understand which data are being returned, and
|
|
31
|
+
* how offset is interpreted, especially in the context of EOF updates.
|
|
32
|
+
* @param address_ address of contract with valid bytecode to be read
|
|
33
|
+
* @param offset offset to read from in contract bytecode, explicitly provided (not calculated)
|
|
34
|
+
* @return The bytes data stored at the specific address.
|
|
39
35
|
*/
|
|
40
36
|
function readBytesFromBytecode(
|
|
41
|
-
address
|
|
42
|
-
uint256
|
|
43
|
-
) external view returns (bytes memory
|
|
37
|
+
address address_,
|
|
38
|
+
uint256 offset
|
|
39
|
+
) external view returns (bytes memory);
|
|
40
|
+
|
|
41
|
+
//------ Metadata Functions ------//
|
|
44
42
|
|
|
45
43
|
/**
|
|
46
|
-
* @notice Get address
|
|
47
|
-
* @param
|
|
48
|
-
* @return writerAddress address
|
|
44
|
+
* @notice Get address of deployer for given contract deployed via BytecodeStorage.
|
|
45
|
+
* @param address_ address of deployed contract
|
|
46
|
+
* @return writerAddress address of deployer
|
|
49
47
|
*/
|
|
50
48
|
function getWriterAddressForBytecode(
|
|
51
|
-
address
|
|
49
|
+
address address_
|
|
52
50
|
) external view returns (address);
|
|
53
51
|
|
|
54
52
|
/**
|
|
55
|
-
* @notice Get version for given contract
|
|
56
|
-
* @param
|
|
57
|
-
* @return version version
|
|
53
|
+
* @notice Get version for given contract deployed via BytecodeStorage.
|
|
54
|
+
* @param address_ address of deployed contract
|
|
55
|
+
* @return version version of the contract
|
|
58
56
|
*/
|
|
59
57
|
function getLibraryVersionForBytecode(
|
|
60
|
-
address
|
|
58
|
+
address address_
|
|
61
59
|
) external view returns (bytes32);
|
|
62
60
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
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 a Bytecode Storage Reader contract.
|
|
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
|
+
//------ Metadata Functions ------//
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @notice Get if data are stored in compressed format for given contract deployed via BytecodeStorage.
|
|
19
|
+
* @param _address address of deployed contract
|
|
20
|
+
* @return isCompressed boolean indicating if the stored data are compressed
|
|
21
|
+
*/
|
|
22
|
+
function getIsCompressedForBytecode(
|
|
23
|
+
address _address
|
|
24
|
+
) external view returns (bool);
|
|
25
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Creatd By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @title Art Blocks Script Storage Library - Minimal Interface for Reader Contracts
|
|
8
|
+
* @notice This interface defines the minimal expected read function(s) for a Bytecode Storage Reader contract.
|
|
9
|
+
*/
|
|
10
|
+
interface IBytecodeStorageReader_Base {
|
|
11
|
+
/**
|
|
12
|
+
* @notice Read a string from a data contract deployed via BytecodeStorage.
|
|
13
|
+
* @dev may also support reading additional stored data formats in the future.
|
|
14
|
+
* @param address_ address of contract deployed via BytecodeStorage to be read
|
|
15
|
+
* @return data The string data stored at the specific address.
|
|
16
|
+
*/
|
|
17
|
+
function readFromBytecode(
|
|
18
|
+
address address_
|
|
19
|
+
) external view returns (string memory data);
|
|
20
|
+
}
|
|
@@ -3,96 +3,192 @@
|
|
|
3
3
|
pragma solidity ^0.8.19;
|
|
4
4
|
|
|
5
5
|
interface IDependencyRegistryV0 {
|
|
6
|
-
event
|
|
6
|
+
// legacy event used before deferring to core registry for allowlist
|
|
7
|
+
event SupportedCoreContractAdded(address indexed coreContractAddress);
|
|
7
8
|
|
|
8
|
-
event
|
|
9
|
+
// legacy event used before deferring to core registry for allowlist
|
|
10
|
+
event SupportedCoreContractRemoved(address indexed coreContractAddress);
|
|
9
11
|
|
|
10
|
-
event
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
bytes32 _dependencyType
|
|
12
|
+
// active event used to add additional supported contracts beyond what core registry allows
|
|
13
|
+
event SupportedCoreContractOverrideAdded(
|
|
14
|
+
address indexed coreContractAddress
|
|
14
15
|
);
|
|
15
16
|
|
|
16
|
-
event
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
// active event used to remove additional supported contracts beyond what core registry allows
|
|
18
|
+
event SupportedCoreContractOverrideRemoved(
|
|
19
|
+
address indexed coreContractAddress
|
|
19
20
|
);
|
|
20
21
|
|
|
21
|
-
event
|
|
22
|
+
event ProjectDependencyOverrideAdded(
|
|
23
|
+
address indexed coreContractAddress,
|
|
24
|
+
uint256 indexed projectId,
|
|
25
|
+
bytes32 dependencyNameAndVersion
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
event ProjectDependencyOverrideRemoved(
|
|
29
|
+
address indexed coreContractAddress,
|
|
30
|
+
uint256 indexed projectId
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
event LicenseTypeAdded(bytes32 indexed licenseType);
|
|
34
|
+
|
|
35
|
+
event LicenseTextUpdated(bytes32 indexed licenseType);
|
|
22
36
|
|
|
23
37
|
event DependencyAdded(
|
|
24
|
-
bytes32 indexed
|
|
25
|
-
bytes32 indexed
|
|
26
|
-
string
|
|
27
|
-
string
|
|
28
|
-
string
|
|
38
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
39
|
+
bytes32 indexed licenseType,
|
|
40
|
+
string preferredCDN,
|
|
41
|
+
string preferredRepository,
|
|
42
|
+
string website
|
|
29
43
|
);
|
|
30
44
|
|
|
31
|
-
event DependencyRemoved(bytes32 indexed
|
|
45
|
+
event DependencyRemoved(bytes32 indexed dependencyNameAndVersion);
|
|
32
46
|
|
|
33
|
-
event
|
|
34
|
-
bytes32 indexed
|
|
35
|
-
string
|
|
47
|
+
event DependencyWebsiteUpdated(
|
|
48
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
49
|
+
string website
|
|
36
50
|
);
|
|
37
51
|
|
|
38
52
|
event DependencyPreferredCDNUpdated(
|
|
39
|
-
bytes32 indexed
|
|
40
|
-
string
|
|
53
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
54
|
+
string preferredCDN
|
|
41
55
|
);
|
|
42
56
|
|
|
43
57
|
event DependencyPreferredRepositoryUpdated(
|
|
44
|
-
bytes32 indexed
|
|
45
|
-
string
|
|
58
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
59
|
+
string preferredRepository
|
|
46
60
|
);
|
|
47
61
|
|
|
48
62
|
event DependencyAdditionalCDNUpdated(
|
|
49
|
-
bytes32 indexed
|
|
50
|
-
string
|
|
51
|
-
uint256
|
|
63
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
64
|
+
string additionalCDN,
|
|
65
|
+
uint256 additionalCDNIndex
|
|
52
66
|
);
|
|
53
67
|
|
|
54
68
|
event DependencyAdditionalCDNRemoved(
|
|
55
|
-
bytes32 indexed
|
|
56
|
-
uint256 indexed
|
|
69
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
70
|
+
uint256 indexed additionalCDNIndex
|
|
57
71
|
);
|
|
58
72
|
|
|
59
73
|
event DependencyAdditionalRepositoryUpdated(
|
|
60
|
-
bytes32 indexed
|
|
61
|
-
string
|
|
62
|
-
uint256
|
|
74
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
75
|
+
string additionalRepository,
|
|
76
|
+
uint256 additionalRepositoryIndex
|
|
63
77
|
);
|
|
64
78
|
|
|
65
79
|
event DependencyAdditionalRepositoryRemoved(
|
|
66
|
-
bytes32 indexed
|
|
67
|
-
uint256 indexed
|
|
80
|
+
bytes32 indexed dependencyNameAndVersion,
|
|
81
|
+
uint256 indexed additionalRepositoryIndex
|
|
68
82
|
);
|
|
69
83
|
|
|
70
|
-
event DependencyScriptUpdated(bytes32 indexed
|
|
84
|
+
event DependencyScriptUpdated(bytes32 indexed dependencyNameAndVersion);
|
|
85
|
+
|
|
86
|
+
event CoreRegistryAddressUpdated(address indexed coreRegistryAddress);
|
|
71
87
|
|
|
72
88
|
/**
|
|
73
|
-
* @notice Returns the count of scripts for dependency `
|
|
74
|
-
* @param
|
|
89
|
+
* @notice Returns the count of scripts for dependency `dependencyNameAndVersion`.
|
|
90
|
+
* @param dependencyNameAndVersion Dependency type to be queried.
|
|
75
91
|
*/
|
|
76
92
|
function getDependencyScriptCount(
|
|
77
|
-
bytes32
|
|
93
|
+
bytes32 dependencyNameAndVersion
|
|
78
94
|
) external view returns (uint256);
|
|
79
95
|
|
|
80
96
|
/**
|
|
81
97
|
* @notice Returns address with bytecode containing script for
|
|
82
|
-
* dependency type `
|
|
98
|
+
* dependency type `dependencyNameAndVersions` at script index `index`.
|
|
83
99
|
*/
|
|
84
100
|
function getDependencyScriptBytecodeAddress(
|
|
85
|
-
bytes32
|
|
86
|
-
uint256
|
|
101
|
+
bytes32 dependencyNameAndVersion,
|
|
102
|
+
uint256 index
|
|
87
103
|
) external view returns (address);
|
|
88
104
|
|
|
89
105
|
/**
|
|
90
|
-
* @notice Returns script for dependency type `
|
|
91
|
-
* @param
|
|
92
|
-
* @param
|
|
106
|
+
* @notice Returns script for dependency type `dependencyNameAndVersion` at script index `index`.
|
|
107
|
+
* @param dependencyNameAndVersion Dependency type to be queried.
|
|
108
|
+
* @param index Index of script to be queried.
|
|
93
109
|
*/
|
|
94
110
|
function getDependencyScript(
|
|
95
|
-
bytes32
|
|
96
|
-
uint256
|
|
111
|
+
bytes32 dependencyNameAndVersion,
|
|
112
|
+
uint256 index
|
|
97
113
|
) external view returns (string memory);
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* @notice Returns details for a given dependency type `dependencyNameAndVersion`.
|
|
117
|
+
* @param dependencyNameAndVersion Name and version of dependency (i.e. "name@version") used to identify dependency.
|
|
118
|
+
* @return nameAndVersion String representation of `dependencyNameAndVersion`.
|
|
119
|
+
* (e.g. "p5js(atSymbol)1.0.0")
|
|
120
|
+
* @return licenseType License type for dependency
|
|
121
|
+
* @return preferredCDN Preferred CDN URL for dependency
|
|
122
|
+
* @return additionalCDNCount Count of additional CDN URLs for dependency
|
|
123
|
+
* @return preferredRepository Preferred repository URL for dependency
|
|
124
|
+
* @return additionalRepositoryCount Count of additional repository URLs for dependency
|
|
125
|
+
* @return dependencyWebsite Project website URL for dependency
|
|
126
|
+
* @return availableOnChain Whether dependency is available on chain
|
|
127
|
+
* @return scriptCount Count of on-chain scripts for dependency
|
|
128
|
+
*/
|
|
129
|
+
function getDependencyDetails(
|
|
130
|
+
bytes32 dependencyNameAndVersion
|
|
131
|
+
)
|
|
132
|
+
external
|
|
133
|
+
view
|
|
134
|
+
returns (
|
|
135
|
+
string memory nameAndVersion,
|
|
136
|
+
string memory licenseType,
|
|
137
|
+
string memory preferredCDN,
|
|
138
|
+
uint24 additionalCDNCount,
|
|
139
|
+
string memory preferredRepository,
|
|
140
|
+
uint24 additionalRepositoryCount,
|
|
141
|
+
string memory dependencyWebsite,
|
|
142
|
+
bool availableOnChain,
|
|
143
|
+
uint24 scriptCount
|
|
144
|
+
);
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* @notice Returns the dependency name and version for a given project (`projectId`)
|
|
148
|
+
* on a given core contract (`_contractAddress`). If no override is set,
|
|
149
|
+
* the core contract is called to retrieve the script type and version as
|
|
150
|
+
* dependency type. For any contract earlier than v3, that does not have
|
|
151
|
+
* an override set, this will revert.
|
|
152
|
+
* @param contractAddress Core contract address.
|
|
153
|
+
* @param projectId Project to return dependency type for.
|
|
154
|
+
* @return dependencyType Identifier for the dependency (i.e. "name@version") used by project.
|
|
155
|
+
*/
|
|
156
|
+
function getDependencyNameAndVersionForProject(
|
|
157
|
+
address contractAddress,
|
|
158
|
+
uint256 projectId
|
|
159
|
+
) external view returns (string memory);
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* @notice Returns whether the given contract address is a supported core contract.
|
|
163
|
+
* @param coreContractAddress Address of the core contract to be queried.
|
|
164
|
+
* @return True if the given contract address is a supported core contract.
|
|
165
|
+
*/
|
|
166
|
+
function isSupportedCoreContract(
|
|
167
|
+
address coreContractAddress
|
|
168
|
+
) external view returns (bool);
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* @notice Convenience function that returns whether `_sender` is allowed
|
|
172
|
+
* to call function with selector `_selector` on contract `_contract`, as
|
|
173
|
+
* determined by this contract's current Admin ACL contract. Expected use
|
|
174
|
+
* cases include minter contracts checking if caller is allowed to call
|
|
175
|
+
* admin-gated functions on minter contracts.
|
|
176
|
+
* @param sender Address of the sender calling function with selector
|
|
177
|
+
* `selector` on contract `contract_`.
|
|
178
|
+
* @param contract_ Address of the contract being called by `sender`.
|
|
179
|
+
* @param selector Function selector of the function being called by
|
|
180
|
+
* `sender`.
|
|
181
|
+
* @return bool Whether `sender` is allowed to call function with selector
|
|
182
|
+
* `selector` on contract `contract_`.
|
|
183
|
+
* @dev assumes the Admin ACL contract is the owner of this contract, which
|
|
184
|
+
* is expected to always be true.
|
|
185
|
+
* @dev adminACLContract is expected to either be null address (if owner
|
|
186
|
+
* has renounced ownership), or conform to IAdminACLV0 interface. Check for
|
|
187
|
+
* null address first to avoid revert when admin has renounced ownership.
|
|
188
|
+
*/
|
|
189
|
+
function adminACLAllowed(
|
|
190
|
+
address sender,
|
|
191
|
+
address contract_,
|
|
192
|
+
bytes4 selector
|
|
193
|
+
) external returns (bool);
|
|
98
194
|
}
|
|
@@ -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 {}
|