@artblocks/contracts 1.3.2 → 1.4.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.
Files changed (229) hide show
  1. package/README.md +11 -10
  2. package/artifacts/contracts/AdminACLV0RoyaltyRegistry.sol/AdminACLV0RoyaltyRegistry.json +193 -0
  3. package/artifacts/contracts/AdminACLV0RoyaltyRegistry.sol/IRoyaltyRegistry.json +35 -0
  4. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  5. package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2.sol/BytecodeStorageReaderContractV2.json +2 -2
  6. package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2_Web3Call.sol/BytecodeStorageReaderContractV2_Web3Call.json +2 -2
  7. package/artifacts/contracts/BytecodeStorageV2Writer.sol/BytecodeStorageV2Writer.json +2 -2
  8. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +210 -2
  9. package/artifacts/contracts/GenArt721CoreV3_Curated.sol/GenArt721CoreV3_Curated.json +235 -20
  10. package/artifacts/contracts/GenArt721CoreV3_Curated_Flex.sol/GenArt721CoreV3_Curated_Flex.json +3197 -0
  11. package/artifacts/contracts/GenArt721CoreV3_Explorations_Flex.sol/GenArt721CoreV3_Explorations_Flex.json +3192 -0
  12. package/artifacts/contracts/OwnedCreate2FactoryV0.sol/OwnedCreate2FactoryV0.json +2 -2
  13. package/artifacts/contracts/archive/GenArt721CoreV3.sol/GenArt721CoreV3.json +27 -2
  14. package/artifacts/contracts/archive/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +27 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  23. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV4.sol/MinterDALinV4.json +2 -2
  24. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  25. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  26. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  27. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV4.sol/MinterHolderV4.json +2 -2
  28. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  29. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  30. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  31. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  32. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
  33. package/artifacts/contracts/archive/minter-suite/Minters/MinterPolyptych/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +25 -0
  34. package/artifacts/contracts/archive/minter-suite/Minters/MinterPolyptych/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
  35. package/artifacts/contracts/archive/minter-suite/Minters/MinterSEA/MinterSEAV0.sol/MinterSEAV0.json +2 -2
  36. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  37. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  38. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
  39. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  40. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  41. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
  42. package/artifacts/contracts/engine/V3/EngineFactoryV0.sol/EngineFactoryV0.json +28 -2
  43. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +239 -20
  44. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +267 -48
  45. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +27 -2
  46. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +2 -2
  47. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +27 -2
  48. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +25 -0
  49. package/artifacts/contracts/engine/V3/transfer-hooks/AbstractTransferHook.sol/AbstractTransferHook.json +79 -0
  50. package/artifacts/contracts/engine/V3/transfer-hooks/OwnerHistoryTransferHook.sol/OwnerHistoryTransferHook.json +315 -0
  51. package/artifacts/contracts/generator/GenArt721GeneratorV0.sol/GenArt721GeneratorV0.json +2 -2
  52. package/artifacts/contracts/interfaces/v0.8.x/IClaimMinter.sol/IClaimMinter.json +189 -0
  53. package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +149 -0
  54. package/artifacts/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol/IEngineFactoryV0.json +26 -0
  55. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +25 -0
  56. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +25 -0
  57. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +123 -0
  58. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +123 -0
  59. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.json +25 -0
  60. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol/IGenArt721CoreContractV3_Engine_PreV3p2.json +25 -0
  61. package/artifacts/contracts/interfaces/v0.8.x/IOwnerHistoryTransferHook.sol/IOwnerHistoryTransferHook.json +299 -0
  62. package/artifacts/contracts/interfaces/v0.8.x/ISRHooks.sol/ISRHooks.json +432 -0
  63. package/artifacts/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol/ISeaDropShimForContract.json +0 -13
  64. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterTieredAllowV0.sol/ISharedMinterTieredAllowV0.json +94 -0
  65. package/artifacts/contracts/interfaces/v0.8.x/ITransferHook.sol/ITransferHook.json +63 -0
  66. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
  67. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageReader.json +2 -2
  68. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageWriter.json +2 -2
  69. package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +2 -2
  70. package/artifacts/contracts/libs/v0.8.x/ENSLib.sol/ENSLib.json +10 -0
  71. package/artifacts/contracts/libs/v0.8.x/ENSLib.sol/IUniversalResolver.json +45 -0
  72. package/artifacts/contracts/libs/v0.8.x/EnumerableSetUint16.sol/EnumerableSetUint16.json +10 -0
  73. package/artifacts/contracts/libs/v0.8.x/FeistelWalkLib.sol/FeistelWalkLib.json +10 -0
  74. package/artifacts/contracts/libs/v0.8.x/ImmutableUint16Array.sol/ImmutableUint16Array.json +10 -0
  75. package/artifacts/contracts/libs/v0.8.x/V3EngineLib.sol/V3EngineLib.json +163 -0
  76. package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +2 -2
  77. package/artifacts/contracts/libs/v0.8.x/V3TransferHookLib.sol/V3TransferHookLib.json +79 -0
  78. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +2 -2
  79. package/artifacts/contracts/libs/v0.8.x/minter-libs/OnChainAllowlistLib.sol/OnChainAllowlistLib.json +10 -0
  80. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
  81. package/artifacts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol/RAMLib.json +2 -2
  82. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +2 -2
  83. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +2 -2
  84. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +2 -2
  85. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  86. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +2 -2
  87. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +2 -2
  88. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +2 -2
  89. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +2 -2
  90. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +2 -2
  91. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +2 -2
  92. package/artifacts/contracts/minter-suite/Minters/MinterMinPriceMerkleV0.sol/MinterMinPriceMerkleV0.json +2 -2
  93. package/artifacts/contracts/minter-suite/Minters/MinterMinPriceV0.sol/MinterMinPriceV0.json +2 -2
  94. package/artifacts/contracts/minter-suite/Minters/MinterRAMV0.sol/MinterRAMV0.json +2 -2
  95. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +2 -2
  96. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +2 -2
  97. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +2 -2
  98. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +2 -2
  99. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceOnChainAllowV0.sol/MinterSetPriceOnChainAllowV0.json +522 -0
  100. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +2 -2
  101. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +2 -2
  102. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceTieredAllowV1.sol/MinterSetPriceTieredAllowV1.json +715 -0
  103. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +2 -2
  104. package/artifacts/contracts/minter-suite/Minters/MinterSlidingScaleV0.sol/MinterSlidingScaleV0.json +431 -0
  105. package/artifacts/contracts/minter-suite/Minters/one-off/ClaimMinter.sol/ClaimMinter.json +502 -0
  106. package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceTieredOnChainAllowV0.sol/MinterSetPriceTieredOnChainAllowV0.json +673 -0
  107. package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol/MinterSetPriceV5_SingleCore.json +2 -2
  108. package/artifacts/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol/SeaDropXArtBlocksShim.json +6 -19
  109. package/artifacts/contracts/mock/BytecodeV2TextCR_DMock.sol/BytecodeV2TextCR_DMock.json +2 -2
  110. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
  111. package/artifacts/contracts/mock/ENSLibMock.sol/ENSLibMock.json +30 -0
  112. package/artifacts/contracts/mock/EnumerableSetUint16Mock.sol/EnumerableSetUint16Mock.json +146 -0
  113. package/artifacts/contracts/mock/FeistelWalkLibMock.sol/FeistelWalkLibMock.json +142 -0
  114. package/artifacts/contracts/mock/ForceSendMock.sol/ForceSendMock.json +2 -2
  115. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +2 -2
  116. package/artifacts/contracts/mock/ImmutableUint16ArrayMock.sol/ImmutableUint16ArrayMock.json +89 -0
  117. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +2 -2
  118. package/artifacts/contracts/mock/MockGenArt721V3Core.sol/MockGenArt721V3Core.json +490 -0
  119. package/artifacts/contracts/mock/MockPMP.sol/MockPMP.json +523 -0
  120. package/artifacts/contracts/mock/MockTransferHook.sol/MockTransferHook.json +453 -0
  121. package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockBatchTransferrer.json +39 -0
  122. package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockForwardingERC721Receiver.json +71 -0
  123. package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockSpoofingCore.json +94 -0
  124. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  125. package/artifacts/contracts/mock/ReentrancyBatchMockShared.sol/IBatchMinter.json +64 -0
  126. package/artifacts/contracts/mock/ReentrancyBatchMockShared.sol/ReentrancyBatchMockShared.json +113 -0
  127. package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/MockTarget.json +74 -0
  128. package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/RelayExecutorPartialRevertsTestHelper.json +138 -0
  129. package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/RelayExecutorTestHelper.json +119 -0
  130. package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
  131. package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
  132. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +2 -2
  133. package/artifacts/contracts/relay/RelayExecutor.sol/RelayExecutor.json +101 -0
  134. package/artifacts/contracts/relay/RelayExecutorPartialReverts.sol/RelayExecutorPartialReverts.json +120 -0
  135. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverrideSplits.sol/GenArt721RoyaltyOverrideSplits.json +263 -0
  136. package/artifacts/contracts/utils/MintMulticallUtil.sol/IMinterSetPriceV5.json +40 -0
  137. package/artifacts/contracts/utils/MintMulticallUtil.sol/MintMulticallUtil.json +163 -0
  138. package/artifacts/contracts/web3call/PMPV0.sol/PMPV0.json +2 -2
  139. package/artifacts/contracts/web3call/PMPV1.sol/PMPV1.json +648 -0
  140. package/artifacts/contracts/web3call/augment-hooks/InjectBaseGasFee.sol/InjectBaseGasFee.json +2 -2
  141. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeight.sol/InjectBlockHeight.json +83 -0
  142. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightAndArtistProjectOverrides.sol/InjectBlockHeightAndArtistProjectOverrides.json +226 -0
  143. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightAndNumOwnedProjectTokens.sol/InjectBlockHeightAndNumOwnedProjectTokens.json +182 -0
  144. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.sol/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.json +226 -0
  145. package/artifacts/contracts/web3call/augment-hooks/InjectBlockTimestamp.sol/InjectBlockTimestamp.json +83 -0
  146. package/artifacts/contracts/web3call/augment-hooks/InjectBytesPerToken.sol/InjectBytesPerToken.json +358 -0
  147. package/artifacts/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol/InjectChromieSquiggleFloorPrice.json +2 -2
  148. package/artifacts/contracts/web3call/augment-hooks/InjectIsNounsDaoMember.sol/InjectIsNounsDaoMember.json +2 -2
  149. package/artifacts/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol/InjectIsProjectFullyMinted.json +2 -2
  150. package/artifacts/contracts/web3call/augment-hooks/InjectPolyptychTokenHash.sol/InjectPolyptychTokenHash.json +2 -2
  151. package/artifacts/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol/InjectTokenHashSeed.json +2 -2
  152. package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwner.sol/InjectTokenOwner.json +2 -2
  153. package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol/InjectTokenOwnerEthBalance.json +2 -2
  154. package/artifacts/contracts/web3call/augment-hooks/InjectUSDCTotalSupply.sol/InjectUSDCTotalSupply.json +2 -2
  155. package/artifacts/contracts/web3call/augment-hooks/SRHooks.sol/SRHooks.json +899 -0
  156. package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/IGenArt721V0_Minimal.json +30 -0
  157. package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/IRelic.json +35 -0
  158. package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/LiftHooks.json +256 -0
  159. package/artifacts/contracts/web3call/configure-hooks/{abstractPMPConfigureHook.sol → AbstractPMPConfigureHook.sol}/AbstractPMPConfigureHook.json +1 -1
  160. package/artifacts/contracts/web3call/configure-hooks/PMPConfigureLockHook.sol/PMPConfigureLockHook.json +195 -0
  161. package/contracts/AdminACLV0RoyaltyRegistry.sol +142 -0
  162. package/contracts/DependencyRegistryV0.sol +143 -13
  163. package/contracts/GenArt721CoreV3_Curated.sol +1 -1
  164. package/contracts/GenArt721CoreV3_Curated_Flex.sol +173 -0
  165. package/contracts/GenArt721CoreV3_Explorations_Flex.sol +159 -0
  166. package/contracts/engine/V3/EngineFactoryV0.sol +20 -1
  167. package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +286 -299
  168. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +292 -301
  169. package/contracts/engine/V3/transfer-hooks/AbstractTransferHook.sol +101 -0
  170. package/contracts/engine/V3/transfer-hooks/OwnerHistoryTransferHook.sol +291 -0
  171. package/contracts/generator/GenArt721GeneratorV0.sol +145 -47
  172. package/contracts/helpers/ERC1967ProxyImport.sol +5 -0
  173. package/contracts/interfaces/v0.8.x/IArtblocksRoyaltyOverride.sol +1 -1
  174. package/contracts/interfaces/v0.8.x/IClaimMinter.sol +70 -0
  175. package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +95 -0
  176. package/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol +15 -0
  177. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol +21 -2
  178. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol +72 -0
  179. package/contracts/interfaces/v0.8.x/IOwnerHistoryTransferHook.sol +119 -0
  180. package/contracts/interfaces/v0.8.x/ISRHooks.sol +229 -0
  181. package/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol +0 -6
  182. package/contracts/interfaces/v0.8.x/ISharedMinterTieredAllowV0.sol +69 -0
  183. package/contracts/interfaces/v0.8.x/ITransferHook.sol +48 -0
  184. package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +12 -0
  185. package/contracts/libs/v0.8.x/ENSLib.sol +85 -0
  186. package/contracts/libs/v0.8.x/EnumerableSetUint16.sol +429 -0
  187. package/contracts/libs/v0.8.x/FeistelWalkLib.sol +221 -0
  188. package/contracts/libs/v0.8.x/ImmutableUint16Array.sol +201 -0
  189. package/contracts/libs/v0.8.x/V3EngineLib.sol +490 -0
  190. package/contracts/libs/v0.8.x/V3TransferHookLib.sol +251 -0
  191. package/contracts/libs/v0.8.x/minter-libs/OnChainAllowlistLib.sol +165 -0
  192. package/contracts/minter-suite/Minters/MinterSetPriceOnChainAllowV0.sol +632 -0
  193. package/contracts/minter-suite/Minters/MinterSetPriceTieredAllowV1.sol +871 -0
  194. package/contracts/minter-suite/Minters/MinterSlidingScaleV0.sol +493 -0
  195. package/contracts/minter-suite/Minters/one-off/ClaimMinter.sol +595 -0
  196. package/contracts/minter-suite/Minters/one-off/MinterSetPriceTieredOnChainAllowV0.sol +894 -0
  197. package/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol +59 -41
  198. package/contracts/mock/ENSLibMock.sol +25 -0
  199. package/contracts/mock/EnumerableSetUint16Mock.sol +88 -0
  200. package/contracts/mock/FeistelWalkLibMock.sol +81 -0
  201. package/contracts/mock/ImmutableUint16ArrayMock.sol +62 -0
  202. package/contracts/mock/MockGenArt721V3Core.sol +416 -0
  203. package/contracts/mock/MockPMP.sol +287 -0
  204. package/contracts/mock/MockTransferHook.sol +160 -0
  205. package/contracts/mock/MockTransferHookTestHelpers.sol +96 -0
  206. package/contracts/mock/ReentrancyBatchMockShared.sol +53 -0
  207. package/contracts/mock/RelayExecutorTestHelper.sol +44 -0
  208. package/contracts/relay/RelayExecutor.sol +61 -0
  209. package/contracts/relay/RelayExecutorPartialReverts.sol +79 -0
  210. package/contracts/royalty-registry/GenArt721RoyaltyOverrideSplits.sol +130 -0
  211. package/contracts/utils/MintMulticallUtil.sol +103 -0
  212. package/contracts/web3call/PMPV1.sol +1204 -0
  213. package/contracts/web3call/augment-hooks/AbstractPMPAugmentHook.sol +1 -1
  214. package/contracts/web3call/augment-hooks/InjectBaseGasFee.sol +1 -1
  215. package/contracts/web3call/augment-hooks/InjectBlockHeight.sol +57 -0
  216. package/contracts/web3call/augment-hooks/InjectBlockHeightAndArtistProjectOverrides.sol +310 -0
  217. package/contracts/web3call/augment-hooks/InjectBlockHeightAndNumOwnedProjectTokens.sol +141 -0
  218. package/contracts/web3call/augment-hooks/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.sol +326 -0
  219. package/contracts/web3call/augment-hooks/InjectBlockTimestamp.sol +57 -0
  220. package/contracts/web3call/augment-hooks/InjectBytesPerToken.sol +279 -0
  221. package/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol +1 -1
  222. package/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol +1 -1
  223. package/contracts/web3call/augment-hooks/InjectTokenOwner.sol +1 -1
  224. package/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol +1 -1
  225. package/contracts/web3call/augment-hooks/SRHooks.sol +1722 -0
  226. package/contracts/web3call/combined-hooks/LiftHooks.sol +304 -0
  227. package/contracts/web3call/configure-hooks/{abstractPMPConfigureHook.sol → AbstractPMPConfigureHook.sol} +1 -1
  228. package/contracts/web3call/configure-hooks/PMPConfigureLockHook.sol +107 -0
  229. package/package.json +39 -24
@@ -0,0 +1,453 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MockTransferHook",
4
+ "sourceName": "contracts/mock/MockTransferHook.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "caller",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "coreContract",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "name": "TransferHookCallerNotCoreContract",
20
+ "type": "error"
21
+ },
22
+ {
23
+ "anonymous": false,
24
+ "inputs": [
25
+ {
26
+ "indexed": true,
27
+ "internalType": "address",
28
+ "name": "coreContract",
29
+ "type": "address"
30
+ },
31
+ {
32
+ "indexed": true,
33
+ "internalType": "uint256",
34
+ "name": "tokenId",
35
+ "type": "uint256"
36
+ },
37
+ {
38
+ "indexed": false,
39
+ "internalType": "address",
40
+ "name": "from",
41
+ "type": "address"
42
+ },
43
+ {
44
+ "indexed": false,
45
+ "internalType": "address",
46
+ "name": "to",
47
+ "type": "address"
48
+ },
49
+ {
50
+ "indexed": false,
51
+ "internalType": "address",
52
+ "name": "operator",
53
+ "type": "address"
54
+ }
55
+ ],
56
+ "name": "TokenTransferred",
57
+ "type": "event"
58
+ },
59
+ {
60
+ "inputs": [],
61
+ "name": "callCount",
62
+ "outputs": [
63
+ {
64
+ "internalType": "uint256",
65
+ "name": "",
66
+ "type": "uint256"
67
+ }
68
+ ],
69
+ "stateMutability": "view",
70
+ "type": "function"
71
+ },
72
+ {
73
+ "inputs": [],
74
+ "name": "lastCoreContract",
75
+ "outputs": [
76
+ {
77
+ "internalType": "address",
78
+ "name": "",
79
+ "type": "address"
80
+ }
81
+ ],
82
+ "stateMutability": "view",
83
+ "type": "function"
84
+ },
85
+ {
86
+ "inputs": [],
87
+ "name": "lastFrom",
88
+ "outputs": [
89
+ {
90
+ "internalType": "address",
91
+ "name": "",
92
+ "type": "address"
93
+ }
94
+ ],
95
+ "stateMutability": "view",
96
+ "type": "function"
97
+ },
98
+ {
99
+ "inputs": [],
100
+ "name": "lastOperator",
101
+ "outputs": [
102
+ {
103
+ "internalType": "address",
104
+ "name": "",
105
+ "type": "address"
106
+ }
107
+ ],
108
+ "stateMutability": "view",
109
+ "type": "function"
110
+ },
111
+ {
112
+ "inputs": [],
113
+ "name": "lastTo",
114
+ "outputs": [
115
+ {
116
+ "internalType": "address",
117
+ "name": "",
118
+ "type": "address"
119
+ }
120
+ ],
121
+ "stateMutability": "view",
122
+ "type": "function"
123
+ },
124
+ {
125
+ "inputs": [],
126
+ "name": "lastTokenHash",
127
+ "outputs": [
128
+ {
129
+ "internalType": "bytes32",
130
+ "name": "",
131
+ "type": "bytes32"
132
+ }
133
+ ],
134
+ "stateMutability": "view",
135
+ "type": "function"
136
+ },
137
+ {
138
+ "inputs": [],
139
+ "name": "lastTokenId",
140
+ "outputs": [
141
+ {
142
+ "internalType": "uint256",
143
+ "name": "",
144
+ "type": "uint256"
145
+ }
146
+ ],
147
+ "stateMutability": "view",
148
+ "type": "function"
149
+ },
150
+ {
151
+ "inputs": [
152
+ {
153
+ "internalType": "address",
154
+ "name": "coreContract",
155
+ "type": "address"
156
+ },
157
+ {
158
+ "internalType": "uint256",
159
+ "name": "tokenId",
160
+ "type": "uint256"
161
+ },
162
+ {
163
+ "internalType": "address",
164
+ "name": "from",
165
+ "type": "address"
166
+ },
167
+ {
168
+ "internalType": "address",
169
+ "name": "to",
170
+ "type": "address"
171
+ },
172
+ {
173
+ "internalType": "address",
174
+ "name": "operator",
175
+ "type": "address"
176
+ }
177
+ ],
178
+ "name": "onTokenTransfer",
179
+ "outputs": [],
180
+ "stateMutability": "nonpayable",
181
+ "type": "function"
182
+ },
183
+ {
184
+ "inputs": [],
185
+ "name": "reenterConfigure",
186
+ "outputs": [
187
+ {
188
+ "internalType": "bool",
189
+ "name": "",
190
+ "type": "bool"
191
+ }
192
+ ],
193
+ "stateMutability": "view",
194
+ "type": "function"
195
+ },
196
+ {
197
+ "inputs": [],
198
+ "name": "reenterCustomFrom",
199
+ "outputs": [
200
+ {
201
+ "internalType": "address",
202
+ "name": "",
203
+ "type": "address"
204
+ }
205
+ ],
206
+ "stateMutability": "view",
207
+ "type": "function"
208
+ },
209
+ {
210
+ "inputs": [],
211
+ "name": "reenterCustomToken",
212
+ "outputs": [
213
+ {
214
+ "internalType": "bool",
215
+ "name": "",
216
+ "type": "bool"
217
+ }
218
+ ],
219
+ "stateMutability": "view",
220
+ "type": "function"
221
+ },
222
+ {
223
+ "inputs": [],
224
+ "name": "reenterCustomTokenId",
225
+ "outputs": [
226
+ {
227
+ "internalType": "uint256",
228
+ "name": "",
229
+ "type": "uint256"
230
+ }
231
+ ],
232
+ "stateMutability": "view",
233
+ "type": "function"
234
+ },
235
+ {
236
+ "inputs": [],
237
+ "name": "reenterLock",
238
+ "outputs": [
239
+ {
240
+ "internalType": "bool",
241
+ "name": "",
242
+ "type": "bool"
243
+ }
244
+ ],
245
+ "stateMutability": "view",
246
+ "type": "function"
247
+ },
248
+ {
249
+ "inputs": [],
250
+ "name": "reenterPurchase",
251
+ "outputs": [
252
+ {
253
+ "internalType": "bool",
254
+ "name": "",
255
+ "type": "bool"
256
+ }
257
+ ],
258
+ "stateMutability": "view",
259
+ "type": "function"
260
+ },
261
+ {
262
+ "inputs": [],
263
+ "name": "reenterPurchaseMinter",
264
+ "outputs": [
265
+ {
266
+ "internalType": "address",
267
+ "name": "",
268
+ "type": "address"
269
+ }
270
+ ],
271
+ "stateMutability": "view",
272
+ "type": "function"
273
+ },
274
+ {
275
+ "inputs": [],
276
+ "name": "reenterPurchaseProjectId",
277
+ "outputs": [
278
+ {
279
+ "internalType": "uint256",
280
+ "name": "",
281
+ "type": "uint256"
282
+ }
283
+ ],
284
+ "stateMutability": "view",
285
+ "type": "function"
286
+ },
287
+ {
288
+ "inputs": [],
289
+ "name": "reenterTransfer",
290
+ "outputs": [
291
+ {
292
+ "internalType": "bool",
293
+ "name": "",
294
+ "type": "bool"
295
+ }
296
+ ],
297
+ "stateMutability": "view",
298
+ "type": "function"
299
+ },
300
+ {
301
+ "inputs": [],
302
+ "name": "reenterTransferTo",
303
+ "outputs": [
304
+ {
305
+ "internalType": "address",
306
+ "name": "",
307
+ "type": "address"
308
+ }
309
+ ],
310
+ "stateMutability": "view",
311
+ "type": "function"
312
+ },
313
+ {
314
+ "inputs": [
315
+ {
316
+ "internalType": "bool",
317
+ "name": "_reenterConfigure",
318
+ "type": "bool"
319
+ }
320
+ ],
321
+ "name": "setReenterConfigure",
322
+ "outputs": [],
323
+ "stateMutability": "nonpayable",
324
+ "type": "function"
325
+ },
326
+ {
327
+ "inputs": [
328
+ {
329
+ "internalType": "bool",
330
+ "name": "_reenterCustomToken",
331
+ "type": "bool"
332
+ },
333
+ {
334
+ "internalType": "address",
335
+ "name": "_reenterCustomFrom",
336
+ "type": "address"
337
+ },
338
+ {
339
+ "internalType": "uint256",
340
+ "name": "_reenterCustomTokenId",
341
+ "type": "uint256"
342
+ }
343
+ ],
344
+ "name": "setReenterCustomToken",
345
+ "outputs": [],
346
+ "stateMutability": "nonpayable",
347
+ "type": "function"
348
+ },
349
+ {
350
+ "inputs": [
351
+ {
352
+ "internalType": "bool",
353
+ "name": "_reenterLock",
354
+ "type": "bool"
355
+ }
356
+ ],
357
+ "name": "setReenterLock",
358
+ "outputs": [],
359
+ "stateMutability": "nonpayable",
360
+ "type": "function"
361
+ },
362
+ {
363
+ "inputs": [
364
+ {
365
+ "internalType": "bool",
366
+ "name": "_reenterPurchase",
367
+ "type": "bool"
368
+ },
369
+ {
370
+ "internalType": "address",
371
+ "name": "_minter",
372
+ "type": "address"
373
+ },
374
+ {
375
+ "internalType": "uint256",
376
+ "name": "_projectId",
377
+ "type": "uint256"
378
+ }
379
+ ],
380
+ "name": "setReenterPurchase",
381
+ "outputs": [],
382
+ "stateMutability": "nonpayable",
383
+ "type": "function"
384
+ },
385
+ {
386
+ "inputs": [
387
+ {
388
+ "internalType": "bool",
389
+ "name": "_reenterTransfer",
390
+ "type": "bool"
391
+ },
392
+ {
393
+ "internalType": "address",
394
+ "name": "_reenterTransferTo",
395
+ "type": "address"
396
+ }
397
+ ],
398
+ "name": "setReenterTransfer",
399
+ "outputs": [],
400
+ "stateMutability": "nonpayable",
401
+ "type": "function"
402
+ },
403
+ {
404
+ "inputs": [
405
+ {
406
+ "internalType": "bool",
407
+ "name": "_shouldRevert",
408
+ "type": "bool"
409
+ }
410
+ ],
411
+ "name": "setShouldRevert",
412
+ "outputs": [],
413
+ "stateMutability": "nonpayable",
414
+ "type": "function"
415
+ },
416
+ {
417
+ "inputs": [],
418
+ "name": "shouldRevert",
419
+ "outputs": [
420
+ {
421
+ "internalType": "bool",
422
+ "name": "",
423
+ "type": "bool"
424
+ }
425
+ ],
426
+ "stateMutability": "view",
427
+ "type": "function"
428
+ },
429
+ {
430
+ "inputs": [
431
+ {
432
+ "internalType": "bytes4",
433
+ "name": "interfaceId",
434
+ "type": "bytes4"
435
+ }
436
+ ],
437
+ "name": "supportsInterface",
438
+ "outputs": [
439
+ {
440
+ "internalType": "bool",
441
+ "name": "",
442
+ "type": "bool"
443
+ }
444
+ ],
445
+ "stateMutability": "view",
446
+ "type": "function"
447
+ }
448
+ ],
449
+ "bytecode": "0x608060405234801561001057600080fd5b50610b22806100206000396000f3fe608060405234801561001057600080fd5b506004361061013e5760003560e01c806301ffc9a7146101435780632291f08d1461016b57806324b3fda71461017d5780634b28f9a2146101915780634b3a7606146101a8578063507725b7146101bc57806358a608e1146101e7578063608e789c146101f05780636344b0e2146101f95780636813d7871461020e5780636eb3cd491461022f57806378ee0662146102425780637df5e67d1461025c57806380443378146102ad57806380c367f3146102c057806388701fbb146102ec5780638ab0716614610339578063959d7b95146103515780639c3ea6691461035e578063c146844714610388578063cc7c36581461039b578063d3072d82146103a4578063de847f54146103b1578063e949965b146103c4578063f84ddf0b146103d7578063feaa0325146103e0575b600080fd5b610156610151366004610902565b610434565b60405190151581526020015b60405180910390f35b60075461015690610100900460ff1681565b60075461015690600160c01b900460ff1681565b61019a60065481565b604051908152602001610162565b600754610156906301000000900460ff1681565b6000546101cf906001600160a01b031681565b6040516001600160a01b039091168152602001610162565b61019a60055481565b61019a60095481565b61020c61020736600461094f565b61046b565b005b61020c61021c3660046109bd565b6007805460ff1916911515919091179055565b6004546101cf906001600160a01b031681565b6007546101cf90600160201b90046001600160a01b031681565b61020c61026a3660046109d8565b60078054931515600160c01b0260ff60c01b1990941693909317909255600880546001600160a01b039092166001600160a01b0319909216919091179055600955565b6002546101cf906001600160a01b031681565b61020c6102ce3660046109bd565b6007805491151563010000000263ff00000019909216919091179055565b61020c6102fa3660046109d8565b600a80546001600160a01b0390931661010002610100600160a81b0319941515949094166001600160a81b031990931692909217929092179055600b55565b600a546101cf9061010090046001600160a01b031681565b600a546101569060ff1681565b61020c61036c3660046109bd565b60078054911515620100000262ff000019909216919091179055565b6003546101cf906001600160a01b031681565b61019a600b5481565b6007546101569060ff1681565b6008546101cf906001600160a01b031681565b6007546101569062010000900460ff1681565b61019a60015481565b61020c6103ee366004610a14565b6007805463ffff0100600160c01b03191661010093151593909302600160201b600160c01b03191692909217600160201b6001600160a01b039290921691909102179055565b60006001600160e01b031982166331a2587160e11b148061046557506301ffc9a760e01b6001600160e01b03198316145b92915050565b336001600160a01b038616146104aa576040516312069e6b60e31b81523360048201526001600160a01b03861660248201526044015b60405180910390fd5b6104b785858585856104be565b5050505050565b600080546001600160a01b038781166001600160a01b0319928316811790935560018790556002805487831690841617905560038054868316908416179055600480549185169190921617815560405163188687dd60e21b815290810186905263621a1f7490602401602060405180830381865afa158015610544573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105689190610a47565b600555600680546001019055604080516001600160a01b038581168252848116602083015283811682840152915186928816917f423c717de362176bf5e721ff4346c36ebe9b9df14af1601fd16827fc3b20e550919081900360600190a360075460ff16156106255760405162461bcd60e51b8152602060048201526024808201527f4d6f636b5472616e73666572486f6f6b3a20496e74656e74696f6e616c2072656044820152631d995c9d60e21b60648201526084016104a1565b600754610100900460ff161561073057600754600160c01b900460ff16156106c2576008546007546009546040516323b872dd60e01b81526001600160a01b03808a16946323b872dd9461068b9491831693600160201b90910490921691600401610a60565b600060405180830381600087803b1580156106a557600080fd5b505af11580156106b9573d6000803e3d6000fd5b50505050610730565b6007546040516323b872dd60e01b81526001600160a01b03808816926323b872dd926106fd928792600160201b900416908990600401610a60565b600060405180830381600087803b15801561071757600080fd5b505af115801561072b573d6000803e3d6000fd5b505050505b600a5460ff16156107fe57600080600a60019054906101000a90046001600160a01b03166001600160a01b0316600b5460405160240161077291815260200190565b60408051601f198184030181529181526020820180516001600160e01b031663efef39a160e01b179052516107a79190610a84565b6000604051808303816000865af19150503d80600081146107e4576040519150601f19603f3d011682016040523d82523d6000602084013e6107e9565b606091505b5091509150816107fb57805160208201fd5b50505b60075462010000900460ff161561087d576001600160a01b038516638e4298fc61082b620f424087610ab3565b60006040518363ffffffff1660e01b815260040161084a929190610ad5565b600060405180830381600087803b15801561086457600080fd5b505af1158015610878573d6000803e3d6000fd5b505050505b6007546301000000900460ff16156104b7576001600160a01b03851663682dda636108ab620f424087610ab3565b306040518363ffffffff1660e01b81526004016108c9929190610ad5565b600060405180830381600087803b1580156108e357600080fd5b505af11580156108f7573d6000803e3d6000fd5b505050505050505050565b60006020828403121561091457600080fd5b81356001600160e01b03198116811461092c57600080fd5b9392505050565b80356001600160a01b038116811461094a57600080fd5b919050565b600080600080600060a0868803121561096757600080fd5b61097086610933565b94506020860135935061098560408701610933565b925061099360608701610933565b91506109a160808701610933565b90509295509295909350565b8035801515811461094a57600080fd5b6000602082840312156109cf57600080fd5b61092c826109ad565b6000806000606084860312156109ed57600080fd5b6109f6846109ad565b9250610a0460208501610933565b9150604084013590509250925092565b60008060408385031215610a2757600080fd5b610a30836109ad565b9150610a3e60208401610933565b90509250929050565b600060208284031215610a5957600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6000825160005b81811015610aa55760208186018101518583015201610a8b565b506000920191825250919050565b600082610ad057634e487b7160e01b600052601260045260246000fd5b500490565b9182526001600160a01b031660208201526040019056fea26469706673582212207f86d9c3833e09c410ad3549c49fcdf33ca268382ce1288858a11a65d1ef4d8f64736f6c63430008160033",
450
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061013e5760003560e01c806301ffc9a7146101435780632291f08d1461016b57806324b3fda71461017d5780634b28f9a2146101915780634b3a7606146101a8578063507725b7146101bc57806358a608e1146101e7578063608e789c146101f05780636344b0e2146101f95780636813d7871461020e5780636eb3cd491461022f57806378ee0662146102425780637df5e67d1461025c57806380443378146102ad57806380c367f3146102c057806388701fbb146102ec5780638ab0716614610339578063959d7b95146103515780639c3ea6691461035e578063c146844714610388578063cc7c36581461039b578063d3072d82146103a4578063de847f54146103b1578063e949965b146103c4578063f84ddf0b146103d7578063feaa0325146103e0575b600080fd5b610156610151366004610902565b610434565b60405190151581526020015b60405180910390f35b60075461015690610100900460ff1681565b60075461015690600160c01b900460ff1681565b61019a60065481565b604051908152602001610162565b600754610156906301000000900460ff1681565b6000546101cf906001600160a01b031681565b6040516001600160a01b039091168152602001610162565b61019a60055481565b61019a60095481565b61020c61020736600461094f565b61046b565b005b61020c61021c3660046109bd565b6007805460ff1916911515919091179055565b6004546101cf906001600160a01b031681565b6007546101cf90600160201b90046001600160a01b031681565b61020c61026a3660046109d8565b60078054931515600160c01b0260ff60c01b1990941693909317909255600880546001600160a01b039092166001600160a01b0319909216919091179055600955565b6002546101cf906001600160a01b031681565b61020c6102ce3660046109bd565b6007805491151563010000000263ff00000019909216919091179055565b61020c6102fa3660046109d8565b600a80546001600160a01b0390931661010002610100600160a81b0319941515949094166001600160a81b031990931692909217929092179055600b55565b600a546101cf9061010090046001600160a01b031681565b600a546101569060ff1681565b61020c61036c3660046109bd565b60078054911515620100000262ff000019909216919091179055565b6003546101cf906001600160a01b031681565b61019a600b5481565b6007546101569060ff1681565b6008546101cf906001600160a01b031681565b6007546101569062010000900460ff1681565b61019a60015481565b61020c6103ee366004610a14565b6007805463ffff0100600160c01b03191661010093151593909302600160201b600160c01b03191692909217600160201b6001600160a01b039290921691909102179055565b60006001600160e01b031982166331a2587160e11b148061046557506301ffc9a760e01b6001600160e01b03198316145b92915050565b336001600160a01b038616146104aa576040516312069e6b60e31b81523360048201526001600160a01b03861660248201526044015b60405180910390fd5b6104b785858585856104be565b5050505050565b600080546001600160a01b038781166001600160a01b0319928316811790935560018790556002805487831690841617905560038054868316908416179055600480549185169190921617815560405163188687dd60e21b815290810186905263621a1f7490602401602060405180830381865afa158015610544573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105689190610a47565b600555600680546001019055604080516001600160a01b038581168252848116602083015283811682840152915186928816917f423c717de362176bf5e721ff4346c36ebe9b9df14af1601fd16827fc3b20e550919081900360600190a360075460ff16156106255760405162461bcd60e51b8152602060048201526024808201527f4d6f636b5472616e73666572486f6f6b3a20496e74656e74696f6e616c2072656044820152631d995c9d60e21b60648201526084016104a1565b600754610100900460ff161561073057600754600160c01b900460ff16156106c2576008546007546009546040516323b872dd60e01b81526001600160a01b03808a16946323b872dd9461068b9491831693600160201b90910490921691600401610a60565b600060405180830381600087803b1580156106a557600080fd5b505af11580156106b9573d6000803e3d6000fd5b50505050610730565b6007546040516323b872dd60e01b81526001600160a01b03808816926323b872dd926106fd928792600160201b900416908990600401610a60565b600060405180830381600087803b15801561071757600080fd5b505af115801561072b573d6000803e3d6000fd5b505050505b600a5460ff16156107fe57600080600a60019054906101000a90046001600160a01b03166001600160a01b0316600b5460405160240161077291815260200190565b60408051601f198184030181529181526020820180516001600160e01b031663efef39a160e01b179052516107a79190610a84565b6000604051808303816000865af19150503d80600081146107e4576040519150601f19603f3d011682016040523d82523d6000602084013e6107e9565b606091505b5091509150816107fb57805160208201fd5b50505b60075462010000900460ff161561087d576001600160a01b038516638e4298fc61082b620f424087610ab3565b60006040518363ffffffff1660e01b815260040161084a929190610ad5565b600060405180830381600087803b15801561086457600080fd5b505af1158015610878573d6000803e3d6000fd5b505050505b6007546301000000900460ff16156104b7576001600160a01b03851663682dda636108ab620f424087610ab3565b306040518363ffffffff1660e01b81526004016108c9929190610ad5565b600060405180830381600087803b1580156108e357600080fd5b505af11580156108f7573d6000803e3d6000fd5b505050505050505050565b60006020828403121561091457600080fd5b81356001600160e01b03198116811461092c57600080fd5b9392505050565b80356001600160a01b038116811461094a57600080fd5b919050565b600080600080600060a0868803121561096757600080fd5b61097086610933565b94506020860135935061098560408701610933565b925061099360608701610933565b91506109a160808701610933565b90509295509295909350565b8035801515811461094a57600080fd5b6000602082840312156109cf57600080fd5b61092c826109ad565b6000806000606084860312156109ed57600080fd5b6109f6846109ad565b9250610a0460208501610933565b9150604084013590509250925092565b60008060408385031215610a2757600080fd5b610a30836109ad565b9150610a3e60208401610933565b90509250929050565b600060208284031215610a5957600080fd5b5051919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6000825160005b81811015610aa55760208186018101518583015201610a8b565b506000920191825250919050565b600082610ad057634e487b7160e01b600052601260045260246000fd5b500490565b9182526001600160a01b031660208201526040019056fea26469706673582212207f86d9c3833e09c410ad3549c49fcdf33ca268382ce1288858a11a65d1ef4d8f64736f6c63430008160033",
451
+ "linkReferences": {},
452
+ "deployedLinkReferences": {}
453
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MockBatchTransferrer",
4
+ "sourceName": "contracts/mock/MockTransferHookTestHelpers.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "coreContract",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "from",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "to",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "uint256[]",
25
+ "name": "tokenIds",
26
+ "type": "uint256[]"
27
+ }
28
+ ],
29
+ "name": "batchTransfer",
30
+ "outputs": [],
31
+ "stateMutability": "nonpayable",
32
+ "type": "function"
33
+ }
34
+ ],
35
+ "bytecode": "0x608060405234801561001057600080fd5b50610204806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e3456fbb14610030575b600080fd5b61004361003e366004610114565b610045565b005b8060005b818110156100ef57866001600160a01b03166323b872dd8787878786818110610074576100746101b8565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b1580156100cb57600080fd5b505af11580156100df573d6000803e3d6000fd5b5050600190920191506100499050565b50505050505050565b80356001600160a01b038116811461010f57600080fd5b919050565b60008060008060006080868803121561012c57600080fd5b610135866100f8565b9450610143602087016100f8565b9350610151604087016100f8565b925060608601356001600160401b038082111561016d57600080fd5b818801915088601f83011261018157600080fd5b81358181111561019057600080fd5b8960208260051b85010111156101a557600080fd5b9699959850939650602001949392505050565b634e487b7160e01b600052603260045260246000fdfea26469706673582212206dab9ce23fdbdd6ac16aba14966ffdcc8523935da91b5c3edb0d9b57e7b3c68264736f6c63430008160033",
36
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e3456fbb14610030575b600080fd5b61004361003e366004610114565b610045565b005b8060005b818110156100ef57866001600160a01b03166323b872dd8787878786818110610074576100746101b8565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b1580156100cb57600080fd5b505af11580156100df573d6000803e3d6000fd5b5050600190920191506100499050565b50505050505050565b80356001600160a01b038116811461010f57600080fd5b919050565b60008060008060006080868803121561012c57600080fd5b610135866100f8565b9450610143602087016100f8565b9350610151604087016100f8565b925060608601356001600160401b038082111561016d57600080fd5b818801915088601f83011261018157600080fd5b81358181111561019057600080fd5b8960208260051b85010111156101a557600080fd5b9699959850939650602001949392505050565b634e487b7160e01b600052603260045260246000fdfea26469706673582212206dab9ce23fdbdd6ac16aba14966ffdcc8523935da91b5c3edb0d9b57e7b3c68264736f6c63430008160033",
37
+ "linkReferences": {},
38
+ "deployedLinkReferences": {}
39
+ }
@@ -0,0 +1,71 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MockForwardingERC721Receiver",
4
+ "sourceName": "contracts/mock/MockTransferHookTestHelpers.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "forwardTo",
9
+ "outputs": [
10
+ {
11
+ "internalType": "address",
12
+ "name": "",
13
+ "type": "address"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ },
19
+ {
20
+ "inputs": [
21
+ {
22
+ "internalType": "address",
23
+ "name": "",
24
+ "type": "address"
25
+ },
26
+ {
27
+ "internalType": "address",
28
+ "name": "",
29
+ "type": "address"
30
+ },
31
+ {
32
+ "internalType": "uint256",
33
+ "name": "tokenId",
34
+ "type": "uint256"
35
+ },
36
+ {
37
+ "internalType": "bytes",
38
+ "name": "",
39
+ "type": "bytes"
40
+ }
41
+ ],
42
+ "name": "onERC721Received",
43
+ "outputs": [
44
+ {
45
+ "internalType": "bytes4",
46
+ "name": "",
47
+ "type": "bytes4"
48
+ }
49
+ ],
50
+ "stateMutability": "nonpayable",
51
+ "type": "function"
52
+ },
53
+ {
54
+ "inputs": [
55
+ {
56
+ "internalType": "address",
57
+ "name": "_forwardTo",
58
+ "type": "address"
59
+ }
60
+ ],
61
+ "name": "setForwardTo",
62
+ "outputs": [],
63
+ "stateMutability": "nonpayable",
64
+ "type": "function"
65
+ }
66
+ ],
67
+ "bytecode": "0x608060405234801561001057600080fd5b50610271806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063150b7a0214610046578063d4b2700114610077578063e45bf7a6146100a9575b600080fd5b61005961005436600461017f565b6100d4565b6040516001600160e01b031990911681526020015b60405180910390f35b6100a7610085366004610219565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b005b6000546100bc906001600160a01b031681565b6040516001600160a01b03909116815260200161006e565b600080546001600160a01b031615610151576000546040516323b872dd60e01b81523060048201526001600160a01b0390911660248201526044810185905233906323b872dd90606401600060405180830381600087803b15801561013857600080fd5b505af115801561014c573d6000803e3d6000fd5b505050505b50630a85bd0160e11b95945050505050565b80356001600160a01b038116811461017a57600080fd5b919050565b60008060008060006080868803121561019757600080fd5b6101a086610163565b94506101ae60208701610163565b93506040860135925060608601356001600160401b03808211156101d157600080fd5b818801915088601f8301126101e557600080fd5b8135818111156101f457600080fd5b89602082850101111561020657600080fd5b9699959850939650602001949392505050565b60006020828403121561022b57600080fd5b61023482610163565b939250505056fea2646970667358221220754f0ab29ef2940ad2a74377356fc90558f32def248e729992379a6fc2de08ee64736f6c63430008160033",
68
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063150b7a0214610046578063d4b2700114610077578063e45bf7a6146100a9575b600080fd5b61005961005436600461017f565b6100d4565b6040516001600160e01b031990911681526020015b60405180910390f35b6100a7610085366004610219565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b005b6000546100bc906001600160a01b031681565b6040516001600160a01b03909116815260200161006e565b600080546001600160a01b031615610151576000546040516323b872dd60e01b81523060048201526001600160a01b0390911660248201526044810185905233906323b872dd90606401600060405180830381600087803b15801561013857600080fd5b505af115801561014c573d6000803e3d6000fd5b505050505b50630a85bd0160e11b95945050505050565b80356001600160a01b038116811461017a57600080fd5b919050565b60008060008060006080868803121561019757600080fd5b6101a086610163565b94506101ae60208701610163565b93506040860135925060608601356001600160401b03808211156101d157600080fd5b818801915088601f8301126101e557600080fd5b8135818111156101f457600080fd5b89602082850101111561020657600080fd5b9699959850939650602001949392505050565b60006020828403121561022b57600080fd5b61023482610163565b939250505056fea2646970667358221220754f0ab29ef2940ad2a74377356fc90558f32def248e729992379a6fc2de08ee64736f6c63430008160033",
69
+ "linkReferences": {},
70
+ "deployedLinkReferences": {}
71
+ }
@@ -0,0 +1,94 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MockSpoofingCore",
4
+ "sourceName": "contracts/mock/MockTransferHookTestHelpers.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "hook",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "tokenId",
16
+ "type": "uint256"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "from",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "address",
25
+ "name": "to",
26
+ "type": "address"
27
+ },
28
+ {
29
+ "internalType": "address",
30
+ "name": "operator",
31
+ "type": "address"
32
+ }
33
+ ],
34
+ "name": "callHook",
35
+ "outputs": [],
36
+ "stateMutability": "nonpayable",
37
+ "type": "function"
38
+ },
39
+ {
40
+ "inputs": [],
41
+ "name": "configuredHook",
42
+ "outputs": [
43
+ {
44
+ "internalType": "address",
45
+ "name": "",
46
+ "type": "address"
47
+ }
48
+ ],
49
+ "stateMutability": "view",
50
+ "type": "function"
51
+ },
52
+ {
53
+ "inputs": [
54
+ {
55
+ "internalType": "uint256",
56
+ "name": "",
57
+ "type": "uint256"
58
+ }
59
+ ],
60
+ "name": "projectTransferHookConfig",
61
+ "outputs": [
62
+ {
63
+ "internalType": "address",
64
+ "name": "hook",
65
+ "type": "address"
66
+ },
67
+ {
68
+ "internalType": "bool",
69
+ "name": "locked",
70
+ "type": "bool"
71
+ }
72
+ ],
73
+ "stateMutability": "view",
74
+ "type": "function"
75
+ },
76
+ {
77
+ "inputs": [
78
+ {
79
+ "internalType": "address",
80
+ "name": "hook",
81
+ "type": "address"
82
+ }
83
+ ],
84
+ "name": "setConfiguredHook",
85
+ "outputs": [],
86
+ "stateMutability": "nonpayable",
87
+ "type": "function"
88
+ }
89
+ ],
90
+ "bytecode": "0x608060405234801561001057600080fd5b5061026e806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80631d0a8d3d146100515780635d39031814610081578063964da52714610096578063e5216f8c146100c6575b600080fd5b600054610064906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61009461008f36600461019f565b610104565b005b6100946100a43660046101fd565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6100e56100d436600461021f565b50600080546001600160a01b031691565b604080516001600160a01b039093168352901515602083015201610078565b6040516331a2587160e11b8152306004820152602481018590526001600160a01b03848116604483015283811660648301528281166084830152861690636344b0e29060a401600060405180830381600087803b15801561016457600080fd5b505af1158015610178573d6000803e3d6000fd5b505050505050505050565b80356001600160a01b038116811461019a57600080fd5b919050565b600080600080600060a086880312156101b757600080fd5b6101c086610183565b9450602086013593506101d560408701610183565b92506101e360608701610183565b91506101f160808701610183565b90509295509295909350565b60006020828403121561020f57600080fd5b61021882610183565b9392505050565b60006020828403121561023157600080fd5b503591905056fea2646970667358221220465f29317199bfc8b5817dca44aac5861bcde3918dc746ba8ab9f632177547db64736f6c63430008160033",
91
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80631d0a8d3d146100515780635d39031814610081578063964da52714610096578063e5216f8c146100c6575b600080fd5b600054610064906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61009461008f36600461019f565b610104565b005b6100946100a43660046101fd565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6100e56100d436600461021f565b50600080546001600160a01b031691565b604080516001600160a01b039093168352901515602083015201610078565b6040516331a2587160e11b8152306004820152602481018590526001600160a01b03848116604483015283811660648301528281166084830152861690636344b0e29060a401600060405180830381600087803b15801561016457600080fd5b505af1158015610178573d6000803e3d6000fd5b505050505050505050565b80356001600160a01b038116811461019a57600080fd5b919050565b600080600080600060a086880312156101b757600080fd5b6101c086610183565b9450602086013593506101d560408701610183565b92506101e360608701610183565b91506101f160808701610183565b90509295509295909350565b60006020828403121561020f57600080fd5b61021882610183565b9392505050565b60006020828403121561023157600080fd5b503591905056fea2646970667358221220465f29317199bfc8b5817dca44aac5861bcde3918dc746ba8ab9f632177547db64736f6c63430008160033",
92
+ "linkReferences": {},
93
+ "deployedLinkReferences": {}
94
+ }