@artblocks/contracts 1.0.4 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -7
- package/artifacts/contracts/AdminACLV0.sol/AdminACLV0.json +2 -2
- package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
- package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +336 -131
- package/artifacts/contracts/archive/GenArt721CoreV3.sol/GenArt721CoreV3.json +2047 -0
- package/artifacts/contracts/archive/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +2021 -0
- package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterBase_v0_1_1.sol/MinterBase.json +1 -1
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExp}/MinterDAExpV4.sol/MinterDAExpV4.json +3 -3
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +1109 -0
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDALin}/MinterDALinV4.sol/MinterDALinV4.json +3 -3
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterHolder}/MinterHolderV4.sol/MinterHolderV4.json +3 -3
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterMerkle}/MinterMerkleV5.sol/MinterMerkleV5.json +3 -3
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +31 -63
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol/MinterPolyptychV0.json +3 -3
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSEA}/MinterSEAV0.sol/MinterSEAV0.json +3 -3
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV4.sol/MinterSetPriceV4.json +3 -3
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +65 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +65 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +807 -0
- package/artifacts/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol/GenArt721MinterBurner_PBAB.json +65 -2
- package/artifacts/contracts/engine/V2/GenArt721Minter_PBAB.sol/GenArt721Minter_PBAB.json +65 -2
- package/artifacts/contracts/engine/V3/EngineFactoryV0.sol/EngineFactoryV0.json +606 -0
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +565 -209
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +785 -227
- package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +40 -15
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +2 -2
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +40 -15
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +36 -68
- package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +12 -12
- package/artifacts/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol/IAdminACLV0_Extended.json +140 -0
- package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol/IBytecodeStorageReaderV2.json +130 -0
- package/artifacts/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +6 -6
- package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +71 -39
- package/artifacts/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol/IEngineFactoryV0.json +283 -0
- package/artifacts/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +12 -12
- package/artifacts/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +12 -12
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +30 -62
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +30 -62
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +170 -104
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +170 -104
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.json +1028 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol/IGenArt721CoreContractV3_Engine_PreV3p2.json +741 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol/IGenArt721CoreContractV3_ProjectFinance.json +87 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol/IGenArt721Minter_PBAB.json +279 -0
- package/artifacts/contracts/interfaces/v0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +22 -22
- package/artifacts/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +1 -1
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +26 -101
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol/ISharedMinterDAExpV0.json +1 -57
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol/ISharedMinterDALinV0.json +1 -57
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol/ISharedMinterDAV0.json +2 -21
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol/ISharedMinterHolderERC20V0.json +158 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol/ISharedMinterHolderV0.json +15 -90
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol/ISharedMinterMerkleV0.json +10 -36
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterRAMV0.sol/ISharedMinterRAMV0.json +62 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol/ISharedMinterRequired.json +37 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +4 -236
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol/ISharedMinterSimplePurchaseV0.json +5 -5
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterV0.sol/ISharedMinterV0.json +7 -423
- package/artifacts/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +17 -17
- package/artifacts/contracts/interfaces/v0.8.x/ISplitAtomicFactoryV0.sol/ISplitAtomicFactoryV0.json +170 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISplitAtomicV0.sol/ISplitAtomicV0.json +126 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISplitProviderV0.sol/ISplitProviderV0.json +98 -0
- package/artifacts/contracts/interfaces/v0.8.x/integration-refs/splits-0x-v2/ISplitFactoryV2.sol/ISplitFactoryV2.json +123 -0
- package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
- package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +2 -2
- package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +2 -2
- package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +2 -2
- package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BitMap.sol/BitMaps256.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV0.sol/BytecodeStorage.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageReader.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageWriter.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageReader.json +214 -0
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageWriter.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/ERC721_PackedHashSeedV1.sol/ERC721_PackedHashSeedV1.json +444 -0
- package/artifacts/contracts/libs/v0.8.x/PackedBools.sol/PackedBools.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/SSTORE2.sol/SSTORE2.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +208 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +60 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DALib.sol/DALib.json +30 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +60 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol/GenericMinterEventsLib.json +346 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +29 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +30 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol/RAMLib.json +398 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +254 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +48 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +41 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +35 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +79 -3
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +41 -41
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +66 -632
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +67 -594
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +33 -524
- package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +66 -632
- package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +33 -524
- package/artifacts/contracts/minter-suite/Minters/MinterRAMV0.sol/MinterRAMV0.json +1374 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +56 -722
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +58 -454
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +61 -552
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +55 -497
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +110 -571
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +69 -560
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +28 -444
- package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol/MinterSetPriceV5_SingleCore.json +417 -0
- package/artifacts/contracts/mock/BytecodeV2LibCallsMock.sol/BytecodeV2LibCallsMock.json +154 -0
- package/artifacts/contracts/mock/BytecodeV2TextCR_DMock.sol/BytecodeV2TextCR_DMock.json +428 -0
- package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
- package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +2 -2
- package/artifacts/contracts/mock/ForceSendMock.sol/ForceSendMock.json +24 -0
- package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +4 -9
- package/artifacts/contracts/mock/Mock0xSplitsV2PullFactory.sol/Mock0xSplitsV2PullFactory.json +149 -0
- package/artifacts/contracts/mock/Mock0xSplitsV2Splitter.sol/Mock0xSplitsV2Splitter.json +99 -0
- package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +20 -2
- package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +20 -2
- package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +2 -2
- package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyGenArt721MinterMock.sol/ReentrancyGenArt721MinterMock.json +100 -0
- package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyHolderMockShared.sol/ReentrancyHolderMockShared.json +136 -0
- package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyMerkleMockShared.sol/ReentrancyMerkleMockShared.json +105 -0
- package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyMockShared.sol/ReentrancyMockShared.json +100 -0
- package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancySEAMockShared.sol/ReentrancySEAAutoBidderMockShared.json +69 -0
- package/artifacts/contracts/mock/ReentrancySplitterMocks.sol/ReentrancySplitterDrainETHMock.json +54 -0
- package/artifacts/contracts/mock/ReentrancySplitterMocks.sol/ReentrancySplitterSendETHMock.json +54 -0
- package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
- package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
- package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +2 -2
- package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +19 -19
- package/artifacts/contracts/split/SplitAtomicFactoryV0.sol/SplitAtomicFactoryV0.json +203 -0
- package/artifacts/contracts/split/SplitAtomicV0.sol/SplitAtomicV0.json +168 -0
- package/artifacts/contracts/split/split-provider/SplitProviderV0.sol/SplitProviderV0.json +141 -0
- package/contracts/AdminACLV0.sol +6 -2
- package/contracts/AdminACLV1.sol +2 -2
- package/contracts/DependencyRegistryV0.sol +737 -390
- package/contracts/{GenArt721CoreV3.sol → archive/GenArt721CoreV3.sol} +56 -20
- package/contracts/{explorations → archive}/GenArt721CoreV3_Explorations.sol +49 -13
- package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterBase_v0_1_1.sol +4 -4
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExp}/MinterDAExpV4.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +5 -5
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExpSettlement}/MinterDAExpSettlementV2.sol +9 -62
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDALin}/MinterDALinV4.sol +4 -4
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterHolder}/MinterHolderV4.sol +5 -5
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterMerkle}/MinterMerkleV5.sol +5 -5
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol +7 -7
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSEA}/MinterSEAV0.sol +13 -13
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV4.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol +82 -10
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +82 -10
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPriceERC20}/MinterSetPriceERC20V4.sol +88 -21
- package/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol +81 -22
- package/contracts/engine/V2/GenArt721Minter_PBAB.sol +80 -22
- package/contracts/engine/V3/EngineFactoryV0.sol +419 -0
- package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +893 -493
- package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +1053 -655
- package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +7 -13
- package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +5 -11
- package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +2 -2
- package/contracts/engine-registry/CoreRegistryV1.sol +58 -65
- package/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol +20 -0
- package/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol +23 -0
- package/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol +6 -8
- package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +48 -43
- package/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol +124 -0
- package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV0.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV1.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpV1.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterDALinV1.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterHolderV2.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterMerkleV2.sol +1 -3
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol +115 -11
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol +84 -8
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol +26 -8
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol +141 -0
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol +78 -0
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol +47 -0
- package/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol +91 -0
- package/contracts/interfaces/v0.8.x/IMinterFilterV1.sol +25 -25
- package/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol +1 -3
- package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +30 -20
- package/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol +1 -14
- package/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol +1 -15
- package/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol +2 -8
- package/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol +47 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol +15 -43
- package/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol +10 -20
- package/contracts/interfaces/v0.8.x/ISharedMinterRAMV0.sol +23 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol +20 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +1 -67
- package/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol +5 -5
- package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +18 -160
- package/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol +37 -37
- package/contracts/interfaces/v0.8.x/ISplitAtomicFactoryV0.sol +81 -0
- package/contracts/interfaces/v0.8.x/ISplitAtomicV0.sol +72 -0
- package/contracts/interfaces/v0.8.x/ISplitProviderV0.sol +49 -0
- package/contracts/interfaces/v0.8.x/integration-refs/splits-0x-v2/ISplitFactoryV2.sol +62 -0
- package/contracts/libs/v0.8.x/ABHelpers.sol +31 -17
- package/contracts/libs/v0.8.x/AuthLib.sol +101 -102
- package/contracts/libs/v0.8.x/BitMap.sol +112 -0
- package/contracts/libs/v0.8.x/BytecodeStorageV2.sol +593 -0
- package/contracts/libs/v0.8.x/Bytes32Strings.sol +5 -5
- package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +90 -0
- package/contracts/libs/v0.8.x/ERC721_PackedHashSeedV1.sol +591 -0
- package/contracts/libs/v0.8.x/PackedBools.sol +42 -0
- package/contracts/libs/v0.8.x/V3FlexLib.sol +591 -0
- package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +162 -39
- package/contracts/libs/v0.8.x/minter-libs/DALib.sol +26 -0
- package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +139 -37
- package/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol +171 -0
- package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +299 -158
- package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +268 -55
- package/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol +138 -58
- package/contracts/libs/v0.8.x/minter-libs/RAMLib.sol +2927 -0
- package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +796 -123
- package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +131 -13
- package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +607 -224
- package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +494 -330
- package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +217 -78
- package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +358 -309
- package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +391 -491
- package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +396 -632
- package/contracts/minter-suite/Minters/MinterDAExpV5.sol +212 -273
- package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +393 -488
- package/contracts/minter-suite/Minters/MinterDALinV5.sol +220 -277
- package/contracts/minter-suite/Minters/MinterRAMV0.sol +1205 -0
- package/contracts/minter-suite/Minters/MinterSEAV1.sol +329 -677
- package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +287 -303
- package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +355 -446
- package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +328 -416
- package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +552 -622
- package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +429 -553
- package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +180 -227
- package/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol +446 -0
- package/contracts/mock/BytecodeV2LibCallsMock.sol +128 -0
- package/contracts/mock/BytecodeV2TextCR_DMock.sol +316 -0
- package/contracts/mock/ForceSendMock.sol +22 -0
- package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +3 -10
- package/contracts/mock/Mock0xSplitsV2PullFactory.sol +75 -0
- package/contracts/mock/Mock0xSplitsV2Splitter.sol +47 -0
- package/contracts/mock/MockAdminACLV0.sol +21 -0
- package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +21 -0
- package/contracts/mock/ReentrancyGenArt721MinterMock.sol +47 -0
- package/contracts/mock/ReentrancyHolderMockShared.sol +59 -0
- package/contracts/mock/ReentrancyMerkleMockShared.sol +58 -0
- package/contracts/mock/ReentrancyMockShared.sol +48 -0
- package/contracts/mock/ReentrancySEAMockShared.sol +40 -0
- package/contracts/mock/ReentrancySplitterMocks.sol +67 -0
- package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +1 -1
- package/contracts/randomizer/shared/SharedRandomizerV0.sol +79 -71
- package/contracts/split/SplitAtomicFactoryV0.sol +121 -0
- package/contracts/split/SplitAtomicV0.sol +265 -0
- package/contracts/split/split-provider/SplitProviderV0.sol +201 -0
- package/package.json +79 -45
- package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +0 -1965
- package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +0 -1939
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +0 -1127
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +0 -768
- package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +0 -208
- package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol/GenArt721RoyaltyOverride_PBAB.json +0 -301
- package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +0 -168
- package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +0 -221
|
@@ -0,0 +1,78 @@
|
|
|
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
|
+
import "./IGenArt721CoreContractV3_Base.sol";
|
|
8
|
+
|
|
9
|
+
// @title This interface is intended to house interface items that were used on the
|
|
10
|
+
// GenArt721CoreContractV3 Engine and derivative implementations prior to v3.2.0.
|
|
11
|
+
// Namely, the platform and render provider secondary sales functions are exposed at the contract-level
|
|
12
|
+
// instead of having only defaults defined at the contract level.
|
|
13
|
+
interface IGenArt721CoreContractV3_Engine_PreV3p2 is
|
|
14
|
+
IGenArt721CoreContractV3_Base
|
|
15
|
+
{
|
|
16
|
+
// @dev new function in V3
|
|
17
|
+
function getPrimaryRevenueSplits(
|
|
18
|
+
uint256 _projectId,
|
|
19
|
+
uint256 _price
|
|
20
|
+
)
|
|
21
|
+
external
|
|
22
|
+
view
|
|
23
|
+
returns (
|
|
24
|
+
uint256 renderProviderRevenue_,
|
|
25
|
+
address payable renderProviderAddress_,
|
|
26
|
+
uint256 platformProviderRevenue_,
|
|
27
|
+
address payable platformProviderAddress_,
|
|
28
|
+
uint256 artistRevenue_,
|
|
29
|
+
address payable artistAddress_,
|
|
30
|
+
uint256 additionalPayeePrimaryRevenue_,
|
|
31
|
+
address payable additionalPayeePrimaryAddress_
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
// @dev The render provider primary sales payment address
|
|
35
|
+
function renderProviderPrimarySalesAddress()
|
|
36
|
+
external
|
|
37
|
+
view
|
|
38
|
+
returns (address payable);
|
|
39
|
+
|
|
40
|
+
// @dev The platform provider primary sales payment address
|
|
41
|
+
function platformProviderPrimarySalesAddress()
|
|
42
|
+
external
|
|
43
|
+
view
|
|
44
|
+
returns (address payable);
|
|
45
|
+
|
|
46
|
+
// @dev Percentage of primary sales allocated to the render provider
|
|
47
|
+
function renderProviderPrimarySalesPercentage()
|
|
48
|
+
external
|
|
49
|
+
view
|
|
50
|
+
returns (uint256);
|
|
51
|
+
|
|
52
|
+
// @dev Percentage of primary sales allocated to the platform provider
|
|
53
|
+
function platformProviderPrimarySalesPercentage()
|
|
54
|
+
external
|
|
55
|
+
view
|
|
56
|
+
returns (uint256);
|
|
57
|
+
|
|
58
|
+
// @dev The render provider secondary sales royalties payment address
|
|
59
|
+
function renderProviderSecondarySalesAddress()
|
|
60
|
+
external
|
|
61
|
+
view
|
|
62
|
+
returns (address payable);
|
|
63
|
+
|
|
64
|
+
// @dev The platform provider secondary sales royalties payment address
|
|
65
|
+
function platformProviderSecondarySalesAddress()
|
|
66
|
+
external
|
|
67
|
+
view
|
|
68
|
+
returns (address payable);
|
|
69
|
+
|
|
70
|
+
// @dev Basis points of secondary sales allocated to the render provider
|
|
71
|
+
function renderProviderSecondarySalesBPS() external view returns (uint256);
|
|
72
|
+
|
|
73
|
+
// @dev Basis points of secondary sales allocated to the platform provider
|
|
74
|
+
function platformProviderSecondarySalesBPS()
|
|
75
|
+
external
|
|
76
|
+
view
|
|
77
|
+
returns (uint256);
|
|
78
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
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
|
+
/**
|
|
9
|
+
* @title This interface defines a project finance struct that is used in the
|
|
10
|
+
* GenArt721CoreContractV3 flagship and derivative implementations beginning
|
|
11
|
+
* with v3.2.0. This struct is intended to house all financial information
|
|
12
|
+
* related to a project, including royalties, artist splits, and platform
|
|
13
|
+
* provider splits.
|
|
14
|
+
* @author Art Blocks Inc.
|
|
15
|
+
*/
|
|
16
|
+
interface IGenArt721CoreContractV3_ProjectFinance {
|
|
17
|
+
/// packed struct containing project financial information
|
|
18
|
+
struct ProjectFinance {
|
|
19
|
+
address payable additionalPayeePrimarySales;
|
|
20
|
+
// packed uint: max of 95, max uint8 = 255
|
|
21
|
+
uint8 secondaryMarketRoyaltyPercentage;
|
|
22
|
+
address payable additionalPayeeSecondarySales;
|
|
23
|
+
// packed uint: max of 100, max uint8 = 255
|
|
24
|
+
uint8 additionalPayeeSecondarySalesPercentage;
|
|
25
|
+
address payable artistAddress;
|
|
26
|
+
// packed uint: max of 100, max uint8 = 255
|
|
27
|
+
uint8 additionalPayeePrimarySalesPercentage;
|
|
28
|
+
address platformProviderSecondarySalesAddress;
|
|
29
|
+
// packed uint: max of 10_000 max uint16 = 65_535
|
|
30
|
+
uint16 platformProviderSecondarySalesBPS;
|
|
31
|
+
address renderProviderSecondarySalesAddress;
|
|
32
|
+
// packed uint: max of 10_000 max uint16 = 65_535
|
|
33
|
+
uint16 renderProviderSecondarySalesBPS;
|
|
34
|
+
// address to send ERC-2981 royalties to
|
|
35
|
+
address royaltySplitter;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* @notice View function returning project financial details for project
|
|
40
|
+
* `_projectId`.
|
|
41
|
+
* @param _projectId Project ID to be queried.
|
|
42
|
+
* @return ProjectFinance Project financial details.
|
|
43
|
+
*/
|
|
44
|
+
function projectIdToFinancials(
|
|
45
|
+
uint256 _projectId
|
|
46
|
+
) external view returns (ProjectFinance memory);
|
|
47
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -93,55 +93,55 @@ interface IMinterFilterV1 {
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
function setMinterForProject(
|
|
96
|
-
uint256
|
|
97
|
-
address
|
|
98
|
-
address
|
|
96
|
+
uint256 projectId,
|
|
97
|
+
address coreContract,
|
|
98
|
+
address minter
|
|
99
99
|
) external;
|
|
100
100
|
|
|
101
101
|
function removeMinterForProject(
|
|
102
|
-
uint256
|
|
103
|
-
address
|
|
102
|
+
uint256 projectId,
|
|
103
|
+
address coreContract
|
|
104
104
|
) external;
|
|
105
105
|
|
|
106
106
|
// @dev function name is optimized for gas
|
|
107
107
|
function mint_joo(
|
|
108
|
-
address
|
|
109
|
-
uint256
|
|
110
|
-
address
|
|
111
|
-
address
|
|
108
|
+
address to,
|
|
109
|
+
uint256 projectId,
|
|
110
|
+
address coreContract,
|
|
111
|
+
address sender
|
|
112
112
|
) external returns (uint256);
|
|
113
113
|
|
|
114
|
-
function updateCoreRegistry(address
|
|
114
|
+
function updateCoreRegistry(address coreRegistry) external;
|
|
115
115
|
|
|
116
116
|
/**
|
|
117
|
-
* @notice Returns if `
|
|
118
|
-
* with `
|
|
117
|
+
* @notice Returns if `sender` is allowed to call function on `contract`
|
|
118
|
+
* with `selector` selector, according to the MinterFilter's Admin ACL.
|
|
119
119
|
*/
|
|
120
120
|
function adminACLAllowed(
|
|
121
|
-
address
|
|
122
|
-
address
|
|
123
|
-
bytes4
|
|
121
|
+
address sender,
|
|
122
|
+
address contract_,
|
|
123
|
+
bytes4 selector
|
|
124
124
|
) external returns (bool);
|
|
125
125
|
|
|
126
126
|
function minterFilterType() external pure returns (string memory);
|
|
127
127
|
|
|
128
128
|
function getMinterForProject(
|
|
129
|
-
uint256
|
|
130
|
-
address
|
|
129
|
+
uint256 projectId,
|
|
130
|
+
address coreContract
|
|
131
131
|
) external view returns (address);
|
|
132
132
|
|
|
133
133
|
function projectHasMinter(
|
|
134
|
-
uint256
|
|
135
|
-
address
|
|
134
|
+
uint256 projectId,
|
|
135
|
+
address coreContract
|
|
136
136
|
) external view returns (bool);
|
|
137
137
|
|
|
138
138
|
/**
|
|
139
139
|
* @notice View that returns if a core contract is registered with the
|
|
140
140
|
* core registry, allowing this minter filter to service it.
|
|
141
|
-
* @param
|
|
141
|
+
* @param coreContract core contract address to be checked
|
|
142
142
|
*/
|
|
143
143
|
function isRegisteredCoreContract(
|
|
144
|
-
address
|
|
144
|
+
address coreContract
|
|
145
145
|
) external view returns (bool);
|
|
146
146
|
|
|
147
147
|
/// Address of current core registry contract
|
|
@@ -152,12 +152,12 @@ interface IMinterFilterV1 {
|
|
|
152
152
|
|
|
153
153
|
/// The quantity of projects on a core contract that have assigned minters
|
|
154
154
|
function getNumProjectsOnContractWithMinters(
|
|
155
|
-
address
|
|
155
|
+
address coreContract
|
|
156
156
|
) external view returns (uint256);
|
|
157
157
|
|
|
158
158
|
function getProjectAndMinterInfoOnContractAt(
|
|
159
|
-
address
|
|
160
|
-
uint256
|
|
159
|
+
address coreContract,
|
|
160
|
+
uint256 index
|
|
161
161
|
)
|
|
162
162
|
external
|
|
163
163
|
view
|
|
@@ -173,7 +173,7 @@ interface IMinterFilterV1 {
|
|
|
173
173
|
returns (MinterWithType[] memory mintersWithTypes);
|
|
174
174
|
|
|
175
175
|
function getAllContractApprovedMinters(
|
|
176
|
-
address
|
|
176
|
+
address coreContract
|
|
177
177
|
) external view returns (MinterWithType[] memory mintersWithTypes);
|
|
178
178
|
|
|
179
179
|
/**
|
|
@@ -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
|
}
|
|
@@ -5,33 +5,43 @@ pragma solidity ^0.8.0;
|
|
|
5
5
|
import "./ISharedMinterDAExpV0.sol";
|
|
6
6
|
|
|
7
7
|
interface ISharedMinterDAExpSettlementV0 is ISharedMinterDAExpV0 {
|
|
8
|
-
///
|
|
9
|
-
event ReceiptUpdated(
|
|
10
|
-
address indexed _purchaser,
|
|
11
|
-
uint256 indexed _projectId,
|
|
12
|
-
address indexed _coreContract,
|
|
13
|
-
uint24 _numPurchased,
|
|
14
|
-
uint256 _netPosted
|
|
15
|
-
);
|
|
16
|
-
|
|
17
|
-
/// returns latest purchase price for project `_projectId`, or 0 if no
|
|
8
|
+
/// returns latest purchase price for project `projectId`, or 0 if no
|
|
18
9
|
/// purchases have been made.
|
|
19
10
|
function getProjectLatestPurchasePrice(
|
|
20
|
-
uint256
|
|
21
|
-
address
|
|
11
|
+
uint256 projectId,
|
|
12
|
+
address coreContract
|
|
22
13
|
) external view returns (uint256 latestPurchasePrice);
|
|
23
14
|
|
|
24
|
-
/// returns the number of settleable invocations for project `
|
|
15
|
+
/// returns the number of settleable invocations for project `projectId`.
|
|
25
16
|
function getNumSettleableInvocations(
|
|
26
|
-
uint256
|
|
27
|
-
address
|
|
17
|
+
uint256 projectId,
|
|
18
|
+
address coreContract
|
|
28
19
|
) external view returns (uint256 numSettleableInvocations);
|
|
29
20
|
|
|
30
|
-
/// Returns the current excess settlement funds on project `
|
|
31
|
-
/// for address `
|
|
21
|
+
/// Returns the current excess settlement funds on project `projectId`
|
|
22
|
+
/// for address `walletAddress`.
|
|
32
23
|
function getProjectExcessSettlementFunds(
|
|
33
|
-
uint256
|
|
34
|
-
address
|
|
35
|
-
address
|
|
24
|
+
uint256 projectId,
|
|
25
|
+
address coreContract,
|
|
26
|
+
address walletAddress
|
|
36
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;
|
|
37
47
|
}
|
|
@@ -4,22 +4,9 @@
|
|
|
4
4
|
pragma solidity ^0.8.0;
|
|
5
5
|
|
|
6
6
|
interface ISharedMinterDAExpV0 {
|
|
7
|
-
event SetAuctionDetailsExp(
|
|
8
|
-
uint256 indexed _projectId,
|
|
9
|
-
address indexed _coreContract,
|
|
10
|
-
uint40 _auctionTimestampStart,
|
|
11
|
-
uint40 _priceDecayHalfLifeSeconds,
|
|
12
|
-
uint256 _startPrice,
|
|
13
|
-
uint256 _basePrice
|
|
14
|
-
);
|
|
15
|
-
/// Minimum allowed price decay half life seconds updated.
|
|
16
|
-
event AuctionMinHalfLifeSecondsUpdated(
|
|
17
|
-
uint256 _minimumPriceDecayHalfLifeSeconds
|
|
18
|
-
);
|
|
19
|
-
|
|
20
7
|
function minimumPriceDecayHalfLifeSeconds() external view returns (uint256);
|
|
21
8
|
|
|
22
9
|
function setMinimumPriceDecayHalfLifeSeconds(
|
|
23
|
-
uint256
|
|
10
|
+
uint256 minimumPriceDecayHalfLifeSeconds
|
|
24
11
|
) external;
|
|
25
12
|
}
|
|
@@ -4,23 +4,9 @@
|
|
|
4
4
|
pragma solidity ^0.8.0;
|
|
5
5
|
|
|
6
6
|
interface ISharedMinterDALinV0 {
|
|
7
|
-
event SetAuctionDetailsLin(
|
|
8
|
-
uint256 indexed _projectId,
|
|
9
|
-
address indexed _coreContract,
|
|
10
|
-
uint40 _auctionTimestampStart,
|
|
11
|
-
uint40 _auctionTimestampEnd,
|
|
12
|
-
uint256 _startPrice,
|
|
13
|
-
uint256 _basePrice
|
|
14
|
-
);
|
|
15
|
-
|
|
16
|
-
/// Minimum allowed auction length updated
|
|
17
|
-
event AuctionMinimumLengthSecondsUpdated(
|
|
18
|
-
uint256 _minimumAuctionLengthSeconds
|
|
19
|
-
);
|
|
20
|
-
|
|
21
7
|
function minimumAuctionLengthSeconds() external view returns (uint256);
|
|
22
8
|
|
|
23
9
|
function setMinimumAuctionLengthSeconds(
|
|
24
|
-
uint256
|
|
10
|
+
uint256 minimumAuctionLengthSeconds
|
|
25
11
|
) external;
|
|
26
12
|
}
|
|
@@ -4,16 +4,10 @@
|
|
|
4
4
|
pragma solidity ^0.8.0;
|
|
5
5
|
|
|
6
6
|
interface ISharedMinterDAV0 {
|
|
7
|
-
/// Auction details cleared for project `projectId`.
|
|
8
|
-
event ResetAuctionDetails(
|
|
9
|
-
uint256 indexed _projectId,
|
|
10
|
-
address indexed _coreContract
|
|
11
|
-
);
|
|
12
|
-
|
|
13
7
|
// @dev return variables left unnamed because specific minter
|
|
14
8
|
// implementations may return different values for the same slots
|
|
15
9
|
function projectAuctionParameters(
|
|
16
|
-
uint256
|
|
17
|
-
address
|
|
10
|
+
uint256 projectId,
|
|
11
|
+
address coreContract
|
|
18
12
|
) external view returns (uint40, uint40, uint256, uint256);
|
|
19
13
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @title This interface adds support for including token holder gating when purchasing with ERC20 tokens.
|
|
8
|
+
* @author Art Blocks Inc.
|
|
9
|
+
*/
|
|
10
|
+
interface ISharedMinterHolderERC20V0 {
|
|
11
|
+
// Triggers a purchase of a token from the desired project, to the
|
|
12
|
+
// TX-sending address, using owned ERC-721 NFT to claim right to purchase.
|
|
13
|
+
function purchase(
|
|
14
|
+
uint256 projectId,
|
|
15
|
+
address coreContract,
|
|
16
|
+
uint256 maxPricePerToken,
|
|
17
|
+
address currencyAddress,
|
|
18
|
+
address ownedNFTAddress,
|
|
19
|
+
uint256 ownedNFTTokenId
|
|
20
|
+
) external returns (uint256 tokenId);
|
|
21
|
+
|
|
22
|
+
// Triggers a purchase of a token from the desired project, to the specified
|
|
23
|
+
// receiving address, using owned ERC-721 NFT to claim right to purchase.
|
|
24
|
+
function purchaseTo(
|
|
25
|
+
address to,
|
|
26
|
+
uint256 projectId,
|
|
27
|
+
address coreContract,
|
|
28
|
+
uint256 maxPricePerToken,
|
|
29
|
+
address currencyAddress,
|
|
30
|
+
address ownedNFTAddress,
|
|
31
|
+
uint256 ownedNFTTokenId
|
|
32
|
+
) external returns (uint256 tokenId);
|
|
33
|
+
|
|
34
|
+
// Triggers a purchase of a token from the desired project, on behalf of
|
|
35
|
+
// the provided vault, to the specified receiving address, using owned
|
|
36
|
+
// ERC-721 NFT to claim right to purchase.
|
|
37
|
+
function purchaseTo(
|
|
38
|
+
address to,
|
|
39
|
+
uint256 projectId,
|
|
40
|
+
address coreContract,
|
|
41
|
+
uint256 maxPricePerToken,
|
|
42
|
+
address currencyAddress,
|
|
43
|
+
address ownedNFTAddress,
|
|
44
|
+
uint256 ownedNFTTokenId,
|
|
45
|
+
address vault
|
|
46
|
+
) external returns (uint256 tokenId);
|
|
47
|
+
}
|
|
@@ -8,62 +8,34 @@ pragma solidity ^0.8.0;
|
|
|
8
8
|
* @author Art Blocks Inc.
|
|
9
9
|
*/
|
|
10
10
|
interface ISharedMinterHolderV0 {
|
|
11
|
-
event DelegationRegistryUpdated(address delegationRegistry);
|
|
12
|
-
/**
|
|
13
|
-
* @notice Allow holders of NFTs at addresses `_ownedNFTAddresses`, project
|
|
14
|
-
* IDs `_ownedNFTProjectIds` to mint on project `_projectId`.
|
|
15
|
-
* `_ownedNFTAddresses` assumed to be aligned with `_ownedNFTProjectIds`.
|
|
16
|
-
* e.g. Allows holders of project `_ownedNFTProjectIds[0]` on token
|
|
17
|
-
* contract `_ownedNFTAddresses[0]` to mint.
|
|
18
|
-
*/
|
|
19
|
-
event AllowedHoldersOfProjects(
|
|
20
|
-
uint256 indexed _projectId,
|
|
21
|
-
address indexed _coreContract,
|
|
22
|
-
address[] _ownedNFTAddresses,
|
|
23
|
-
uint256[] _ownedNFTProjectIds
|
|
24
|
-
);
|
|
25
|
-
/**
|
|
26
|
-
* @notice Remove holders of NFTs at addresses `_ownedNFTAddresses`,
|
|
27
|
-
* project IDs `_ownedNFTProjectIds` to mint on project `_projectId`.
|
|
28
|
-
* `_ownedNFTAddresses` assumed to be aligned with `_ownedNFTProjectIds`.
|
|
29
|
-
* e.g. Removes holders of project `_ownedNFTProjectIds[0]` on token
|
|
30
|
-
* contract `_ownedNFTAddresses[0]` from mint allowlist.
|
|
31
|
-
*/
|
|
32
|
-
event RemovedHoldersOfProjects(
|
|
33
|
-
uint256 indexed _projectId,
|
|
34
|
-
address indexed _coreContract,
|
|
35
|
-
address[] _ownedNFTAddresses,
|
|
36
|
-
uint256[] _ownedNFTProjectIds
|
|
37
|
-
);
|
|
38
|
-
|
|
39
11
|
// Triggers a purchase of a token from the desired project, to the
|
|
40
12
|
// TX-sending address, using owned ERC-721 NFT to claim right to purchase.
|
|
41
13
|
function purchase(
|
|
42
|
-
uint256
|
|
43
|
-
address
|
|
44
|
-
address
|
|
45
|
-
uint256
|
|
14
|
+
uint256 projectId,
|
|
15
|
+
address coreContract,
|
|
16
|
+
address ownedNFTAddress,
|
|
17
|
+
uint256 ownedNFTTokenId
|
|
46
18
|
) external payable returns (uint256 tokenId);
|
|
47
19
|
|
|
48
20
|
// Triggers a purchase of a token from the desired project, to the specified
|
|
49
21
|
// receiving address, using owned ERC-721 NFT to claim right to purchase.
|
|
50
22
|
function purchaseTo(
|
|
51
|
-
address
|
|
52
|
-
uint256
|
|
53
|
-
address
|
|
54
|
-
address
|
|
55
|
-
uint256
|
|
23
|
+
address to,
|
|
24
|
+
uint256 projectId,
|
|
25
|
+
address coreContract,
|
|
26
|
+
address ownedNFTAddress,
|
|
27
|
+
uint256 ownedNFTTokenId
|
|
56
28
|
) external payable returns (uint256 tokenId);
|
|
57
29
|
|
|
58
30
|
// Triggers a purchase of a token from the desired project, on behalf of
|
|
59
31
|
// the provided vault, to the specified receiving address, using owned
|
|
60
32
|
// ERC-721 NFT to claim right to purchase.
|
|
61
33
|
function purchaseTo(
|
|
62
|
-
address
|
|
63
|
-
uint256
|
|
64
|
-
address
|
|
65
|
-
address
|
|
66
|
-
uint256
|
|
67
|
-
address
|
|
34
|
+
address to,
|
|
35
|
+
uint256 projectId,
|
|
36
|
+
address coreContract,
|
|
37
|
+
address ownedNFTAddress,
|
|
38
|
+
uint256 ownedNFTTokenId,
|
|
39
|
+
address vault
|
|
68
40
|
) external payable returns (uint256 tokenId);
|
|
69
41
|
}
|
|
@@ -8,37 +8,27 @@ pragma solidity ^0.8.0;
|
|
|
8
8
|
* @author Art Blocks Inc.
|
|
9
9
|
*/
|
|
10
10
|
interface ISharedMinterMerkleV0 {
|
|
11
|
-
/**
|
|
12
|
-
* @notice Notifies of the contract's default maximum mints allowed per
|
|
13
|
-
* user for a given project, on this minter. This value can be overridden
|
|
14
|
-
* by the artist of any project at any time.
|
|
15
|
-
*/
|
|
16
|
-
event DefaultMaxInvocationsPerAddress(
|
|
17
|
-
uint256 defaultMaxInvocationsPerAddress
|
|
18
|
-
);
|
|
19
|
-
event DelegationRegistryUpdated(address delegationRegistry);
|
|
20
|
-
|
|
21
11
|
// Triggers a purchase of a token from the desired project, to the
|
|
22
12
|
// TX-sending address. Requires Merkle proof.
|
|
23
13
|
function purchase(
|
|
24
|
-
uint256
|
|
25
|
-
address
|
|
26
|
-
bytes32[] calldata
|
|
14
|
+
uint256 projectId,
|
|
15
|
+
address coreContract,
|
|
16
|
+
bytes32[] calldata proof
|
|
27
17
|
) external payable returns (uint256 tokenId);
|
|
28
18
|
|
|
29
19
|
// Triggers a purchase of a token from the desired project, to the specified
|
|
30
20
|
// receiving address. Requires Merkle proof.
|
|
31
21
|
function purchaseTo(
|
|
32
|
-
address
|
|
33
|
-
uint256
|
|
34
|
-
address
|
|
35
|
-
bytes32[] calldata
|
|
22
|
+
address to,
|
|
23
|
+
uint256 projectId,
|
|
24
|
+
address coreContract,
|
|
25
|
+
bytes32[] calldata proof
|
|
36
26
|
) external payable returns (uint256 tokenId);
|
|
37
27
|
|
|
38
28
|
// Updates the Merkle root for the desired project.
|
|
39
29
|
function updateMerkleRoot(
|
|
40
|
-
uint256
|
|
41
|
-
address
|
|
42
|
-
bytes32
|
|
30
|
+
uint256 projectId,
|
|
31
|
+
address coreContract,
|
|
32
|
+
bytes32 root
|
|
43
33
|
) external;
|
|
44
34
|
}
|
|
@@ -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
|
+
}
|