@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
@@ -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
+ }
@@ -121,8 +121,8 @@
121
121
  "type": "function"
122
122
  }
123
123
  ],
124
- "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6104918061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100785760003560e01c8063471f23d11461007d578063715018a6146100925780638da5cb5b1461009a578063b628171a146100be578063b7bc7356146100cf578063e19133e2146100e2578063eaa76157146100f5578063f2fde38b14610108575b600080fd5b61009061008b3660046103ae565b61011b565b005b61009061018d565b6100a26101a1565b6040516001600160a01b03909116815260200160405180910390f35b6100906100cc3660046103ae565b50565b6100906100dd3660046103ae565b6101b0565b6001546100a2906001600160a01b031681565b6100906101033660046103c7565b6101e5565b6100906101163660046103c7565b610217565b600061012682610292565b60015460405161078f60e21b815260048101859052602481018390529192506001600160a01b031690611e3c906044015b600060405180830381600087803b15801561017157600080fd5b505af1158015610185573d6000803e3d6000fd5b505050505050565b6101956102ff565b61019f600061035e565b565b6000546001600160a01b031690565b60015460405161078f60e21b815260048101839052600060248201819052916001600160a01b031690611e3c90604401610157565b6101ed6102ff565b6101f561018d565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61021f6102ff565b6001600160a01b0381166102895760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6100cc8161035e565b60004282436102a260018261040d565b40836102af60c882610426565b6102ba906001610448565b6040805160208101969096528501939093526060840191909152608083015260a082015260c00160405160208183030381529060405280519060200120915050919050565b336103086101a1565b6001600160a01b03161461019f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610280565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156103c057600080fd5b5035919050565b6000602082840312156103d957600080fd5b81356001600160a01b03811681146103f057600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610420576104206103f7565b92915050565b60008261044357634e487b7160e01b600052601260045260246000fd5b500690565b80820180821115610420576104206103f756fea264697066735822122084896d3a2e48acb7afdbbd076c4a9e76624cdbc7d0e9549aa65c62fe7a38f9e664736f6c63430008130033",
125
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100785760003560e01c8063471f23d11461007d578063715018a6146100925780638da5cb5b1461009a578063b628171a146100be578063b7bc7356146100cf578063e19133e2146100e2578063eaa76157146100f5578063f2fde38b14610108575b600080fd5b61009061008b3660046103ae565b61011b565b005b61009061018d565b6100a26101a1565b6040516001600160a01b03909116815260200160405180910390f35b6100906100cc3660046103ae565b50565b6100906100dd3660046103ae565b6101b0565b6001546100a2906001600160a01b031681565b6100906101033660046103c7565b6101e5565b6100906101163660046103c7565b610217565b600061012682610292565b60015460405161078f60e21b815260048101859052602481018390529192506001600160a01b031690611e3c906044015b600060405180830381600087803b15801561017157600080fd5b505af1158015610185573d6000803e3d6000fd5b505050505050565b6101956102ff565b61019f600061035e565b565b6000546001600160a01b031690565b60015460405161078f60e21b815260048101839052600060248201819052916001600160a01b031690611e3c90604401610157565b6101ed6102ff565b6101f561018d565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61021f6102ff565b6001600160a01b0381166102895760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6100cc8161035e565b60004282436102a260018261040d565b40836102af60c882610426565b6102ba906001610448565b6040805160208101969096528501939093526060840191909152608083015260a082015260c00160405160208183030381529060405280519060200120915050919050565b336103086101a1565b6001600160a01b03161461019f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610280565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156103c057600080fd5b5035919050565b6000602082840312156103d957600080fd5b81356001600160a01b03811681146103f057600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610420576104206103f7565b92915050565b60008261044357634e487b7160e01b600052601260045260246000fd5b500690565b80820180821115610420576104206103f756fea264697066735822122084896d3a2e48acb7afdbbd076c4a9e76624cdbc7d0e9549aa65c62fe7a38f9e664736f6c63430008130033",
124
+ "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6104918061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100785760003560e01c8063471f23d11461007d578063715018a6146100925780638da5cb5b1461009a578063b628171a146100be578063b7bc7356146100cf578063e19133e2146100e2578063eaa76157146100f5578063f2fde38b14610108575b600080fd5b61009061008b3660046103ae565b61011b565b005b61009061018d565b6100a26101a1565b6040516001600160a01b03909116815260200160405180910390f35b6100906100cc3660046103ae565b50565b6100906100dd3660046103ae565b6101b0565b6001546100a2906001600160a01b031681565b6100906101033660046103c7565b6101e5565b6100906101163660046103c7565b610217565b600061012682610292565b60015460405161078f60e21b815260048101859052602481018390529192506001600160a01b031690611e3c906044015b600060405180830381600087803b15801561017157600080fd5b505af1158015610185573d6000803e3d6000fd5b505050505050565b6101956102ff565b61019f600061035e565b565b6000546001600160a01b031690565b60015460405161078f60e21b815260048101839052600060248201819052916001600160a01b031690611e3c90604401610157565b6101ed6102ff565b6101f561018d565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61021f6102ff565b6001600160a01b0381166102895760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6100cc8161035e565b60004282436102a260018261040d565b40836102af60c882610426565b6102ba906001610448565b6040805160208101969096528501939093526060840191909152608083015260a082015260c00160405160208183030381529060405280519060200120915050919050565b336103086101a1565b6001600160a01b03161461019f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610280565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156103c057600080fd5b5035919050565b6000602082840312156103d957600080fd5b81356001600160a01b03811681146103f057600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610420576104206103f7565b92915050565b60008261044357634e487b7160e01b600052601260045260246000fd5b500690565b80820180821115610420576104206103f756fea2646970667358221220f0d8f212b17c43bbabc159e4580c115529ab94f21716d8ae205119fad50ab69b64736f6c63430008130033",
125
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100785760003560e01c8063471f23d11461007d578063715018a6146100925780638da5cb5b1461009a578063b628171a146100be578063b7bc7356146100cf578063e19133e2146100e2578063eaa76157146100f5578063f2fde38b14610108575b600080fd5b61009061008b3660046103ae565b61011b565b005b61009061018d565b6100a26101a1565b6040516001600160a01b03909116815260200160405180910390f35b6100906100cc3660046103ae565b50565b6100906100dd3660046103ae565b6101b0565b6001546100a2906001600160a01b031681565b6100906101033660046103c7565b6101e5565b6100906101163660046103c7565b610217565b600061012682610292565b60015460405161078f60e21b815260048101859052602481018390529192506001600160a01b031690611e3c906044015b600060405180830381600087803b15801561017157600080fd5b505af1158015610185573d6000803e3d6000fd5b505050505050565b6101956102ff565b61019f600061035e565b565b6000546001600160a01b031690565b60015460405161078f60e21b815260048101839052600060248201819052916001600160a01b031690611e3c90604401610157565b6101ed6102ff565b6101f561018d565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61021f6102ff565b6001600160a01b0381166102895760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6100cc8161035e565b60004282436102a260018261040d565b40836102af60c882610426565b6102ba906001610448565b6040805160208101969096528501939093526060840191909152608083015260a082015260c00160405160208183030381529060405280519060200120915050919050565b336103086101a1565b6001600160a01b03161461019f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610280565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156103c057600080fd5b5035919050565b6000602082840312156103d957600080fd5b81356001600160a01b03811681146103f057600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610420576104206103f7565b92915050565b60008261044357634e487b7160e01b600052601260045260246000fd5b500690565b80820180821115610420576104206103f756fea2646970667358221220f0d8f212b17c43bbabc159e4580c115529ab94f21716d8ae205119fad50ab69b64736f6c63430008130033",
126
126
  "linkReferences": {},
127
127
  "deployedLinkReferences": {}
128
128
  }
@@ -0,0 +1,64 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "IBatchMinter",
4
+ "sourceName": "contracts/mock/ReentrancyBatchMockShared.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "uint256",
10
+ "name": "projectId",
11
+ "type": "uint256"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "coreContract",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "name": "purchase",
20
+ "outputs": [
21
+ {
22
+ "internalType": "uint256",
23
+ "name": "tokenId",
24
+ "type": "uint256"
25
+ }
26
+ ],
27
+ "stateMutability": "payable",
28
+ "type": "function"
29
+ },
30
+ {
31
+ "inputs": [
32
+ {
33
+ "internalType": "uint256",
34
+ "name": "projectId",
35
+ "type": "uint256"
36
+ },
37
+ {
38
+ "internalType": "address",
39
+ "name": "coreContract",
40
+ "type": "address"
41
+ },
42
+ {
43
+ "internalType": "uint24",
44
+ "name": "quantity",
45
+ "type": "uint24"
46
+ }
47
+ ],
48
+ "name": "purchaseMultiple",
49
+ "outputs": [
50
+ {
51
+ "internalType": "uint256[]",
52
+ "name": "tokenIds",
53
+ "type": "uint256[]"
54
+ }
55
+ ],
56
+ "stateMutability": "payable",
57
+ "type": "function"
58
+ }
59
+ ],
60
+ "bytecode": "0x",
61
+ "deployedBytecode": "0x",
62
+ "linkReferences": {},
63
+ "deployedLinkReferences": {}
64
+ }
@@ -0,0 +1,113 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ReentrancyBatchMockShared",
4
+ "sourceName": "contracts/mock/ReentrancyBatchMockShared.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_minterContractAddress",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "_projectId",
16
+ "type": "uint256"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "_coreContract",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "uint24",
25
+ "name": "_quantity",
26
+ "type": "uint24"
27
+ },
28
+ {
29
+ "internalType": "uint256",
30
+ "name": "_priceToPay",
31
+ "type": "uint256"
32
+ }
33
+ ],
34
+ "name": "attackBatch",
35
+ "outputs": [],
36
+ "stateMutability": "payable",
37
+ "type": "function"
38
+ },
39
+ {
40
+ "inputs": [],
41
+ "name": "currentCoreContract",
42
+ "outputs": [
43
+ {
44
+ "internalType": "address",
45
+ "name": "",
46
+ "type": "address"
47
+ }
48
+ ],
49
+ "stateMutability": "view",
50
+ "type": "function"
51
+ },
52
+ {
53
+ "inputs": [],
54
+ "name": "currentMinter",
55
+ "outputs": [
56
+ {
57
+ "internalType": "address",
58
+ "name": "",
59
+ "type": "address"
60
+ }
61
+ ],
62
+ "stateMutability": "view",
63
+ "type": "function"
64
+ },
65
+ {
66
+ "inputs": [],
67
+ "name": "currentPriceToPay",
68
+ "outputs": [
69
+ {
70
+ "internalType": "uint256",
71
+ "name": "",
72
+ "type": "uint256"
73
+ }
74
+ ],
75
+ "stateMutability": "view",
76
+ "type": "function"
77
+ },
78
+ {
79
+ "inputs": [],
80
+ "name": "currentProjectId",
81
+ "outputs": [
82
+ {
83
+ "internalType": "uint256",
84
+ "name": "",
85
+ "type": "uint256"
86
+ }
87
+ ],
88
+ "stateMutability": "view",
89
+ "type": "function"
90
+ },
91
+ {
92
+ "inputs": [],
93
+ "name": "shouldReenter",
94
+ "outputs": [
95
+ {
96
+ "internalType": "bool",
97
+ "name": "",
98
+ "type": "bool"
99
+ }
100
+ ],
101
+ "stateMutability": "view",
102
+ "type": "function"
103
+ },
104
+ {
105
+ "stateMutability": "payable",
106
+ "type": "receive"
107
+ }
108
+ ],
109
+ "bytecode": "0x608060405234801561001057600080fd5b5061043f806100206000396000f3fe6080604052600436106100595760003560e01c80632969be22146101095780635ebbb8dd146101325780639bac6e8d14610145578063a32f420f1461017d578063db3bc7c114610193578063ea51bc14146101b357600080fd5b366101045760045460ff1615610102576004805460ff1916815560025460035460005460015460405163ae77c23760e01b81526001600160a01b039485169563ae77c237956100bd94931691019182526001600160a01b0316602082015260400190565b60206040518083038185885af11580156100db573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061010091906102a2565b505b005b600080fd5b34801561011557600080fd5b5061011f60005481565b6040519081526020015b60405180910390f35b6101026101403660046102d7565b6101dd565b34801561015157600080fd5b50600254610165906001600160a01b031681565b6040516001600160a01b039091168152602001610129565b34801561018957600080fd5b5061011f60035481565b34801561019f57600080fd5b50600154610165906001600160a01b031681565b3480156101bf57600080fd5b506004546101cd9060ff1681565b6040519015158152602001610129565b6000849055600180546001600160a01b03199081166001600160a01b0386811691821784556002805490931690891690811790925560038490556004805460ff1916909317835560405163de7599ed60e01b8152928301879052602483015262ffffff841660448301529063de7599ed90349060640160006040518083038185885af1158015610271573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f1916820160405261029a919081019061034c565b505050505050565b6000602082840312156102b457600080fd5b5051919050565b80356001600160a01b03811681146102d257600080fd5b919050565b600080600080600060a086880312156102ef57600080fd5b6102f8866102bb565b94506020860135935061030d604087016102bb565b9250606086013562ffffff8116811461032557600080fd5b949793965091946080013592915050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561035f57600080fd5b82516001600160401b038082111561037657600080fd5b818501915085601f83011261038a57600080fd5b81518181111561039c5761039c610336565b8060051b604051601f19603f830116810181811085821117156103c1576103c1610336565b6040529182528482019250838101850191888311156103df57600080fd5b938501935b828510156103fd578451845293850193928501926103e4565b9897505050505050505056fea26469706673582212200135a75dbb102df19d8e4ed826ce35465fc77360b94c17e647d74d47b750770064736f6c63430008160033",
110
+ "deployedBytecode": "0x6080604052600436106100595760003560e01c80632969be22146101095780635ebbb8dd146101325780639bac6e8d14610145578063a32f420f1461017d578063db3bc7c114610193578063ea51bc14146101b357600080fd5b366101045760045460ff1615610102576004805460ff1916815560025460035460005460015460405163ae77c23760e01b81526001600160a01b039485169563ae77c237956100bd94931691019182526001600160a01b0316602082015260400190565b60206040518083038185885af11580156100db573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061010091906102a2565b505b005b600080fd5b34801561011557600080fd5b5061011f60005481565b6040519081526020015b60405180910390f35b6101026101403660046102d7565b6101dd565b34801561015157600080fd5b50600254610165906001600160a01b031681565b6040516001600160a01b039091168152602001610129565b34801561018957600080fd5b5061011f60035481565b34801561019f57600080fd5b50600154610165906001600160a01b031681565b3480156101bf57600080fd5b506004546101cd9060ff1681565b6040519015158152602001610129565b6000849055600180546001600160a01b03199081166001600160a01b0386811691821784556002805490931690891690811790925560038490556004805460ff1916909317835560405163de7599ed60e01b8152928301879052602483015262ffffff841660448301529063de7599ed90349060640160006040518083038185885af1158015610271573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f1916820160405261029a919081019061034c565b505050505050565b6000602082840312156102b457600080fd5b5051919050565b80356001600160a01b03811681146102d257600080fd5b919050565b600080600080600060a086880312156102ef57600080fd5b6102f8866102bb565b94506020860135935061030d604087016102bb565b9250606086013562ffffff8116811461032557600080fd5b949793965091946080013592915050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561035f57600080fd5b82516001600160401b038082111561037657600080fd5b818501915085601f83011261038a57600080fd5b81518181111561039c5761039c610336565b8060051b604051601f19603f830116810181811085821117156103c1576103c1610336565b6040529182528482019250838101850191888311156103df57600080fd5b938501935b828510156103fd578451845293850193928501926103e4565b9897505050505050505056fea26469706673582212200135a75dbb102df19d8e4ed826ce35465fc77360b94c17e647d74d47b750770064736f6c63430008160033",
111
+ "linkReferences": {},
112
+ "deployedLinkReferences": {}
113
+ }
@@ -0,0 +1,74 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MockTarget",
4
+ "sourceName": "contracts/mock/RelayExecutorTestHelper.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "uint256",
12
+ "name": "val",
13
+ "type": "uint256"
14
+ }
15
+ ],
16
+ "name": "Called",
17
+ "type": "event"
18
+ },
19
+ {
20
+ "inputs": [],
21
+ "name": "alwaysReverts",
22
+ "outputs": [],
23
+ "stateMutability": "pure",
24
+ "type": "function"
25
+ },
26
+ {
27
+ "inputs": [],
28
+ "name": "lastCaller",
29
+ "outputs": [
30
+ {
31
+ "internalType": "address",
32
+ "name": "",
33
+ "type": "address"
34
+ }
35
+ ],
36
+ "stateMutability": "view",
37
+ "type": "function"
38
+ },
39
+ {
40
+ "inputs": [
41
+ {
42
+ "internalType": "uint256",
43
+ "name": "val",
44
+ "type": "uint256"
45
+ }
46
+ ],
47
+ "name": "setValue",
48
+ "outputs": [],
49
+ "stateMutability": "payable",
50
+ "type": "function"
51
+ },
52
+ {
53
+ "inputs": [],
54
+ "name": "value",
55
+ "outputs": [
56
+ {
57
+ "internalType": "uint256",
58
+ "name": "",
59
+ "type": "uint256"
60
+ }
61
+ ],
62
+ "stateMutability": "view",
63
+ "type": "function"
64
+ },
65
+ {
66
+ "stateMutability": "payable",
67
+ "type": "receive"
68
+ }
69
+ ],
70
+ "bytecode": "0x608060405234801561001057600080fd5b506101c5806100206000396000f3fe6080604052600436106100435760003560e01c80632113522a1461004f5780633fa4f2451461008c57806355241077146100b0578063b4f5537d146100c557600080fd5b3661004a57005b600080fd5b34801561005b57600080fd5b5060015461006f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561009857600080fd5b506100a260005481565b604051908152602001610083565b6100c36100be366004610176565b6100da565b005b3480156100d157600080fd5b506100c361012e565b6000819055600180546001600160a01b031916331790556040517ffea238a9794376fb3707dbbabe56f0fad5e4110a7839485387c458f2d1aa5d50906101239083815260200190565b60405180910390a150565b60405162461bcd60e51b8152602060048201526019602482015278135bd8dad5185c99d95d0e88199bdc98d959081c995d995c9d603a1b604482015260640160405180910390fd5b60006020828403121561018857600080fd5b503591905056fea2646970667358221220640d96b1fb4f3b1dd5f6dcd585b0449f36a2e74c0100469cf9a3998488f9914364736f6c63430008160033",
71
+ "deployedBytecode": "0x6080604052600436106100435760003560e01c80632113522a1461004f5780633fa4f2451461008c57806355241077146100b0578063b4f5537d146100c557600080fd5b3661004a57005b600080fd5b34801561005b57600080fd5b5060015461006f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561009857600080fd5b506100a260005481565b604051908152602001610083565b6100c36100be366004610176565b6100da565b005b3480156100d157600080fd5b506100c361012e565b6000819055600180546001600160a01b031916331790556040517ffea238a9794376fb3707dbbabe56f0fad5e4110a7839485387c458f2d1aa5d50906101239083815260200190565b60405180910390a150565b60405162461bcd60e51b8152602060048201526019602482015278135bd8dad5185c99d95d0e88199bdc98d959081c995d995c9d603a1b604482015260640160405180910390fd5b60006020828403121561018857600080fd5b503591905056fea2646970667358221220640d96b1fb4f3b1dd5f6dcd585b0449f36a2e74c0100469cf9a3998488f9914364736f6c63430008160033",
72
+ "linkReferences": {},
73
+ "deployedLinkReferences": {}
74
+ }
@@ -0,0 +1,138 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "RelayExecutorPartialRevertsTestHelper",
4
+ "sourceName": "contracts/mock/RelayExecutorTestHelper.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "BatchOfBatchesDecodingError",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "FnSelectorNotRecognized",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [],
18
+ "name": "UnsupportedExecutionMode",
19
+ "type": "error"
20
+ },
21
+ {
22
+ "anonymous": false,
23
+ "inputs": [],
24
+ "name": "BundleExecuted",
25
+ "type": "event"
26
+ },
27
+ {
28
+ "anonymous": false,
29
+ "inputs": [
30
+ {
31
+ "indexed": false,
32
+ "internalType": "uint256",
33
+ "name": "bundleIndex",
34
+ "type": "uint256"
35
+ },
36
+ {
37
+ "indexed": false,
38
+ "internalType": "bytes",
39
+ "name": "reason",
40
+ "type": "bytes"
41
+ }
42
+ ],
43
+ "name": "BundleFailed",
44
+ "type": "event"
45
+ },
46
+ {
47
+ "stateMutability": "payable",
48
+ "type": "fallback"
49
+ },
50
+ {
51
+ "inputs": [
52
+ {
53
+ "internalType": "bytes32",
54
+ "name": "mode",
55
+ "type": "bytes32"
56
+ },
57
+ {
58
+ "internalType": "bytes",
59
+ "name": "executionData",
60
+ "type": "bytes"
61
+ }
62
+ ],
63
+ "name": "execute",
64
+ "outputs": [],
65
+ "stateMutability": "payable",
66
+ "type": "function"
67
+ },
68
+ {
69
+ "inputs": [
70
+ {
71
+ "internalType": "bytes32",
72
+ "name": "hash",
73
+ "type": "bytes32"
74
+ },
75
+ {
76
+ "internalType": "bytes",
77
+ "name": "signature",
78
+ "type": "bytes"
79
+ }
80
+ ],
81
+ "name": "isValidSignature",
82
+ "outputs": [
83
+ {
84
+ "internalType": "bytes4",
85
+ "name": "result",
86
+ "type": "bytes4"
87
+ }
88
+ ],
89
+ "stateMutability": "view",
90
+ "type": "function"
91
+ },
92
+ {
93
+ "inputs": [
94
+ {
95
+ "internalType": "bytes32",
96
+ "name": "mode",
97
+ "type": "bytes32"
98
+ },
99
+ {
100
+ "internalType": "bytes",
101
+ "name": "executionData",
102
+ "type": "bytes"
103
+ }
104
+ ],
105
+ "name": "selfExecute",
106
+ "outputs": [],
107
+ "stateMutability": "nonpayable",
108
+ "type": "function"
109
+ },
110
+ {
111
+ "inputs": [
112
+ {
113
+ "internalType": "bytes32",
114
+ "name": "mode",
115
+ "type": "bytes32"
116
+ }
117
+ ],
118
+ "name": "supportsExecutionMode",
119
+ "outputs": [
120
+ {
121
+ "internalType": "bool",
122
+ "name": "result",
123
+ "type": "bool"
124
+ }
125
+ ],
126
+ "stateMutability": "view",
127
+ "type": "function"
128
+ },
129
+ {
130
+ "stateMutability": "payable",
131
+ "type": "receive"
132
+ }
133
+ ],
134
+ "bytecode": "0x608060405234801561001057600080fd5b506106aa806100206000396000f3fe6080604052600436106100435760003560e01c80631626ba7e1461008557806399c49080146100c3578063d03c7914146100e5578063e9ae5c53146101155761004a565b3661004a57005b60003560e01c63bc197c81811463f23a6e6182141763150b7a028214171561007657806020526020603cf35b50633c10b94e6000526004601cfd5b34801561009157600080fd5b506100a56100a0366004610553565b610128565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100cf57600080fd5b506100e36100de366004610553565b61015b565b005b3480156100f157600080fd5b506101056101003660046105ce565b6101b9565b60405190151581526020016100ba565b6100e3610123366004610553565b6101cc565b60008030610137868686610253565b6001600160a01b03161490508015600003631626ba7e1760e01b9150509392505050565b60405163e9ae5c5360e01b8152309063e9ae5c5390610182908690869086906004016105e7565b600060405180830381600087803b15801561019c57600080fd5b505af11580156101b0573d6000803e3d6000fd5b50505050505050565b60006101c4826102e1565b151592915050565b60006101d7846102e1565b9050806003036101f2576101ec848484610324565b50505050565b3660003660008461020b57637f1812756000526004601cfd5b50853580870160208101945035925060009060401160028614111561023a575050602080860135860190810190355b61024988888887878787610482565b5050505050505050565b6000604051826040811461026f576041811461029657506102cb565b60208581013560ff81901c601b0190915285356040526001600160ff1b03166060526102a8565b604085013560001a6020526040856040375b5084600052602060016080600060015afa5191506000606052806040523d6102d9575b638baa579f6000526004601cfd5b509392505050565b6003690100000000007821000260b09290921c69ffff00000000ffffffff16918214026901000000000078210001821460011b600160481b909214919091171790565b33301461033057600080fd5b600360b01b929092189181358083018035916020808301928686019291600586901b9091018101831090861017604082901c171561037657633995943b6000526004601cfd5b5060005b8381146101b0573660008260051b850135808601602081019350803592505084828401118160401c17156103b657633995943b6000526004601cfd5b5060405163e9ae5c5360e01b8152309063e9ae5c53906103de908c90869086906004016105e7565b600060405180830381600087803b1580156103f857600080fd5b505af1925050508015610409575060015b610478573d808015610437576040519150601f19603f3d011682016040523d82523d6000602084013e61043c565b606091505b507f51b0d29d57f6cf6b387e59b07521997626a7a4318afd6762fac2cb6a82867f53848260405161046e92919061061d565b60405180910390a1505b505060010161037a565b806104a45733301461049357600080fd5b61049f848460006104a9565b6101b0565b600080fd5b8160005b818110156104fe57600581901b850135850180356001600160a01b03168015300217906020808201359160408101350190810190356104ef848484848b61052e565b505050508060010190506104ad565b50506040517f3cd212f090a5afa720fa9d8b7cb228e36573798ebffb6530f847940f37bc1cd890600090a1505050565b604051828482376000388483888a5af161054b573d6000823e3d81fd5b505050505050565b60008060006040848603121561056857600080fd5b8335925060208401356001600160401b038082111561058657600080fd5b818601915086601f83011261059a57600080fd5b8135818111156105a957600080fd5b8760208285010111156105bb57600080fd5b6020830194508093505050509250925092565b6000602082840312156105e057600080fd5b5035919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b8281526000602060406020840152835180604085015260005b8181101561065257858101830151858201606001528201610636565b506000606082860101526060601f19601f83011685010192505050939250505056fea2646970667358221220606d7a30b3e3f8ff2ae4a8419fde4acbeecc5786fa5db4f9a9dec4e6d1a2aa0364736f6c63430008160033",
135
+ "deployedBytecode": "0x6080604052600436106100435760003560e01c80631626ba7e1461008557806399c49080146100c3578063d03c7914146100e5578063e9ae5c53146101155761004a565b3661004a57005b60003560e01c63bc197c81811463f23a6e6182141763150b7a028214171561007657806020526020603cf35b50633c10b94e6000526004601cfd5b34801561009157600080fd5b506100a56100a0366004610553565b610128565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100cf57600080fd5b506100e36100de366004610553565b61015b565b005b3480156100f157600080fd5b506101056101003660046105ce565b6101b9565b60405190151581526020016100ba565b6100e3610123366004610553565b6101cc565b60008030610137868686610253565b6001600160a01b03161490508015600003631626ba7e1760e01b9150509392505050565b60405163e9ae5c5360e01b8152309063e9ae5c5390610182908690869086906004016105e7565b600060405180830381600087803b15801561019c57600080fd5b505af11580156101b0573d6000803e3d6000fd5b50505050505050565b60006101c4826102e1565b151592915050565b60006101d7846102e1565b9050806003036101f2576101ec848484610324565b50505050565b3660003660008461020b57637f1812756000526004601cfd5b50853580870160208101945035925060009060401160028614111561023a575050602080860135860190810190355b61024988888887878787610482565b5050505050505050565b6000604051826040811461026f576041811461029657506102cb565b60208581013560ff81901c601b0190915285356040526001600160ff1b03166060526102a8565b604085013560001a6020526040856040375b5084600052602060016080600060015afa5191506000606052806040523d6102d9575b638baa579f6000526004601cfd5b509392505050565b6003690100000000007821000260b09290921c69ffff00000000ffffffff16918214026901000000000078210001821460011b600160481b909214919091171790565b33301461033057600080fd5b600360b01b929092189181358083018035916020808301928686019291600586901b9091018101831090861017604082901c171561037657633995943b6000526004601cfd5b5060005b8381146101b0573660008260051b850135808601602081019350803592505084828401118160401c17156103b657633995943b6000526004601cfd5b5060405163e9ae5c5360e01b8152309063e9ae5c53906103de908c90869086906004016105e7565b600060405180830381600087803b1580156103f857600080fd5b505af1925050508015610409575060015b610478573d808015610437576040519150601f19603f3d011682016040523d82523d6000602084013e61043c565b606091505b507f51b0d29d57f6cf6b387e59b07521997626a7a4318afd6762fac2cb6a82867f53848260405161046e92919061061d565b60405180910390a1505b505060010161037a565b806104a45733301461049357600080fd5b61049f848460006104a9565b6101b0565b600080fd5b8160005b818110156104fe57600581901b850135850180356001600160a01b03168015300217906020808201359160408101350190810190356104ef848484848b61052e565b505050508060010190506104ad565b50506040517f3cd212f090a5afa720fa9d8b7cb228e36573798ebffb6530f847940f37bc1cd890600090a1505050565b604051828482376000388483888a5af161054b573d6000823e3d81fd5b505050505050565b60008060006040848603121561056857600080fd5b8335925060208401356001600160401b038082111561058657600080fd5b818601915086601f83011261059a57600080fd5b8135818111156105a957600080fd5b8760208285010111156105bb57600080fd5b6020830194508093505050509250925092565b6000602082840312156105e057600080fd5b5035919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b8281526000602060406020840152835180604085015260005b8181101561065257858101830151858201606001528201610636565b506000606082860101526060601f19601f83011685010192505050939250505056fea2646970667358221220606d7a30b3e3f8ff2ae4a8419fde4acbeecc5786fa5db4f9a9dec4e6d1a2aa0364736f6c63430008160033",
136
+ "linkReferences": {},
137
+ "deployedLinkReferences": {}
138
+ }
@@ -0,0 +1,119 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "RelayExecutorTestHelper",
4
+ "sourceName": "contracts/mock/RelayExecutorTestHelper.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "BatchOfBatchesDecodingError",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "FnSelectorNotRecognized",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [],
18
+ "name": "UnsupportedExecutionMode",
19
+ "type": "error"
20
+ },
21
+ {
22
+ "anonymous": false,
23
+ "inputs": [],
24
+ "name": "BundleExecuted",
25
+ "type": "event"
26
+ },
27
+ {
28
+ "stateMutability": "payable",
29
+ "type": "fallback"
30
+ },
31
+ {
32
+ "inputs": [
33
+ {
34
+ "internalType": "bytes32",
35
+ "name": "mode",
36
+ "type": "bytes32"
37
+ },
38
+ {
39
+ "internalType": "bytes",
40
+ "name": "executionData",
41
+ "type": "bytes"
42
+ }
43
+ ],
44
+ "name": "execute",
45
+ "outputs": [],
46
+ "stateMutability": "payable",
47
+ "type": "function"
48
+ },
49
+ {
50
+ "inputs": [
51
+ {
52
+ "internalType": "bytes32",
53
+ "name": "hash",
54
+ "type": "bytes32"
55
+ },
56
+ {
57
+ "internalType": "bytes",
58
+ "name": "signature",
59
+ "type": "bytes"
60
+ }
61
+ ],
62
+ "name": "isValidSignature",
63
+ "outputs": [
64
+ {
65
+ "internalType": "bytes4",
66
+ "name": "result",
67
+ "type": "bytes4"
68
+ }
69
+ ],
70
+ "stateMutability": "view",
71
+ "type": "function"
72
+ },
73
+ {
74
+ "inputs": [
75
+ {
76
+ "internalType": "bytes32",
77
+ "name": "mode",
78
+ "type": "bytes32"
79
+ },
80
+ {
81
+ "internalType": "bytes",
82
+ "name": "executionData",
83
+ "type": "bytes"
84
+ }
85
+ ],
86
+ "name": "selfExecute",
87
+ "outputs": [],
88
+ "stateMutability": "nonpayable",
89
+ "type": "function"
90
+ },
91
+ {
92
+ "inputs": [
93
+ {
94
+ "internalType": "bytes32",
95
+ "name": "mode",
96
+ "type": "bytes32"
97
+ }
98
+ ],
99
+ "name": "supportsExecutionMode",
100
+ "outputs": [
101
+ {
102
+ "internalType": "bool",
103
+ "name": "result",
104
+ "type": "bool"
105
+ }
106
+ ],
107
+ "stateMutability": "view",
108
+ "type": "function"
109
+ },
110
+ {
111
+ "stateMutability": "payable",
112
+ "type": "receive"
113
+ }
114
+ ],
115
+ "bytecode": "0x608060405234801561001057600080fd5b50610591806100206000396000f3fe6080604052600436106100435760003560e01c80631626ba7e1461008557806399c49080146100c3578063d03c7914146100e5578063e9ae5c53146101155761004a565b3661004a57005b60003560e01c63bc197c81811463f23a6e6182141763150b7a028214171561007657806020526020603cf35b50633c10b94e6000526004601cfd5b34801561009157600080fd5b506100a56100a0366004610491565b610128565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100cf57600080fd5b506100e36100de366004610491565b61015b565b005b3480156100f157600080fd5b5061010561010036600461050c565b6101b9565b60405190151581526020016100ba565b6100e3610123366004610491565b6101cc565b60008030610137868686610253565b6001600160a01b03161490508015600003631626ba7e1760e01b9150509392505050565b60405163e9ae5c5360e01b8152309063e9ae5c539061018290869086908690600401610525565b600060405180830381600087803b15801561019c57600080fd5b505af11580156101b0573d6000803e3d6000fd5b50505050505050565b60006101c4826102e1565b151592915050565b60006101d7846102e1565b9050806003036101f2576101ec848484610324565b50505050565b3660003660008461020b57637f1812756000526004601cfd5b50853580870160208101945035925060009060401160028614111561023a575050602080860135860190810190355b610249888888878787876103c0565b5050505050505050565b6000604051826040811461026f576041811461029657506102cb565b60208581013560ff81901c601b0190915285356040526001600160ff1b03166060526102a8565b604085013560001a6020526040856040375b5084600052602060016080600060015afa5191506000606052806040523d6102d9575b638baa579f6000526004601cfd5b509392505050565b6003690100000000007821000260b09290921c69ffff00000000ffffffff16918214026901000000000078210001821460011b600160481b909214919091171790565b600360b01b929092189181358083018035916020808301928686019291600586901b9091018101831090861017604082901c171561036a57633995943b6000526004601cfd5b5060005b8381146101b0573660008260051b850135808601602081019350803592505084828401118160401c17156103aa57633995943b6000526004601cfd5b506103b68983836101cc565b505060010161036e565b806103e2573330146103d157600080fd5b6103dd848460006103e7565b6101b0565b600080fd5b8160005b8181101561043c57600581901b850135850180356001600160a01b031680153002179060208082013591604081013501908101903561042d848484848b61046c565b505050508060010190506103eb565b50506040517f3cd212f090a5afa720fa9d8b7cb228e36573798ebffb6530f847940f37bc1cd890600090a1505050565b604051828482376000388483888a5af1610489573d6000823e3d81fd5b505050505050565b6000806000604084860312156104a657600080fd5b8335925060208401356001600160401b03808211156104c457600080fd5b818601915086601f8301126104d857600080fd5b8135818111156104e757600080fd5b8760208285010111156104f957600080fd5b6020830194508093505050509250925092565b60006020828403121561051e57600080fd5b5035919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f191601019291505056fea26469706673582212202d6eaef4c6654c68ece7fdd0ba466a2f51b25f00b4aefdcadea9673d92ec60cb64736f6c63430008160033",
116
+ "deployedBytecode": "0x6080604052600436106100435760003560e01c80631626ba7e1461008557806399c49080146100c3578063d03c7914146100e5578063e9ae5c53146101155761004a565b3661004a57005b60003560e01c63bc197c81811463f23a6e6182141763150b7a028214171561007657806020526020603cf35b50633c10b94e6000526004601cfd5b34801561009157600080fd5b506100a56100a0366004610491565b610128565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100cf57600080fd5b506100e36100de366004610491565b61015b565b005b3480156100f157600080fd5b5061010561010036600461050c565b6101b9565b60405190151581526020016100ba565b6100e3610123366004610491565b6101cc565b60008030610137868686610253565b6001600160a01b03161490508015600003631626ba7e1760e01b9150509392505050565b60405163e9ae5c5360e01b8152309063e9ae5c539061018290869086908690600401610525565b600060405180830381600087803b15801561019c57600080fd5b505af11580156101b0573d6000803e3d6000fd5b50505050505050565b60006101c4826102e1565b151592915050565b60006101d7846102e1565b9050806003036101f2576101ec848484610324565b50505050565b3660003660008461020b57637f1812756000526004601cfd5b50853580870160208101945035925060009060401160028614111561023a575050602080860135860190810190355b610249888888878787876103c0565b5050505050505050565b6000604051826040811461026f576041811461029657506102cb565b60208581013560ff81901c601b0190915285356040526001600160ff1b03166060526102a8565b604085013560001a6020526040856040375b5084600052602060016080600060015afa5191506000606052806040523d6102d9575b638baa579f6000526004601cfd5b509392505050565b6003690100000000007821000260b09290921c69ffff00000000ffffffff16918214026901000000000078210001821460011b600160481b909214919091171790565b600360b01b929092189181358083018035916020808301928686019291600586901b9091018101831090861017604082901c171561036a57633995943b6000526004601cfd5b5060005b8381146101b0573660008260051b850135808601602081019350803592505084828401118160401c17156103aa57633995943b6000526004601cfd5b506103b68983836101cc565b505060010161036e565b806103e2573330146103d157600080fd5b6103dd848460006103e7565b6101b0565b600080fd5b8160005b8181101561043c57600581901b850135850180356001600160a01b031680153002179060208082013591604081013501908101903561042d848484848b61046c565b505050508060010190506103eb565b50506040517f3cd212f090a5afa720fa9d8b7cb228e36573798ebffb6530f847940f37bc1cd890600090a1505050565b604051828482376000388483888a5af1610489573d6000823e3d81fd5b505050505050565b6000806000604084860312156104a657600080fd5b8335925060208401356001600160401b03808211156104c457600080fd5b818601915086601f8301126104d857600080fd5b8135818111156104e757600080fd5b8760208285010111156104f957600080fd5b6020830194508093505050509250925092565b60006020828403121561051e57600080fd5b5035919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f191601019291505056fea26469706673582212202d6eaef4c6654c68ece7fdd0ba466a2f51b25f00b4aefdcadea9673d92ec60cb64736f6c63430008160033",
117
+ "linkReferences": {},
118
+ "deployedLinkReferences": {}
119
+ }