@artblocks/contracts 1.3.1 → 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 (234) 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/IPMPV0.sol/IPMPV0.json +7 -1
  63. package/artifacts/contracts/interfaces/v0.8.x/ISRHooks.sol/ISRHooks.json +432 -0
  64. package/artifacts/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol/ISeaDropShimForContract.json +0 -13
  65. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterTieredAllowV0.sol/ISharedMinterTieredAllowV0.json +94 -0
  66. package/artifacts/contracts/interfaces/v0.8.x/ITransferHook.sol/ITransferHook.json +63 -0
  67. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
  68. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageReader.json +2 -2
  69. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageWriter.json +2 -2
  70. package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +2 -2
  71. package/artifacts/contracts/libs/v0.8.x/ENSLib.sol/ENSLib.json +10 -0
  72. package/artifacts/contracts/libs/v0.8.x/ENSLib.sol/IUniversalResolver.json +45 -0
  73. package/artifacts/contracts/libs/v0.8.x/EnumerableSetUint16.sol/EnumerableSetUint16.json +10 -0
  74. package/artifacts/contracts/libs/v0.8.x/FeistelWalkLib.sol/FeistelWalkLib.json +10 -0
  75. package/artifacts/contracts/libs/v0.8.x/ImmutableUint16Array.sol/ImmutableUint16Array.json +10 -0
  76. package/artifacts/contracts/libs/v0.8.x/V3EngineLib.sol/V3EngineLib.json +163 -0
  77. package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +2 -2
  78. package/artifacts/contracts/libs/v0.8.x/V3TransferHookLib.sol/V3TransferHookLib.json +79 -0
  79. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +2 -2
  80. package/artifacts/contracts/libs/v0.8.x/minter-libs/OnChainAllowlistLib.sol/OnChainAllowlistLib.json +10 -0
  81. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
  82. package/artifacts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol/RAMLib.json +2 -2
  83. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +2 -2
  84. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +2 -2
  85. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +2 -2
  86. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  87. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +2 -2
  88. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +2 -2
  89. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +2 -2
  90. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +2 -2
  91. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +2 -2
  92. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +2 -2
  93. package/artifacts/contracts/minter-suite/Minters/MinterMinPriceMerkleV0.sol/MinterMinPriceMerkleV0.json +2 -2
  94. package/artifacts/contracts/minter-suite/Minters/MinterMinPriceV0.sol/MinterMinPriceV0.json +2 -2
  95. package/artifacts/contracts/minter-suite/Minters/MinterRAMV0.sol/MinterRAMV0.json +2 -2
  96. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +2 -2
  97. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +2 -2
  98. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +2 -2
  99. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +2 -2
  100. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceOnChainAllowV0.sol/MinterSetPriceOnChainAllowV0.json +522 -0
  101. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +2 -2
  102. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +2 -2
  103. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceTieredAllowV1.sol/MinterSetPriceTieredAllowV1.json +715 -0
  104. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +2 -2
  105. package/artifacts/contracts/minter-suite/Minters/MinterSlidingScaleV0.sol/MinterSlidingScaleV0.json +431 -0
  106. package/artifacts/contracts/minter-suite/Minters/one-off/ClaimMinter.sol/ClaimMinter.json +502 -0
  107. package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceTieredOnChainAllowV0.sol/MinterSetPriceTieredOnChainAllowV0.json +673 -0
  108. package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol/MinterSetPriceV5_SingleCore.json +2 -2
  109. package/artifacts/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol/SeaDropXArtBlocksShim.json +6 -19
  110. package/artifacts/contracts/mock/BytecodeV2TextCR_DMock.sol/BytecodeV2TextCR_DMock.json +2 -2
  111. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
  112. package/artifacts/contracts/mock/ENSLibMock.sol/ENSLibMock.json +30 -0
  113. package/artifacts/contracts/mock/EnumerableSetUint16Mock.sol/EnumerableSetUint16Mock.json +146 -0
  114. package/artifacts/contracts/mock/FeistelWalkLibMock.sol/FeistelWalkLibMock.json +142 -0
  115. package/artifacts/contracts/mock/ForceSendMock.sol/ForceSendMock.json +2 -2
  116. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +2 -2
  117. package/artifacts/contracts/mock/ImmutableUint16ArrayMock.sol/ImmutableUint16ArrayMock.json +89 -0
  118. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +2 -2
  119. package/artifacts/contracts/mock/MockGenArt721V3Core.sol/MockGenArt721V3Core.json +490 -0
  120. package/artifacts/contracts/mock/MockPMP.sol/MockPMP.json +523 -0
  121. package/artifacts/contracts/mock/MockPMPAugmentHook.sol/MockPMPAugmentHook.json +2 -2
  122. package/artifacts/contracts/mock/MockPMPConfigureHook.sol/MockPMPConfigureHook.json +2 -2
  123. package/artifacts/contracts/mock/MockTransferHook.sol/MockTransferHook.json +453 -0
  124. package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockBatchTransferrer.json +39 -0
  125. package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockForwardingERC721Receiver.json +71 -0
  126. package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockSpoofingCore.json +94 -0
  127. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  128. package/artifacts/contracts/mock/ReentrancyBatchMockShared.sol/IBatchMinter.json +64 -0
  129. package/artifacts/contracts/mock/ReentrancyBatchMockShared.sol/ReentrancyBatchMockShared.json +113 -0
  130. package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/MockTarget.json +74 -0
  131. package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/RelayExecutorPartialRevertsTestHelper.json +138 -0
  132. package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/RelayExecutorTestHelper.json +119 -0
  133. package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
  134. package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
  135. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +2 -2
  136. package/artifacts/contracts/relay/RelayExecutor.sol/RelayExecutor.json +101 -0
  137. package/artifacts/contracts/relay/RelayExecutorPartialReverts.sol/RelayExecutorPartialReverts.json +120 -0
  138. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverrideSplits.sol/GenArt721RoyaltyOverrideSplits.json +263 -0
  139. package/artifacts/contracts/utils/MintMulticallUtil.sol/IMinterSetPriceV5.json +40 -0
  140. package/artifacts/contracts/utils/MintMulticallUtil.sol/MintMulticallUtil.json +163 -0
  141. package/artifacts/contracts/web3call/PMPV0.sol/PMPV0.json +9 -3
  142. package/artifacts/contracts/web3call/PMPV1.sol/PMPV1.json +648 -0
  143. package/artifacts/contracts/web3call/augment-hooks/InjectBaseGasFee.sol/InjectBaseGasFee.json +2 -2
  144. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeight.sol/InjectBlockHeight.json +83 -0
  145. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightAndArtistProjectOverrides.sol/InjectBlockHeightAndArtistProjectOverrides.json +226 -0
  146. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightAndNumOwnedProjectTokens.sol/InjectBlockHeightAndNumOwnedProjectTokens.json +182 -0
  147. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.sol/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.json +226 -0
  148. package/artifacts/contracts/web3call/augment-hooks/InjectBlockTimestamp.sol/InjectBlockTimestamp.json +83 -0
  149. package/artifacts/contracts/web3call/augment-hooks/InjectBytesPerToken.sol/InjectBytesPerToken.json +358 -0
  150. package/artifacts/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol/InjectChromieSquiggleFloorPrice.json +2 -2
  151. package/artifacts/contracts/web3call/augment-hooks/InjectIsNounsDaoMember.sol/InjectIsNounsDaoMember.json +2 -2
  152. package/artifacts/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol/InjectIsProjectFullyMinted.json +2 -2
  153. package/artifacts/contracts/web3call/augment-hooks/InjectPolyptychTokenHash.sol/InjectPolyptychTokenHash.json +2 -2
  154. package/artifacts/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol/InjectTokenHashSeed.json +2 -2
  155. package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwner.sol/InjectTokenOwner.json +2 -2
  156. package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol/InjectTokenOwnerEthBalance.json +2 -2
  157. package/artifacts/contracts/web3call/augment-hooks/InjectUSDCTotalSupply.sol/InjectUSDCTotalSupply.json +2 -2
  158. package/artifacts/contracts/web3call/augment-hooks/SRHooks.sol/SRHooks.json +899 -0
  159. package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/IGenArt721V0_Minimal.json +30 -0
  160. package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/IRelic.json +35 -0
  161. package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/LiftHooks.json +256 -0
  162. package/artifacts/contracts/web3call/configure-hooks/{abstractPMPConfigureHook.sol → AbstractPMPConfigureHook.sol}/AbstractPMPConfigureHook.json +1 -1
  163. package/artifacts/contracts/web3call/configure-hooks/PMPConfigureLockHook.sol/PMPConfigureLockHook.json +195 -0
  164. package/contracts/AdminACLV0RoyaltyRegistry.sol +142 -0
  165. package/contracts/DependencyRegistryV0.sol +143 -13
  166. package/contracts/GenArt721CoreV3_Curated.sol +1 -1
  167. package/contracts/GenArt721CoreV3_Curated_Flex.sol +173 -0
  168. package/contracts/GenArt721CoreV3_Explorations_Flex.sol +159 -0
  169. package/contracts/engine/V3/EngineFactoryV0.sol +20 -1
  170. package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +286 -299
  171. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +292 -301
  172. package/contracts/engine/V3/transfer-hooks/AbstractTransferHook.sol +101 -0
  173. package/contracts/engine/V3/transfer-hooks/OwnerHistoryTransferHook.sol +291 -0
  174. package/contracts/generator/GenArt721GeneratorV0.sol +145 -47
  175. package/contracts/helpers/ERC1967ProxyImport.sol +5 -0
  176. package/contracts/interfaces/v0.8.x/IArtblocksRoyaltyOverride.sol +1 -1
  177. package/contracts/interfaces/v0.8.x/IClaimMinter.sol +70 -0
  178. package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +95 -0
  179. package/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol +15 -0
  180. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol +21 -2
  181. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol +72 -0
  182. package/contracts/interfaces/v0.8.x/IOwnerHistoryTransferHook.sol +119 -0
  183. package/contracts/interfaces/v0.8.x/IPMPV0.sol +5 -3
  184. package/contracts/interfaces/v0.8.x/ISRHooks.sol +229 -0
  185. package/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol +0 -6
  186. package/contracts/interfaces/v0.8.x/ISharedMinterTieredAllowV0.sol +69 -0
  187. package/contracts/interfaces/v0.8.x/ITransferHook.sol +48 -0
  188. package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +12 -0
  189. package/contracts/libs/v0.8.x/ENSLib.sol +85 -0
  190. package/contracts/libs/v0.8.x/EnumerableSetUint16.sol +429 -0
  191. package/contracts/libs/v0.8.x/FeistelWalkLib.sol +221 -0
  192. package/contracts/libs/v0.8.x/ImmutableUint16Array.sol +201 -0
  193. package/contracts/libs/v0.8.x/V3EngineLib.sol +490 -0
  194. package/contracts/libs/v0.8.x/V3TransferHookLib.sol +251 -0
  195. package/contracts/libs/v0.8.x/minter-libs/OnChainAllowlistLib.sol +165 -0
  196. package/contracts/minter-suite/Minters/MinterSetPriceOnChainAllowV0.sol +632 -0
  197. package/contracts/minter-suite/Minters/MinterSetPriceTieredAllowV1.sol +871 -0
  198. package/contracts/minter-suite/Minters/MinterSlidingScaleV0.sol +493 -0
  199. package/contracts/minter-suite/Minters/one-off/ClaimMinter.sol +595 -0
  200. package/contracts/minter-suite/Minters/one-off/MinterSetPriceTieredOnChainAllowV0.sol +894 -0
  201. package/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol +59 -41
  202. package/contracts/mock/ENSLibMock.sol +25 -0
  203. package/contracts/mock/EnumerableSetUint16Mock.sol +88 -0
  204. package/contracts/mock/FeistelWalkLibMock.sol +81 -0
  205. package/contracts/mock/ImmutableUint16ArrayMock.sol +62 -0
  206. package/contracts/mock/MockGenArt721V3Core.sol +416 -0
  207. package/contracts/mock/MockPMP.sol +287 -0
  208. package/contracts/mock/MockTransferHook.sol +160 -0
  209. package/contracts/mock/MockTransferHookTestHelpers.sol +96 -0
  210. package/contracts/mock/ReentrancyBatchMockShared.sol +53 -0
  211. package/contracts/mock/RelayExecutorTestHelper.sol +44 -0
  212. package/contracts/relay/RelayExecutor.sol +61 -0
  213. package/contracts/relay/RelayExecutorPartialReverts.sol +79 -0
  214. package/contracts/royalty-registry/GenArt721RoyaltyOverrideSplits.sol +130 -0
  215. package/contracts/utils/MintMulticallUtil.sol +103 -0
  216. package/contracts/web3call/PMPV0.sol +92 -98
  217. package/contracts/web3call/PMPV1.sol +1204 -0
  218. package/contracts/web3call/augment-hooks/AbstractPMPAugmentHook.sol +1 -1
  219. package/contracts/web3call/augment-hooks/InjectBaseGasFee.sol +1 -1
  220. package/contracts/web3call/augment-hooks/InjectBlockHeight.sol +57 -0
  221. package/contracts/web3call/augment-hooks/InjectBlockHeightAndArtistProjectOverrides.sol +310 -0
  222. package/contracts/web3call/augment-hooks/InjectBlockHeightAndNumOwnedProjectTokens.sol +141 -0
  223. package/contracts/web3call/augment-hooks/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.sol +326 -0
  224. package/contracts/web3call/augment-hooks/InjectBlockTimestamp.sol +57 -0
  225. package/contracts/web3call/augment-hooks/InjectBytesPerToken.sol +279 -0
  226. package/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol +1 -1
  227. package/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol +1 -1
  228. package/contracts/web3call/augment-hooks/InjectTokenOwner.sol +1 -1
  229. package/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol +1 -1
  230. package/contracts/web3call/augment-hooks/SRHooks.sol +1722 -0
  231. package/contracts/web3call/combined-hooks/LiftHooks.sol +304 -0
  232. package/contracts/web3call/configure-hooks/{abstractPMPConfigureHook.sol → AbstractPMPConfigureHook.sol} +1 -1
  233. package/contracts/web3call/configure-hooks/PMPConfigureLockHook.sol +107 -0
  234. package/package.json +40 -25
@@ -229,8 +229,8 @@
229
229
  "type": "function"
230
230
  }
231
231
  ],
232
- "bytecode": "0x60806040526005805461ff001916905534801561001b57600080fd5b506107da8061002b6000396000f3fe608060405234801561001057600080fd5b506004361061008e5760003560e01c806301ffc9a7146100935780632af81d3a146100bb5780632fd82f2b146100c8578063507725b7146100dd578063677e7135146101085780636813d7871461011d57806377d8a39d1461014557806387f296641461015c578063d3072d8214610164578063f84ddf0b14610176575b600080fd5b6100a66100a1366004610369565b61017f565b60405190151581526020015b60405180910390f35b6005546100a69060ff1681565b6100d06101b6565b6040516100b291906103e0565b6000546100f0906001600160a01b031681565b6040516001600160a01b0390911681526020016100b2565b61011b6101163660046104d2565b610244565b005b61011b61012b3660046105be565b600580549115156101000261ff0019909216919091179055565b61014e60035481565b6040519081526020016100b2565b6100d061035c565b6005546100a690610100900460ff1681565b61014e60015481565b60006001600160e01b0319821663677e713560e01b14806101b057506301ffc9a760e01b6001600160e01b03198316145b92915050565b600280546101c3906105d9565b80601f01602080910402602001604051908101604052809291908181526020018280546101ef906105d9565b801561023c5780601f106102115761010080835404028352916020019161023c565b820191906000526020600020905b81548152906001019060200180831161021f57829003601f168201915b505050505081565b600080546001600160a01b0319166001600160a01b038516179055600182905580516002906102739082610663565b506040810151600355608081015160049061028e9082610663565b5060608101516005805460ff191691151591909117905560405182906001600160a01b038516907f979de810211e673a83a4a16a5c73e96c3cebadd4648f237c6dcbf8a5ea106ec2906102e2908590610722565b60405180910390a3600554610100900460ff16156103575760405162461bcd60e51b815260206004820152602860248201527f4d6f636b504d50436f6e666967757265486f6f6b3a20496e74656e74696f6e616044820152671b081c995d995c9d60c21b606482015260840160405180910390fd5b505050565b600480546101c3906105d9565b60006020828403121561037b57600080fd5b81356001600160e01b03198116811461039357600080fd5b9392505050565b6000815180845260005b818110156103c0576020818501810151868301820152016103a4565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610393602083018461039a565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b038111828210171561042b5761042b6103f3565b60405290565b600082601f83011261044257600080fd5b81356001600160401b038082111561045c5761045c6103f3565b604051601f8301601f19908116603f01168101908282118183101715610484576104846103f3565b8160405283815286602085880101111561049d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803580151581146104cd57600080fd5b919050565b6000806000606084860312156104e757600080fd5b83356001600160a01b03811681146104fe57600080fd5b92506020840135915060408401356001600160401b038082111561052157600080fd5b9085019060a0828803121561053557600080fd5b61053d610409565b82358281111561054c57600080fd5b61055889828601610431565b82525060208301356009811061056d57600080fd5b602082015260408381013590820152610588606084016104bd565b606082015260808301358281111561059f57600080fd5b6105ab89828601610431565b6080830152508093505050509250925092565b6000602082840312156105d057600080fd5b610393826104bd565b600181811c908216806105ed57607f821691505b60208210810361060d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610357576000816000526020600020601f850160051c8101602086101561063c5750805b601f850160051c820191505b8181101561065b57828155600101610648565b505050505050565b81516001600160401b0381111561067c5761067c6103f3565b6106908161068a84546105d9565b84610613565b602080601f8311600181146106c557600084156106ad5750858301515b600019600386901b1c1916600185901b17855561065b565b600085815260208120601f198616915b828110156106f4578886015182559484019460019091019084016106d5565b50858210156107125787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000825160a0602084015261073e60c084018261039a565b905060208401516009811061076357634e487b7160e01b600052602160045260246000fd5b80604085015250604084015160608401526060840151151560808401526080840151601f198483030160a085015261079b828261039a565b9594505050505056fea2646970667358221220130264441a9b27042757bbbf4badfd8894ec04c0242a40651948f0e52d8b5c1064736f6c63430008160033",
233
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061008e5760003560e01c806301ffc9a7146100935780632af81d3a146100bb5780632fd82f2b146100c8578063507725b7146100dd578063677e7135146101085780636813d7871461011d57806377d8a39d1461014557806387f296641461015c578063d3072d8214610164578063f84ddf0b14610176575b600080fd5b6100a66100a1366004610369565b61017f565b60405190151581526020015b60405180910390f35b6005546100a69060ff1681565b6100d06101b6565b6040516100b291906103e0565b6000546100f0906001600160a01b031681565b6040516001600160a01b0390911681526020016100b2565b61011b6101163660046104d2565b610244565b005b61011b61012b3660046105be565b600580549115156101000261ff0019909216919091179055565b61014e60035481565b6040519081526020016100b2565b6100d061035c565b6005546100a690610100900460ff1681565b61014e60015481565b60006001600160e01b0319821663677e713560e01b14806101b057506301ffc9a760e01b6001600160e01b03198316145b92915050565b600280546101c3906105d9565b80601f01602080910402602001604051908101604052809291908181526020018280546101ef906105d9565b801561023c5780601f106102115761010080835404028352916020019161023c565b820191906000526020600020905b81548152906001019060200180831161021f57829003601f168201915b505050505081565b600080546001600160a01b0319166001600160a01b038516179055600182905580516002906102739082610663565b506040810151600355608081015160049061028e9082610663565b5060608101516005805460ff191691151591909117905560405182906001600160a01b038516907f979de810211e673a83a4a16a5c73e96c3cebadd4648f237c6dcbf8a5ea106ec2906102e2908590610722565b60405180910390a3600554610100900460ff16156103575760405162461bcd60e51b815260206004820152602860248201527f4d6f636b504d50436f6e666967757265486f6f6b3a20496e74656e74696f6e616044820152671b081c995d995c9d60c21b606482015260840160405180910390fd5b505050565b600480546101c3906105d9565b60006020828403121561037b57600080fd5b81356001600160e01b03198116811461039357600080fd5b9392505050565b6000815180845260005b818110156103c0576020818501810151868301820152016103a4565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610393602083018461039a565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b038111828210171561042b5761042b6103f3565b60405290565b600082601f83011261044257600080fd5b81356001600160401b038082111561045c5761045c6103f3565b604051601f8301601f19908116603f01168101908282118183101715610484576104846103f3565b8160405283815286602085880101111561049d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803580151581146104cd57600080fd5b919050565b6000806000606084860312156104e757600080fd5b83356001600160a01b03811681146104fe57600080fd5b92506020840135915060408401356001600160401b038082111561052157600080fd5b9085019060a0828803121561053557600080fd5b61053d610409565b82358281111561054c57600080fd5b61055889828601610431565b82525060208301356009811061056d57600080fd5b602082015260408381013590820152610588606084016104bd565b606082015260808301358281111561059f57600080fd5b6105ab89828601610431565b6080830152508093505050509250925092565b6000602082840312156105d057600080fd5b610393826104bd565b600181811c908216806105ed57607f821691505b60208210810361060d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610357576000816000526020600020601f850160051c8101602086101561063c5750805b601f850160051c820191505b8181101561065b57828155600101610648565b505050505050565b81516001600160401b0381111561067c5761067c6103f3565b6106908161068a84546105d9565b84610613565b602080601f8311600181146106c557600084156106ad5750858301515b600019600386901b1c1916600185901b17855561065b565b600085815260208120601f198616915b828110156106f4578886015182559484019460019091019084016106d5565b50858210156107125787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000825160a0602084015261073e60c084018261039a565b905060208401516009811061076357634e487b7160e01b600052602160045260246000fd5b80604085015250604084015160608401526060840151151560808401526080840151601f198483030160a085015261079b828261039a565b9594505050505056fea2646970667358221220130264441a9b27042757bbbf4badfd8894ec04c0242a40651948f0e52d8b5c1064736f6c63430008160033",
232
+ "bytecode": "0x60806040526005805461ff001916905534801561001b57600080fd5b506107da8061002b6000396000f3fe608060405234801561001057600080fd5b506004361061008e5760003560e01c806301ffc9a7146100935780632af81d3a146100bb5780632fd82f2b146100c8578063507725b7146100dd578063677e7135146101085780636813d7871461011d57806377d8a39d1461014557806387f296641461015c578063d3072d8214610164578063f84ddf0b14610176575b600080fd5b6100a66100a1366004610369565b61017f565b60405190151581526020015b60405180910390f35b6005546100a69060ff1681565b6100d06101b6565b6040516100b291906103e0565b6000546100f0906001600160a01b031681565b6040516001600160a01b0390911681526020016100b2565b61011b6101163660046104d2565b610244565b005b61011b61012b3660046105be565b600580549115156101000261ff0019909216919091179055565b61014e60035481565b6040519081526020016100b2565b6100d061035c565b6005546100a690610100900460ff1681565b61014e60015481565b60006001600160e01b0319821663677e713560e01b14806101b057506301ffc9a760e01b6001600160e01b03198316145b92915050565b600280546101c3906105d9565b80601f01602080910402602001604051908101604052809291908181526020018280546101ef906105d9565b801561023c5780601f106102115761010080835404028352916020019161023c565b820191906000526020600020905b81548152906001019060200180831161021f57829003601f168201915b505050505081565b600080546001600160a01b0319166001600160a01b038516179055600182905580516002906102739082610663565b506040810151600355608081015160049061028e9082610663565b5060608101516005805460ff191691151591909117905560405182906001600160a01b038516907f979de810211e673a83a4a16a5c73e96c3cebadd4648f237c6dcbf8a5ea106ec2906102e2908590610722565b60405180910390a3600554610100900460ff16156103575760405162461bcd60e51b815260206004820152602860248201527f4d6f636b504d50436f6e666967757265486f6f6b3a20496e74656e74696f6e616044820152671b081c995d995c9d60c21b606482015260840160405180910390fd5b505050565b600480546101c3906105d9565b60006020828403121561037b57600080fd5b81356001600160e01b03198116811461039357600080fd5b9392505050565b6000815180845260005b818110156103c0576020818501810151868301820152016103a4565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610393602083018461039a565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b038111828210171561042b5761042b6103f3565b60405290565b600082601f83011261044257600080fd5b81356001600160401b038082111561045c5761045c6103f3565b604051601f8301601f19908116603f01168101908282118183101715610484576104846103f3565b8160405283815286602085880101111561049d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803580151581146104cd57600080fd5b919050565b6000806000606084860312156104e757600080fd5b83356001600160a01b03811681146104fe57600080fd5b92506020840135915060408401356001600160401b038082111561052157600080fd5b9085019060a0828803121561053557600080fd5b61053d610409565b82358281111561054c57600080fd5b61055889828601610431565b82525060208301356009811061056d57600080fd5b602082015260408381013590820152610588606084016104bd565b606082015260808301358281111561059f57600080fd5b6105ab89828601610431565b6080830152508093505050509250925092565b6000602082840312156105d057600080fd5b610393826104bd565b600181811c908216806105ed57607f821691505b60208210810361060d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610357576000816000526020600020601f850160051c8101602086101561063c5750805b601f850160051c820191505b8181101561065b57828155600101610648565b505050505050565b81516001600160401b0381111561067c5761067c6103f3565b6106908161068a84546105d9565b84610613565b602080601f8311600181146106c557600084156106ad5750858301515b600019600386901b1c1916600185901b17855561065b565b600085815260208120601f198616915b828110156106f4578886015182559484019460019091019084016106d5565b50858210156107125787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000825160a0602084015261073e60c084018261039a565b905060208401516009811061076357634e487b7160e01b600052602160045260246000fd5b80604085015250604084015160608401526060840151151560808401526080840151601f198483030160a085015261079b828261039a565b9594505050505056fea2646970667358221220b4b492679461920c3e2de926a4b97ef4f558e1aadd1a3da6d998c6715ff31d7364736f6c63430008160033",
233
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061008e5760003560e01c806301ffc9a7146100935780632af81d3a146100bb5780632fd82f2b146100c8578063507725b7146100dd578063677e7135146101085780636813d7871461011d57806377d8a39d1461014557806387f296641461015c578063d3072d8214610164578063f84ddf0b14610176575b600080fd5b6100a66100a1366004610369565b61017f565b60405190151581526020015b60405180910390f35b6005546100a69060ff1681565b6100d06101b6565b6040516100b291906103e0565b6000546100f0906001600160a01b031681565b6040516001600160a01b0390911681526020016100b2565b61011b6101163660046104d2565b610244565b005b61011b61012b3660046105be565b600580549115156101000261ff0019909216919091179055565b61014e60035481565b6040519081526020016100b2565b6100d061035c565b6005546100a690610100900460ff1681565b61014e60015481565b60006001600160e01b0319821663677e713560e01b14806101b057506301ffc9a760e01b6001600160e01b03198316145b92915050565b600280546101c3906105d9565b80601f01602080910402602001604051908101604052809291908181526020018280546101ef906105d9565b801561023c5780601f106102115761010080835404028352916020019161023c565b820191906000526020600020905b81548152906001019060200180831161021f57829003601f168201915b505050505081565b600080546001600160a01b0319166001600160a01b038516179055600182905580516002906102739082610663565b506040810151600355608081015160049061028e9082610663565b5060608101516005805460ff191691151591909117905560405182906001600160a01b038516907f979de810211e673a83a4a16a5c73e96c3cebadd4648f237c6dcbf8a5ea106ec2906102e2908590610722565b60405180910390a3600554610100900460ff16156103575760405162461bcd60e51b815260206004820152602860248201527f4d6f636b504d50436f6e666967757265486f6f6b3a20496e74656e74696f6e616044820152671b081c995d995c9d60c21b606482015260840160405180910390fd5b505050565b600480546101c3906105d9565b60006020828403121561037b57600080fd5b81356001600160e01b03198116811461039357600080fd5b9392505050565b6000815180845260005b818110156103c0576020818501810151868301820152016103a4565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610393602083018461039a565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b038111828210171561042b5761042b6103f3565b60405290565b600082601f83011261044257600080fd5b81356001600160401b038082111561045c5761045c6103f3565b604051601f8301601f19908116603f01168101908282118183101715610484576104846103f3565b8160405283815286602085880101111561049d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803580151581146104cd57600080fd5b919050565b6000806000606084860312156104e757600080fd5b83356001600160a01b03811681146104fe57600080fd5b92506020840135915060408401356001600160401b038082111561052157600080fd5b9085019060a0828803121561053557600080fd5b61053d610409565b82358281111561054c57600080fd5b61055889828601610431565b82525060208301356009811061056d57600080fd5b602082015260408381013590820152610588606084016104bd565b606082015260808301358281111561059f57600080fd5b6105ab89828601610431565b6080830152508093505050509250925092565b6000602082840312156105d057600080fd5b610393826104bd565b600181811c908216806105ed57607f821691505b60208210810361060d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610357576000816000526020600020601f850160051c8101602086101561063c5750805b601f850160051c820191505b8181101561065b57828155600101610648565b505050505050565b81516001600160401b0381111561067c5761067c6103f3565b6106908161068a84546105d9565b84610613565b602080601f8311600181146106c557600084156106ad5750858301515b600019600386901b1c1916600185901b17855561065b565b600085815260208120601f198616915b828110156106f4578886015182559484019460019091019084016106d5565b50858210156107125787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000825160a0602084015261073e60c084018261039a565b905060208401516009811061076357634e487b7160e01b600052602160045260246000fd5b80604085015250604084015160608401526060840151151560808401526080840151601f198483030160a085015261079b828261039a565b9594505050505056fea2646970667358221220b4b492679461920c3e2de926a4b97ef4f558e1aadd1a3da6d998c6715ff31d7364736f6c63430008160033",
234
234
  "linkReferences": {},
235
235
  "deployedLinkReferences": {}
236
236
  }
@@ -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
+ }