@artblocks/contracts 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -7
- package/artifacts/contracts/AdminACLV0.sol/AdminACLV0.json +2 -2
- package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
- package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +273 -155
- package/artifacts/contracts/archive/GenArt721CoreV3.sol/GenArt721CoreV3.json +2047 -0
- package/artifacts/contracts/archive/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +2021 -0
- package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterBase_v0_1_1.sol/MinterBase.json +1 -1
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExp}/MinterDAExpV4.sol/MinterDAExpV4.json +3 -3
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExpSettlement}/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +3 -3
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDALin}/MinterDALinV4.sol/MinterDALinV4.json +3 -3
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterHolder}/MinterHolderV4.sol/MinterHolderV4.json +3 -3
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterMerkle}/MinterMerkleV5.sol/MinterMerkleV5.json +3 -3
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +31 -63
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol/MinterPolyptychV0.json +3 -3
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSEA}/MinterSEAV0.sol/MinterSEAV0.json +3 -3
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
- package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV4.sol/MinterSetPriceV4.json +3 -3
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +65 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +65 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +807 -0
- package/artifacts/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol/GenArt721MinterBurner_PBAB.json +65 -2
- package/artifacts/contracts/engine/V2/GenArt721Minter_PBAB.sol/GenArt721Minter_PBAB.json +65 -2
- package/artifacts/contracts/engine/V3/EngineFactoryV0.sol/EngineFactoryV0.json +606 -0
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +567 -206
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +787 -224
- package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +38 -8
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +2 -2
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +38 -8
- package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +36 -68
- package/artifacts/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol/IAdminACLV0_Extended.json +140 -0
- package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol/IBytecodeStorageReaderV2.json +130 -0
- package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +58 -45
- package/artifacts/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol/IEngineFactoryV0.json +283 -0
- package/artifacts/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +12 -12
- package/artifacts/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +12 -12
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +30 -62
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +30 -62
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +170 -104
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +170 -104
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.json +1028 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol/IGenArt721CoreContractV3_Engine_PreV3p2.json +741 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol/IGenArt721CoreContractV3_ProjectFinance.json +87 -0
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol/IGenArt721Minter_PBAB.json +279 -0
- package/artifacts/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +1 -1
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +18 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterRAMV0.sol/ISharedMinterRAMV0.json +62 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol/ISharedMinterRequired.json +37 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +1 -1
- package/artifacts/contracts/interfaces/v0.8.x/ISplitAtomicFactoryV0.sol/ISplitAtomicFactoryV0.json +170 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISplitAtomicV0.sol/ISplitAtomicV0.json +126 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISplitProviderV0.sol/ISplitProviderV0.json +98 -0
- package/artifacts/contracts/interfaces/v0.8.x/integration-refs/splits-0x-v2/ISplitFactoryV2.sol/ISplitFactoryV2.json +123 -0
- package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
- package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +2 -2
- package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +2 -2
- package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +2 -2
- package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BitMap.sol/BitMaps256.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV0.sol/BytecodeStorage.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageReader.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageWriter.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageReader.json +214 -0
- package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageWriter.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/ERC721_PackedHashSeedV1.sol/ERC721_PackedHashSeedV1.json +444 -0
- package/artifacts/contracts/libs/v0.8.x/PackedBools.sol/PackedBools.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/SSTORE2.sol/SSTORE2.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +208 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DALib.sol/DALib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol/GenericMinterEventsLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol/RAMLib.json +398 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +2 -2
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterRAMV0.sol/MinterRAMV0.json +1374 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +7 -7
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol/MinterSetPriceV5_SingleCore.json +417 -0
- package/artifacts/contracts/mock/BytecodeV2LibCallsMock.sol/BytecodeV2LibCallsMock.json +154 -0
- package/artifacts/contracts/mock/BytecodeV2TextCR_DMock.sol/BytecodeV2TextCR_DMock.json +428 -0
- package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
- package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +2 -2
- package/artifacts/contracts/mock/ForceSendMock.sol/ForceSendMock.json +24 -0
- package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +2 -2
- package/artifacts/contracts/mock/Mock0xSplitsV2PullFactory.sol/Mock0xSplitsV2PullFactory.json +149 -0
- package/artifacts/contracts/mock/Mock0xSplitsV2Splitter.sol/Mock0xSplitsV2Splitter.json +99 -0
- package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +20 -2
- package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +20 -2
- package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyGenArt721MinterMock.sol/ReentrancyGenArt721MinterMock.json +100 -0
- package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyHolderMockShared.sol/ReentrancyHolderMockShared.json +2 -2
- package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyMerkleMockShared.sol/ReentrancyMerkleMockShared.json +2 -2
- package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyMockShared.sol/ReentrancyMockShared.json +2 -2
- package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancySEAMockShared.sol/ReentrancySEAAutoBidderMockShared.json +2 -2
- package/artifacts/contracts/mock/ReentrancySplitterMocks.sol/ReentrancySplitterDrainETHMock.json +54 -0
- package/artifacts/contracts/mock/ReentrancySplitterMocks.sol/ReentrancySplitterSendETHMock.json +54 -0
- package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
- package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
- package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +2 -2
- package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +2 -2
- package/artifacts/contracts/split/SplitAtomicFactoryV0.sol/SplitAtomicFactoryV0.json +203 -0
- package/artifacts/contracts/split/SplitAtomicV0.sol/SplitAtomicV0.json +168 -0
- package/artifacts/contracts/split/split-provider/SplitProviderV0.sol/SplitProviderV0.json +141 -0
- package/contracts/AdminACLV0.sol +6 -2
- package/contracts/AdminACLV1.sol +2 -2
- package/contracts/DependencyRegistryV0.sol +687 -408
- package/contracts/{GenArt721CoreV3.sol → archive/GenArt721CoreV3.sol} +56 -20
- package/contracts/{explorations → archive}/GenArt721CoreV3_Explorations.sol +49 -13
- package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterBase_v0_1_1.sol +4 -4
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExp}/MinterDAExpV4.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +5 -5
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExpSettlement}/MinterDAExpSettlementV2.sol +8 -8
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDALin}/MinterDALinV4.sol +4 -4
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterHolder}/MinterHolderV4.sol +5 -5
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterMerkle}/MinterMerkleV5.sol +5 -5
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol +7 -7
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSEA}/MinterSEAV0.sol +13 -13
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV4.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol +82 -10
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +82 -10
- package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPriceERC20}/MinterSetPriceERC20V4.sol +88 -21
- package/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol +81 -22
- package/contracts/engine/V2/GenArt721Minter_PBAB.sol +80 -22
- package/contracts/engine/V3/EngineFactoryV0.sol +419 -0
- package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +894 -488
- package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +1054 -650
- package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +3 -3
- package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +1 -1
- package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +2 -2
- package/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol +20 -0
- package/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol +23 -0
- package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +47 -45
- package/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol +124 -0
- package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV0.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV1.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpV1.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterDALinV1.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterHolderV2.sol +1 -3
- package/contracts/interfaces/v0.8.x/IFilteredMinterMerkleV2.sol +1 -3
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol +115 -11
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol +84 -8
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol +26 -8
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol +141 -0
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol +78 -0
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol +47 -0
- package/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol +91 -0
- package/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol +1 -3
- package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +19 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterRAMV0.sol +23 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol +20 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +1 -4
- package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +12 -6
- package/contracts/interfaces/v0.8.x/ISplitAtomicFactoryV0.sol +81 -0
- package/contracts/interfaces/v0.8.x/ISplitAtomicV0.sol +72 -0
- package/contracts/interfaces/v0.8.x/ISplitProviderV0.sol +49 -0
- package/contracts/interfaces/v0.8.x/integration-refs/splits-0x-v2/ISplitFactoryV2.sol +62 -0
- package/contracts/libs/v0.8.x/ABHelpers.sol +18 -4
- package/contracts/libs/v0.8.x/BitMap.sol +112 -0
- package/contracts/libs/v0.8.x/BytecodeStorageV2.sol +593 -0
- package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +90 -0
- package/contracts/libs/v0.8.x/ERC721_PackedHashSeedV1.sol +591 -0
- package/contracts/libs/v0.8.x/PackedBools.sol +42 -0
- package/contracts/libs/v0.8.x/V3FlexLib.sol +591 -0
- package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +10 -12
- package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +4 -9
- package/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol +44 -44
- package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +64 -63
- package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +14 -10
- package/contracts/libs/v0.8.x/minter-libs/RAMLib.sol +2927 -0
- package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +60 -62
- package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +4 -8
- package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +92 -89
- package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +21 -15
- package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +5 -4
- package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +16 -10
- package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +2 -2
- package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +19 -15
- package/contracts/minter-suite/Minters/MinterDAExpV5.sol +2 -2
- package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +2 -2
- package/contracts/minter-suite/Minters/MinterDALinV5.sol +2 -2
- package/contracts/minter-suite/Minters/MinterRAMV0.sol +1205 -0
- package/contracts/minter-suite/Minters/MinterSEAV1.sol +21 -32
- package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +17 -8
- package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +2 -2
- package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +2 -2
- package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +23 -9
- package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +2 -2
- package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +2 -2
- package/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol +446 -0
- package/contracts/mock/BytecodeV2LibCallsMock.sol +128 -0
- package/contracts/mock/BytecodeV2TextCR_DMock.sol +316 -0
- package/contracts/mock/ForceSendMock.sol +22 -0
- package/contracts/mock/Mock0xSplitsV2PullFactory.sol +75 -0
- package/contracts/mock/Mock0xSplitsV2Splitter.sol +47 -0
- package/contracts/mock/MockAdminACLV0.sol +21 -0
- package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +21 -0
- package/contracts/mock/ReentrancyGenArt721MinterMock.sol +47 -0
- package/contracts/mock/ReentrancySplitterMocks.sol +67 -0
- package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +1 -1
- package/contracts/randomizer/shared/SharedRandomizerV0.sol +1 -1
- package/contracts/split/SplitAtomicFactoryV0.sol +121 -0
- package/contracts/split/SplitAtomicV0.sol +265 -0
- package/contracts/split/split-provider/SplitProviderV0.sol +201 -0
- package/package.json +62 -34
- package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +0 -1965
- package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +0 -1939
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +0 -768
- package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +0 -208
- package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol/GenArt721RoyaltyOverride_PBAB.json +0 -301
- package/contracts/archive/readme.md +0 -16
- package/contracts/engine/README.md +0 -21
- package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +0 -168
- package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +0 -221
|
@@ -5,6 +5,8 @@ pragma solidity ^0.8.0;
|
|
|
5
5
|
|
|
6
6
|
import {IERC721} from "@openzeppelin-4.7/contracts/token/ERC721/IERC721.sol";
|
|
7
7
|
|
|
8
|
+
import {ABHelpers} from "../ABHelpers.sol";
|
|
9
|
+
|
|
8
10
|
import {EnumerableSet} from "@openzeppelin-4.5/contracts/utils/structs/EnumerableSet.sol";
|
|
9
11
|
|
|
10
12
|
/**
|
|
@@ -71,9 +73,6 @@ library TokenHolderLib {
|
|
|
71
73
|
bytes32 constant TOKEN_HOLDER_LIB_STORAGE_POSITION =
|
|
72
74
|
keccak256("tokenholderlib.storage");
|
|
73
75
|
|
|
74
|
-
// Define one million to represent the base token ID for each project.
|
|
75
|
-
uint256 constant ONE_MILLION = 1_000_000;
|
|
76
|
-
|
|
77
76
|
struct HolderProjectConfig {
|
|
78
77
|
// projects whose holders are allowed to purchase a token on `projectId`
|
|
79
78
|
mapping(address ownedNFTAddress => mapping(uint256 ownedNFTProjectId => bool allowed)) allowedProjectHolders;
|
|
@@ -253,7 +252,9 @@ library TokenHolderLib {
|
|
|
253
252
|
projectId: projectId,
|
|
254
253
|
coreContract: coreContract
|
|
255
254
|
});
|
|
256
|
-
uint256 ownedNFTProjectId =
|
|
255
|
+
uint256 ownedNFTProjectId = ABHelpers.tokenIdToProjectId(
|
|
256
|
+
ownedNFTTokenId
|
|
257
|
+
);
|
|
257
258
|
return
|
|
258
259
|
holderProjectConfig.allowedProjectHolders[ownedNFTAddress][
|
|
259
260
|
ownedNFTProjectId
|
|
@@ -16,6 +16,7 @@ import {Bytes32Strings} from "../../libs/v0.8.x/Bytes32Strings.sol";
|
|
|
16
16
|
import {Ownable} from "@openzeppelin-4.7/contracts/access/Ownable.sol";
|
|
17
17
|
import {EnumerableMap} from "@openzeppelin-4.7/contracts/utils/structs/EnumerableMap.sol";
|
|
18
18
|
import {EnumerableSet} from "@openzeppelin-4.7/contracts/utils/structs/EnumerableSet.sol";
|
|
19
|
+
import {Math} from "@openzeppelin-4.7/contracts/utils/math/Math.sol";
|
|
19
20
|
|
|
20
21
|
/**
|
|
21
22
|
* @title MinterFilterV2
|
|
@@ -118,8 +119,7 @@ contract MinterFilterV2 is Ownable, IMinterFilterV1 {
|
|
|
118
119
|
|
|
119
120
|
/**
|
|
120
121
|
* @notice Function to restrict access to only AdminACL allowed calls
|
|
121
|
-
* on
|
|
122
|
-
* @dev defers to the ACL contract used by the core contract
|
|
122
|
+
* on this minter filter's admin ACL contract.
|
|
123
123
|
* @param selector function selector to be checked
|
|
124
124
|
*/
|
|
125
125
|
function _onlyAdminACL(bytes4 selector) internal {
|
|
@@ -274,7 +274,7 @@ contract MinterFilterV2 is Ownable, IMinterFilterV1 {
|
|
|
274
274
|
*/
|
|
275
275
|
function approveMinterGlobally(address minter) external {
|
|
276
276
|
_onlyAdminACL(this.approveMinterGlobally.selector);
|
|
277
|
-
// @dev add() return true if the value was
|
|
277
|
+
// @dev add() return true if the value was added to the set
|
|
278
278
|
require(
|
|
279
279
|
_globallyApprovedMinters.add(minter),
|
|
280
280
|
"Minter already approved"
|
|
@@ -326,7 +326,7 @@ contract MinterFilterV2 is Ownable, IMinterFilterV1 {
|
|
|
326
326
|
coreContract: coreContract,
|
|
327
327
|
selector: this.approveMinterForContract.selector
|
|
328
328
|
});
|
|
329
|
-
// @dev add() returns true if the value was
|
|
329
|
+
// @dev add() returns true if the value was added to the Set
|
|
330
330
|
require(
|
|
331
331
|
_contractApprovedMinters[coreContract].add(minter),
|
|
332
332
|
"Minter already approved"
|
|
@@ -539,6 +539,7 @@ contract MinterFilterV2 is Ownable, IMinterFilterV1 {
|
|
|
539
539
|
uint256 projectId,
|
|
540
540
|
address coreContract
|
|
541
541
|
) external view returns (address) {
|
|
542
|
+
// @dev use tryGet to control revert message if no minter assigned
|
|
542
543
|
(bool hasMinter, address currentMinter) = _minterForProject[
|
|
543
544
|
coreContract
|
|
544
545
|
].tryGet(projectId);
|
|
@@ -637,16 +638,21 @@ contract MinterFilterV2 is Ownable, IMinterFilterV1 {
|
|
|
637
638
|
address coreContract,
|
|
638
639
|
address minter
|
|
639
640
|
) external view returns (uint256[] memory projectIds) {
|
|
641
|
+
EnumerableMap.UintToAddressMap storage minterMap = _minterForProject[
|
|
642
|
+
coreContract
|
|
643
|
+
];
|
|
640
644
|
// initialize arrays with maximum potential length
|
|
641
|
-
// @dev use num projects using minter across all contracts
|
|
642
|
-
//
|
|
643
|
-
|
|
645
|
+
// @dev use lesser of num projects using minter across all contracts
|
|
646
|
+
// and number of projects on the contract with minters assigned, since
|
|
647
|
+
// both values represent an upper bound on the number of projects that
|
|
648
|
+
// could be using the minter on the contract
|
|
649
|
+
uint256 maxNumProjects = Math.min(
|
|
650
|
+
numProjectsUsingMinter[minter],
|
|
651
|
+
minterMap.length()
|
|
652
|
+
);
|
|
644
653
|
projectIds = new uint256[](maxNumProjects);
|
|
645
654
|
// iterate over all projects on contract, adding to array if using
|
|
646
655
|
// `minter`
|
|
647
|
-
EnumerableMap.UintToAddressMap storage minterMap = _minterForProject[
|
|
648
|
-
coreContract
|
|
649
|
-
];
|
|
650
656
|
uint256 numProjects = minterMap.length();
|
|
651
657
|
uint256 numProjectsOnContractUsingMinter;
|
|
652
658
|
for (uint256 i; i < numProjects; ) {
|
|
@@ -365,7 +365,7 @@ contract MinterDAExpHolderV5 is
|
|
|
365
365
|
coreContract: coreContract
|
|
366
366
|
})
|
|
367
367
|
) {
|
|
368
|
-
syncProjectMaxInvocationsToCore({
|
|
368
|
+
MaxInvocationsLib.syncProjectMaxInvocationsToCore({
|
|
369
369
|
projectId: projectId,
|
|
370
370
|
coreContract: coreContract
|
|
371
371
|
});
|
|
@@ -837,7 +837,7 @@ contract MinterDAExpHolderV5 is
|
|
|
837
837
|
|
|
838
838
|
// NOTE: delegate-vault handling **ends here**.
|
|
839
839
|
|
|
840
|
-
MaxInvocationsLib.
|
|
840
|
+
MaxInvocationsLib.validateMintEffectsInvocations({
|
|
841
841
|
tokenId: tokenId,
|
|
842
842
|
coreContract: coreContract
|
|
843
843
|
});
|
|
@@ -342,7 +342,7 @@ contract MinterDAExpSettlementV3 is
|
|
|
342
342
|
/**
|
|
343
343
|
* @notice Reclaims the sender's payment above current settled price for
|
|
344
344
|
* project `projectId` on core contract `coreContract`.
|
|
345
|
-
* The current settled price is the
|
|
345
|
+
* The current settled price is the price paid for the most recently
|
|
346
346
|
* purchased token, or the base price if the artist has withdrawn revenues
|
|
347
347
|
* after the auction reached base price.
|
|
348
348
|
* This function is callable at any point, but is expected to typically be
|
|
@@ -366,7 +366,7 @@ contract MinterDAExpSettlementV3 is
|
|
|
366
366
|
|
|
367
367
|
/**
|
|
368
368
|
* @notice Reclaims the sender's payment above current settled price for
|
|
369
|
-
* projects in `projectIds`. The current settled price is the
|
|
369
|
+
* projects in `projectIds`. The current settled price is the price
|
|
370
370
|
* paid for the most recently purchased token, or the base price if the
|
|
371
371
|
* artist has withdrawn revenues after the auction reached base price.
|
|
372
372
|
* This function is callable at any point, but is expected to typically be
|
|
@@ -702,7 +702,7 @@ contract MinterDAExpSettlementV3 is
|
|
|
702
702
|
/**
|
|
703
703
|
* @notice Reclaims the sender's payment above current settled price for
|
|
704
704
|
* project `projectId` on core contract `coreContract`.
|
|
705
|
-
* The current settled price is the
|
|
705
|
+
* The current settled price is the price paid for the most recently
|
|
706
706
|
* purchased token, or the base price if the artist has withdrawn revenues
|
|
707
707
|
* after the auction reached base price.
|
|
708
708
|
* This function is callable at any point, but is expected to typically be
|
|
@@ -725,13 +725,14 @@ contract MinterDAExpSettlementV3 is
|
|
|
725
725
|
to: to,
|
|
726
726
|
projectId: projectId,
|
|
727
727
|
coreContract: coreContract,
|
|
728
|
-
purchaserAddress: msg.sender
|
|
728
|
+
purchaserAddress: msg.sender,
|
|
729
|
+
doSendFunds: true
|
|
729
730
|
});
|
|
730
731
|
}
|
|
731
732
|
|
|
732
733
|
/**
|
|
733
734
|
* @notice Reclaims the sender's payment above current settled price for
|
|
734
|
-
* projects in `projectIds`. The current settled price is the
|
|
735
|
+
* projects in `projectIds`. The current settled price is the price
|
|
735
736
|
* paid for the most recently purchased token, or the base price if the
|
|
736
737
|
* artist has withdrawn revenues after the auction reached base price.
|
|
737
738
|
* This function is callable at any point, but is expected to typically be
|
|
@@ -765,12 +766,14 @@ contract MinterDAExpSettlementV3 is
|
|
|
765
766
|
// the receipt in storage
|
|
766
767
|
uint256 excessSettlementFunds;
|
|
767
768
|
for (uint256 i; i < projectIdsLength; ) {
|
|
768
|
-
SettlementExpLib
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
769
|
+
excessSettlementFunds += SettlementExpLib
|
|
770
|
+
.reclaimProjectExcessSettlementFundsTo({
|
|
771
|
+
to: to,
|
|
772
|
+
projectId: projectIds[i],
|
|
773
|
+
coreContract: coreContracts[i],
|
|
774
|
+
purchaserAddress: msg.sender,
|
|
775
|
+
doSendFunds: false // do not send funds, just tally
|
|
776
|
+
});
|
|
774
777
|
|
|
775
778
|
// gas efficiently increment i
|
|
776
779
|
// won't overflow due to for loop, as well as gas limts
|
|
@@ -782,9 +785,10 @@ contract MinterDAExpSettlementV3 is
|
|
|
782
785
|
// INTERACTIONS
|
|
783
786
|
// send excess settlement funds in a single chunk for all
|
|
784
787
|
// projects
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
+
if (excessSettlementFunds > 0) {
|
|
789
|
+
(bool success_, ) = to.call{value: excessSettlementFunds}("");
|
|
790
|
+
require(success_, "Reclaiming failed");
|
|
791
|
+
}
|
|
788
792
|
}
|
|
789
793
|
|
|
790
794
|
/**
|
|
@@ -849,7 +853,7 @@ contract MinterDAExpSettlementV3 is
|
|
|
849
853
|
|
|
850
854
|
// verify token invocation is valid given local minter max invocations,
|
|
851
855
|
// update local maxHasBeenInvoked
|
|
852
|
-
MaxInvocationsLib.
|
|
856
|
+
MaxInvocationsLib.validateMintEffectsInvocations({
|
|
853
857
|
tokenId: tokenId,
|
|
854
858
|
coreContract: coreContract
|
|
855
859
|
});
|
|
@@ -197,7 +197,7 @@ contract MinterDAExpV5 is
|
|
|
197
197
|
coreContract: coreContract
|
|
198
198
|
})
|
|
199
199
|
) {
|
|
200
|
-
syncProjectMaxInvocationsToCore({
|
|
200
|
+
MaxInvocationsLib.syncProjectMaxInvocationsToCore({
|
|
201
201
|
projectId: projectId,
|
|
202
202
|
coreContract: coreContract
|
|
203
203
|
});
|
|
@@ -528,7 +528,7 @@ contract MinterDAExpV5 is
|
|
|
528
528
|
sender: msg.sender
|
|
529
529
|
});
|
|
530
530
|
|
|
531
|
-
MaxInvocationsLib.
|
|
531
|
+
MaxInvocationsLib.validateMintEffectsInvocations({
|
|
532
532
|
tokenId: tokenId,
|
|
533
533
|
coreContract: coreContract
|
|
534
534
|
});
|
|
@@ -364,7 +364,7 @@ contract MinterDALinHolderV5 is
|
|
|
364
364
|
coreContract: coreContract
|
|
365
365
|
})
|
|
366
366
|
) {
|
|
367
|
-
syncProjectMaxInvocationsToCore({
|
|
367
|
+
MaxInvocationsLib.syncProjectMaxInvocationsToCore({
|
|
368
368
|
projectId: projectId,
|
|
369
369
|
coreContract: coreContract
|
|
370
370
|
});
|
|
@@ -827,7 +827,7 @@ contract MinterDALinHolderV5 is
|
|
|
827
827
|
|
|
828
828
|
// NOTE: delegate-vault handling **ends here**.
|
|
829
829
|
|
|
830
|
-
MaxInvocationsLib.
|
|
830
|
+
MaxInvocationsLib.validateMintEffectsInvocations({
|
|
831
831
|
tokenId: tokenId,
|
|
832
832
|
coreContract: coreContract
|
|
833
833
|
});
|
|
@@ -191,7 +191,7 @@ contract MinterDALinV5 is
|
|
|
191
191
|
coreContract: coreContract
|
|
192
192
|
})
|
|
193
193
|
) {
|
|
194
|
-
syncProjectMaxInvocationsToCore({
|
|
194
|
+
MaxInvocationsLib.syncProjectMaxInvocationsToCore({
|
|
195
195
|
projectId: projectId,
|
|
196
196
|
coreContract: coreContract
|
|
197
197
|
});
|
|
@@ -517,7 +517,7 @@ contract MinterDALinV5 is
|
|
|
517
517
|
sender: msg.sender
|
|
518
518
|
});
|
|
519
519
|
|
|
520
|
-
MaxInvocationsLib.
|
|
520
|
+
MaxInvocationsLib.validateMintEffectsInvocations({
|
|
521
521
|
tokenId: tokenId,
|
|
522
522
|
coreContract: coreContract
|
|
523
523
|
});
|