@artblocks/contracts 1.0.3 → 1.0.4
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 +32 -25
- 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 +125 -17
- package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +6 -6
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol/MinterDAExpV0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol/MinterDAExpV1.json +2 -2
- 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/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/MinterDALin/MinterDALinV0.sol/MinterDALinV0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol/MinterDALinV1.json +2 -2
- 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/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol/MinterHolderV0.json +2 -2
- 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/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol/MinterMerkleV0.json +2 -2
- 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/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol/MinterSetPriceV0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV1.sol/MinterSetPriceV1.json +2 -2
- 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/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +2 -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/engine/V2/GenArt721CoreV2_ENGINE_FLEX.sol/GenArt721CoreV2_ENGINE_FLEX.json +2 -2
- package/artifacts/contracts/engine/V2/GenArt721CoreV2_PBAB.sol/GenArt721CoreV2_PBAB.json +2 -2
- package/artifacts/contracts/engine/V2/GenArt721CoreV2_PRTNR.sol/GenArt721CoreV2_PRTNR.json +2 -2
- package/artifacts/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol/GenArt721MinterBurner_PBAB.json +2 -2
- package/artifacts/contracts/engine/V2/GenArt721MinterDAExp_PBAB.sol/GenArt721MinterDAExp_PBAB.json +2 -2
- package/artifacts/contracts/engine/V2/GenArt721Minter_PBAB.sol/GenArt721Minter_PBAB.json +2 -2
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +6 -6
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +6 -6
- package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +4 -4
- 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 +6 -6
- package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +2 -2
- package/artifacts/contracts/engine-registry/EngineRegistryV0.sol/EngineRegistryV0.json +2 -2
- package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +6 -6
- package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IBonusContract.sol/IBonusContract.json +1 -1
- package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +1 -1
- package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +1 -1
- package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IRandomizer.sol/IRandomizer.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IAdminACLV0.sol/IAdminACLV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IArtblocksRoyaltyOverride.sol/IArtblocksRoyaltyOverride.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IBonusContract.sol/IBonusContract.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IBytecodeStorageReader.sol/IBytecodeStorageReader.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/ICoreRegistryV1.sol/ICoreRegistryV1.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDelegationRegistry.sol/IDelegationRegistry.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryCompatibleV0.sol/IDependencyRegistryCompatibleV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +3 -3
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IEngineRegistryV0.sol/IEngineRegistryV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlement_Mixin.sol/IFilteredMinterDAExpSettlement_Mixin.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV0.sol/IFilteredMinterDAExpV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV1.sol/IFilteredMinterDAExpV1.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV0.sol/IFilteredMinterDALinV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV1.sol/IFilteredMinterDALinV1.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV0.sol/IFilteredMinterHolderV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV1.sol/IFilteredMinterHolderV1.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV2.sol/IFilteredMinterHolderV2.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV0.sol/IFilteredMinterMerkleV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV1.sol/IFilteredMinterMerkleV1.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV2.sol/IFilteredMinterMerkleV2.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterSEAV0.sol/IFilteredMinterSEAV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV0.sol/IFilteredMinterV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV1.sol/IFilteredMinterV1.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV2.sol/IFilteredMinterV2.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractExposesHashSeed.sol/IGenArt721CoreContractExposesHashSeed.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +1 -1
- package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3WithSharedRandomizer.sol/IGenArt721CoreContractV3WithSharedRandomizer.json +24 -0
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IManifold.sol/IManifold.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterBaseV0.sol/IMinterBaseV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV0.sol/IMinterFilterV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV1.sol/IMinterFilterV1.json +86 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPICoreV0.sol/IMintingAPICoreV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPIMinterV0.sol/IMintingAPIMinterV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer.sol/IRandomizer.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerPolyptychV0.sol/IRandomizerPolyptychV0.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerV2.sol/IRandomizerV2.json +1 -1
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer_V3CoreBase.sol/IRandomizer_V3CoreBase.json +1 -1
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +207 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol/ISharedMinterDAExpV0.json +93 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol/ISharedMinterDALinV0.json +93 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol/ISharedMinterDAV0.json +69 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol/ISharedMinterHolderV0.json +203 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol/ISharedMinterMerkleV0.json +123 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +261 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol/ISharedMinterSimplePurchaseV0.json +64 -0
- package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterV0.sol/ISharedMinterV0.json +533 -0
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +42 -26
- package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IWETH.sol/IWETH.json +1 -1
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Address.json +2 -2
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Counters.json +2 -2
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/CustomERC721Metadata.json +2 -2
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721.json +2 -2
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721Enumerable.json +2 -2
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/GenArt721CoreV1.json +2 -2
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/SafeMath.json +2 -2
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Strings.json +2 -2
- package/artifacts/contracts/legacy/GenArt721LegacyMinter.sol/GenArt721LegacyMinter.json +2 -2
- package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
- package/artifacts/contracts/libs/{0.5.x → v0.5.x}/CustomERC721Metadata.sol/CustomERC721Metadata.json +3 -3
- package/artifacts/contracts/libs/{0.5.x → v0.5.x}/IERC20.sol/IERC20.json +1 -1
- package/artifacts/contracts/libs/{0.5.x → v0.5.x}/SafeMath.sol/SafeMath.json +3 -3
- package/artifacts/contracts/libs/{0.5.x → v0.5.x}/Strings.sol/Strings.json +3 -3
- package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +10 -0
- package/artifacts/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV0.sol/BytecodeStorage.json +3 -3
- package/artifacts/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV1.sol/BytecodeStorageReader.json +3 -3
- package/artifacts/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV1.sol/BytecodeStorageWriter.json +3 -3
- package/artifacts/contracts/libs/{0.8.x → v0.8.x}/Bytes32Strings.sol/Bytes32Strings.json +3 -3
- package/artifacts/contracts/libs/{0.8.x → v0.8.x}/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +3 -3
- package/artifacts/contracts/libs/{0.8.x → v0.8.x}/SSTORE2.sol/SSTORE2.json +3 -3
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +10 -0
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV0.sol/MinterFilterV0.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 +58 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +1228 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +1146 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +909 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +1228 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +909 -0
- package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSEAV0.sol/MinterSEAV0.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +1325 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +848 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +1091 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +1075 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +1243 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +1167 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +772 -0
- package/artifacts/contracts/mock/BytecodeV0TextCR_DMock.sol/BytecodeV0TextCR_DMock.json +2 -2
- package/artifacts/contracts/mock/BytecodeV1LibCallsMock.sol/BytecodeV1LibCallsMock.json +2 -2
- package/artifacts/contracts/mock/BytecodeV1TextCR_DMock.sol/BytecodeV1TextCR_DMock.json +4 -4
- package/artifacts/contracts/mock/DeadReceiverBidderMock.sol/DeadReceiverBidderMock.json +25 -2
- package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
- package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +28 -2
- package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +4 -4
- package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +2 -2
- package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +2 -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/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
- package/artifacts/contracts/mock/SSTORE2Mock.sol/SSTORE2Mock.json +2 -2
- package/artifacts/contracts/randomizer/deprecated/BasicRandomizer.sol/BasicRandomizer.json +2 -2
- 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 +48 -32
- package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +2 -2
- package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol/GenArt721RoyaltyOverride_PBAB.json +2 -2
- package/contracts/AdminACLV0.sol +1 -1
- package/contracts/AdminACLV1.sol +1 -1
- package/contracts/DependencyRegistryV0.sol +216 -107
- package/contracts/GenArt721CoreV3.sol +27 -12
- package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol +4 -4
- package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV1.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +3 -3
- package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +3 -3
- package/contracts/engine/V2/GenArt721CoreV2_ENGINE_FLEX.sol +2 -2
- package/contracts/engine/V2/GenArt721CoreV2_PBAB.sol +2 -2
- package/contracts/engine/V2/GenArt721CoreV2_PRTNR.sol +3 -3
- package/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol +2 -2
- package/contracts/engine/V2/GenArt721MinterDAExp_PBAB.sol +1 -1
- package/contracts/engine/V2/GenArt721Minter_PBAB.sol +2 -2
- package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +29 -14
- package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +29 -14
- package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +9 -9
- package/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol +1 -1
- package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +20 -15
- package/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol +1 -1
- package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +1 -1
- package/contracts/engine-registry/CoreRegistryV1.sol +1 -1
- package/contracts/engine-registry/EngineRegistryV0.sol +1 -1
- package/contracts/explorations/GenArt721CoreV3_Explorations.sol +27 -12
- package/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryV0.sol +2 -2
- package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3WithSharedRandomizer.sol +23 -0
- package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV1.sol +26 -0
- package/contracts/interfaces/v0.8.x/IRandomizer_V3CoreBase.sol +23 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +37 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol +25 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol +26 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol +19 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol +69 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol +44 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +78 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol +28 -0
- package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +191 -0
- package/contracts/interfaces/{0.8.x → v0.8.x}/ISharedRandomizerV0.sol +42 -24
- package/contracts/legacy/GenArt721CoreV1.sol +2 -2
- package/contracts/legacy/GenArt721LegacyMinter.sol +5 -5
- package/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol +1 -1
- package/contracts/libs/v0.8.x/ABHelpers.sol +55 -0
- package/contracts/libs/v0.8.x/AuthLib.sol +197 -0
- package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +125 -0
- package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +109 -0
- package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +348 -0
- package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +175 -0
- package/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol +160 -0
- package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +320 -0
- package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +44 -0
- package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +390 -0
- package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +583 -0
- package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +153 -0
- package/contracts/minter-suite/MinterFilter/MinterFilterV0.sol +3 -3
- package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +5 -5
- package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +83 -9
- package/contracts/minter-suite/Minters/MinterBase_v0_1_1.sol +4 -4
- package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +966 -0
- package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +3 -3
- package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +1126 -0
- package/contracts/minter-suite/Minters/MinterDAExpV4.sol +3 -3
- package/contracts/minter-suite/Minters/MinterDAExpV5.sol +606 -0
- package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +952 -0
- package/contracts/minter-suite/Minters/MinterDALinV4.sol +3 -3
- package/contracts/minter-suite/Minters/MinterDALinV5.sol +591 -0
- package/contracts/minter-suite/Minters/MinterHolderV4.sol +4 -4
- package/contracts/minter-suite/Minters/MinterMerkleV5.sol +4 -4
- package/contracts/minter-suite/Minters/MinterPolyptychV0.sol +6 -6
- package/contracts/minter-suite/Minters/MinterSEAV0.sol +3 -3
- package/contracts/minter-suite/Minters/MinterSEAV1.sol +1190 -0
- package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +5 -5
- package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +570 -0
- package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +821 -0
- package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +802 -0
- package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +1096 -0
- package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +992 -0
- package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +3 -3
- package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +461 -0
- package/contracts/mock/BytecodeV0TextCR_DMock.sol +1 -1
- package/contracts/mock/BytecodeV1LibCallsMock.sol +1 -1
- package/contracts/mock/BytecodeV1TextCR_DMock.sol +1 -1
- package/contracts/mock/DeadReceiverBidderMock.sol +15 -0
- package/contracts/mock/DummySharedMinter.sol +2 -2
- package/contracts/mock/ERC20Mock.sol +16 -0
- package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +9 -9
- package/contracts/mock/MockAdminACLV0.sol +1 -1
- package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +1 -1
- package/contracts/mock/OriginRegisterMock.sol +1 -1
- package/contracts/mock/ReentrancyHolderMock.sol +1 -1
- package/contracts/mock/ReentrancyMerkleMock.sol +1 -1
- package/contracts/mock/ReentrancyMock.sol +1 -1
- package/contracts/mock/ReentrancySEAMock.sol +1 -1
- package/contracts/mock/SSTORE2Mock.sol +1 -1
- package/contracts/randomizer/deprecated/BasicRandomizer.sol +1 -1
- package/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol +2 -2
- package/contracts/randomizer/deprecated/RandomizerV2.sol +2 -2
- package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +1 -1
- package/contracts/randomizer/shared/SharedRandomizerV0.sol +91 -76
- package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +2 -2
- package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +2 -2
- package/package.json +46 -31
- package/LICENSE +0 -165
- package/contracts/interfaces/0.8.x/IRandomizer_V3CoreBase.sol +0 -10
- /package/contracts/interfaces/{0.5.x → v0.5.x}/IBonusContract.sol +0 -0
- /package/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreContractV1.sol +0 -0
- /package/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreV2_PBAB.sol +0 -0
- /package/contracts/interfaces/{0.5.x → v0.5.x}/IRandomizer.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IAdminACLV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IArtblocksRoyaltyOverride.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IBonusContract.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IBytecodeStorageReader.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/ICoreRegistryV1.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IDelegationRegistry.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryCompatibleV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IEngineRegistryV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV1.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlement_Mixin.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV1.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV1.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV1.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV2.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV1.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV2.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterSEAV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV1.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV2.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractExposesHashSeed.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV1.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Base.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine_Flex.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreV2_PBAB.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IManifold.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterBaseV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPICoreV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPIMinterV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IPseudorandomAtomic.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerPolyptychV0.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerV2.sol +0 -0
- /package/contracts/interfaces/{0.8.x → v0.8.x}/IWETH.sol +0 -0
- /package/contracts/libs/{0.5.x → v0.5.x}/CustomERC721Metadata.sol +0 -0
- /package/contracts/libs/{0.5.x → v0.5.x}/IERC20.sol +0 -0
- /package/contracts/libs/{0.5.x → v0.5.x}/SafeMath.sol +0 -0
- /package/contracts/libs/{0.5.x → v0.5.x}/Strings.sol +0 -0
- /package/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV0.sol +0 -0
- /package/contracts/libs/{0.8.x → v0.8.x}/BytecodeStorageV1.sol +0 -0
- /package/contracts/libs/{0.8.x → v0.8.x}/Bytes32Strings.sol +0 -0
- /package/contracts/libs/{0.8.x → v0.8.x}/ERC721_PackedHashSeed.sol +0 -0
- /package/contracts/libs/{0.8.x → v0.8.x}/SSTORE2.sol +0 -0
|
@@ -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
|
+
/**
|
|
7
|
+
* @title This interface adds support for serial English auction minting.
|
|
8
|
+
* @author Art Blocks Inc.
|
|
9
|
+
*/
|
|
10
|
+
interface ISharedMinterSEAV0 {
|
|
11
|
+
/**
|
|
12
|
+
* @notice Minimum auction length, in seconds, was updated to be the
|
|
13
|
+
* provided value.
|
|
14
|
+
*/
|
|
15
|
+
event MinAuctionDurationSecondsUpdated(uint256 minAuctionDurationSeconds);
|
|
16
|
+
|
|
17
|
+
/// Admin-controlled time buffer updated
|
|
18
|
+
event MinterTimeBufferUpdated(uint32 minterTimeBufferSeconds);
|
|
19
|
+
|
|
20
|
+
// Admin-controlled refund gas limit updated
|
|
21
|
+
event MinterRefundGasLimitUpdated(uint24 refundGasLimit);
|
|
22
|
+
|
|
23
|
+
/// Artist configured future auction details
|
|
24
|
+
event ConfiguredFutureAuctions(
|
|
25
|
+
uint256 indexed projectId,
|
|
26
|
+
address indexed coreContract,
|
|
27
|
+
uint64 timestampStart,
|
|
28
|
+
uint32 auctionDurationSeconds,
|
|
29
|
+
uint256 basePrice,
|
|
30
|
+
uint8 minBidIncrementPercentage
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
/// New token auction created, token created and sent to minter
|
|
34
|
+
event AuctionInitialized(
|
|
35
|
+
uint256 indexed tokenId,
|
|
36
|
+
address indexed coreContract,
|
|
37
|
+
address indexed bidder,
|
|
38
|
+
uint256 bidAmount,
|
|
39
|
+
uint64 endTime,
|
|
40
|
+
uint8 minBidIncrementPercentage
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
/// Successful bid placed on token auction
|
|
44
|
+
event AuctionBid(
|
|
45
|
+
uint256 indexed tokenId,
|
|
46
|
+
address indexed coreContract,
|
|
47
|
+
address indexed bidder,
|
|
48
|
+
uint256 bidAmount
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
/// Token auction was settled (token distributed to winner)
|
|
52
|
+
event AuctionSettled(
|
|
53
|
+
uint256 indexed tokenId,
|
|
54
|
+
address indexed coreContract,
|
|
55
|
+
address indexed winner,
|
|
56
|
+
uint256 price
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
/// Future auction details for project `projectId` reset
|
|
60
|
+
event ResetAuctionDetails(
|
|
61
|
+
uint256 indexed projectId,
|
|
62
|
+
address indexed coreContract
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
// Next token ID for project `projectId` updated
|
|
66
|
+
event ProjectNextTokenUpdated(
|
|
67
|
+
uint256 indexed projectId,
|
|
68
|
+
address indexed coreContract,
|
|
69
|
+
uint256 tokenId
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
// Next token ID for project `projectId` was ejected from the minter
|
|
73
|
+
// and is no longer populated
|
|
74
|
+
event ProjectNextTokenEjected(
|
|
75
|
+
uint256 indexed projectId,
|
|
76
|
+
address indexed coreContract
|
|
77
|
+
);
|
|
78
|
+
}
|
|
@@ -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
|
+
/**
|
|
7
|
+
* @title Art Blocks Shared Minter Simple Purchase Interface
|
|
8
|
+
* @notice This interface is designed to be used by minter contracts that
|
|
9
|
+
* implement a simple purchase model, such that the only args required to
|
|
10
|
+
* purchase a token are the project id and the core contract address, and an
|
|
11
|
+
* optional recipient address.
|
|
12
|
+
*/
|
|
13
|
+
interface ISharedMinterSimplePurchaseV0 {
|
|
14
|
+
// Triggers a purchase of a token from the desired project, to the
|
|
15
|
+
// TX-sending address.
|
|
16
|
+
function purchase(
|
|
17
|
+
uint256 _projectId,
|
|
18
|
+
address _coreContract
|
|
19
|
+
) external payable returns (uint256 tokenId);
|
|
20
|
+
|
|
21
|
+
// Triggers a purchase of a token from the desired project, to the specified
|
|
22
|
+
// receiving address.
|
|
23
|
+
function purchaseTo(
|
|
24
|
+
address _to,
|
|
25
|
+
uint256 _projectId,
|
|
26
|
+
address _coreContract
|
|
27
|
+
) external payable returns (uint256 tokenId);
|
|
28
|
+
}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
interface ISharedMinterV0 {
|
|
7
|
+
// This section defines events for generic project minter configuration updates
|
|
8
|
+
/**
|
|
9
|
+
* @dev Strings not supported. Recommend conversion of (short) strings to
|
|
10
|
+
* bytes32 to remain gas-efficient.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* @notice Generic project minter configuration event. Removes key `_key`
|
|
14
|
+
* for project `_projectId`.
|
|
15
|
+
*/
|
|
16
|
+
event ConfigKeyRemoved(
|
|
17
|
+
uint256 indexed _projectId,
|
|
18
|
+
address indexed _coreContract,
|
|
19
|
+
bytes32 _key
|
|
20
|
+
);
|
|
21
|
+
/// BOOL
|
|
22
|
+
/**
|
|
23
|
+
* @notice Generic project minter configuration event. Sets value of key
|
|
24
|
+
* `_key` to `_value` for project `_projectId`.
|
|
25
|
+
*/
|
|
26
|
+
event ConfigValueSet(
|
|
27
|
+
uint256 indexed _projectId,
|
|
28
|
+
address indexed _coreContract,
|
|
29
|
+
bytes32 _key,
|
|
30
|
+
bool _value
|
|
31
|
+
);
|
|
32
|
+
/// UINT256
|
|
33
|
+
/**
|
|
34
|
+
* @notice Generic project minter configuration event. Sets value of key
|
|
35
|
+
* `_key` to `_value` for project `_projectId`.
|
|
36
|
+
*/
|
|
37
|
+
event ConfigValueSet(
|
|
38
|
+
uint256 indexed _projectId,
|
|
39
|
+
address indexed _coreContract,
|
|
40
|
+
bytes32 _key,
|
|
41
|
+
uint256 _value
|
|
42
|
+
);
|
|
43
|
+
/**
|
|
44
|
+
* @notice Generic project minter configuration event. Adds value `_value`
|
|
45
|
+
* to the set of uint256 at key `_key` for project `_projectId`.
|
|
46
|
+
*/
|
|
47
|
+
event ConfigValueAddedToSet(
|
|
48
|
+
uint256 indexed _projectId,
|
|
49
|
+
address indexed _coreContract,
|
|
50
|
+
bytes32 _key,
|
|
51
|
+
uint256 _value
|
|
52
|
+
);
|
|
53
|
+
/**
|
|
54
|
+
* @notice Generic project minter configuration event. Removes value
|
|
55
|
+
* `_value` to the set of uint256 at key `_key` for project `_projectId`.
|
|
56
|
+
*/
|
|
57
|
+
event ConfigValueRemovedFromSet(
|
|
58
|
+
uint256 indexed _projectId,
|
|
59
|
+
address indexed _coreContract,
|
|
60
|
+
bytes32 _key,
|
|
61
|
+
uint256 _value
|
|
62
|
+
);
|
|
63
|
+
/// ADDRESS
|
|
64
|
+
/**
|
|
65
|
+
* @notice Generic project minter configuration event. Sets value of key
|
|
66
|
+
* `_key` to `_value` for project `_projectId`.
|
|
67
|
+
*/
|
|
68
|
+
event ConfigValueSet(
|
|
69
|
+
uint256 indexed _projectId,
|
|
70
|
+
address indexed _coreContract,
|
|
71
|
+
bytes32 _key,
|
|
72
|
+
address _value
|
|
73
|
+
);
|
|
74
|
+
/**
|
|
75
|
+
* @notice Generic project minter configuration event. Adds value `_value`
|
|
76
|
+
* to the set of addresses at key `_key` for project `_projectId`.
|
|
77
|
+
*/
|
|
78
|
+
event ConfigValueAddedToSet(
|
|
79
|
+
uint256 indexed _projectId,
|
|
80
|
+
address indexed _coreContract,
|
|
81
|
+
bytes32 _key,
|
|
82
|
+
address _value
|
|
83
|
+
);
|
|
84
|
+
/**
|
|
85
|
+
* @notice Generic project minter configuration event. Removes value
|
|
86
|
+
* `_value` to the set of addresses at key `_key` for project `_projectId`.
|
|
87
|
+
*/
|
|
88
|
+
event ConfigValueRemovedFromSet(
|
|
89
|
+
uint256 indexed _projectId,
|
|
90
|
+
address indexed _coreContract,
|
|
91
|
+
bytes32 _key,
|
|
92
|
+
address _value
|
|
93
|
+
);
|
|
94
|
+
/// BYTES32
|
|
95
|
+
/**
|
|
96
|
+
* @notice Generic project minter configuration event. Sets value of key
|
|
97
|
+
* `_key` to `_value` for project `_projectId`.
|
|
98
|
+
*/
|
|
99
|
+
event ConfigValueSet(
|
|
100
|
+
uint256 indexed _projectId,
|
|
101
|
+
address indexed _coreContract,
|
|
102
|
+
bytes32 _key,
|
|
103
|
+
bytes32 _value
|
|
104
|
+
);
|
|
105
|
+
/**
|
|
106
|
+
* @notice Generic project minter configuration event. Adds value `_value`
|
|
107
|
+
* to the set of bytes32 at key `_key` for project `_projectId`.
|
|
108
|
+
*/
|
|
109
|
+
event ConfigValueAddedToSet(
|
|
110
|
+
uint256 indexed _projectId,
|
|
111
|
+
address indexed _coreContract,
|
|
112
|
+
bytes32 _key,
|
|
113
|
+
bytes32 _value
|
|
114
|
+
);
|
|
115
|
+
/**
|
|
116
|
+
* @notice Generic project minter configuration event. Removes value
|
|
117
|
+
* `_value` to the set of bytes32 at key `_key` for project `_projectId`.
|
|
118
|
+
*/
|
|
119
|
+
event ConfigValueRemovedFromSet(
|
|
120
|
+
uint256 indexed _projectId,
|
|
121
|
+
address indexed _coreContract,
|
|
122
|
+
bytes32 _key,
|
|
123
|
+
bytes32 _value
|
|
124
|
+
);
|
|
125
|
+
///////////////////////////
|
|
126
|
+
/**
|
|
127
|
+
* @notice Price per token in wei updated for project `_projectId` to
|
|
128
|
+
* `_pricePerTokenInWei`.
|
|
129
|
+
*/
|
|
130
|
+
event PricePerTokenInWeiUpdated(
|
|
131
|
+
uint256 indexed _projectId,
|
|
132
|
+
address indexed _coreContract,
|
|
133
|
+
uint256 indexed _pricePerTokenInWei
|
|
134
|
+
);
|
|
135
|
+
/**
|
|
136
|
+
* @notice Currency updated for project `_projectId` to symbol
|
|
137
|
+
* `_currencySymbol` and address `_currencyAddress`.
|
|
138
|
+
*/
|
|
139
|
+
event ProjectCurrencyInfoUpdated(
|
|
140
|
+
uint256 indexed _projectId,
|
|
141
|
+
address indexed _coreContract,
|
|
142
|
+
address indexed _currencyAddress,
|
|
143
|
+
string _currencySymbol
|
|
144
|
+
);
|
|
145
|
+
/**
|
|
146
|
+
* @notice Local max invocations for project `_projectId`, tied to core contract `_coreContractAddress`,
|
|
147
|
+
* updated to `_maxInvocations`.
|
|
148
|
+
*/
|
|
149
|
+
event ProjectMaxInvocationsLimitUpdated(
|
|
150
|
+
uint256 indexed _projectId,
|
|
151
|
+
address indexed _coreContract,
|
|
152
|
+
uint256 _maxInvocations
|
|
153
|
+
);
|
|
154
|
+
|
|
155
|
+
// Sets the local max invocations for a given project, checking that the provided max invocations is
|
|
156
|
+
// less than or equal to the global max invocations for the project set on the core contract.
|
|
157
|
+
// This does not impact the max invocations value defined on the core contract.
|
|
158
|
+
function manuallyLimitProjectMaxInvocations(
|
|
159
|
+
uint256 _projectId,
|
|
160
|
+
address _coreContract,
|
|
161
|
+
uint24 _maxInvocations
|
|
162
|
+
) external;
|
|
163
|
+
|
|
164
|
+
// Called to make the minter contract aware of the max invocations for a
|
|
165
|
+
// given project.
|
|
166
|
+
function syncProjectMaxInvocationsToCore(
|
|
167
|
+
uint256 _projectId,
|
|
168
|
+
address _coreContract
|
|
169
|
+
) external;
|
|
170
|
+
|
|
171
|
+
// getter function of public variable
|
|
172
|
+
function minterType() external view returns (string memory);
|
|
173
|
+
|
|
174
|
+
function minterFilterAddress() external returns (address);
|
|
175
|
+
|
|
176
|
+
// Gets if token price is configured, token price in wei, currency symbol,
|
|
177
|
+
// and currency address, assuming this is project's minter.
|
|
178
|
+
// Supersedes any defined core price.
|
|
179
|
+
function getPriceInfo(
|
|
180
|
+
uint256 _projectId,
|
|
181
|
+
address _coreContract
|
|
182
|
+
)
|
|
183
|
+
external
|
|
184
|
+
view
|
|
185
|
+
returns (
|
|
186
|
+
bool isConfigured,
|
|
187
|
+
uint256 tokenPriceInWei,
|
|
188
|
+
string memory currencySymbol,
|
|
189
|
+
address currencyAddress
|
|
190
|
+
);
|
|
191
|
+
}
|
|
@@ -15,58 +15,68 @@ interface ISharedRandomizerV0 is IRandomizer_V3CoreBase {
|
|
|
15
15
|
);
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
-
* @notice
|
|
19
|
-
* token hash seeds on core contract `_coreContract
|
|
18
|
+
* @notice Contract at `_hashSeedSetterContract` allowed to assign
|
|
19
|
+
* token hash seeds on core contract `_coreContract` for project
|
|
20
|
+
* `_projectId`.
|
|
20
21
|
*/
|
|
21
|
-
event
|
|
22
|
+
event HashSeedSetterForProjectUpdated(
|
|
22
23
|
address indexed coreContract,
|
|
24
|
+
uint256 indexed projectId,
|
|
23
25
|
address indexed hashSeedSetterContract
|
|
24
26
|
);
|
|
25
27
|
|
|
26
28
|
/**
|
|
27
|
-
* @notice Project with ID `_projectId` is
|
|
28
|
-
*
|
|
29
|
+
* @notice Project with ID `_projectId` is is or is not using a hash seed
|
|
30
|
+
* setter contract to assign token hash seeds on core contract.
|
|
29
31
|
*/
|
|
30
|
-
event
|
|
32
|
+
event ProjectUsingHashSeedSetterUpdated(
|
|
31
33
|
address coreContract,
|
|
32
34
|
uint256 projectId,
|
|
33
|
-
bool
|
|
35
|
+
bool usingHashSeedSetter
|
|
34
36
|
);
|
|
35
37
|
|
|
36
38
|
/**
|
|
37
|
-
* @notice Allows the
|
|
39
|
+
* @notice Allows the artist of a project to set the contract that is
|
|
38
40
|
* allowed to assign hash seeds to tokens. Typically, this is expected to
|
|
39
41
|
* be a minter contract, such as `MinterPolyptychV1`.
|
|
40
42
|
* @param _coreContract - the core contract that is being configured
|
|
43
|
+
* @param _projectId - the project ID that is being configured
|
|
41
44
|
* @param _hashSeedSetterContract - the contract that is allowed to assign
|
|
42
45
|
* hash seeds to tokens
|
|
43
46
|
*/
|
|
44
47
|
function setHashSeedSetterContract(
|
|
45
48
|
address _coreContract,
|
|
49
|
+
uint256 _projectId,
|
|
46
50
|
address _hashSeedSetterContract
|
|
47
51
|
) external;
|
|
48
52
|
|
|
49
53
|
/**
|
|
50
|
-
* @notice Allows the artist of a project to configure
|
|
51
|
-
*
|
|
54
|
+
* @notice Allows the artist of a project to configure their project to
|
|
55
|
+
* only allow the specified hash seed setter contract to assign new token
|
|
56
|
+
* hash seeds. When this is enabled, the hash seed setter contract is
|
|
57
|
+
* responsible for assigning hash seeds to tokens, and the randomizer
|
|
58
|
+
* contract will not use the pseudorandom atomic contract to generate
|
|
59
|
+
* hash seeds.
|
|
60
|
+
* An example use case is where the artist wants to mint a polyptych panel
|
|
61
|
+
* (second, third, etc.) of a project, and therefore wants to re-use
|
|
62
|
+
* specific hash seeds of the original project.
|
|
52
63
|
* @param _coreContract - The address of the core contract
|
|
53
|
-
* @param _projectId - The ID of the project
|
|
54
|
-
* (second, third, etc.)
|
|
64
|
+
* @param _projectId - The ID of the project to be toggled
|
|
55
65
|
*/
|
|
56
|
-
function
|
|
66
|
+
function toggleProjectUseAssignedHashSeed(
|
|
57
67
|
address _coreContract,
|
|
58
68
|
uint256 _projectId
|
|
59
69
|
) external;
|
|
60
70
|
|
|
61
71
|
/**
|
|
62
|
-
* @notice
|
|
63
|
-
*
|
|
72
|
+
* @notice Pre-set the hash seed for a token. This function is only
|
|
73
|
+
* callable by the hash seed setter contract of the project.
|
|
64
74
|
* @param _coreContract - The address of the core contract of `_tokenId`
|
|
65
75
|
* @param _tokenId - The ID of the token to set the hash seed for
|
|
66
76
|
* @param _hashSeed - The hash seed to set for `_tokenId`
|
|
67
77
|
* @dev Only callable by the hash seed setter contract of `_coreContract`.
|
|
68
78
|
*/
|
|
69
|
-
function
|
|
79
|
+
function preSetHashSeed(
|
|
70
80
|
address _coreContract,
|
|
71
81
|
uint256 _tokenId,
|
|
72
82
|
bytes12 _hashSeed
|
|
@@ -74,31 +84,39 @@ interface ISharedRandomizerV0 is IRandomizer_V3CoreBase {
|
|
|
74
84
|
|
|
75
85
|
/**
|
|
76
86
|
* @notice Boolean representing whether or not project with ID `_projectId`
|
|
77
|
-
* on core contract `_coreContract` is currently
|
|
78
|
-
*
|
|
87
|
+
* on core contract `_coreContract` is currently using a hash seed setter
|
|
88
|
+
* contract to assign hash seeds to tokens.
|
|
79
89
|
*/
|
|
80
|
-
function
|
|
90
|
+
function projectUsesHashSeedSetter(
|
|
81
91
|
address _coreContract,
|
|
82
92
|
uint256 _projectId
|
|
83
|
-
) external view returns (bool
|
|
93
|
+
) external view returns (bool _usingHashSeedSetter);
|
|
84
94
|
|
|
85
95
|
/**
|
|
86
96
|
* Returns the hash seed setter contract for a given core contract.
|
|
87
97
|
* Returns address(0) if no hash seed setter contract is set for the core.
|
|
88
98
|
* @param _coreContract - The address of the core contract
|
|
99
|
+
* @param _projectId - The ID of the project to query
|
|
89
100
|
*/
|
|
90
101
|
function hashSeedSetterContracts(
|
|
91
|
-
address _coreContract
|
|
102
|
+
address _coreContract,
|
|
103
|
+
uint256 _projectId
|
|
92
104
|
) external view returns (address _hashSeedSetterContract);
|
|
93
105
|
|
|
94
106
|
/**
|
|
95
|
-
* Returns the current hash seed for a given token ID.
|
|
96
|
-
* Returns bytes12(0) if no hash seed
|
|
107
|
+
* Returns the current pre-assigned hash seed for a given token ID.
|
|
108
|
+
* Returns bytes12(0) if no hash seed has been set for the token.
|
|
109
|
+
* Note that this only returns the pre-assigned hash seed for tokens that
|
|
110
|
+
* are configured to use a hash seed setter contract. In typical cases
|
|
111
|
+
* where the project is not configured to use a hash seed setter contract,
|
|
112
|
+
* the hash seed is generated on-chain by the pseudorandom atomic contract
|
|
113
|
+
* and is not stored on-chain in this randomizer contract, and therefore
|
|
114
|
+
* this function will return bytes12(0).
|
|
97
115
|
* @param _coreContract - The address of the core contract of `_tokenId`
|
|
98
116
|
* @param _tokenId - The ID of the token to get the hash seed for
|
|
99
117
|
* @return _hashSeed - The stored hash seed for `_tokenId`
|
|
100
118
|
*/
|
|
101
|
-
function
|
|
119
|
+
function preAssignedHashSeed(
|
|
102
120
|
address _coreContract,
|
|
103
121
|
uint256 _tokenId
|
|
104
122
|
) external view returns (bytes12 _hashSeed);
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* maintains conforming V1 core contract interface
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import "../interfaces/
|
|
11
|
-
import "../interfaces/
|
|
10
|
+
import "../interfaces/v0.5.x/IRandomizer.sol";
|
|
11
|
+
import "../interfaces/v0.5.x/IGenArt721CoreContractV1.sol";
|
|
12
12
|
|
|
13
13
|
/// -----------------------------------------------------
|
|
14
14
|
/**
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
2
|
// Creatd By: Art Blocks Inc.
|
|
3
3
|
|
|
4
|
-
import "../libs/
|
|
5
|
-
import "../libs/
|
|
6
|
-
import "../libs/
|
|
4
|
+
import "../libs/v0.5.x/SafeMath.sol";
|
|
5
|
+
import "../libs/v0.5.x/Strings.sol";
|
|
6
|
+
import "../libs/v0.5.x/IERC20.sol";
|
|
7
7
|
|
|
8
|
-
import "../interfaces/
|
|
9
|
-
import "../interfaces/
|
|
8
|
+
import "../interfaces/v0.5.x/IGenArt721CoreContractV1.sol";
|
|
9
|
+
import "../interfaces/v0.5.x/IBonusContract.sol";
|
|
10
10
|
|
|
11
11
|
pragma solidity ^0.5.0;
|
|
12
12
|
|
|
@@ -5,7 +5,7 @@ pragma solidity ^0.8.19;
|
|
|
5
5
|
// The source code is copied from ETH mainnet, deployed at:0x00000000000076a84fef008cdabe6409d2fe638b
|
|
6
6
|
// Updates are made to imports for compatibility with this repo.
|
|
7
7
|
|
|
8
|
-
import "../../../interfaces/
|
|
8
|
+
import "../../../interfaces/v0.8.x/IDelegationRegistry.sol";
|
|
9
9
|
import "@openzeppelin-4.7/contracts/utils/structs/EnumerableSet.sol";
|
|
10
10
|
import "@openzeppelin-4.7/contracts/utils/introspection/ERC165.sol";
|
|
11
11
|
|
|
@@ -0,0 +1,55 @@
|
|
|
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 Art Blocks Helpers Library
|
|
8
|
+
* @notice This library contains helper functions for common operations in the
|
|
9
|
+
* Art Blocks ecosystem of smart contracts.
|
|
10
|
+
* @author Art Blocks Inc.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
library ABHelpers {
|
|
14
|
+
uint256 constant ONE_MILLION = 1_000_000;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Convert token id to project id.
|
|
18
|
+
* @param _tokenId The id of the token.
|
|
19
|
+
*/
|
|
20
|
+
function tokenIdToProjectId(
|
|
21
|
+
uint256 _tokenId
|
|
22
|
+
) internal pure returns (uint256) {
|
|
23
|
+
// int division properly rounds down
|
|
24
|
+
// @dev unchecked because will never divide by zero
|
|
25
|
+
unchecked {
|
|
26
|
+
return _tokenId / ONE_MILLION;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Convert token id to token number.
|
|
32
|
+
* @param _tokenId The id of the token.
|
|
33
|
+
*/
|
|
34
|
+
function tokenIdToTokenNumber(
|
|
35
|
+
uint256 _tokenId
|
|
36
|
+
) internal pure returns (uint256) {
|
|
37
|
+
// mod returns remainder, which is the token number
|
|
38
|
+
// @dev no way to disable mod zero check in solidity, so not unchecked
|
|
39
|
+
return _tokenId % ONE_MILLION;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Convert project id and token number to token id.
|
|
44
|
+
* @param _projectId The id of the project.
|
|
45
|
+
* @param _tokenNumber The token number.
|
|
46
|
+
*/
|
|
47
|
+
function tokenIdFromProjectIdAndTokenNumber(
|
|
48
|
+
uint256 _projectId,
|
|
49
|
+
uint256 _tokenNumber
|
|
50
|
+
) internal pure returns (uint256) {
|
|
51
|
+
// @dev intentionally not unchecked to ensure overflow detection, which
|
|
52
|
+
// would likley only occur in a malicious call
|
|
53
|
+
return (_projectId * ONE_MILLION) + _tokenNumber;
|
|
54
|
+
}
|
|
55
|
+
}
|