@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
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
-
// Created By: Art Blocks Inc.
|
|
3
|
-
|
|
4
|
-
import "../interfaces/v0.8.x/IArtblocksRoyaltyOverride.sol";
|
|
5
|
-
import "../interfaces/v0.8.x/IGenArt721CoreContractV3.sol";
|
|
6
|
-
|
|
7
|
-
import "@openzeppelin-4.5/contracts/utils/introspection/ERC165.sol";
|
|
8
|
-
|
|
9
|
-
pragma solidity 0.8.9;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* @title Royalty Registry override for Art Blocks token contracts.
|
|
13
|
-
* @author Art Blocks Inc.
|
|
14
|
-
*/
|
|
15
|
-
contract GenArt721RoyaltyOverride is ERC165, IArtblocksRoyaltyOverride {
|
|
16
|
-
/**
|
|
17
|
-
* @notice Art Blocks royalty payment address for `contractAddress`
|
|
18
|
-
* updated to be `artblocksRoyaltyAddress`.
|
|
19
|
-
*/
|
|
20
|
-
event ArtblocksRoyaltyAddressForContractUpdated(
|
|
21
|
-
address indexed contractAddress,
|
|
22
|
-
address payable indexed artblocksRoyaltyAddress
|
|
23
|
-
);
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* @notice Art Blocks royalty payment basis points for `tokenAddress`
|
|
27
|
-
* updated to be `bps` if `useOverride`, else updated to use default
|
|
28
|
-
* BPS.
|
|
29
|
-
*/
|
|
30
|
-
event ArtblocksBpsForContractUpdated(
|
|
31
|
-
address indexed tokenAddress,
|
|
32
|
-
bool indexed useOverride,
|
|
33
|
-
uint256 bps
|
|
34
|
-
);
|
|
35
|
-
|
|
36
|
-
/// token contract => Art Blocks royalty payment address
|
|
37
|
-
mapping(address => address payable)
|
|
38
|
-
public tokenAddressToArtblocksRoyaltyAddress;
|
|
39
|
-
|
|
40
|
-
struct BpsOverride {
|
|
41
|
-
bool useOverride;
|
|
42
|
-
uint256 bps;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/// Default Art Blocks royalty basis points if no BPS override is set.
|
|
46
|
-
uint256 public constant ARTBLOCKS_DEFAULT_BPS = 250; // 2.5 percent
|
|
47
|
-
/// token contract => if bps override is set, and bps value.
|
|
48
|
-
mapping(address => BpsOverride) public tokenAddressToArtblocksBpsOverride;
|
|
49
|
-
|
|
50
|
-
modifier onlyAdminOnContract(address _tokenContract) {
|
|
51
|
-
require(
|
|
52
|
-
IGenArt721CoreContractV3(_tokenContract).admin() == msg.sender,
|
|
53
|
-
"Only core admin for specified token contract"
|
|
54
|
-
);
|
|
55
|
-
_;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* @dev See {IERC165-supportsInterface}.
|
|
60
|
-
*/
|
|
61
|
-
function supportsInterface(
|
|
62
|
-
bytes4 interfaceId
|
|
63
|
-
) public view override(ERC165, IERC165) returns (bool) {
|
|
64
|
-
return
|
|
65
|
-
// register interface 0x9ca7dc7a - getRoyalties(address,uint256)
|
|
66
|
-
interfaceId == type(IArtblocksRoyaltyOverride).interfaceId ||
|
|
67
|
-
super.supportsInterface(interfaceId);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* @notice Updates Art Blocks royalty payment address for `_tokenContract`
|
|
72
|
-
* to be `_artblocksRoyaltyAddress`.
|
|
73
|
-
* @param _tokenContract Token contract to be updated.
|
|
74
|
-
* @param _artblocksRoyaltyAddress Address to receive royalty payments.
|
|
75
|
-
*/
|
|
76
|
-
function updateArtblocksRoyaltyAddressForContract(
|
|
77
|
-
address _tokenContract,
|
|
78
|
-
address payable _artblocksRoyaltyAddress
|
|
79
|
-
) external onlyAdminOnContract(_tokenContract) {
|
|
80
|
-
tokenAddressToArtblocksRoyaltyAddress[
|
|
81
|
-
_tokenContract
|
|
82
|
-
] = _artblocksRoyaltyAddress;
|
|
83
|
-
emit ArtblocksRoyaltyAddressForContractUpdated(
|
|
84
|
-
_tokenContract,
|
|
85
|
-
_artblocksRoyaltyAddress
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* @notice Updates Art Blocks royalty payment BPS for `_tokenContract` to be
|
|
91
|
-
* `_bps`.
|
|
92
|
-
* @param _tokenContract Token contract to be updated.
|
|
93
|
-
* @param _bps Art Blocks royalty basis points.
|
|
94
|
-
* @dev `_bps` must be less than or equal to default bps
|
|
95
|
-
*/
|
|
96
|
-
function updateArtblocksBpsForContract(
|
|
97
|
-
address _tokenContract,
|
|
98
|
-
uint256 _bps
|
|
99
|
-
) external onlyAdminOnContract(_tokenContract) {
|
|
100
|
-
require(
|
|
101
|
-
_bps <= ARTBLOCKS_DEFAULT_BPS,
|
|
102
|
-
"override bps for contract must be less than or equal to default"
|
|
103
|
-
);
|
|
104
|
-
tokenAddressToArtblocksBpsOverride[_tokenContract] = BpsOverride(
|
|
105
|
-
true,
|
|
106
|
-
_bps
|
|
107
|
-
);
|
|
108
|
-
emit ArtblocksBpsForContractUpdated(_tokenContract, true, _bps);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* @notice Clears any overrides of Art Blocks royalty payment BPS for
|
|
113
|
-
* `_tokenContract`.
|
|
114
|
-
* @param _tokenContract Token contract to be cleared.
|
|
115
|
-
* @dev token contracts without overrides use default BPS value.
|
|
116
|
-
*/
|
|
117
|
-
function clearArtblocksBpsForContract(
|
|
118
|
-
address _tokenContract
|
|
119
|
-
) external onlyAdminOnContract(_tokenContract) {
|
|
120
|
-
tokenAddressToArtblocksBpsOverride[_tokenContract] = BpsOverride(
|
|
121
|
-
false,
|
|
122
|
-
0
|
|
123
|
-
); // initial values
|
|
124
|
-
emit ArtblocksBpsForContractUpdated(_tokenContract, false, 0);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* @notice Gets royalites of token ID `_tokenId` on token contract
|
|
129
|
-
* `_tokenAddress`.
|
|
130
|
-
* @param _tokenAddress Token contract to be queried.
|
|
131
|
-
* @param _tokenId Token ID to be queried.
|
|
132
|
-
* @return recipients_ array of royalty recipients
|
|
133
|
-
* @return bps array of basis points for each recipient, aligned by index
|
|
134
|
-
*/
|
|
135
|
-
function getRoyalties(
|
|
136
|
-
address _tokenAddress,
|
|
137
|
-
uint256 _tokenId
|
|
138
|
-
)
|
|
139
|
-
external
|
|
140
|
-
view
|
|
141
|
-
returns (address payable[] memory recipients_, uint256[] memory bps)
|
|
142
|
-
{
|
|
143
|
-
recipients_ = new address payable[](3);
|
|
144
|
-
bps = new uint256[](3);
|
|
145
|
-
// get standard royalty data for artist and additional payee
|
|
146
|
-
(
|
|
147
|
-
address artistAddress,
|
|
148
|
-
address additionalPayee,
|
|
149
|
-
uint256 additionalPayeePercentage,
|
|
150
|
-
uint256 royaltyFeeByID
|
|
151
|
-
) = IGenArt721CoreContractV3(_tokenAddress).getRoyaltyData(_tokenId);
|
|
152
|
-
// translate to desired output
|
|
153
|
-
recipients_[0] = payable(artistAddress);
|
|
154
|
-
bps[0] = (uint256(100) - additionalPayeePercentage) * royaltyFeeByID;
|
|
155
|
-
recipients_[1] = payable(additionalPayee);
|
|
156
|
-
bps[1] = additionalPayeePercentage * royaltyFeeByID;
|
|
157
|
-
// append art blocks royalty
|
|
158
|
-
require(
|
|
159
|
-
tokenAddressToArtblocksRoyaltyAddress[_tokenAddress] != address(0),
|
|
160
|
-
"Art Blocks royalty address must be defined for contract"
|
|
161
|
-
);
|
|
162
|
-
recipients_[2] = tokenAddressToArtblocksRoyaltyAddress[_tokenAddress];
|
|
163
|
-
bps[2] = tokenAddressToArtblocksBpsOverride[_tokenAddress].useOverride
|
|
164
|
-
? tokenAddressToArtblocksBpsOverride[_tokenAddress].bps
|
|
165
|
-
: ARTBLOCKS_DEFAULT_BPS;
|
|
166
|
-
return (recipients_, bps);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
-
// Created By: Art Blocks Inc.
|
|
3
|
-
|
|
4
|
-
import "../interfaces/v0.8.x/IArtblocksRoyaltyOverride.sol";
|
|
5
|
-
import "../interfaces/v0.8.x/IGenArt721CoreV2_PBAB.sol";
|
|
6
|
-
|
|
7
|
-
import "@openzeppelin-4.5/contracts/utils/introspection/ERC165.sol";
|
|
8
|
-
|
|
9
|
-
pragma solidity 0.8.9;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* @title Royalty Registry override for Art Blocks PBAB token contracts.
|
|
13
|
-
* @author Art Blocks Inc.
|
|
14
|
-
*/
|
|
15
|
-
contract GenArt721RoyaltyOverride_PBAB is ERC165, IArtblocksRoyaltyOverride {
|
|
16
|
-
/**
|
|
17
|
-
* @notice Platform royalty payment address for `contractAddress`
|
|
18
|
-
* updated to be `platformRoyaltyAddress`.
|
|
19
|
-
*/
|
|
20
|
-
event PlatformRoyaltyAddressForContractUpdated(
|
|
21
|
-
address indexed contractAddress,
|
|
22
|
-
address payable indexed platformRoyaltyAddress
|
|
23
|
-
);
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* @notice Render provider royalty payment basis points for `tokenAddress`
|
|
27
|
-
* updated to be `bps` if `useOverride`, else updated to use default BPS.
|
|
28
|
-
*/
|
|
29
|
-
event RenderProviderBpsForContractUpdated(
|
|
30
|
-
address indexed tokenAddress,
|
|
31
|
-
bool indexed useOverride,
|
|
32
|
-
uint256 bps
|
|
33
|
-
);
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* @notice Platform royalty payment basis points for
|
|
37
|
-
* `tokenAddress` updated to be `bps` if `useOverride`, else
|
|
38
|
-
* updated to use default BPS.
|
|
39
|
-
*/
|
|
40
|
-
event PlatformBpsForContractUpdated(
|
|
41
|
-
address indexed tokenAddress,
|
|
42
|
-
bool indexed useOverride,
|
|
43
|
-
uint256 bps
|
|
44
|
-
);
|
|
45
|
-
|
|
46
|
-
/// token contract => Platform royalty payment address
|
|
47
|
-
mapping(address => address payable)
|
|
48
|
-
public tokenAddressToPlatformRoyaltyAddress;
|
|
49
|
-
|
|
50
|
-
struct BpsOverride {
|
|
51
|
-
bool useOverride;
|
|
52
|
-
uint256 bps;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/// Default Render Provider royalty basis points if no BPS override is set.
|
|
56
|
-
uint256 public constant RENDER_PROVIDER_DEFAULT_BPS = 250; // 2.5 percent
|
|
57
|
-
/// Default Platform royalty basis points if no BPS override is set.
|
|
58
|
-
uint256 public constant PLATFORM_DEFAULT_BPS = 250; // 2.5 percent
|
|
59
|
-
/// token contract => if render provider bps override is set, and bps value.
|
|
60
|
-
mapping(address => BpsOverride)
|
|
61
|
-
public tokenAddressToRenderProviderBpsOverride;
|
|
62
|
-
/// token contract => if Platform bps override is set, and bps value.
|
|
63
|
-
mapping(address => BpsOverride) public tokenAddressToPlatformBpsOverride;
|
|
64
|
-
|
|
65
|
-
modifier onlyAdminOnContract(address _tokenContract) {
|
|
66
|
-
require(
|
|
67
|
-
IGenArt721CoreV2_PBAB(_tokenContract).admin() == msg.sender,
|
|
68
|
-
"Only core admin for specified token contract"
|
|
69
|
-
);
|
|
70
|
-
_;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* @dev See {IERC165-supportsInterface}.
|
|
75
|
-
*/
|
|
76
|
-
function supportsInterface(
|
|
77
|
-
bytes4 interfaceId
|
|
78
|
-
) public view override(ERC165, IERC165) returns (bool) {
|
|
79
|
-
return
|
|
80
|
-
// register interface 0x9ca7dc7a - getRoyalties(address,uint256)
|
|
81
|
-
interfaceId == type(IArtblocksRoyaltyOverride).interfaceId ||
|
|
82
|
-
super.supportsInterface(interfaceId);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* @notice Updates platform royalty payment address for `_tokenContract`
|
|
87
|
-
* to be `_platformRoyaltyAddress`.
|
|
88
|
-
* @param _tokenContract Token contract to be updated.
|
|
89
|
-
* @param _platformRoyaltyAddress Address to receive royalty payments.
|
|
90
|
-
*/
|
|
91
|
-
function updatePlatformRoyaltyAddressForContract(
|
|
92
|
-
address _tokenContract,
|
|
93
|
-
address payable _platformRoyaltyAddress
|
|
94
|
-
) external onlyAdminOnContract(_tokenContract) {
|
|
95
|
-
tokenAddressToPlatformRoyaltyAddress[
|
|
96
|
-
_tokenContract
|
|
97
|
-
] = _platformRoyaltyAddress;
|
|
98
|
-
emit PlatformRoyaltyAddressForContractUpdated(
|
|
99
|
-
_tokenContract,
|
|
100
|
-
_platformRoyaltyAddress
|
|
101
|
-
);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* @notice Updates render provider royalty payment BPS for `_tokenContract`
|
|
106
|
-
* to be `_bps`.
|
|
107
|
-
* @param _tokenContract Token contract to be updated.
|
|
108
|
-
* @param _bps Render provider royalty payment basis points.
|
|
109
|
-
*/
|
|
110
|
-
function updateRenderProviderBpsForContract(
|
|
111
|
-
address _tokenContract,
|
|
112
|
-
uint256 _bps
|
|
113
|
-
) external onlyAdminOnContract(_tokenContract) {
|
|
114
|
-
require(_bps <= 10000, "invalid bps");
|
|
115
|
-
tokenAddressToRenderProviderBpsOverride[_tokenContract] = BpsOverride(
|
|
116
|
-
true,
|
|
117
|
-
_bps
|
|
118
|
-
);
|
|
119
|
-
emit RenderProviderBpsForContractUpdated(_tokenContract, true, _bps);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* @notice Updates platform royalty payment BPS for `_tokenContract` to be
|
|
124
|
-
* `_bps`.
|
|
125
|
-
* @param _tokenContract Token contract to be updated.
|
|
126
|
-
* @param _bps Platform royalty payment basis points.
|
|
127
|
-
*/
|
|
128
|
-
function updatePlatformBpsForContract(
|
|
129
|
-
address _tokenContract,
|
|
130
|
-
uint256 _bps
|
|
131
|
-
) external onlyAdminOnContract(_tokenContract) {
|
|
132
|
-
require(_bps <= 10000, "invalid bps");
|
|
133
|
-
tokenAddressToPlatformBpsOverride[_tokenContract] = BpsOverride(
|
|
134
|
-
true,
|
|
135
|
-
_bps
|
|
136
|
-
);
|
|
137
|
-
emit PlatformBpsForContractUpdated(_tokenContract, true, _bps);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* @notice Clears any overrides of render provider royalty payment BPS
|
|
142
|
-
* for `_tokenContract`.
|
|
143
|
-
* @param _tokenContract Token contract to be cleared.
|
|
144
|
-
* @dev token contracts without overrides use default BPS value.
|
|
145
|
-
*/
|
|
146
|
-
function clearRenderProviderBpsForContract(
|
|
147
|
-
address _tokenContract
|
|
148
|
-
) external onlyAdminOnContract(_tokenContract) {
|
|
149
|
-
tokenAddressToRenderProviderBpsOverride[_tokenContract] = BpsOverride(
|
|
150
|
-
false,
|
|
151
|
-
0
|
|
152
|
-
); // initial values
|
|
153
|
-
emit RenderProviderBpsForContractUpdated(_tokenContract, false, 0);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* @notice Clears any overrides of platform provider royalty payment BPS
|
|
158
|
-
* for `_tokenContract`.
|
|
159
|
-
* @param _tokenContract Token contract to be cleared.
|
|
160
|
-
* @dev token contracts without overrides use default BPS value.
|
|
161
|
-
*/
|
|
162
|
-
function clearPlatformBpsForContract(
|
|
163
|
-
address _tokenContract
|
|
164
|
-
) external onlyAdminOnContract(_tokenContract) {
|
|
165
|
-
tokenAddressToPlatformBpsOverride[_tokenContract] = BpsOverride(
|
|
166
|
-
false,
|
|
167
|
-
0
|
|
168
|
-
); // initial values
|
|
169
|
-
emit PlatformBpsForContractUpdated(_tokenContract, false, 0);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* @notice Gets royalites of token ID `_tokenId` on token contract
|
|
174
|
-
* `_tokenAddress`.
|
|
175
|
-
* @param _tokenAddress Token contract to be queried.
|
|
176
|
-
* @param _tokenId Token ID to be queried.
|
|
177
|
-
* @return recipients_ array of royalty recipients
|
|
178
|
-
* @return bps array of basis points for each recipient, aligned by index
|
|
179
|
-
*/
|
|
180
|
-
function getRoyalties(
|
|
181
|
-
address _tokenAddress,
|
|
182
|
-
uint256 _tokenId
|
|
183
|
-
)
|
|
184
|
-
external
|
|
185
|
-
view
|
|
186
|
-
returns (address payable[] memory recipients_, uint256[] memory bps)
|
|
187
|
-
{
|
|
188
|
-
recipients_ = new address payable[](4);
|
|
189
|
-
bps = new uint256[](4);
|
|
190
|
-
// get standard royalty data for artist and additional payee
|
|
191
|
-
(
|
|
192
|
-
address artistAddress,
|
|
193
|
-
address additionalPayee,
|
|
194
|
-
uint256 additionalPayeePercentage,
|
|
195
|
-
uint256 royaltyFeeByID
|
|
196
|
-
) = IGenArt721CoreV2_PBAB(_tokenAddress).getRoyaltyData(_tokenId);
|
|
197
|
-
// translate to desired output
|
|
198
|
-
recipients_[0] = payable(artistAddress);
|
|
199
|
-
bps[0] = (uint256(100) - additionalPayeePercentage) * royaltyFeeByID;
|
|
200
|
-
recipients_[1] = payable(additionalPayee);
|
|
201
|
-
bps[1] = additionalPayeePercentage * royaltyFeeByID;
|
|
202
|
-
// append platform provider royalty
|
|
203
|
-
require(
|
|
204
|
-
tokenAddressToPlatformRoyaltyAddress[_tokenAddress] != address(0),
|
|
205
|
-
"Platform royalty address must be defined for contract"
|
|
206
|
-
);
|
|
207
|
-
recipients_[2] = tokenAddressToPlatformRoyaltyAddress[_tokenAddress];
|
|
208
|
-
bps[2] = tokenAddressToPlatformBpsOverride[_tokenAddress].useOverride
|
|
209
|
-
? tokenAddressToPlatformBpsOverride[_tokenAddress].bps
|
|
210
|
-
: PLATFORM_DEFAULT_BPS;
|
|
211
|
-
// append render provider royalty
|
|
212
|
-
recipients_[3] = payable(
|
|
213
|
-
IGenArt721CoreV2_PBAB(_tokenAddress).renderProviderAddress()
|
|
214
|
-
);
|
|
215
|
-
bps[3] = tokenAddressToRenderProviderBpsOverride[_tokenAddress]
|
|
216
|
-
.useOverride
|
|
217
|
-
? tokenAddressToRenderProviderBpsOverride[_tokenAddress].bps
|
|
218
|
-
: RENDER_PROVIDER_DEFAULT_BPS;
|
|
219
|
-
return (recipients_, bps);
|
|
220
|
-
}
|
|
221
|
-
}
|