@artblocks/contracts 1.0.2 → 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.
Files changed (387) hide show
  1. package/README.md +56 -21
  2. package/artifacts/contracts/AdminACLV0.sol/AdminACLV0.json +2 -2
  3. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  4. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +141 -15
  5. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +42 -5
  6. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol/MinterDAExpV0.json +2 -2
  7. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol/MinterDAExpV1.json +2 -2
  8. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  9. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  10. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  11. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  12. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol/MinterDALinV0.json +2 -2
  13. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol/MinterDALinV1.json +2 -2
  14. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol/MinterHolderV0.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol/MinterMerkleV0.json +2 -2
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  23. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  24. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  25. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol/MinterSetPriceV0.json +2 -2
  26. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV1.sol/MinterSetPriceV1.json +2 -2
  27. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  28. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  29. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +2 -2
  30. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +2 -2
  31. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  32. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  33. package/artifacts/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol}/GenArt721CoreV2_ENGINE_FLEX.json +3 -3
  34. package/artifacts/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol}/GenArt721CoreV2_PBAB.json +3 -3
  35. package/artifacts/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol}/GenArt721CoreV2_PRTNR.json +3 -3
  36. package/artifacts/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol}/GenArt721MinterBurner_PBAB.json +3 -3
  37. package/artifacts/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol}/GenArt721MinterDAExp_PBAB.json +3 -3
  38. package/artifacts/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol}/GenArt721Minter_PBAB.json +3 -3
  39. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +1960 -0
  40. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +2247 -0
  41. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +2247 -0
  42. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +401 -0
  43. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +2281 -0
  44. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol/IAdminACLV0_PROHIBITION.json +359 -0
  45. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +1094 -0
  46. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +242 -0
  47. package/artifacts/contracts/engine-registry/EngineRegistryV0.sol/EngineRegistryV0.json +2 -2
  48. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +41 -4
  49. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IBonusContract.sol/IBonusContract.json +1 -1
  50. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +1 -1
  51. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +1 -1
  52. package/artifacts/contracts/interfaces/{0.5.x → v0.5.x}/IRandomizer.sol/IRandomizer.json +1 -1
  53. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IAdminACLV0.sol/IAdminACLV0.json +1 -1
  54. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IArtblocksRoyaltyOverride.sol/IArtblocksRoyaltyOverride.json +1 -1
  55. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IBonusContract.sol/IBonusContract.json +1 -1
  56. package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReader.sol/IBytecodeStorageReader.json +111 -0
  57. package/artifacts/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +172 -0
  58. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDelegationRegistry.sol/IDelegationRegistry.json +1 -1
  59. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryCompatibleV0.sol/IDependencyRegistryCompatibleV0.json +1 -1
  60. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +3 -3
  61. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IEngineRegistryV0.sol/IEngineRegistryV0.json +1 -1
  62. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +1 -1
  63. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +1 -1
  64. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlement_Mixin.sol/IFilteredMinterDAExpSettlement_Mixin.json +1 -1
  65. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV0.sol/IFilteredMinterDAExpV0.json +1 -1
  66. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV1.sol/IFilteredMinterDAExpV1.json +1 -1
  67. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV0.sol/IFilteredMinterDALinV0.json +1 -1
  68. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV1.sol/IFilteredMinterDALinV1.json +1 -1
  69. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV0.sol/IFilteredMinterHolderV0.json +1 -1
  70. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV1.sol/IFilteredMinterHolderV1.json +1 -1
  71. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV2.sol/IFilteredMinterHolderV2.json +1 -1
  72. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV0.sol/IFilteredMinterMerkleV0.json +1 -1
  73. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV1.sol/IFilteredMinterMerkleV1.json +1 -1
  74. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV2.sol/IFilteredMinterMerkleV2.json +1 -1
  75. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterSEAV0.sol/IFilteredMinterSEAV0.json +56 -54
  76. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV0.sol/IFilteredMinterV0.json +1 -1
  77. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV1.sol/IFilteredMinterV1.json +1 -1
  78. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV2.sol/IFilteredMinterV2.json +1 -1
  79. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractExposesHashSeed.sol/IGenArt721CoreContractExposesHashSeed.json +30 -0
  80. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +1 -1
  81. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +14 -1
  82. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3WithSharedRandomizer.sol/IGenArt721CoreContractV3WithSharedRandomizer.json +24 -0
  83. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +14 -1
  84. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +8 -14
  85. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +8 -14
  86. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +1 -1
  87. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IManifold.sol/IManifold.json +1 -1
  88. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterBaseV0.sol/IMinterBaseV0.json +1 -1
  89. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV0.sol/IMinterFilterV0.json +1 -1
  90. package/artifacts/contracts/interfaces/v0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +514 -0
  91. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPICoreV0.sol/IMintingAPICoreV0.json +1 -1
  92. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPIMinterV0.sol/IMintingAPIMinterV0.json +1 -1
  93. package/artifacts/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +30 -0
  94. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer.sol/IRandomizer.json +1 -1
  95. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerPolyptychV0.sol/IRandomizerPolyptychV0.json +1 -1
  96. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerV2.sol/IRandomizerV2.json +1 -1
  97. package/artifacts/contracts/interfaces/v0.8.x/IRandomizer_V3CoreBase.sol/IRandomizer_V3CoreBase.json +24 -0
  98. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +207 -0
  99. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol/ISharedMinterDAExpV0.json +93 -0
  100. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol/ISharedMinterDALinV0.json +93 -0
  101. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol/ISharedMinterDAV0.json +69 -0
  102. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol/ISharedMinterHolderV0.json +203 -0
  103. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol/ISharedMinterMerkleV0.json +123 -0
  104. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +261 -0
  105. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol/ISharedMinterSimplePurchaseV0.json +64 -0
  106. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterV0.sol/ISharedMinterV0.json +533 -0
  107. package/artifacts/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +223 -0
  108. package/artifacts/contracts/interfaces/{0.8.x → v0.8.x}/IWETH.sol/IWETH.json +1 -1
  109. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Address.json +2 -2
  110. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Counters.json +2 -2
  111. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/CustomERC721Metadata.json +2 -2
  112. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721.json +2 -2
  113. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721Enumerable.json +2 -2
  114. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/GenArt721CoreV1.json +2 -2
  115. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/SafeMath.json +2 -2
  116. package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Strings.json +2 -2
  117. package/artifacts/contracts/legacy/GenArt721LegacyMinter.sol/GenArt721LegacyMinter.json +2 -2
  118. package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
  119. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +2 -2
  120. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +2 -2
  121. package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +2 -2
  122. package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +2 -2
  123. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/CustomERC721Metadata.sol/CustomERC721Metadata.json +3 -3
  124. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/IERC20.sol/IERC20.json +1 -1
  125. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/SafeMath.sol/SafeMath.json +3 -3
  126. package/artifacts/contracts/libs/{0.5.x → v0.5.x}/Strings.sol/Strings.json +3 -3
  127. package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +10 -0
  128. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +10 -0
  129. package/artifacts/contracts/libs/{0.8.x/BytecodeStorage.sol → v0.8.x/BytecodeStorageV0.sol}/BytecodeStorage.json +3 -3
  130. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageReader.json +163 -0
  131. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageWriter.json +10 -0
  132. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/Bytes32Strings.sol/Bytes32Strings.json +3 -3
  133. package/artifacts/contracts/libs/{0.8.x → v0.8.x}/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +3 -3
  134. package/artifacts/contracts/libs/v0.8.x/SSTORE2.sol/SSTORE2.json +10 -0
  135. package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +10 -0
  136. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +10 -0
  137. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +10 -0
  138. package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +10 -0
  139. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +10 -0
  140. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +10 -0
  141. package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +10 -0
  142. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +10 -0
  143. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +10 -0
  144. package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +10 -0
  145. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV0.sol/MinterFilterV0.json +2 -2
  146. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  147. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +748 -0
  148. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +1228 -0
  149. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
  150. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +1146 -0
  151. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
  152. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +909 -0
  153. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +1228 -0
  154. package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +2 -2
  155. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +909 -0
  156. package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +2 -2
  157. package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
  158. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +10 -160
  159. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
  160. package/artifacts/contracts/minter-suite/Minters/MinterSEAV0.sol/MinterSEAV0.json +59 -80
  161. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +1325 -0
  162. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
  163. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +848 -0
  164. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +1091 -0
  165. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +1075 -0
  166. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +1243 -0
  167. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +1167 -0
  168. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
  169. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +772 -0
  170. package/artifacts/contracts/mock/{BytecodeTextCR_DMock.sol/BytecodeTextCR_DMock.json → BytecodeV0TextCR_DMock.sol/BytecodeV0TextCR_DMock.json} +4 -4
  171. package/artifacts/contracts/mock/BytecodeV1LibCallsMock.sol/BytecodeV1LibCallsMock.json +135 -0
  172. package/artifacts/contracts/mock/BytecodeV1TextCR_DMock.sol/BytecodeV1TextCR_DMock.json +301 -0
  173. package/artifacts/contracts/mock/DeadReceiverBidderMock.sol/DeadReceiverBidderMock.json +25 -2
  174. package/artifacts/contracts/mock/DeadReceiverMock.sol/DeadReceiverMock.json +2 -2
  175. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +114 -0
  176. package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +28 -2
  177. package/artifacts/contracts/mock/GasLimitReceiverBidderMock.sol/GasLimitReceiverBidderMock.json +2 -2
  178. package/artifacts/contracts/mock/GasLimitReceiverMock.sol/GasLimitReceiverMock.json +2 -2
  179. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +22 -4
  180. package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +2 -2
  181. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +440 -0
  182. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +39 -0
  183. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  184. package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
  185. package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
  186. package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
  187. package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
  188. package/artifacts/contracts/mock/SSTORE2Mock.sol/SSTORE2Mock.json +118 -0
  189. package/artifacts/contracts/randomizer/{BasicRandomizer.sol → deprecated/BasicRandomizer.sol}/BasicRandomizer.json +3 -3
  190. package/artifacts/contracts/randomizer/{BasicRandomizerBase_v0_0_0.sol → deprecated/BasicRandomizerBase_v0_0_0.sol}/RandomizerBase.json +1 -1
  191. package/artifacts/contracts/randomizer/{PolyptychRandomizerV0.sol → deprecated/PolyptychRandomizerV0.sol}/BasicPolyptychRandomizerV0.json +3 -3
  192. package/artifacts/contracts/randomizer/{RandomizerV2.sol → deprecated/RandomizerV2.sol}/BasicRandomizerV2.json +3 -3
  193. package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +30 -0
  194. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +247 -0
  195. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +2 -2
  196. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol/GenArt721RoyaltyOverride_PBAB.json +2 -2
  197. package/contracts/AdminACLV0.sol +2 -2
  198. package/contracts/AdminACLV1.sol +2 -2
  199. package/contracts/DependencyRegistryV0.sol +219 -123
  200. package/contracts/GenArt721CoreV3.sol +60 -42
  201. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol +3 -3
  202. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol +3 -3
  203. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol +4 -4
  204. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol +4 -4
  205. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +4 -4
  206. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +4 -4
  207. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol +3 -3
  208. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol +3 -3
  209. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol +4 -4
  210. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol +4 -4
  211. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol +3 -3
  212. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol +4 -4
  213. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol +5 -5
  214. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol +5 -5
  215. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol +3 -3
  216. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol +4 -4
  217. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol +5 -5
  218. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol +5 -5
  219. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol +5 -5
  220. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol +3 -3
  221. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV1.sol +3 -3
  222. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol +4 -4
  223. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol +4 -4
  224. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol +3 -3
  225. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +3 -3
  226. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +4 -4
  227. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +4 -4
  228. package/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol} +2 -2
  229. package/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol} +2 -2
  230. package/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol} +3 -3
  231. package/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol} +2 -2
  232. package/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol} +2 -2
  233. package/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol} +2 -2
  234. package/contracts/{GenArt721CoreV3_Engine.sol → engine/V3/GenArt721CoreV3_Engine.sol} +48 -24
  235. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +2298 -0
  236. package/contracts/{GenArt721CoreV3_Engine_Flex.sol → engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol} +50 -31
  237. package/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol +281 -0
  238. package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +2359 -0
  239. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol +123 -0
  240. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +29 -0
  241. package/contracts/engine-registry/CoreRegistryV1.sol +254 -0
  242. package/contracts/engine-registry/EngineRegistryV0.sol +2 -2
  243. package/contracts/explorations/GenArt721CoreV3_Explorations.sol +58 -40
  244. package/contracts/interfaces/v0.8.x/IBytecodeStorageReader.sol +62 -0
  245. package/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol +27 -0
  246. package/contracts/interfaces/{0.8.x → v0.8.x}/IDelegationRegistry.sol +1 -1
  247. package/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryCompatibleV0.sol +1 -1
  248. package/contracts/interfaces/{0.8.x → v0.8.x}/IDependencyRegistryV0.sol +3 -3
  249. package/contracts/interfaces/{0.8.x → v0.8.x}/IEngineRegistryV0.sol +1 -1
  250. package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterSEAV0.sol +34 -15
  251. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractExposesHashSeed.sol +11 -0
  252. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3WithSharedRandomizer.sol +23 -0
  253. package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Base.sol +3 -0
  254. package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine.sol +0 -5
  255. package/contracts/interfaces/v0.8.x/IMinterFilterV1.sol +184 -0
  256. package/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol +16 -0
  257. package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerPolyptychV0.sol +1 -1
  258. package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizerV2.sol +2 -5
  259. package/contracts/interfaces/v0.8.x/IRandomizer_V3CoreBase.sol +23 -0
  260. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +37 -0
  261. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol +25 -0
  262. package/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol +26 -0
  263. package/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol +19 -0
  264. package/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol +69 -0
  265. package/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol +44 -0
  266. package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +78 -0
  267. package/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol +28 -0
  268. package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +191 -0
  269. package/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol +123 -0
  270. package/contracts/legacy/GenArt721CoreV1.sol +2 -2
  271. package/contracts/legacy/GenArt721LegacyMinter.sol +5 -5
  272. package/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol +2 -2
  273. package/contracts/libs/integration-refs/weth9/weth9.sol +2 -0
  274. package/contracts/libs/v0.8.x/ABHelpers.sol +55 -0
  275. package/contracts/libs/v0.8.x/AuthLib.sol +197 -0
  276. package/contracts/libs/v0.8.x/BytecodeStorageV1.sol +399 -0
  277. package/contracts/libs/v0.8.x/SSTORE2.sol +109 -0
  278. package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +125 -0
  279. package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +109 -0
  280. package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +348 -0
  281. package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +175 -0
  282. package/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol +160 -0
  283. package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +320 -0
  284. package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +44 -0
  285. package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +390 -0
  286. package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +583 -0
  287. package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +153 -0
  288. package/contracts/minter-suite/MinterFilter/MinterFilterV0.sol +3 -3
  289. package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +6 -6
  290. package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +830 -0
  291. package/contracts/minter-suite/Minters/MinterBase_v0_1_1.sol +4 -4
  292. package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +966 -0
  293. package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +4 -4
  294. package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +1126 -0
  295. package/contracts/minter-suite/Minters/MinterDAExpV4.sol +4 -4
  296. package/contracts/minter-suite/Minters/MinterDAExpV5.sol +606 -0
  297. package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +952 -0
  298. package/contracts/minter-suite/Minters/MinterDALinV4.sol +4 -4
  299. package/contracts/minter-suite/Minters/MinterDALinV5.sol +591 -0
  300. package/contracts/minter-suite/Minters/MinterHolderV4.sol +5 -5
  301. package/contracts/minter-suite/Minters/MinterMerkleV5.sol +5 -5
  302. package/contracts/minter-suite/Minters/MinterPolyptychV0.sol +18 -17
  303. package/contracts/minter-suite/Minters/MinterSEAV0.sol +235 -186
  304. package/contracts/minter-suite/Minters/MinterSEAV1.sol +1190 -0
  305. package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +6 -6
  306. package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +570 -0
  307. package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +821 -0
  308. package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +802 -0
  309. package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +1096 -0
  310. package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +992 -0
  311. package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +4 -4
  312. package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +461 -0
  313. package/contracts/mock/{BytecodeTextCR_DMock.sol → BytecodeV0TextCR_DMock.sol} +5 -5
  314. package/contracts/mock/BytecodeV1LibCallsMock.sol +114 -0
  315. package/contracts/mock/BytecodeV1TextCR_DMock.sol +233 -0
  316. package/contracts/mock/DeadReceiverBidderMock.sol +16 -1
  317. package/contracts/mock/DeadReceiverMock.sol +1 -1
  318. package/contracts/mock/DummySharedMinter.sol +75 -0
  319. package/contracts/mock/ERC20Mock.sol +16 -0
  320. package/contracts/mock/GasLimitReceiverBidderMock.sol +1 -1
  321. package/contracts/mock/GasLimitReceiverMock.sol +1 -1
  322. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +22 -35
  323. package/contracts/mock/MockAdminACLV0.sol +2 -2
  324. package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +207 -0
  325. package/contracts/mock/OriginRegisterMock.sol +27 -0
  326. package/contracts/mock/RandomizerV2_NoAssignMock.sol +2 -2
  327. package/contracts/mock/ReentrancyHolderMock.sol +1 -1
  328. package/contracts/mock/ReentrancyMerkleMock.sol +1 -1
  329. package/contracts/mock/ReentrancyMock.sol +1 -1
  330. package/contracts/mock/ReentrancySEAMock.sol +1 -1
  331. package/contracts/mock/SSTORE2Mock.sol +93 -0
  332. package/contracts/randomizer/{BasicRandomizer.sol → deprecated/BasicRandomizer.sol} +1 -1
  333. package/contracts/randomizer/{BasicRandomizerBase_v0_0_0.sol → deprecated/BasicRandomizerBase_v0_0_0.sol} +1 -1
  334. package/contracts/randomizer/{PolyptychRandomizerV0.sol → deprecated/PolyptychRandomizerV0.sol} +3 -3
  335. package/contracts/randomizer/{RandomizerV2.sol → deprecated/RandomizerV2.sol} +3 -3
  336. package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +30 -0
  337. package/contracts/randomizer/shared/SharedRandomizerV0.sol +260 -0
  338. package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +2 -2
  339. package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +2 -2
  340. package/package.json +51 -43
  341. package/.env.example +0 -17
  342. package/LICENSE +0 -165
  343. package/artifacts/contracts/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +0 -1942
  344. package/artifacts/contracts/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +0 -2229
  345. package/artifacts/contracts/engine-registry/future/EngineRegistryV1.sol/EngineRegistryV1.json +0 -109
  346. package/contracts/engine-registry/future/EngineRegistryV1.sol +0 -86
  347. /package/contracts/interfaces/{0.5.x → v0.5.x}/IBonusContract.sol +0 -0
  348. /package/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreContractV1.sol +0 -0
  349. /package/contracts/interfaces/{0.5.x → v0.5.x}/IGenArt721CoreV2_PBAB.sol +0 -0
  350. /package/contracts/interfaces/{0.5.x → v0.5.x}/IRandomizer.sol +0 -0
  351. /package/contracts/interfaces/{0.8.x → v0.8.x}/IAdminACLV0.sol +0 -0
  352. /package/contracts/interfaces/{0.8.x → v0.8.x}/IArtblocksRoyaltyOverride.sol +0 -0
  353. /package/contracts/interfaces/{0.8.x → v0.8.x}/IBonusContract.sol +0 -0
  354. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV0.sol +0 -0
  355. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlementV1.sol +0 -0
  356. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpSettlement_Mixin.sol +0 -0
  357. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV0.sol +0 -0
  358. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDAExpV1.sol +0 -0
  359. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV0.sol +0 -0
  360. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterDALinV1.sol +0 -0
  361. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV0.sol +0 -0
  362. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV1.sol +0 -0
  363. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterHolderV2.sol +0 -0
  364. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV0.sol +0 -0
  365. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV1.sol +0 -0
  366. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterMerkleV2.sol +0 -0
  367. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV0.sol +0 -0
  368. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV1.sol +0 -0
  369. /package/contracts/interfaces/{0.8.x → v0.8.x}/IFilteredMinterV2.sol +0 -0
  370. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV1.sol +0 -0
  371. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3.sol +0 -0
  372. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreContractV3_Engine_Flex.sol +0 -0
  373. /package/contracts/interfaces/{0.8.x → v0.8.x}/IGenArt721CoreV2_PBAB.sol +0 -0
  374. /package/contracts/interfaces/{0.8.x → v0.8.x}/IManifold.sol +0 -0
  375. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterBaseV0.sol +0 -0
  376. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMinterFilterV0.sol +0 -0
  377. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPICoreV0.sol +0 -0
  378. /package/contracts/interfaces/{0.8.x → v0.8.x}/IMintingAPIMinterV0.sol +0 -0
  379. /package/contracts/interfaces/{0.8.x → v0.8.x}/IRandomizer.sol +0 -0
  380. /package/contracts/interfaces/{0.8.x → v0.8.x}/IWETH.sol +0 -0
  381. /package/contracts/libs/{0.5.x → v0.5.x}/CustomERC721Metadata.sol +0 -0
  382. /package/contracts/libs/{0.5.x → v0.5.x}/IERC20.sol +0 -0
  383. /package/contracts/libs/{0.5.x → v0.5.x}/SafeMath.sol +0 -0
  384. /package/contracts/libs/{0.5.x → v0.5.x}/Strings.sol +0 -0
  385. /package/contracts/libs/{0.8.x/BytecodeStorage.sol → v0.8.x/BytecodeStorageV0.sol} +0 -0
  386. /package/contracts/libs/{0.8.x → v0.8.x}/Bytes32Strings.sol +0 -0
  387. /package/contracts/libs/{0.8.x → v0.8.x}/ERC721_PackedHashSeed.sol +0 -0
@@ -0,0 +1,233 @@
1
+ // SPDX-License-Identifier: LGPL-3.0-only
2
+ pragma solidity 0.8.19;
3
+
4
+ // Created By: Art Blocks Inc.
5
+
6
+ import "../libs/v0.8.x/BytecodeStorageV1.sol";
7
+
8
+ /**
9
+ * @title Art Blocks BytecodeTextCR_DMock.
10
+ * @author Art Blocks Inc.
11
+ * @notice This contract serves as a mock client of the BytecodeStorageV1 library
12
+ * to allow for more granular testing of this library than is supported
13
+ * by the usage of the library directly by specific current Art Blocks
14
+ * client smart contracts, such as the `GenArt721CoreV3` contract. This
15
+ * mock exposes the CR_D (create, read, _not updates_, delete)
16
+ * operations that the underlying BytecodeStorageV1 library allows clients
17
+ * to support.
18
+ * Note that because updates can only functionally be performed by
19
+ * combining a "delete" and "create" operation, given that deployed
20
+ * contracts cannot be _updated_ directly in chain-state, this mock does
21
+ * not expose updates (the usual "U" in "CRUD") as they are not
22
+ * supported by the underlying library.
23
+ */
24
+ contract BytecodeV1TextCR_DMock {
25
+ using BytecodeStorageWriter for string;
26
+
27
+ // monotonically increasing slot counter and associated slot-storage mapping
28
+ uint256 public nextTextSlotId = 0;
29
+ mapping(uint256 => address) public storedTextBytecodeAddresses;
30
+
31
+ // save deployer address to support basic ACL checks for non-read operations
32
+ address public deployerAddress;
33
+
34
+ modifier onlyDeployer() {
35
+ require(msg.sender == deployerAddress, "Only deployer");
36
+ _;
37
+ }
38
+
39
+ /**
40
+ * @notice Initializes contract.
41
+ */
42
+ constructor() {
43
+ deployerAddress = msg.sender;
44
+ }
45
+
46
+ /*//////////////////////////////////////////////////////////////
47
+ Create Read _ Delete
48
+ //////////////////////////////////////////////////////////////*/
49
+
50
+ /**
51
+ * @notice "Create": Adds a chunk of text to be stored to chain-state.
52
+ * @param _text Text to be created in chain-state.
53
+ * @return uint256 Slot that the written bytecode contract address was
54
+ * stored in.
55
+ * @dev Intentionally do not perform input validation, instead allowing
56
+ * the underlying BytecodeStorage lib to throw errors where applicable.
57
+ */
58
+ function createText(
59
+ string memory _text
60
+ ) external onlyDeployer returns (uint256) {
61
+ // store text in contract bytecode
62
+ storedTextBytecodeAddresses[nextTextSlotId] = _text.writeToBytecode();
63
+ // record written slot before incrementing
64
+ uint256 textSlotId = nextTextSlotId;
65
+ nextTextSlotId++;
66
+ return textSlotId;
67
+ }
68
+
69
+ /**
70
+ * @notice "Read": Reads chunk of text currently in the provided slot, from
71
+ * chain-state.
72
+ * @param _textSlotId Slot (associated with this contract) for which to
73
+ * read text content.
74
+ * @return string Content read from contract bytecode in the given slot.
75
+ * @dev Intentionally do not perform input validation, instead allowing
76
+ * the underlying BytecodeStorage lib to throw errors where applicable.
77
+ */
78
+ function readText(uint256 _textSlotId) public view returns (string memory) {
79
+ return
80
+ BytecodeStorageReader.readFromBytecode(
81
+ storedTextBytecodeAddresses[_textSlotId]
82
+ );
83
+ }
84
+
85
+ /**
86
+ * @notice "Delete": Deletes chunk of text currently in the provided slot,
87
+ * from chain-state.
88
+ * @param _textSlotId Slot (associated with this contract) for which to
89
+ * delete text content.
90
+ * @dev Intentionally do not perform input validation, instead allowing
91
+ * the underlying BytecodeStorage lib to throw errors where applicable.
92
+ */
93
+ function deleteText(uint256 _textSlotId) external onlyDeployer {
94
+ // delete reference to old storage contract address
95
+ delete storedTextBytecodeAddresses[_textSlotId];
96
+ }
97
+
98
+ /*//////////////////////////////////////////////////////////////
99
+ Additional Introspection
100
+ //////////////////////////////////////////////////////////////*/
101
+
102
+ /**
103
+ * @notice Allows additional read introspection, to read a chunk of text,
104
+ * from chain-state that lives at a given deployed address.
105
+ * @param _bytecodeAddress address from which to read text content.
106
+ * @return string Content read from contract bytecode at the given address.
107
+ * @dev Intentionally do not perform input validation, instead allowing
108
+ * the underlying BytecodeStorage lib to throw errors where applicable.
109
+ */
110
+ function readTextAtAddress(
111
+ address _bytecodeAddress
112
+ ) public view returns (string memory) {
113
+ return BytecodeStorageReader.readFromBytecode(_bytecodeAddress);
114
+ }
115
+
116
+ /**
117
+ * @notice Allows additional read introspection, to read a chunk of text,
118
+ * from chain-state that lives at a given deployed address with an
119
+ * explicitly provided `_offset`.
120
+ * @param _bytecodeAddress address from which to read text content.
121
+ * @param _offset Offset to read from in contract bytecode,
122
+ * explicitly provided (not calculated)
123
+ * @return string Content read from contract bytecode at the given address.
124
+ * @dev Intentionally do not perform input validation, instead allowing
125
+ * the underlying BytecodeStorage lib to throw errors where applicable.
126
+ */
127
+ function forceReadTextAtAddress(
128
+ address _bytecodeAddress,
129
+ uint256 _offset
130
+ ) public view returns (string memory) {
131
+ return
132
+ string(
133
+ BytecodeStorageReader.readBytesFromBytecode(
134
+ _bytecodeAddress,
135
+ _offset
136
+ )
137
+ );
138
+ }
139
+
140
+ /**
141
+ * @notice Allows additional read introspection, to read a chunk of text,
142
+ * from chain-state that lives at a given deployed address that
143
+ * was written with SSTORE2.
144
+ * @param _bytecodeAddress address from which to read text content.
145
+ * @return string Content read from contract bytecode at the given address.
146
+ * @dev Intentionally do not perform input validation, instead allowing
147
+ * the underlying BytecodeStorage lib to throw errors where applicable.
148
+ */
149
+ function readSSTORE2TextAtAddress(
150
+ address _bytecodeAddress
151
+ ) public view returns (string memory) {
152
+ return
153
+ string(
154
+ BytecodeStorageReader.readBytesFromSSTORE2Bytecode(
155
+ _bytecodeAddress
156
+ )
157
+ );
158
+ }
159
+
160
+ /**
161
+ * @notice Allows introspection of who deployed a given contracts-as-storage
162
+ * contract, based on a provided `_bytecodeAddress`.
163
+ * @param _bytecodeAddress address for which to read the author address.
164
+ * @return address of the author who wrote the data contained in the
165
+ * given `_bytecodeAddress` contract.
166
+ * @dev Intentionally do not perform input validation, instead allowing
167
+ * the underlying BytecodeStorage lib to throw errors where applicable.
168
+ */
169
+ function readAuthorForTextAtAddress(
170
+ address _bytecodeAddress
171
+ ) public view returns (address) {
172
+ return
173
+ BytecodeStorageReader.getWriterAddressForBytecode(_bytecodeAddress);
174
+ }
175
+
176
+ /**
177
+ * @notice Allows introspection of the version of a given contracts-as-storage
178
+ * contract, based on a provided `_bytecodeAddress`.
179
+ * @param _bytecodeAddress address for which to read the version.
180
+ * @return bytes32 version of the version string contained in the given `_bytecodeAddress`
181
+ * contract.
182
+ * @dev Intentionally do not perform input validation, instead allowing
183
+ * the underlying BytecodeStorage lib to throw errors where applicable.
184
+ */
185
+ function readLibraryVersionForTextAtAddress(
186
+ address _bytecodeAddress
187
+ ) public view returns (bytes32) {
188
+ return
189
+ BytecodeStorageReader.getLibraryVersionForBytecode(
190
+ _bytecodeAddress
191
+ );
192
+ }
193
+
194
+ /**
195
+ * @notice Allows additional internal purge-logic introspection, by allowing
196
+ * for the sending of arbitrary data from this contract to the
197
+ * provided existing `_bytecodeAddress`.
198
+ * @param _bytecodeAddress address for which to send call data.
199
+ * @param _data aribtrary data to send as call-data for raw `.call`.
200
+ * @dev WARNING - THIS IS NOT SECURE AND SHOULD NOT BE USED IN PRODUCTION.
201
+ */
202
+ function callWithNonsenseData(
203
+ address _bytecodeAddress,
204
+ bytes memory _data
205
+ ) external onlyDeployer {
206
+ (bool success /* `data` not needed */, ) = _bytecodeAddress.call(_data);
207
+ if (success) {
208
+ // WARNING - This implementation does not make use of the low-level
209
+ // call return result indicating success/failure. This is
210
+ // contrary to best practice but is OK in this instance as
211
+ // this method IS NOT SECURE AND SHOULD NOT BE USED IN
212
+ // PRODUCTION under any normal circumstances.
213
+ }
214
+ }
215
+
216
+ /**
217
+ * @notice Allows additional internal purge-logic introspection, by allowing
218
+ * for the sending of raw calls (with no data) from this contract to
219
+ * the provided existing `_bytecodeAddress`.
220
+ * @param _bytecodeAddress address for which to send call data.
221
+ * @dev WARNING - THIS IS NOT SECURE AND SHOULD NOT BE USED IN PRODUCTION.
222
+ */
223
+ function callWithoutData(address _bytecodeAddress) external onlyDeployer {
224
+ (bool success /* `data` not needed */, ) = _bytecodeAddress.call("");
225
+ if (success) {
226
+ // WARNING - This implementation does not make use of the low-level
227
+ // call return result indicating success/failure. This is
228
+ // contrary to best practice but is OK in this instance as
229
+ // this method IS NOT SECURE AND SHOULD NOT BE USED IN
230
+ // PRODUCTION under any normal circumstances.
231
+ }
232
+ }
233
+ }
@@ -1,6 +1,6 @@
1
1
  // SPDX-License-Identifier: LGPL-3.0-only
2
2
 
3
- pragma solidity 0.8.17;
3
+ pragma solidity 0.8.19;
4
4
 
5
5
  import {DeadReceiverMock} from "./DeadReceiverMock.sol";
6
6
 
@@ -20,4 +20,19 @@ contract DeadReceiverBidderMock is DeadReceiverMock {
20
20
  );
21
21
  require(success, "DeadReceiverBidderMock: call failed");
22
22
  }
23
+
24
+ function createBidOnAuctionSharedMinter(
25
+ address minter,
26
+ uint256 tokenId,
27
+ address coreContract
28
+ ) external payable {
29
+ (bool success, ) = minter.call{value: msg.value}(
30
+ abi.encodeWithSignature(
31
+ "createBid(uint256,address)",
32
+ tokenId,
33
+ coreContract
34
+ )
35
+ );
36
+ require(success, "DeadReceiverBidderMock: call failed");
37
+ }
23
38
  }
@@ -1,6 +1,6 @@
1
1
  // SPDX-License-Identifier: LGPL-3.0-only
2
2
 
3
- pragma solidity 0.8.17;
3
+ pragma solidity 0.8.19;
4
4
 
5
5
  /**
6
6
  * @notice This reverts when receiving Ether
@@ -0,0 +1,75 @@
1
+ // SPDX-License-Identifier: LGPL-3.0-only
2
+ // Created By: Art Blocks Inc.
3
+
4
+ import "../interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol";
5
+ import "../interfaces/v0.8.x/IMinterFilterV1.sol";
6
+
7
+ pragma solidity 0.8.19;
8
+
9
+ /**
10
+ * @title NON-PRODUCTION shared minter used for testing purposes only.
11
+ * In general, this is intended to integrate with IMinterFilterV1, and should
12
+ * be used for integration testing purposes only.
13
+ * @author Art Blocks Inc.
14
+ */
15
+ contract DummySharedMinter {
16
+ /// Minter filter address this minter interacts with
17
+ address public immutable minterFilterAddress;
18
+
19
+ /// Minter filter this minter may interact with.
20
+ IMinterFilterV1 private immutable minterFilter;
21
+
22
+ /// minterType for this minter
23
+ string public constant minterType = "DummySharedMinter";
24
+
25
+ /// minter version for this minter
26
+ string public constant minterVersion = "v0.0.0";
27
+
28
+ uint256 constant ONE_MILLION = 1_000_000;
29
+
30
+ function _onlyArtist(
31
+ uint256 _projectId,
32
+ address _coreContract
33
+ ) internal view {
34
+ require(
35
+ msg.sender ==
36
+ IGenArt721CoreContractV3_Base(_coreContract)
37
+ .projectIdToArtistAddress(_projectId),
38
+ "Only Artist"
39
+ );
40
+ }
41
+
42
+ /**
43
+ * @notice Initializes contract to be a Filtered Minter for
44
+ * `_minterFilter`.
45
+ * @param _minterFilter Minter filter for which this will be a
46
+ * filtered minter.
47
+ */
48
+ constructor(address _minterFilter) {
49
+ minterFilterAddress = _minterFilter;
50
+ minterFilter = IMinterFilterV1(_minterFilter);
51
+ }
52
+
53
+ function purchase(
54
+ uint256 _projectId,
55
+ address _coreContract
56
+ ) external payable returns (uint256 tokenId) {
57
+ tokenId = purchaseTo(msg.sender, _projectId, _coreContract);
58
+ return tokenId;
59
+ }
60
+
61
+ function purchaseTo(
62
+ address _to,
63
+ uint256 _projectId,
64
+ address _coreContract
65
+ ) public payable returns (uint256 tokenId) {
66
+ tokenId = minterFilter.mint_joo(
67
+ _to,
68
+ _projectId,
69
+ _coreContract,
70
+ msg.sender
71
+ );
72
+ // intentionally does not split funds to keep this dummy minter simple
73
+ return tokenId;
74
+ }
75
+ }
@@ -5,7 +5,23 @@ pragma solidity ^0.8.0;
5
5
  import "@openzeppelin-4.5/contracts/token/ERC20/ERC20.sol";
6
6
 
7
7
  contract ERC20Mock is ERC20 {
8
+ // add a banned address to enable testing of unsuccessful transfers
9
+ address public bannedReceiver;
10
+
8
11
  constructor(uint256 initialSupply) ERC20("Mock Token", "MOCK") {
9
12
  _mint(msg.sender, initialSupply);
10
13
  }
14
+
15
+ function updateBannedAddress(address account) external {
16
+ bannedReceiver = account;
17
+ }
18
+
19
+ function _afterTokenTransfer(
20
+ address from,
21
+ address to,
22
+ uint256 amount
23
+ ) internal override {
24
+ require(to != bannedReceiver, "ERC20Mock: transfer to banned address");
25
+ super._afterTokenTransfer(from, to, amount);
26
+ }
11
27
  }
@@ -1,6 +1,6 @@
1
1
  // SPDX-License-Identifier: LGPL-3.0-only
2
2
 
3
- pragma solidity 0.8.17;
3
+ pragma solidity 0.8.19;
4
4
 
5
5
  import {GasLimitReceiverMock} from "./GasLimitReceiverMock.sol";
6
6
 
@@ -1,6 +1,6 @@
1
1
  // SPDX-License-Identifier: LGPL-3.0-only
2
2
 
3
- pragma solidity 0.8.17;
3
+ pragma solidity 0.8.19;
4
4
 
5
5
  /**
6
6
  * @notice This uses all gas when receiving Ether, useful when testing denial
@@ -1,20 +1,20 @@
1
1
  // SPDX-License-Identifier: LGPL-3.0-only
2
- pragma solidity 0.8.17;
2
+ pragma solidity 0.8.19;
3
3
 
4
4
  // Created By: Art Blocks Inc.
5
5
 
6
- import "../interfaces/0.8.x/IRandomizerV2.sol";
7
- import "../interfaces/0.8.x/IAdminACLV0.sol";
8
- import "../interfaces/0.8.x/IEngineRegistryV0.sol";
9
- import "../interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol";
10
- import "../interfaces/0.8.x/IDependencyRegistryCompatibleV0.sol";
11
- import "../interfaces/0.8.x/IManifold.sol";
6
+ import "../interfaces/v0.8.x/IRandomizerV2.sol";
7
+ import "../interfaces/v0.8.x/IAdminACLV0.sol";
8
+ import "../interfaces/v0.8.x/IEngineRegistryV0.sol";
9
+ import "../interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol";
10
+ import "../interfaces/v0.8.x/IDependencyRegistryCompatibleV0.sol";
11
+ import "../interfaces/v0.8.x/IManifold.sol";
12
12
 
13
13
  import "@openzeppelin-4.7/contracts/utils/Strings.sol";
14
14
  import "@openzeppelin-4.7/contracts/access/Ownable.sol";
15
- import "../libs/0.8.x/ERC721_PackedHashSeed.sol";
16
- import "../libs/0.8.x/BytecodeStorage.sol";
17
- import "../libs/0.8.x/Bytes32Strings.sol";
15
+ import "../libs/v0.8.x/ERC721_PackedHashSeed.sol";
16
+ import "../libs/v0.8.x/BytecodeStorageV1.sol";
17
+ import "../libs/v0.8.x/Bytes32Strings.sol";
18
18
 
19
19
  /**
20
20
  * @title MISCONFIGURED Art Blocks Engine ERC-721 core contract, V3.
@@ -30,8 +30,7 @@ contract GenArt721CoreV3_Engine_IncorrectCoreType is
30
30
  IManifold
31
31
  // INTERFACE CONFORMANCE INTENTIONALLY OMITTED TO ENABLE MOCKING BUGGED CONTRACT
32
32
  {
33
- using BytecodeStorage for string;
34
- using BytecodeStorage for address;
33
+ using BytecodeStorageWriter for string;
35
34
  using Bytes32Strings for bytes32;
36
35
  using Strings for uint256;
37
36
  using Strings for address;
@@ -1115,16 +1114,6 @@ contract GenArt721CoreV3_Engine_IncorrectCoreType is
1115
1114
  {
1116
1115
  Project storage project = projects[_projectId];
1117
1116
  require(_scriptId < project.scriptCount, "scriptId out of range");
1118
- // purge old contract bytecode contract from the blockchain state
1119
- // note: Although this does reduce usage of Ethereum state, it does not
1120
- // reduce the gas costs of removal transactions. We believe this is the
1121
- // best behavior at the time of writing, and do not expect this to
1122
- // result in any breaking changes in the future. All current proposals
1123
- // to change the self-destruct opcode are backwards compatible, but may
1124
- // result in not removing the bytecode from the blockchain state. This
1125
- // implementation is compatible with that architecture, as it does not
1126
- // rely on the bytecode being removed from the blockchain state.
1127
- project.scriptBytecodeAddresses[_scriptId].purgeBytecode();
1128
1117
  // store script in contract bytecode, replacing reference address from
1129
1118
  // the contract that no longer exists with the newly created one
1130
1119
  project.scriptBytecodeAddresses[_scriptId] = _script.writeToBytecode();
@@ -1144,18 +1133,6 @@ contract GenArt721CoreV3_Engine_IncorrectCoreType is
1144
1133
  {
1145
1134
  Project storage project = projects[_projectId];
1146
1135
  require(project.scriptCount > 0, "there are no scripts to remove");
1147
- // purge old contract bytecode contract from the blockchain state
1148
- // note: Although this does reduce usage of Ethereum state, it does not
1149
- // reduce the gas costs of removal transactions. We believe this is the
1150
- // best behavior at the time of writing, and do not expect this to
1151
- // result in any breaking changes in the future. All current proposals
1152
- // to change the self-destruct opcode are backwards compatible, but may
1153
- // result in not removing the bytecode from the blockchain state. This
1154
- // implementation is compatible with that architecture, as it does not
1155
- // rely on the bytecode being removed from the blockchain state.
1156
- project
1157
- .scriptBytecodeAddresses[project.scriptCount - 1]
1158
- .purgeBytecode();
1159
1136
  // delete reference to contract address that no longer exists
1160
1137
  delete project.scriptBytecodeAddresses[project.scriptCount - 1];
1161
1138
  unchecked {
@@ -1580,7 +1557,7 @@ contract GenArt721CoreV3_Engine_IncorrectCoreType is
1580
1557
  if (_index >= project.scriptCount) {
1581
1558
  return "";
1582
1559
  }
1583
- return project.scriptBytecodeAddresses[_index].readFromBytecode();
1560
+ return _readFromBytecode(project.scriptBytecodeAddresses[_index]);
1584
1561
  }
1585
1562
 
1586
1563
  /**
@@ -1976,4 +1953,14 @@ contract GenArt721CoreV3_Engine_IncorrectCoreType is
1976
1953
  (block.timestamp - projectCompletedTimestamp <
1977
1954
  FOUR_WEEKS_IN_SECONDS);
1978
1955
  }
1956
+
1957
+ /**
1958
+ * Helper for calling `BytecodeStorageReader` external library reader method,
1959
+ * added for bytecode size reduction purposes.
1960
+ */
1961
+ function _readFromBytecode(
1962
+ address _address
1963
+ ) internal view returns (string memory) {
1964
+ return BytecodeStorageReader.readFromBytecode(_address);
1965
+ }
1979
1966
  }
@@ -1,8 +1,8 @@
1
1
  // SPDX-License-Identifier: MIT
2
2
 
3
- pragma solidity 0.8.17;
3
+ pragma solidity 0.8.19;
4
4
 
5
- import "../interfaces/0.8.x/IAdminACLV0.sol";
5
+ import "../interfaces/v0.8.x/IAdminACLV0.sol";
6
6
  import "@openzeppelin-4.7/contracts/access/Ownable.sol";
7
7
  import "@openzeppelin-4.7/contracts/utils/introspection/ERC165.sol";
8
8