@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,14 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
pragma solidity ^0.8.22;
|
|
4
|
+
|
|
5
|
+
interface IGenArt721GeneratorV0 {
|
|
6
|
+
event DependencyRegistryUpdated(address indexed _dependencyRegistry);
|
|
7
|
+
event ScriptyBuilderUpdated(address indexed _scriptyBuilder);
|
|
8
|
+
event GunzipScriptBytecodeAddressUpdated(
|
|
9
|
+
address indexed _gunzipScriptBytecodeAddress
|
|
10
|
+
);
|
|
11
|
+
event UniversalBytecodeStorageReaderUpdated(
|
|
12
|
+
address indexed _universalBytecodeStorageReader
|
|
13
|
+
);
|
|
14
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
interface IGenArt721Minter_PBAB {
|
|
7
|
+
/**
|
|
8
|
+
* @notice Price per token in wei updated for project `_projectId` to
|
|
9
|
+
* `_pricePerTokenInWei`.
|
|
10
|
+
*/
|
|
11
|
+
event PricePerTokenInWeiUpdated(
|
|
12
|
+
uint256 indexed _projectId,
|
|
13
|
+
uint256 indexed _pricePerTokenInWei
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @notice Currency updated for project `_projectId` to symbol
|
|
18
|
+
* `_currencySymbol` and address `_currencyAddress`.
|
|
19
|
+
*/
|
|
20
|
+
event ProjectCurrencyInfoUpdated(
|
|
21
|
+
uint256 indexed _projectId,
|
|
22
|
+
address indexed _currencyAddress,
|
|
23
|
+
string _currencySymbol
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
/// togglePurchaseToDisabled updated
|
|
27
|
+
event PurchaseToDisabledUpdated(
|
|
28
|
+
uint256 indexed _projectId,
|
|
29
|
+
bool _purchaseToDisabled
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
// getter function of public variable
|
|
33
|
+
function minterType() external view returns (string memory);
|
|
34
|
+
|
|
35
|
+
function genArt721CoreAddress() external returns (address);
|
|
36
|
+
|
|
37
|
+
function minterFilterAddress() external returns (address);
|
|
38
|
+
|
|
39
|
+
// Triggers a purchase of a token from the desired project with ETH, to the
|
|
40
|
+
// TX-sending address.
|
|
41
|
+
function purchase(
|
|
42
|
+
uint256 _projectId
|
|
43
|
+
) external payable returns (uint256 tokenId);
|
|
44
|
+
|
|
45
|
+
// Triggers a purchase of a token from the desired project with ETH or any ERC-20 token, to the
|
|
46
|
+
// TX-sending address.
|
|
47
|
+
function purchase(
|
|
48
|
+
uint256 _projectId,
|
|
49
|
+
uint256 _maxPricePerToken,
|
|
50
|
+
address _currencyAddress
|
|
51
|
+
) external payable returns (uint256 tokenId);
|
|
52
|
+
|
|
53
|
+
// Triggers a purchase of a token from the desired project with ETH, to the specified
|
|
54
|
+
// receiving address.
|
|
55
|
+
function purchaseTo(
|
|
56
|
+
address _to,
|
|
57
|
+
uint256 _projectId
|
|
58
|
+
) external payable returns (uint256 tokenId);
|
|
59
|
+
|
|
60
|
+
// Triggers a purchase of a token from the desired project with ETH or any ERC-20 token, to the specified
|
|
61
|
+
// receiving address.
|
|
62
|
+
function purchaseTo(
|
|
63
|
+
address _to,
|
|
64
|
+
uint256 _projectId,
|
|
65
|
+
uint256 _maxPricePerToken,
|
|
66
|
+
address _currencyAddress
|
|
67
|
+
) external payable returns (uint256 tokenId);
|
|
68
|
+
|
|
69
|
+
// Toggles the ability for `purchaseTo` to be called directly with a
|
|
70
|
+
// specified receiving address that differs from the TX-sending address.
|
|
71
|
+
function togglePurchaseToDisabled(uint256 _projectId) external;
|
|
72
|
+
|
|
73
|
+
// Called to make the minter contract aware of the max invocations for a
|
|
74
|
+
// given project.
|
|
75
|
+
function setProjectMaxInvocations(uint256 _projectId) external;
|
|
76
|
+
|
|
77
|
+
// Gets if token price is configured, token price in wei, currency symbol,
|
|
78
|
+
// and currency address, assuming this is project's minter.
|
|
79
|
+
// Supersedes any defined core price.
|
|
80
|
+
function getPriceInfo(
|
|
81
|
+
uint256 _projectId
|
|
82
|
+
)
|
|
83
|
+
external
|
|
84
|
+
view
|
|
85
|
+
returns (
|
|
86
|
+
bool isConfigured,
|
|
87
|
+
uint256 tokenPriceInWei,
|
|
88
|
+
string memory currencySymbol,
|
|
89
|
+
address currencyAddress
|
|
90
|
+
);
|
|
91
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
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 IOwnedCreate2FactoryV0 {
|
|
9
|
+
/**
|
|
10
|
+
* @notice This contract was deployed.
|
|
11
|
+
*/
|
|
12
|
+
event Deployed();
|
|
13
|
+
/**
|
|
14
|
+
* @notice New curated core contract was created.
|
|
15
|
+
* @param newContract new contract
|
|
16
|
+
*/
|
|
17
|
+
event ContractCreated(address indexed newContract);
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @notice Drains the contract's balance to the `recipient`.
|
|
21
|
+
* @param recipient The address to send funds to.
|
|
22
|
+
* Only callable by the owner.
|
|
23
|
+
*/
|
|
24
|
+
function drainETH(address payable recipient) external;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @notice Drains the contract's balance of an input ERC20 token to
|
|
28
|
+
* the `recipient`.
|
|
29
|
+
* @param ERC20TokenAddress The address of the ERC20 token to withdraw.
|
|
30
|
+
* @param recipient The address to send ERC20 tokens to.
|
|
31
|
+
* Only callable by the owner.
|
|
32
|
+
*/
|
|
33
|
+
function drainERC20(address ERC20TokenAddress, address recipient) external;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @notice Indicates the type of the contract, e.g. `EngineFactoryV0`.
|
|
37
|
+
* @return type_ The type of the contract.
|
|
38
|
+
*/
|
|
39
|
+
function type_() external pure returns (bytes32);
|
|
40
|
+
}
|
|
@@ -10,7 +10,5 @@ interface IPseudorandomAtomic {
|
|
|
10
10
|
* generation process. An example of entropy might be the hash of a core
|
|
11
11
|
* contract's address, and the ID of the token being generated.
|
|
12
12
|
*/
|
|
13
|
-
function getPseudorandomAtomic(
|
|
14
|
-
bytes32 _entropy
|
|
15
|
-
) external view returns (bytes32);
|
|
13
|
+
function getPseudorandomAtomic(bytes32 _entropy) external returns (bytes32);
|
|
16
14
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
|
|
3
|
+
// @dev file adds event for indicating a shim contract compatible with SeaDrop, and points to the corresponding NFT
|
|
4
|
+
// contract
|
|
5
|
+
pragma solidity ^0.8.22;
|
|
6
|
+
|
|
7
|
+
interface ISeaDropShimForContract {
|
|
8
|
+
/**
|
|
9
|
+
* @dev Emit event when a shim-minter compatible with SeaDrop that mints tokens on a different contract is deployed
|
|
10
|
+
* @param nftContract The address of the NFT contract that this shim contract is compatible with
|
|
11
|
+
*/
|
|
12
|
+
event SeaDropShimForContract(address nftContract);
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @dev Emit event when the local max supply is updated
|
|
16
|
+
* @param newLocalMaxSupply The new local max supply
|
|
17
|
+
*/
|
|
18
|
+
event LocalMaxSupplyUpdated(uint256 newLocalMaxSupply);
|
|
19
|
+
}
|
|
@@ -25,4 +25,23 @@ interface ISharedMinterDAExpSettlementV0 is ISharedMinterDAExpV0 {
|
|
|
25
25
|
address coreContract,
|
|
26
26
|
address walletAddress
|
|
27
27
|
) external view returns (uint256 excessSettlementFundsInWei);
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @notice Reclaims the sender's payment above current settled price for
|
|
31
|
+
* project `projectId` on core contract `coreContract`.
|
|
32
|
+
* The current settled price is the price paid for the most recently
|
|
33
|
+
* purchased token, or the base price if the artist has withdrawn revenues
|
|
34
|
+
* after the auction reached base price.
|
|
35
|
+
* This function is callable at any point, but is expected to typically be
|
|
36
|
+
* called after auction has sold out above base price or after the auction
|
|
37
|
+
* has been purchased at base price. This minimizes the amount of gas
|
|
38
|
+
* required to send all excess settlement funds to the sender.
|
|
39
|
+
* Sends excess settlement funds to msg.sender.
|
|
40
|
+
* @param projectId Project ID to reclaim excess settlement funds on.
|
|
41
|
+
* @param coreContract Contract address of the core contract
|
|
42
|
+
*/
|
|
43
|
+
function reclaimProjectExcessSettlementFunds(
|
|
44
|
+
uint256 projectId,
|
|
45
|
+
address coreContract
|
|
46
|
+
) external;
|
|
28
47
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @title This interface adds support for minimum price minting.
|
|
8
|
+
* @author Art Blocks Inc.
|
|
9
|
+
*/
|
|
10
|
+
interface ISharedMinterMinPriceV0 {
|
|
11
|
+
/**
|
|
12
|
+
* @notice Update the default minimum mint fee for the minter.
|
|
13
|
+
* @param newDefaultMinMintFee New default minimum mint fee, in wei
|
|
14
|
+
*/
|
|
15
|
+
function updateDefaultMinMintFee(uint256 newDefaultMinMintFee) external;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @notice Get the default mint fee for the minter.
|
|
19
|
+
* @return defaultMinMintFee Default minimum mint fee, in wei
|
|
20
|
+
*/
|
|
21
|
+
function defaultMinMintFee() external view returns (uint256);
|
|
22
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @title This interface adds support for ranked auction minting.
|
|
8
|
+
* @author Art Blocks Inc.
|
|
9
|
+
*/
|
|
10
|
+
interface ISharedMinterRAMV0 {
|
|
11
|
+
function createBid(
|
|
12
|
+
uint256 projectId,
|
|
13
|
+
address coreContract,
|
|
14
|
+
uint16 slotIndex
|
|
15
|
+
) external payable;
|
|
16
|
+
|
|
17
|
+
function topUpBid(
|
|
18
|
+
uint256 projectId,
|
|
19
|
+
address coreContract,
|
|
20
|
+
uint32 bidId,
|
|
21
|
+
uint16 newSlotIndex
|
|
22
|
+
) external payable;
|
|
23
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @title ISharedMinterRequired
|
|
8
|
+
* @notice This interface contains the minimum required interface for a shared
|
|
9
|
+
* minter contract. All custom, one-off minter contracts should implement this
|
|
10
|
+
* interface.
|
|
11
|
+
*/
|
|
12
|
+
interface ISharedMinterRequired {
|
|
13
|
+
/**
|
|
14
|
+
* @notice Returns the minter's type, used by the minter filter for metadata
|
|
15
|
+
* purposes.
|
|
16
|
+
* @return The minter type.
|
|
17
|
+
*/
|
|
18
|
+
function minterType() external view returns (string memory);
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @notice Returns the minter's associated shared minter filter address.
|
|
22
|
+
* @dev used by subgraph indexing service for entity relation purposes.
|
|
23
|
+
* @return The minter filter address.
|
|
24
|
+
*/
|
|
25
|
+
function minterFilterAddress() external returns (address);
|
|
26
|
+
}
|
|
@@ -8,8 +8,5 @@ pragma solidity ^0.8.0;
|
|
|
8
8
|
* @author Art Blocks Inc.
|
|
9
9
|
*/
|
|
10
10
|
interface ISharedMinterSEAV0 {
|
|
11
|
-
function createBid(
|
|
12
|
-
uint256 projectId,
|
|
13
|
-
address coreContract
|
|
14
|
-
) external payable;
|
|
11
|
+
function createBid(uint256 tokenId, address coreContract) external payable;
|
|
15
12
|
}
|
|
@@ -3,7 +3,18 @@
|
|
|
3
3
|
|
|
4
4
|
pragma solidity ^0.8.0;
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
import {ISharedMinterRequired} from "./ISharedMinterRequired.sol";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @title ISharedMinterV0
|
|
10
|
+
* @notice This interface extends the minimum required interface for a shared
|
|
11
|
+
* minter contract to add additional functionality that is generally available
|
|
12
|
+
* for all shared minter contracts on the shared minter filter.
|
|
13
|
+
* @dev Custom, one-off minter contracts that are not globally approved may
|
|
14
|
+
* choose to not implement this interface, but should still implement the
|
|
15
|
+
* ISharedMinterRequired interface.
|
|
16
|
+
*/
|
|
17
|
+
interface ISharedMinterV0 is ISharedMinterRequired {
|
|
7
18
|
// Sets the local max invocations for a given project, checking that the provided max invocations is
|
|
8
19
|
// less than or equal to the global max invocations for the project set on the core contract.
|
|
9
20
|
// This does not impact the max invocations value defined on the core contract.
|
|
@@ -20,11 +31,6 @@ interface ISharedMinterV0 {
|
|
|
20
31
|
address coreContract
|
|
21
32
|
) external;
|
|
22
33
|
|
|
23
|
-
// getter function of public variable
|
|
24
|
-
function minterType() external view returns (string memory);
|
|
25
|
-
|
|
26
|
-
function minterFilterAddress() external returns (address);
|
|
27
|
-
|
|
28
34
|
// Gets if token price is configured, token price in wei, currency symbol,
|
|
29
35
|
// and currency address, assuming this is project's minter.
|
|
30
36
|
// Supersedes any defined core price.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Creatd By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
import {Split} from "./ISplitAtomicV0.sol";
|
|
7
|
+
|
|
8
|
+
interface ISplitAtomicFactoryV0 {
|
|
9
|
+
/**
|
|
10
|
+
* @notice This contract was deployed.
|
|
11
|
+
* @param implementation address with the implementation of the contract
|
|
12
|
+
* @param type_ type of this contract
|
|
13
|
+
* @param requiredSplitAddress address that must be included in all splits
|
|
14
|
+
* @param requiredSplitBasisPoints basis points that must be included in
|
|
15
|
+
* all splits
|
|
16
|
+
*/
|
|
17
|
+
event Deployed(
|
|
18
|
+
address indexed implementation,
|
|
19
|
+
bytes32 indexed type_,
|
|
20
|
+
address requiredSplitAddress,
|
|
21
|
+
uint16 requiredSplitBasisPoints
|
|
22
|
+
);
|
|
23
|
+
/**
|
|
24
|
+
* @notice New split atomic contract was created.
|
|
25
|
+
* @param splitAtomic address of the newly created split atomic contract
|
|
26
|
+
*/
|
|
27
|
+
event SplitAtomicCreated(address indexed splitAtomic);
|
|
28
|
+
/**
|
|
29
|
+
* @notice This contract was abandoned and no longer can be used to create
|
|
30
|
+
* new split atomic contracts.
|
|
31
|
+
*/
|
|
32
|
+
event Abandoned();
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @notice Initializes the contract with the provided `splits`.
|
|
36
|
+
* Only callable once.
|
|
37
|
+
* @param splits Splits to configure the contract with. Must add up to
|
|
38
|
+
* 10_000 BPS.
|
|
39
|
+
* @return splitAtomic The address of the newly created split atomic
|
|
40
|
+
* contract
|
|
41
|
+
*/
|
|
42
|
+
function createSplit(
|
|
43
|
+
Split[] calldata splits
|
|
44
|
+
) external returns (address splitAtomic);
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @notice The implementation contract that is cloned when creating new
|
|
48
|
+
* split atomic contracts.
|
|
49
|
+
*/
|
|
50
|
+
function splitAtomicImplementation() external view returns (address);
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* @notice The address that must be included in all splits.
|
|
54
|
+
*/
|
|
55
|
+
function requiredSplitAddress() external view returns (address);
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* @notice The basis points that must be included in all splits, for the
|
|
59
|
+
* required split address.
|
|
60
|
+
*/
|
|
61
|
+
function requiredSplitBasisPoints() external view returns (uint16);
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @notice The deployer of the contract.
|
|
65
|
+
*/
|
|
66
|
+
function deployer() external view returns (address);
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* @notice Indicates whether the contract is abandoned.
|
|
70
|
+
* Once abandoned, the contract can no longer be used to create new split
|
|
71
|
+
* atomic contracts.
|
|
72
|
+
* @return bool True if the contract is abandoned, false otherwise.
|
|
73
|
+
*/
|
|
74
|
+
function isAbandoned() external view returns (bool);
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* @notice Indicates the type of the contract, e.g. `SplitAtomicFactoryV0`.
|
|
78
|
+
* @return type_ The type of the contract.
|
|
79
|
+
*/
|
|
80
|
+
function type_() external pure returns (bytes32);
|
|
81
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Creatd By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @notice Struct representing a split.
|
|
8
|
+
* @param recipient The address to send funds to.
|
|
9
|
+
* @param basisPoints The basis points to allocate to recipient (1-10_000).
|
|
10
|
+
*/
|
|
11
|
+
struct Split {
|
|
12
|
+
// address to send funds to
|
|
13
|
+
address payable recipient;
|
|
14
|
+
// basis points to allocate to recipient (1-10_000)
|
|
15
|
+
uint16 basisPoints;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface ISplitAtomicV0 {
|
|
19
|
+
/**
|
|
20
|
+
* @notice Indicates that the contract has been initialized.
|
|
21
|
+
* @param type_ The type of the contract.
|
|
22
|
+
*/
|
|
23
|
+
event Initialized(bytes32 type_);
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @notice Indicates that the contract's balance manually was drained of
|
|
27
|
+
* ETH.
|
|
28
|
+
*/
|
|
29
|
+
event DrainedETH();
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @notice Indicates that the contract's balance manually was drained of
|
|
33
|
+
* ERC20 token at address `ERC20TokenAddress`.
|
|
34
|
+
* @param ERC20TokenAddress The address of the ERC20 token that was
|
|
35
|
+
* drained.
|
|
36
|
+
*/
|
|
37
|
+
event DrainedERC20(address ERC20TokenAddress);
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* @notice Initializes the contract with the provided `splits`.
|
|
41
|
+
* This function should be called atomically, immediately after deployment.
|
|
42
|
+
* Only callable once.
|
|
43
|
+
* @param splits Splits to configure the contract with. Must add up to
|
|
44
|
+
* 10_000 BPS.
|
|
45
|
+
*/
|
|
46
|
+
function initialize(Split[] calldata splits) external;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* @notice Drains the contract's ETH balance to the configured `splits`.
|
|
50
|
+
* Reverts if not initialized.
|
|
51
|
+
*/
|
|
52
|
+
function drainETH() external;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* @notice Drains the contract's balance of an input ERC20 token to the
|
|
56
|
+
* configured `splits`. Reverts if not initialized.
|
|
57
|
+
* @param ERC20TokenAddress The address of the ERC20 token to split.
|
|
58
|
+
*/
|
|
59
|
+
function drainERC20(address ERC20TokenAddress) external;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @notice Returns the configured `splits`.
|
|
63
|
+
* @return Split[] memory The configured `splits`.
|
|
64
|
+
*/
|
|
65
|
+
function getSplits() external view returns (Split[] memory);
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* @notice Indicates the type of the contract, e.g. `SplitAtomicV0`.
|
|
69
|
+
* @return type_ The type of the contract.
|
|
70
|
+
*/
|
|
71
|
+
function type_() external pure returns (bytes32);
|
|
72
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Creatd By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
import {ISplitFactoryV2} from "./integration-refs/splits-0x-v2/ISplitFactoryV2.sol";
|
|
7
|
+
|
|
8
|
+
interface ISplitProviderV0 {
|
|
9
|
+
/**
|
|
10
|
+
* @notice SplitInputs struct defines the inputs for requested splitters.
|
|
11
|
+
* It is defined in a way easily communicated from the Art Blocks GenArt721V3 contract,
|
|
12
|
+
* to allow for easy integration and minimal additional bytecode in the GenArt721V3 contract.
|
|
13
|
+
*/
|
|
14
|
+
struct SplitInputs {
|
|
15
|
+
address platformProviderSecondarySalesAddress;
|
|
16
|
+
uint16 platformProviderSecondarySalesBPS;
|
|
17
|
+
address renderProviderSecondarySalesAddress;
|
|
18
|
+
uint16 renderProviderSecondarySalesBPS;
|
|
19
|
+
uint8 artistTotalRoyaltyPercentage;
|
|
20
|
+
address artist;
|
|
21
|
+
address additionalPayee;
|
|
22
|
+
uint8 additionalPayeePercentage;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @notice Emitted when a new splitter contract is created.
|
|
27
|
+
* @param splitter address of the splitter contract
|
|
28
|
+
*/
|
|
29
|
+
event SplitterCreated(address indexed splitter);
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @notice Gets or creates an immutable splitter contract at a deterministic address.
|
|
33
|
+
* Splits in the splitter contract are determined by the input split parameters,
|
|
34
|
+
* so we can safely create the splitter contract at a deterministic address (or use
|
|
35
|
+
* the existing splitter contract if it already exists at that address).
|
|
36
|
+
* @dev Uses the 0xSplits v2 implementation to create a splitter contract
|
|
37
|
+
* @param splitInputs The split input parameters.
|
|
38
|
+
* @return splitter The newly created splitter contract address.
|
|
39
|
+
*/
|
|
40
|
+
function getOrCreateSplitter(
|
|
41
|
+
SplitInputs calldata splitInputs
|
|
42
|
+
) external returns (address);
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @notice Indicates the type of the contract, e.g. `SplitProviderV0`.
|
|
46
|
+
* @return type_ The type of the contract.
|
|
47
|
+
*/
|
|
48
|
+
function type_() external pure returns (bytes32);
|
|
49
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
import {IBytecodeStorageReader_Base} from "./IBytecodeStorageReader_Base.sol";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @title This interface extends the IBytecodeStorageReader_Base interface with relevant events and functions used on the
|
|
10
|
+
* universal bytecode storage reader contract.
|
|
11
|
+
* @author Art Blocks Inc.
|
|
12
|
+
*/
|
|
13
|
+
interface IUniversalBytecodeStorageReader is IBytecodeStorageReader_Base {
|
|
14
|
+
/**
|
|
15
|
+
* @notice The active bytecode storage reader contract being used by this universal reader was updated.
|
|
16
|
+
* @param activeReader The address of the new active bytecode storage reader contract.
|
|
17
|
+
*/
|
|
18
|
+
event ReaderUpdated(address indexed activeReader);
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @notice Update the active bytecode storage reader contract being used by this universal reader.
|
|
22
|
+
* @dev emits a ReaderUpdated event when successful.
|
|
23
|
+
* @param newBytecodeStorageReaderContract The address of the new active bytecode storage reader contract.
|
|
24
|
+
*/
|
|
25
|
+
function updateBytecodeStorageReaderContract(
|
|
26
|
+
IBytecodeStorageReader_Base newBytecodeStorageReaderContract
|
|
27
|
+
) external;
|
|
28
|
+
}
|
package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ERC721SeaDropStructsErrorsAndEvents.sol
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// @dev file is sourced from OpenSea's repository: https://github.com/ProjectOpenSea/seadrop/blob/main/src/lib/ERC721SeaDropStructsErrorsAndEvents.sol
|
|
3
|
+
// @dev modified to not lock to specific version, as well as updated imports for this repository
|
|
4
|
+
pragma solidity ^0.8.17;
|
|
5
|
+
|
|
6
|
+
import {AllowListData, PublicDrop, SignedMintValidationParams, TokenGatedDropStage} from "./SeaDropStructs.sol";
|
|
7
|
+
|
|
8
|
+
interface ERC721SeaDropStructsErrorsAndEvents {
|
|
9
|
+
/**
|
|
10
|
+
* @notice Revert with an error if mint exceeds the max supply.
|
|
11
|
+
*/
|
|
12
|
+
error MintQuantityExceedsMaxSupply(uint256 total, uint256 maxSupply);
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @notice Revert with an error if the number of token gated
|
|
16
|
+
* allowedNftTokens doesn't match the length of supplied
|
|
17
|
+
* drop stages.
|
|
18
|
+
*/
|
|
19
|
+
error TokenGatedMismatch();
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @notice Revert with an error if the number of signers doesn't match
|
|
23
|
+
* the length of supplied signedMintValidationParams
|
|
24
|
+
*/
|
|
25
|
+
error SignersMismatch();
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @notice An event to signify that a SeaDrop token contract was deployed.
|
|
29
|
+
*/
|
|
30
|
+
event SeaDropTokenDeployed();
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @notice A struct to configure multiple contract options at a time.
|
|
34
|
+
*/
|
|
35
|
+
struct MultiConfigureStruct {
|
|
36
|
+
uint256 maxSupply;
|
|
37
|
+
string baseURI;
|
|
38
|
+
string contractURI;
|
|
39
|
+
address seaDropImpl;
|
|
40
|
+
PublicDrop publicDrop;
|
|
41
|
+
string dropURI;
|
|
42
|
+
AllowListData allowListData;
|
|
43
|
+
address creatorPayoutAddress;
|
|
44
|
+
bytes32 provenanceHash;
|
|
45
|
+
address[] allowedFeeRecipients;
|
|
46
|
+
address[] disallowedFeeRecipients;
|
|
47
|
+
address[] allowedPayers;
|
|
48
|
+
address[] disallowedPayers;
|
|
49
|
+
// Token-gated
|
|
50
|
+
address[] tokenGatedAllowedNftTokens;
|
|
51
|
+
TokenGatedDropStage[] tokenGatedDropStages;
|
|
52
|
+
address[] disallowedTokenGatedAllowedNftTokens;
|
|
53
|
+
// Server-signed
|
|
54
|
+
address[] signers;
|
|
55
|
+
SignedMintValidationParams[] signedMintValidationParams;
|
|
56
|
+
address[] disallowedSigners;
|
|
57
|
+
}
|
|
58
|
+
}
|