@artblocks/contracts 1.0.2 → 1.0.3

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 (194) hide show
  1. package/README.md +30 -2
  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 +22 -4
  5. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +42 -5
  6. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  7. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  8. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  9. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  10. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  11. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  12. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  13. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  14. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  23. package/artifacts/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol}/GenArt721CoreV2_ENGINE_FLEX.json +3 -3
  24. package/artifacts/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol}/GenArt721CoreV2_PBAB.json +3 -3
  25. package/artifacts/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol}/GenArt721CoreV2_PRTNR.json +3 -3
  26. package/artifacts/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol}/GenArt721MinterBurner_PBAB.json +3 -3
  27. package/artifacts/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol}/GenArt721MinterDAExp_PBAB.json +3 -3
  28. package/artifacts/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol}/GenArt721Minter_PBAB.json +3 -3
  29. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +1960 -0
  30. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +2247 -0
  31. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +2247 -0
  32. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +401 -0
  33. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +2281 -0
  34. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol/IAdminACLV0_PROHIBITION.json +359 -0
  35. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +1094 -0
  36. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +242 -0
  37. package/artifacts/contracts/engine-registry/EngineRegistryV0.sol/EngineRegistryV0.json +2 -2
  38. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +41 -4
  39. package/artifacts/contracts/interfaces/0.8.x/IBytecodeStorageReader.sol/IBytecodeStorageReader.json +111 -0
  40. package/artifacts/contracts/interfaces/0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +172 -0
  41. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterSEAV0.sol/IFilteredMinterSEAV0.json +55 -53
  42. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractExposesHashSeed.sol/IGenArt721CoreContractExposesHashSeed.json +30 -0
  43. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +13 -0
  44. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +13 -0
  45. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +7 -13
  46. package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +7 -13
  47. package/artifacts/contracts/interfaces/0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +429 -0
  48. package/artifacts/contracts/interfaces/0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +30 -0
  49. package/artifacts/contracts/interfaces/0.8.x/IRandomizer_V3CoreBase.sol/IRandomizer_V3CoreBase.json +24 -0
  50. package/artifacts/contracts/interfaces/0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +207 -0
  51. package/artifacts/contracts/libs/0.8.x/{BytecodeStorage.sol → BytecodeStorageV0.sol}/BytecodeStorage.json +3 -3
  52. package/artifacts/contracts/libs/0.8.x/BytecodeStorageV1.sol/BytecodeStorageReader.json +163 -0
  53. package/artifacts/contracts/libs/0.8.x/BytecodeStorageV1.sol/BytecodeStorageWriter.json +10 -0
  54. package/artifacts/contracts/libs/0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
  55. package/artifacts/contracts/libs/0.8.x/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +2 -2
  56. package/artifacts/contracts/libs/0.8.x/SSTORE2.sol/SSTORE2.json +10 -0
  57. package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
  58. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +2 -2
  59. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +2 -2
  60. package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +2 -2
  61. package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +2 -2
  62. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  63. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +692 -0
  64. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
  65. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
  66. package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +2 -2
  67. package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +2 -2
  68. package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
  69. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +10 -160
  70. package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
  71. package/artifacts/contracts/minter-suite/Minters/MinterSEAV0.sol/MinterSEAV0.json +59 -80
  72. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
  73. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
  74. package/artifacts/contracts/mock/{BytecodeTextCR_DMock.sol/BytecodeTextCR_DMock.json → BytecodeV0TextCR_DMock.sol/BytecodeV0TextCR_DMock.json} +4 -4
  75. package/artifacts/contracts/mock/BytecodeV1LibCallsMock.sol/BytecodeV1LibCallsMock.json +135 -0
  76. package/artifacts/contracts/mock/BytecodeV1TextCR_DMock.sol/BytecodeV1TextCR_DMock.json +301 -0
  77. package/artifacts/contracts/mock/DeadReceiverBidderMock.sol/DeadReceiverBidderMock.json +2 -2
  78. package/artifacts/contracts/mock/DeadReceiverMock.sol/DeadReceiverMock.json +2 -2
  79. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +114 -0
  80. package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +2 -2
  81. package/artifacts/contracts/mock/GasLimitReceiverBidderMock.sol/GasLimitReceiverBidderMock.json +2 -2
  82. package/artifacts/contracts/mock/GasLimitReceiverMock.sol/GasLimitReceiverMock.json +2 -2
  83. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +22 -4
  84. package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +2 -2
  85. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +440 -0
  86. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +39 -0
  87. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  88. package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
  89. package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
  90. package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
  91. package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
  92. package/artifacts/contracts/mock/SSTORE2Mock.sol/SSTORE2Mock.json +118 -0
  93. package/artifacts/contracts/randomizer/{BasicRandomizer.sol → deprecated/BasicRandomizer.sol}/BasicRandomizer.json +3 -3
  94. package/artifacts/contracts/randomizer/{BasicRandomizerBase_v0_0_0.sol → deprecated/BasicRandomizerBase_v0_0_0.sol}/RandomizerBase.json +1 -1
  95. package/artifacts/contracts/randomizer/{PolyptychRandomizerV0.sol → deprecated/PolyptychRandomizerV0.sol}/BasicPolyptychRandomizerV0.json +3 -3
  96. package/artifacts/contracts/randomizer/{RandomizerV2.sol → deprecated/RandomizerV2.sol}/BasicRandomizerV2.json +3 -3
  97. package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +30 -0
  98. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +231 -0
  99. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +2 -2
  100. package/contracts/AdminACLV0.sol +1 -1
  101. package/contracts/AdminACLV1.sol +1 -1
  102. package/contracts/DependencyRegistryV0.sol +15 -28
  103. package/contracts/GenArt721CoreV3.sol +37 -34
  104. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol +1 -1
  105. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol +1 -1
  106. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +1 -1
  107. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +1 -1
  108. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol +1 -1
  109. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol +1 -1
  110. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol +1 -1
  111. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol +1 -1
  112. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol +1 -1
  113. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol +1 -1
  114. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol +1 -1
  115. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol +1 -1
  116. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol +1 -1
  117. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol +1 -1
  118. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol +1 -1
  119. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +1 -1
  120. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +1 -1
  121. package/contracts/engine/{GenArt721CoreV2_ENGINE_FLEX.sol → V2/GenArt721CoreV2_ENGINE_FLEX.sol} +2 -2
  122. package/contracts/engine/{GenArt721CoreV2_PBAB.sol → V2/GenArt721CoreV2_PBAB.sol} +2 -2
  123. package/contracts/engine/{GenArt721CoreV2_PRTNR.sol → V2/GenArt721CoreV2_PRTNR.sol} +3 -3
  124. package/contracts/engine/{GenArt721MinterBurner_PBAB.sol → V2/GenArt721MinterBurner_PBAB.sol} +2 -2
  125. package/contracts/engine/{GenArt721MinterDAExp_PBAB.sol → V2/GenArt721MinterDAExp_PBAB.sol} +2 -2
  126. package/contracts/engine/{GenArt721Minter_PBAB.sol → V2/GenArt721Minter_PBAB.sol} +2 -2
  127. package/contracts/{GenArt721CoreV3_Engine.sol → engine/V3/GenArt721CoreV3_Engine.sol} +29 -20
  128. package/contracts/{GenArt721CoreV3_Engine_Flex.sol → engine/V3/GenArt721CoreV3_Engine_Flex.sol} +30 -21
  129. package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +2293 -0
  130. package/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol +281 -0
  131. package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +2354 -0
  132. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IAdminACLV0_PROHIBITION.sol +123 -0
  133. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +29 -0
  134. package/contracts/engine-registry/CoreRegistryV1.sol +254 -0
  135. package/contracts/engine-registry/EngineRegistryV0.sol +1 -1
  136. package/contracts/explorations/GenArt721CoreV3_Explorations.sol +34 -31
  137. package/contracts/interfaces/0.8.x/IBytecodeStorageReader.sol +62 -0
  138. package/contracts/interfaces/0.8.x/ICoreRegistryV1.sol +27 -0
  139. package/contracts/interfaces/0.8.x/IDelegationRegistry.sol +1 -1
  140. package/contracts/interfaces/0.8.x/IDependencyRegistryCompatibleV0.sol +1 -1
  141. package/contracts/interfaces/0.8.x/IDependencyRegistryV0.sol +1 -1
  142. package/contracts/interfaces/0.8.x/IEngineRegistryV0.sol +1 -1
  143. package/contracts/interfaces/0.8.x/IFilteredMinterSEAV0.sol +34 -15
  144. package/contracts/interfaces/0.8.x/IGenArt721CoreContractExposesHashSeed.sol +11 -0
  145. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol +3 -0
  146. package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol +0 -5
  147. package/contracts/interfaces/0.8.x/IMinterFilterV1.sol +158 -0
  148. package/contracts/interfaces/0.8.x/IPseudorandomAtomic.sol +16 -0
  149. package/contracts/interfaces/0.8.x/IRandomizerPolyptychV0.sol +1 -1
  150. package/contracts/interfaces/0.8.x/IRandomizerV2.sol +2 -5
  151. package/contracts/interfaces/0.8.x/IRandomizer_V3CoreBase.sol +10 -0
  152. package/contracts/interfaces/0.8.x/ISharedRandomizerV0.sol +105 -0
  153. package/contracts/libs/0.8.x/BytecodeStorageV1.sol +399 -0
  154. package/contracts/libs/0.8.x/SSTORE2.sol +109 -0
  155. package/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol +1 -1
  156. package/contracts/libs/integration-refs/weth9/weth9.sol +2 -0
  157. package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +1 -1
  158. package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +756 -0
  159. package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +1 -1
  160. package/contracts/minter-suite/Minters/MinterDAExpV4.sol +1 -1
  161. package/contracts/minter-suite/Minters/MinterDALinV4.sol +1 -1
  162. package/contracts/minter-suite/Minters/MinterHolderV4.sol +1 -1
  163. package/contracts/minter-suite/Minters/MinterMerkleV5.sol +1 -1
  164. package/contracts/minter-suite/Minters/MinterPolyptychV0.sol +14 -13
  165. package/contracts/minter-suite/Minters/MinterSEAV0.sol +232 -183
  166. package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +1 -1
  167. package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +1 -1
  168. package/contracts/mock/{BytecodeTextCR_DMock.sol → BytecodeV0TextCR_DMock.sol} +5 -5
  169. package/contracts/mock/BytecodeV1LibCallsMock.sol +114 -0
  170. package/contracts/mock/BytecodeV1TextCR_DMock.sol +233 -0
  171. package/contracts/mock/DeadReceiverBidderMock.sol +1 -1
  172. package/contracts/mock/DeadReceiverMock.sol +1 -1
  173. package/contracts/mock/DummySharedMinter.sol +75 -0
  174. package/contracts/mock/GasLimitReceiverBidderMock.sol +1 -1
  175. package/contracts/mock/GasLimitReceiverMock.sol +1 -1
  176. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +14 -27
  177. package/contracts/mock/MockAdminACLV0.sol +1 -1
  178. package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +207 -0
  179. package/contracts/mock/OriginRegisterMock.sol +27 -0
  180. package/contracts/mock/RandomizerV2_NoAssignMock.sol +2 -2
  181. package/contracts/mock/SSTORE2Mock.sol +93 -0
  182. package/contracts/randomizer/{BasicRandomizer.sol → deprecated/BasicRandomizer.sol} +1 -1
  183. package/contracts/randomizer/{BasicRandomizerBase_v0_0_0.sol → deprecated/BasicRandomizerBase_v0_0_0.sol} +1 -1
  184. package/contracts/randomizer/{PolyptychRandomizerV0.sol → deprecated/PolyptychRandomizerV0.sol} +3 -3
  185. package/contracts/randomizer/{RandomizerV2.sol → deprecated/RandomizerV2.sol} +3 -3
  186. package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +30 -0
  187. package/contracts/randomizer/shared/SharedRandomizerV0.sol +245 -0
  188. package/package.json +23 -30
  189. package/.env.example +0 -17
  190. package/artifacts/contracts/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +0 -1942
  191. package/artifacts/contracts/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +0 -2229
  192. package/artifacts/contracts/engine-registry/future/EngineRegistryV1.sol/EngineRegistryV1.json +0 -109
  193. package/contracts/engine-registry/future/EngineRegistryV1.sol +0 -86
  194. /package/contracts/libs/0.8.x/{BytecodeStorage.sol → BytecodeStorageV0.sol} +0 -0
@@ -12,6 +12,37 @@ pragma solidity ^0.8.0;
12
12
  * @author Art Blocks Inc.
13
13
  */
14
14
  interface IFilteredMinterSEAV0 is IFilteredMinterV2 {
15
+ // project-specific parameters
16
+ struct ProjectConfig {
17
+ bool maxHasBeenInvoked;
18
+ // max uint24 ~= 1.6e7, > max possible project invocations of 1e6
19
+ uint24 maxInvocations;
20
+ // time after which new auctions may be started
21
+ // note: new auctions must always be started with a new bid, at which
22
+ // point the auction will actually start
23
+ // @dev this is a project-level constraint, and individual auctions
24
+ // will each have their own start time defined in `activeAuction`
25
+ // max uint64 ~= 1.8e19 sec ~= 570 billion years
26
+ uint64 timestampStart;
27
+ // duration of each new auction, before any extensions due to late bids
28
+ // @dev for configured auctions, this will be gt 0, so it may be used
29
+ // to determine if an auction is configured
30
+ uint32 auctionDurationSeconds;
31
+ // next token number to be auctioned, owned by minter
32
+ // @dev store token number to enable storage packing, as token ID can
33
+ // be derived from this value in combination with project ID
34
+ // max uint24 ~= 1.6e7, > max possible project invocations of 1e6
35
+ uint24 nextTokenNumber;
36
+ // bool to indicate if next token number has been populated, or is
37
+ // still default value of 0
38
+ // @dev required to handle edge case where next token number is 0
39
+ bool nextTokenNumberIsPopulated;
40
+ // reserve price, i.e. minimum starting bid price, in wei
41
+ uint256 basePrice;
42
+ // active auction for project
43
+ Auction activeAuction;
44
+ }
45
+
15
46
  /// Struct that defines a single token English auction
16
47
  struct Auction {
17
48
  // token number of NFT being auctioned
@@ -19,15 +50,14 @@ interface IFilteredMinterSEAV0 is IFilteredMinterV2 {
19
50
  // The current highest bid amount (in wei)
20
51
  uint256 currentBid;
21
52
  // The address of the current highest bidder
53
+ // @dev if this is not the zero address, then the auction is
54
+ // considered initialized
22
55
  address payable currentBidder;
23
56
  // The time that the auction is scheduled to end
24
57
  // max uint64 ~= 1.8e19 sec ~= 570 billion years
25
58
  uint64 endTime;
26
59
  // Whether or not the auction has been settled
27
60
  bool settled;
28
- // Whether or not the auction has been initialized (used to determine
29
- // if auction is the default struct)
30
- bool initialized;
31
61
  }
32
62
 
33
63
  /// Admin-controlled range of allowed auction durations updated
@@ -124,18 +154,7 @@ interface IFilteredMinterSEAV0 is IFilteredMinterV2 {
124
154
 
125
155
  function projectConfigurationDetails(
126
156
  uint256 _projectId
127
- )
128
- external
129
- view
130
- returns (
131
- uint24 maxInvocations,
132
- uint64 timestampStart,
133
- uint32 auctionDurationSeconds,
134
- uint256 basePrice,
135
- bool nextTokenNumberIsPopulated,
136
- uint24 nextTokenNumber,
137
- Auction memory auction
138
- );
157
+ ) external view returns (ProjectConfig memory projectConfiguration_);
139
158
 
140
159
  function projectActiveAuctionDetails(
141
160
  uint256 _projectId
@@ -0,0 +1,11 @@
1
+ // SPDX-License-Identifier: LGPL-3.0-only
2
+ // Created By: Art Blocks Inc.
3
+
4
+ pragma solidity ^0.8.0;
5
+
6
+ interface IGenArt721CoreContractExposesHashSeed {
7
+ // function to read the hash-seed for a given tokenId
8
+ function tokenIdToHashSeed(
9
+ uint256 _tokenId
10
+ ) external view returns (bytes12);
11
+ }
@@ -77,6 +77,9 @@ interface IGenArt721CoreContractV3_Base is IManifold {
77
77
  bytes4 _selector
78
78
  ) external returns (bool);
79
79
 
80
+ /// getter function of public variable
81
+ function startingProjectId() external view returns (uint256);
82
+
80
83
  // getter function of public variable
81
84
  function nextProjectId() external view returns (uint256);
82
85
 
@@ -69,9 +69,4 @@ interface IGenArt721CoreContractV3_Engine is IGenArt721CoreContractV3_Base {
69
69
  external
70
70
  view
71
71
  returns (uint256);
72
-
73
- // function to read the hash-seed for a given tokenId
74
- function tokenIdToHashSeed(
75
- uint256 _tokenId
76
- ) external view returns (bytes12);
77
72
  }
@@ -0,0 +1,158 @@
1
+ // SPDX-License-Identifier: LGPL-3.0-only
2
+ // Created By: Art Blocks Inc.
3
+
4
+ pragma solidity ^0.8.0;
5
+
6
+ import "./ICoreRegistryV1.sol";
7
+ import "./IAdminACLV0.sol";
8
+
9
+ /**
10
+ * @title IMinterFilterV1
11
+ * @author Art Blocks Inc.
12
+ * @notice Interface for a new minter filter contract.
13
+ * This interface does not extend the previous version of the minter filter
14
+ * interface, as the previous version is not compatible with the new
15
+ * minter filter architecture.
16
+ * @dev This interface is for a minter filter that supports multiple core
17
+ * contracts, and allows for a minter to be set on a per-project basis.
18
+ */
19
+ interface IMinterFilterV1 {
20
+ /**
21
+ * @notice Emitted when contract is deployed to notify indexing services
22
+ * of the new contract deployment.
23
+ */
24
+ event Deployed();
25
+
26
+ /**
27
+ * @notice Globally approved minter `minter`.
28
+ */
29
+ event MinterApprovedGlobally(address indexed minter, string minterType);
30
+
31
+ /**
32
+ * @notice Globally revoked minter `minter`.
33
+ * @dev contract owner may still approve this minter on a per-contract
34
+ * basis.
35
+ */
36
+ event MinterRevokedGlobally(address indexed minter);
37
+
38
+ /**
39
+ * @notice Approved minter `minter` on core contract
40
+ * `coreContract`.
41
+ */
42
+ event MinterApprovedForContract(
43
+ address indexed coreContract,
44
+ address indexed minter,
45
+ string minterType
46
+ );
47
+
48
+ /**
49
+ * @notice Revoked minter `minter` on core contract `coreContract`.
50
+ * @dev minter filter owner may still globally approve this minter for all
51
+ * contracts.
52
+ */
53
+ event MinterRevokedForContract(
54
+ address indexed coreContract,
55
+ address indexed minter
56
+ );
57
+
58
+ /**
59
+ * @notice Minter at address `minter` set as minter for project
60
+ * `projectId` on core contract `coreContract`.
61
+ */
62
+ event ProjectMinterRegistered(
63
+ uint256 indexed projectId,
64
+ address indexed coreContract,
65
+ address indexed minter,
66
+ string minterType
67
+ );
68
+
69
+ /**
70
+ * @notice Minter removed for project `projectId` on core contract
71
+ * `coreContract`.
72
+ */
73
+ event ProjectMinterRemoved(
74
+ uint256 indexed projectId,
75
+ address indexed coreContract
76
+ );
77
+
78
+ /**
79
+ * @notice Admin ACL contract updated to `adminACLContract`.
80
+ */
81
+ event AdminACLUpdated(address indexed adminACLContract);
82
+
83
+ /**
84
+ * @notice Core Registry contract updated to `coreRegistry`.
85
+ */
86
+ event CoreRegistryUpdated(address indexed coreRegistry);
87
+
88
+ function setMinterForProject(
89
+ uint256 _projectId,
90
+ address _coreContract,
91
+ address _minter
92
+ ) external;
93
+
94
+ function removeMinterForProject(
95
+ uint256 _projectId,
96
+ address _coreContract
97
+ ) external;
98
+
99
+ // @dev function name is optimized for gas
100
+ function mint_joo(
101
+ address _to,
102
+ uint256 _projectId,
103
+ address _coreContract,
104
+ address _sender
105
+ ) external returns (uint256);
106
+
107
+ function updateCoreRegistry(address _coreRegistry) external;
108
+
109
+ function minterFilterType() external pure returns (string memory);
110
+
111
+ function getMinterForProject(
112
+ uint256 _projectId,
113
+ address _coreContract
114
+ ) external view returns (address);
115
+
116
+ function projectHasMinter(
117
+ uint256 _projectId,
118
+ address _coreContract
119
+ ) external view returns (bool);
120
+
121
+ /**
122
+ * @notice View that returns if a core contract is registered with the
123
+ * core registry, allowing this minter filter to service it.
124
+ * @param _coreContract core contract address to be checked
125
+ */
126
+ function isRegisteredCoreContract(
127
+ address _coreContract
128
+ ) external view returns (bool);
129
+
130
+ /// Address of current core registry contract
131
+ function coreRegistry() external view returns (ICoreRegistryV1);
132
+
133
+ /// The current admin ACL contract
134
+ function adminACLContract() external view returns (IAdminACLV0);
135
+
136
+ /// The quantity of projects on a core contract that have assigned minters
137
+ function getNumProjectsOnContractWithMinters(
138
+ address _coreContract
139
+ ) external view returns (uint256);
140
+
141
+ function getProjectAndMinterInfoOnContractAt(
142
+ address _coreContract,
143
+ uint256 _index
144
+ )
145
+ external
146
+ view
147
+ returns (
148
+ uint256 projectId,
149
+ address minterAddress,
150
+ string memory minterType
151
+ );
152
+
153
+ /**
154
+ * Owner of contract.
155
+ * @dev This returns the address of the Admin ACL contract.
156
+ */
157
+ function owner() external view returns (address);
158
+ }
@@ -0,0 +1,16 @@
1
+ // SPDX-License-Identifier: LGPL-3.0-only
2
+ // Creatd By: Art Blocks Inc.
3
+
4
+ pragma solidity ^0.8.0;
5
+
6
+ interface IPseudorandomAtomic {
7
+ /**
8
+ * @notice This function atomically returns a pseudorandom bytes32 value.
9
+ * @param _entropy entropy to be included during the pseudorandom
10
+ * generation process. An example of entropy might be the hash of a core
11
+ * contract's address, and the ID of the token being generated.
12
+ */
13
+ function getPseudorandomAtomic(
14
+ bytes32 _entropy
15
+ ) external view returns (bytes32);
16
+ }
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: LGPL-3.0-only
2
2
  // Creatd By: Art Blocks Inc.
3
3
 
4
- pragma solidity 0.8.17;
4
+ pragma solidity 0.8.19;
5
5
 
6
6
  import "./IRandomizerV2.sol";
7
7
 
@@ -4,15 +4,12 @@
4
4
  pragma solidity ^0.8.0;
5
5
 
6
6
  import "./IGenArt721CoreContractV3_Base.sol";
7
+ import "./IRandomizer_V3CoreBase.sol";
7
8
 
8
- interface IRandomizerV2 {
9
+ interface IRandomizerV2 is IRandomizer_V3CoreBase {
9
10
  // The core contract that may interact with this randomizer contract.
10
11
  function genArt721Core()
11
12
  external
12
13
  view
13
14
  returns (IGenArt721CoreContractV3_Base);
14
-
15
- // When a core contract calls this, it can be assured that the randomizer
16
- // will set a bytes32 hash for tokenId `_tokenId` on the core contract.
17
- function assignTokenHash(uint256 _tokenId) external;
18
15
  }
@@ -0,0 +1,10 @@
1
+ // SPDX-License-Identifier: LGPL-3.0-only
2
+ // Creatd By: Art Blocks Inc.
3
+
4
+ pragma solidity ^0.8.0;
5
+
6
+ interface IRandomizer_V3CoreBase {
7
+ // When a core contract calls this, it can be assured that the randomizer
8
+ // will set a bytes32 hash for tokenId `_tokenId` on the core contract.
9
+ function assignTokenHash(uint256 _tokenId) external;
10
+ }
@@ -0,0 +1,105 @@
1
+ // SPDX-License-Identifier: LGPL-3.0-only
2
+ // Creatd By: Art Blocks Inc.
3
+
4
+ pragma solidity ^0.8.0;
5
+
6
+ import "./IRandomizer_V3CoreBase.sol";
7
+
8
+ interface ISharedRandomizerV0 is IRandomizer_V3CoreBase {
9
+ /**
10
+ * @notice The pseudorandom atomic contract that is used to generate
11
+ * pseudorandom values for this randomizer was updated.
12
+ */
13
+ event PseudorandomAtomicContractUpdated(
14
+ address indexed pseudorandomAtomicContract
15
+ );
16
+
17
+ /**
18
+ * @notice Minter contract at `_hashSeedSetterContract` allowed to assign
19
+ * token hash seeds on core contract `_coreContract`.
20
+ */
21
+ event HashSeedSetterForCoreUpdated(
22
+ address indexed coreContract,
23
+ address indexed hashSeedSetterContract
24
+ );
25
+
26
+ /**
27
+ * @notice Project with ID `_projectId` is enabled/disabled for polyptych
28
+ * minting (i.e. allows token hash seeds to be set by hash seed setter).
29
+ */
30
+ event ProjectIsPolyptychUpdated(
31
+ address coreContract,
32
+ uint256 projectId,
33
+ bool isPolyptych
34
+ );
35
+
36
+ /**
37
+ * @notice Allows the owner of a core contract to set the contract that is
38
+ * allowed to assign hash seeds to tokens. Typically, this is expected to
39
+ * be a minter contract, such as `MinterPolyptychV1`.
40
+ * @param _coreContract - the core contract that is being configured
41
+ * @param _hashSeedSetterContract - the contract that is allowed to assign
42
+ * hash seeds to tokens
43
+ */
44
+ function setHashSeedSetterContract(
45
+ address _coreContract,
46
+ address _hashSeedSetterContract
47
+ ) external;
48
+
49
+ /**
50
+ * @notice Allows the artist of a project to configure as as a polyptych
51
+ * project.
52
+ * @param _coreContract - The address of the core contract
53
+ * @param _projectId - The ID of the project that has a polyptych panel
54
+ * (second, third, etc.)
55
+ */
56
+ function toggleProjectIsPolyptych(
57
+ address _coreContract,
58
+ uint256 _projectId
59
+ ) external;
60
+
61
+ /**
62
+ * @notice Store the token hash seed for an existing token to be re-used in
63
+ * a polyptych panel.
64
+ * @param _coreContract - The address of the core contract of `_tokenId`
65
+ * @param _tokenId - The ID of the token to set the hash seed for
66
+ * @param _hashSeed - The hash seed to set for `_tokenId`
67
+ * @dev Only callable by the hash seed setter contract of `_coreContract`.
68
+ */
69
+ function setPolyptychHashSeed(
70
+ address _coreContract,
71
+ uint256 _tokenId,
72
+ bytes12 _hashSeed
73
+ ) external;
74
+
75
+ /**
76
+ * @notice Boolean representing whether or not project with ID `_projectId`
77
+ * on core contract `_coreContract` is currently enabled for polyptych
78
+ * minting.
79
+ */
80
+ function projectIsPolyptych(
81
+ address _coreContract,
82
+ uint256 _projectId
83
+ ) external view returns (bool _isPolyptych);
84
+
85
+ /**
86
+ * Returns the hash seed setter contract for a given core contract.
87
+ * Returns address(0) if no hash seed setter contract is set for the core.
88
+ * @param _coreContract - The address of the core contract
89
+ */
90
+ function hashSeedSetterContracts(
91
+ address _coreContract
92
+ ) external view returns (address _hashSeedSetterContract);
93
+
94
+ /**
95
+ * Returns the current hash seed for a given token ID.
96
+ * Returns bytes12(0) if no hash seed is set for the token.
97
+ * @param _coreContract - The address of the core contract of `_tokenId`
98
+ * @param _tokenId - The ID of the token to get the hash seed for
99
+ * @return _hashSeed - The stored hash seed for `_tokenId`
100
+ */
101
+ function polyptychHashSeed(
102
+ address _coreContract,
103
+ uint256 _tokenId
104
+ ) external view returns (bytes12 _hashSeed);
105
+ }