@artblocks/contracts 1.3.2 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/README.md +11 -10
  2. package/artifacts/contracts/AdminACLV0RoyaltyRegistry.sol/AdminACLV0RoyaltyRegistry.json +193 -0
  3. package/artifacts/contracts/AdminACLV0RoyaltyRegistry.sol/IRoyaltyRegistry.json +35 -0
  4. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  5. package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2.sol/BytecodeStorageReaderContractV2.json +2 -2
  6. package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2_Web3Call.sol/BytecodeStorageReaderContractV2_Web3Call.json +2 -2
  7. package/artifacts/contracts/BytecodeStorageV2Writer.sol/BytecodeStorageV2Writer.json +2 -2
  8. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +210 -2
  9. package/artifacts/contracts/GenArt721CoreV3_Curated.sol/GenArt721CoreV3_Curated.json +235 -20
  10. package/artifacts/contracts/GenArt721CoreV3_Curated_Flex.sol/GenArt721CoreV3_Curated_Flex.json +3197 -0
  11. package/artifacts/contracts/GenArt721CoreV3_Explorations_Flex.sol/GenArt721CoreV3_Explorations_Flex.json +3192 -0
  12. package/artifacts/contracts/OwnedCreate2FactoryV0.sol/OwnedCreate2FactoryV0.json +2 -2
  13. package/artifacts/contracts/archive/GenArt721CoreV3.sol/GenArt721CoreV3.json +27 -2
  14. package/artifacts/contracts/archive/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +27 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  23. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV4.sol/MinterDALinV4.json +2 -2
  24. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  25. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  26. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  27. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV4.sol/MinterHolderV4.json +2 -2
  28. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  29. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  30. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  31. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  32. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
  33. package/artifacts/contracts/archive/minter-suite/Minters/MinterPolyptych/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +25 -0
  34. package/artifacts/contracts/archive/minter-suite/Minters/MinterPolyptych/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
  35. package/artifacts/contracts/archive/minter-suite/Minters/MinterSEA/MinterSEAV0.sol/MinterSEAV0.json +2 -2
  36. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  37. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  38. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
  39. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  40. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  41. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
  42. package/artifacts/contracts/engine/V3/EngineFactoryV0.sol/EngineFactoryV0.json +28 -2
  43. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +239 -20
  44. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +267 -48
  45. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +27 -2
  46. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +2 -2
  47. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +27 -2
  48. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +25 -0
  49. package/artifacts/contracts/engine/V3/transfer-hooks/AbstractTransferHook.sol/AbstractTransferHook.json +79 -0
  50. package/artifacts/contracts/engine/V3/transfer-hooks/OwnerHistoryTransferHook.sol/OwnerHistoryTransferHook.json +315 -0
  51. package/artifacts/contracts/generator/GenArt721GeneratorV0.sol/GenArt721GeneratorV0.json +2 -2
  52. package/artifacts/contracts/interfaces/v0.8.x/IClaimMinter.sol/IClaimMinter.json +189 -0
  53. package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +149 -0
  54. package/artifacts/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol/IEngineFactoryV0.json +26 -0
  55. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +25 -0
  56. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +25 -0
  57. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +123 -0
  58. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +123 -0
  59. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.json +25 -0
  60. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol/IGenArt721CoreContractV3_Engine_PreV3p2.json +25 -0
  61. package/artifacts/contracts/interfaces/v0.8.x/IOwnerHistoryTransferHook.sol/IOwnerHistoryTransferHook.json +299 -0
  62. package/artifacts/contracts/interfaces/v0.8.x/ISRHooks.sol/ISRHooks.json +432 -0
  63. package/artifacts/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol/ISeaDropShimForContract.json +0 -13
  64. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterTieredAllowV0.sol/ISharedMinterTieredAllowV0.json +94 -0
  65. package/artifacts/contracts/interfaces/v0.8.x/ITransferHook.sol/ITransferHook.json +63 -0
  66. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
  67. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageReader.json +2 -2
  68. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageWriter.json +2 -2
  69. package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +2 -2
  70. package/artifacts/contracts/libs/v0.8.x/ENSLib.sol/ENSLib.json +10 -0
  71. package/artifacts/contracts/libs/v0.8.x/ENSLib.sol/IUniversalResolver.json +45 -0
  72. package/artifacts/contracts/libs/v0.8.x/EnumerableSetUint16.sol/EnumerableSetUint16.json +10 -0
  73. package/artifacts/contracts/libs/v0.8.x/FeistelWalkLib.sol/FeistelWalkLib.json +10 -0
  74. package/artifacts/contracts/libs/v0.8.x/ImmutableUint16Array.sol/ImmutableUint16Array.json +10 -0
  75. package/artifacts/contracts/libs/v0.8.x/V3EngineLib.sol/V3EngineLib.json +163 -0
  76. package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +2 -2
  77. package/artifacts/contracts/libs/v0.8.x/V3TransferHookLib.sol/V3TransferHookLib.json +79 -0
  78. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +2 -2
  79. package/artifacts/contracts/libs/v0.8.x/minter-libs/OnChainAllowlistLib.sol/OnChainAllowlistLib.json +10 -0
  80. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
  81. package/artifacts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol/RAMLib.json +2 -2
  82. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +2 -2
  83. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +2 -2
  84. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +2 -2
  85. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  86. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +2 -2
  87. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +2 -2
  88. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +2 -2
  89. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +2 -2
  90. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +2 -2
  91. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +2 -2
  92. package/artifacts/contracts/minter-suite/Minters/MinterMinPriceMerkleV0.sol/MinterMinPriceMerkleV0.json +2 -2
  93. package/artifacts/contracts/minter-suite/Minters/MinterMinPriceV0.sol/MinterMinPriceV0.json +2 -2
  94. package/artifacts/contracts/minter-suite/Minters/MinterRAMV0.sol/MinterRAMV0.json +2 -2
  95. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +2 -2
  96. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +2 -2
  97. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +2 -2
  98. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +2 -2
  99. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceOnChainAllowV0.sol/MinterSetPriceOnChainAllowV0.json +522 -0
  100. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +2 -2
  101. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +2 -2
  102. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceTieredAllowV1.sol/MinterSetPriceTieredAllowV1.json +715 -0
  103. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +2 -2
  104. package/artifacts/contracts/minter-suite/Minters/MinterSlidingScaleV0.sol/MinterSlidingScaleV0.json +431 -0
  105. package/artifacts/contracts/minter-suite/Minters/one-off/ClaimMinter.sol/ClaimMinter.json +502 -0
  106. package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceTieredOnChainAllowV0.sol/MinterSetPriceTieredOnChainAllowV0.json +673 -0
  107. package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol/MinterSetPriceV5_SingleCore.json +2 -2
  108. package/artifacts/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol/SeaDropXArtBlocksShim.json +6 -19
  109. package/artifacts/contracts/mock/BytecodeV2TextCR_DMock.sol/BytecodeV2TextCR_DMock.json +2 -2
  110. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
  111. package/artifacts/contracts/mock/ENSLibMock.sol/ENSLibMock.json +30 -0
  112. package/artifacts/contracts/mock/EnumerableSetUint16Mock.sol/EnumerableSetUint16Mock.json +146 -0
  113. package/artifacts/contracts/mock/FeistelWalkLibMock.sol/FeistelWalkLibMock.json +142 -0
  114. package/artifacts/contracts/mock/ForceSendMock.sol/ForceSendMock.json +2 -2
  115. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +2 -2
  116. package/artifacts/contracts/mock/ImmutableUint16ArrayMock.sol/ImmutableUint16ArrayMock.json +89 -0
  117. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +2 -2
  118. package/artifacts/contracts/mock/MockGenArt721V3Core.sol/MockGenArt721V3Core.json +490 -0
  119. package/artifacts/contracts/mock/MockPMP.sol/MockPMP.json +523 -0
  120. package/artifacts/contracts/mock/MockTransferHook.sol/MockTransferHook.json +453 -0
  121. package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockBatchTransferrer.json +39 -0
  122. package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockForwardingERC721Receiver.json +71 -0
  123. package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockSpoofingCore.json +94 -0
  124. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  125. package/artifacts/contracts/mock/ReentrancyBatchMockShared.sol/IBatchMinter.json +64 -0
  126. package/artifacts/contracts/mock/ReentrancyBatchMockShared.sol/ReentrancyBatchMockShared.json +113 -0
  127. package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/MockTarget.json +74 -0
  128. package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/RelayExecutorPartialRevertsTestHelper.json +138 -0
  129. package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/RelayExecutorTestHelper.json +119 -0
  130. package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
  131. package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
  132. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +2 -2
  133. package/artifacts/contracts/relay/RelayExecutor.sol/RelayExecutor.json +101 -0
  134. package/artifacts/contracts/relay/RelayExecutorPartialReverts.sol/RelayExecutorPartialReverts.json +120 -0
  135. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverrideSplits.sol/GenArt721RoyaltyOverrideSplits.json +263 -0
  136. package/artifacts/contracts/utils/MintMulticallUtil.sol/IMinterSetPriceV5.json +40 -0
  137. package/artifacts/contracts/utils/MintMulticallUtil.sol/MintMulticallUtil.json +163 -0
  138. package/artifacts/contracts/web3call/PMPV0.sol/PMPV0.json +2 -2
  139. package/artifacts/contracts/web3call/PMPV1.sol/PMPV1.json +648 -0
  140. package/artifacts/contracts/web3call/augment-hooks/InjectBaseGasFee.sol/InjectBaseGasFee.json +2 -2
  141. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeight.sol/InjectBlockHeight.json +83 -0
  142. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightAndArtistProjectOverrides.sol/InjectBlockHeightAndArtistProjectOverrides.json +226 -0
  143. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightAndNumOwnedProjectTokens.sol/InjectBlockHeightAndNumOwnedProjectTokens.json +182 -0
  144. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.sol/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.json +226 -0
  145. package/artifacts/contracts/web3call/augment-hooks/InjectBlockTimestamp.sol/InjectBlockTimestamp.json +83 -0
  146. package/artifacts/contracts/web3call/augment-hooks/InjectBytesPerToken.sol/InjectBytesPerToken.json +358 -0
  147. package/artifacts/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol/InjectChromieSquiggleFloorPrice.json +2 -2
  148. package/artifacts/contracts/web3call/augment-hooks/InjectIsNounsDaoMember.sol/InjectIsNounsDaoMember.json +2 -2
  149. package/artifacts/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol/InjectIsProjectFullyMinted.json +2 -2
  150. package/artifacts/contracts/web3call/augment-hooks/InjectPolyptychTokenHash.sol/InjectPolyptychTokenHash.json +2 -2
  151. package/artifacts/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol/InjectTokenHashSeed.json +2 -2
  152. package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwner.sol/InjectTokenOwner.json +2 -2
  153. package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol/InjectTokenOwnerEthBalance.json +2 -2
  154. package/artifacts/contracts/web3call/augment-hooks/InjectUSDCTotalSupply.sol/InjectUSDCTotalSupply.json +2 -2
  155. package/artifacts/contracts/web3call/augment-hooks/SRHooks.sol/SRHooks.json +899 -0
  156. package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/IGenArt721V0_Minimal.json +30 -0
  157. package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/IRelic.json +35 -0
  158. package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/LiftHooks.json +256 -0
  159. package/artifacts/contracts/web3call/configure-hooks/{abstractPMPConfigureHook.sol → AbstractPMPConfigureHook.sol}/AbstractPMPConfigureHook.json +1 -1
  160. package/artifacts/contracts/web3call/configure-hooks/PMPConfigureLockHook.sol/PMPConfigureLockHook.json +195 -0
  161. package/contracts/AdminACLV0RoyaltyRegistry.sol +142 -0
  162. package/contracts/DependencyRegistryV0.sol +143 -13
  163. package/contracts/GenArt721CoreV3_Curated.sol +1 -1
  164. package/contracts/GenArt721CoreV3_Curated_Flex.sol +173 -0
  165. package/contracts/GenArt721CoreV3_Explorations_Flex.sol +159 -0
  166. package/contracts/engine/V3/EngineFactoryV0.sol +20 -1
  167. package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +286 -299
  168. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +292 -301
  169. package/contracts/engine/V3/transfer-hooks/AbstractTransferHook.sol +101 -0
  170. package/contracts/engine/V3/transfer-hooks/OwnerHistoryTransferHook.sol +291 -0
  171. package/contracts/generator/GenArt721GeneratorV0.sol +145 -47
  172. package/contracts/helpers/ERC1967ProxyImport.sol +5 -0
  173. package/contracts/interfaces/v0.8.x/IArtblocksRoyaltyOverride.sol +1 -1
  174. package/contracts/interfaces/v0.8.x/IClaimMinter.sol +70 -0
  175. package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +95 -0
  176. package/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol +15 -0
  177. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol +21 -2
  178. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol +72 -0
  179. package/contracts/interfaces/v0.8.x/IOwnerHistoryTransferHook.sol +119 -0
  180. package/contracts/interfaces/v0.8.x/ISRHooks.sol +229 -0
  181. package/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol +0 -6
  182. package/contracts/interfaces/v0.8.x/ISharedMinterTieredAllowV0.sol +69 -0
  183. package/contracts/interfaces/v0.8.x/ITransferHook.sol +48 -0
  184. package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +12 -0
  185. package/contracts/libs/v0.8.x/ENSLib.sol +85 -0
  186. package/contracts/libs/v0.8.x/EnumerableSetUint16.sol +429 -0
  187. package/contracts/libs/v0.8.x/FeistelWalkLib.sol +221 -0
  188. package/contracts/libs/v0.8.x/ImmutableUint16Array.sol +201 -0
  189. package/contracts/libs/v0.8.x/V3EngineLib.sol +490 -0
  190. package/contracts/libs/v0.8.x/V3TransferHookLib.sol +251 -0
  191. package/contracts/libs/v0.8.x/minter-libs/OnChainAllowlistLib.sol +165 -0
  192. package/contracts/minter-suite/Minters/MinterSetPriceOnChainAllowV0.sol +632 -0
  193. package/contracts/minter-suite/Minters/MinterSetPriceTieredAllowV1.sol +871 -0
  194. package/contracts/minter-suite/Minters/MinterSlidingScaleV0.sol +493 -0
  195. package/contracts/minter-suite/Minters/one-off/ClaimMinter.sol +595 -0
  196. package/contracts/minter-suite/Minters/one-off/MinterSetPriceTieredOnChainAllowV0.sol +894 -0
  197. package/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol +59 -41
  198. package/contracts/mock/ENSLibMock.sol +25 -0
  199. package/contracts/mock/EnumerableSetUint16Mock.sol +88 -0
  200. package/contracts/mock/FeistelWalkLibMock.sol +81 -0
  201. package/contracts/mock/ImmutableUint16ArrayMock.sol +62 -0
  202. package/contracts/mock/MockGenArt721V3Core.sol +416 -0
  203. package/contracts/mock/MockPMP.sol +287 -0
  204. package/contracts/mock/MockTransferHook.sol +160 -0
  205. package/contracts/mock/MockTransferHookTestHelpers.sol +96 -0
  206. package/contracts/mock/ReentrancyBatchMockShared.sol +53 -0
  207. package/contracts/mock/RelayExecutorTestHelper.sol +44 -0
  208. package/contracts/relay/RelayExecutor.sol +61 -0
  209. package/contracts/relay/RelayExecutorPartialReverts.sol +79 -0
  210. package/contracts/royalty-registry/GenArt721RoyaltyOverrideSplits.sol +130 -0
  211. package/contracts/utils/MintMulticallUtil.sol +103 -0
  212. package/contracts/web3call/PMPV1.sol +1204 -0
  213. package/contracts/web3call/augment-hooks/AbstractPMPAugmentHook.sol +1 -1
  214. package/contracts/web3call/augment-hooks/InjectBaseGasFee.sol +1 -1
  215. package/contracts/web3call/augment-hooks/InjectBlockHeight.sol +57 -0
  216. package/contracts/web3call/augment-hooks/InjectBlockHeightAndArtistProjectOverrides.sol +310 -0
  217. package/contracts/web3call/augment-hooks/InjectBlockHeightAndNumOwnedProjectTokens.sol +141 -0
  218. package/contracts/web3call/augment-hooks/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.sol +326 -0
  219. package/contracts/web3call/augment-hooks/InjectBlockTimestamp.sol +57 -0
  220. package/contracts/web3call/augment-hooks/InjectBytesPerToken.sol +279 -0
  221. package/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol +1 -1
  222. package/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol +1 -1
  223. package/contracts/web3call/augment-hooks/InjectTokenOwner.sol +1 -1
  224. package/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol +1 -1
  225. package/contracts/web3call/augment-hooks/SRHooks.sol +1722 -0
  226. package/contracts/web3call/combined-hooks/LiftHooks.sol +304 -0
  227. package/contracts/web3call/configure-hooks/{abstractPMPConfigureHook.sol → AbstractPMPConfigureHook.sol} +1 -1
  228. package/contracts/web3call/configure-hooks/PMPConfigureLockHook.sol +107 -0
  229. package/package.json +39 -24
@@ -451,8 +451,8 @@
451
451
  "type": "function"
452
452
  }
453
453
  ],
454
- "bytecode": "0x60c0604052602060809081527f4d6f636b41646d696e41434c56304576656e74735f50524f4849424954494f4e60a0526000906200003e90826200010c565b503480156200004c57600080fd5b50600180546001600160a01b03191633179055620001d8565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200009057607f821691505b602082108103620000b157634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000107576000816000526020600020601f850160051c81016020861015620000e25750805b601f850160051c820191505b818110156200010357828155600101620000ee565b5050505b505050565b81516001600160401b0381111562000128576200012862000065565b62000140816200013984546200007b565b84620000b7565b602080601f8311600181146200017857600084156200015f5750858301515b600019600386901b1c1916600185901b17855562000103565b600085815260208120601f198616915b82811015620001a95788860151825594840194600190910190840162000188565b5085821015620001c85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c5980620001e86000396000f3fe608060405234801561001057600080fd5b50600436106100d05760003560e01c806301ffc9a7146100d557806305de62c01461010e57806329575f6a14610121578063377a7d1a14610141578063643596f914610156578063985d19681461016957806399c5cd721461017c578063a26e5b5d1461019f578063a8c4c7d3146101b2578063b70349c3146101c5578063bcc91a10146101e6578063bf485640146101f9578063c81a396e1461020c578063dd12090914610221578063e4d68fac14610234578063fea1819914610247575b600080fd5b6100f96100e33660046108c3565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6100f961011c3660046108fd565b61026a565b600154610134906001600160a01b031681565b6040516101059190610944565b61015461014f366004610958565b6102dd565b005b6100f96101643660046109df565b610375565b610154610177366004610a28565b610386565b6100f961018a366004610a45565b60036020526000908152604090205460ff1681565b6101546101ad3660046109df565b610406565b6100f96101c0366004610a5e565b6104f8565b6101d86101d3366004610aad565b6105e6565b604051908152602001610105565b6101546101f4366004610aad565b61062b565b6101d86102073660046109df565b6106b7565b61021461070d565b6040516101059190610ae6565b6100f961022f366004610aad565b61079b565b610154610242366004610aad565b6107c6565b6100f9610255366004610a45565b60026020526000908152604090205460ff1681565b6040516000906001600160e01b03198316906001600160a01b03861690600080516020610c04833981519152908490a36001546001600160a01b03858116911614806102d55750600260006102c08585886106b7565b815260208101919091526040016000205460ff165b949350505050565b6001546001600160a01b031633146103105760405162461bcd60e51b815260040161030790610b35565b60405180910390fd5b600180546001600160a01b038581166001600160a01b0319831681179093556040519116919082907f3f6845104f9728af7979eed8814320daba008953c8db93b9fe32602d1f34b475906103679087908790610b5e565b60405180910390a350505050565b6000600260006102c08686866106b7565b6001546001600160a01b031633146103b05760405162461bcd60e51b815260040161030790610b35565b806001600160a01b031663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103eb57600080fd5b505af11580156103ff573d6000803e3d6000fd5b5050505050565b610418333063a26e5b5d60e01b61026a565b61046e5760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920737570657241646d696e206f7220616c6c6f7765642063616c6c656044820152603960f91b6064820152608401610307565b600061047b8484846106b7565b600081815260026020908152604091829020805460ff8082161560ff19909216821790925592519216151582529192506001600160a01b03848116926001600160e01b0319871692918816917fbdc1f3f5e2cd6fc59a40b890c0c8d6a4e5d774619b69681feec9c771f3642d19910160405180910390a450505050565b6040516000906001600160e01b03198416906001600160a01b03871690600080516020610c04833981519152908490a38361053486828661026a565b806105dc57506003600061054887896105e6565b815260208101919091526040016000205460ff1680156105dc575060405163a47d29cb60e01b8152600481018490526001600160a01b03808816919083169063a47d29cb90602401602060405180830381865afa1580156105ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d19190610bac565b6001600160a01b0316145b9695505050505050565b6040516001600160601b0319606084811b8216602084015283901b16603482015260009060480160405160208183030381529060405280519060200120905092915050565b6001546001600160a01b031633146106555760405162461bcd60e51b815260040161030790610b35565b60405163f2fde38b60e01b81526001600160a01b0383169063f2fde38b90610681908490600401610944565b600060405180830381600087803b15801561069b57600080fd5b505af11580156106af573d6000803e3d6000fd5b505050505050565b6040516001600160601b0319606085811b821660208401526001600160e01b03198516603484015283901b166038820152600090604c016040516020818303038152906040528051906020012090509392505050565b6000805461071a90610bc9565b80601f016020809104026020016040519081016040528092919081815260200182805461074690610bc9565b80156107935780601f1061076857610100808354040283529160200191610793565b820191906000526020600020905b81548152906001019060200180831161077657829003601f168201915b505050505081565b6000600360006107ab85856105e6565b815260208101919091526040016000205460ff169392505050565b6107d83330633935a3eb60e21b61026a565b61081a5760405162461bcd60e51b815260206004820152601360248201527227b7363c9030b63637bbb2b21031b0b63632b960691b6044820152606401610307565b600061082683836105e6565b6000818152600260209081526040808320805460ff19811660ff91821615179091556003909252918290205491519293506001600160a01b0380861693908716927fbfadf94df9a8a44d297389bbbba3a5338a54be7dadb5834c9de34a6afcee4691926108999291161515815260200190565b60405180910390a3505050565b80356001600160e01b0319811681146108be57600080fd5b919050565b6000602082840312156108d557600080fd5b6108de826108a6565b9392505050565b6001600160a01b03811681146108fa57600080fd5b50565b60008060006060848603121561091257600080fd5b833561091d816108e5565b9250602084013561092d816108e5565b915061093b604085016108a6565b90509250925092565b6001600160a01b0391909116815260200190565b60008060006040848603121561096d57600080fd5b8335610978816108e5565b925060208401356001600160401b038082111561099457600080fd5b818601915086601f8301126109a857600080fd5b8135818111156109b757600080fd5b8760208260051b85010111156109cc57600080fd5b6020830194508093505050509250925092565b6000806000606084860312156109f457600080fd5b83356109ff816108e5565b9250610a0d602085016108a6565b91506040840135610a1d816108e5565b809150509250925092565b600060208284031215610a3a57600080fd5b81356108de816108e5565b600060208284031215610a5757600080fd5b5035919050565b60008060008060808587031215610a7457600080fd5b8435610a7f816108e5565b93506020850135610a8f816108e5565b9250610a9d604086016108a6565b9396929550929360600135925050565b60008060408385031215610ac057600080fd5b8235610acb816108e5565b91506020830135610adb816108e5565b809150509250929050565b60006020808352835180602085015260005b81811015610b1457858101830151858201604001528201610af8565b506000604082860101526040601f19601f8301168501019250505092915050565b6020808252600f908201526e27b7363c9039bab832b920b236b4b760891b604082015260600190565b60208082528181018390526000908460408401835b86811015610ba1578235610b86816108e5565b6001600160a01b031682529183019190830190600101610b73565b509695505050505050565b600060208284031215610bbe57600080fd5b81516108de816108e5565b600181811c90821680610bdd57607f821691505b602082108103610bfd57634e487b7160e01b600052602260045260246000fd5b5091905056fe8bba7e7533771f1392baaa34b45645d58b2f590461499be60fde1a073d1f8449a264697066735822122046f806f621541afd06a4eb1f1cd7cccd76a9fd9ff483e3bcc774b83ce30f5e0364736f6c63430008160033",
455
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d05760003560e01c806301ffc9a7146100d557806305de62c01461010e57806329575f6a14610121578063377a7d1a14610141578063643596f914610156578063985d19681461016957806399c5cd721461017c578063a26e5b5d1461019f578063a8c4c7d3146101b2578063b70349c3146101c5578063bcc91a10146101e6578063bf485640146101f9578063c81a396e1461020c578063dd12090914610221578063e4d68fac14610234578063fea1819914610247575b600080fd5b6100f96100e33660046108c3565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6100f961011c3660046108fd565b61026a565b600154610134906001600160a01b031681565b6040516101059190610944565b61015461014f366004610958565b6102dd565b005b6100f96101643660046109df565b610375565b610154610177366004610a28565b610386565b6100f961018a366004610a45565b60036020526000908152604090205460ff1681565b6101546101ad3660046109df565b610406565b6100f96101c0366004610a5e565b6104f8565b6101d86101d3366004610aad565b6105e6565b604051908152602001610105565b6101546101f4366004610aad565b61062b565b6101d86102073660046109df565b6106b7565b61021461070d565b6040516101059190610ae6565b6100f961022f366004610aad565b61079b565b610154610242366004610aad565b6107c6565b6100f9610255366004610a45565b60026020526000908152604090205460ff1681565b6040516000906001600160e01b03198316906001600160a01b03861690600080516020610c04833981519152908490a36001546001600160a01b03858116911614806102d55750600260006102c08585886106b7565b815260208101919091526040016000205460ff165b949350505050565b6001546001600160a01b031633146103105760405162461bcd60e51b815260040161030790610b35565b60405180910390fd5b600180546001600160a01b038581166001600160a01b0319831681179093556040519116919082907f3f6845104f9728af7979eed8814320daba008953c8db93b9fe32602d1f34b475906103679087908790610b5e565b60405180910390a350505050565b6000600260006102c08686866106b7565b6001546001600160a01b031633146103b05760405162461bcd60e51b815260040161030790610b35565b806001600160a01b031663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103eb57600080fd5b505af11580156103ff573d6000803e3d6000fd5b5050505050565b610418333063a26e5b5d60e01b61026a565b61046e5760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920737570657241646d696e206f7220616c6c6f7765642063616c6c656044820152603960f91b6064820152608401610307565b600061047b8484846106b7565b600081815260026020908152604091829020805460ff8082161560ff19909216821790925592519216151582529192506001600160a01b03848116926001600160e01b0319871692918816917fbdc1f3f5e2cd6fc59a40b890c0c8d6a4e5d774619b69681feec9c771f3642d19910160405180910390a450505050565b6040516000906001600160e01b03198416906001600160a01b03871690600080516020610c04833981519152908490a38361053486828661026a565b806105dc57506003600061054887896105e6565b815260208101919091526040016000205460ff1680156105dc575060405163a47d29cb60e01b8152600481018490526001600160a01b03808816919083169063a47d29cb90602401602060405180830381865afa1580156105ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d19190610bac565b6001600160a01b0316145b9695505050505050565b6040516001600160601b0319606084811b8216602084015283901b16603482015260009060480160405160208183030381529060405280519060200120905092915050565b6001546001600160a01b031633146106555760405162461bcd60e51b815260040161030790610b35565b60405163f2fde38b60e01b81526001600160a01b0383169063f2fde38b90610681908490600401610944565b600060405180830381600087803b15801561069b57600080fd5b505af11580156106af573d6000803e3d6000fd5b505050505050565b6040516001600160601b0319606085811b821660208401526001600160e01b03198516603484015283901b166038820152600090604c016040516020818303038152906040528051906020012090509392505050565b6000805461071a90610bc9565b80601f016020809104026020016040519081016040528092919081815260200182805461074690610bc9565b80156107935780601f1061076857610100808354040283529160200191610793565b820191906000526020600020905b81548152906001019060200180831161077657829003601f168201915b505050505081565b6000600360006107ab85856105e6565b815260208101919091526040016000205460ff169392505050565b6107d83330633935a3eb60e21b61026a565b61081a5760405162461bcd60e51b815260206004820152601360248201527227b7363c9030b63637bbb2b21031b0b63632b960691b6044820152606401610307565b600061082683836105e6565b6000818152600260209081526040808320805460ff19811660ff91821615179091556003909252918290205491519293506001600160a01b0380861693908716927fbfadf94df9a8a44d297389bbbba3a5338a54be7dadb5834c9de34a6afcee4691926108999291161515815260200190565b60405180910390a3505050565b80356001600160e01b0319811681146108be57600080fd5b919050565b6000602082840312156108d557600080fd5b6108de826108a6565b9392505050565b6001600160a01b03811681146108fa57600080fd5b50565b60008060006060848603121561091257600080fd5b833561091d816108e5565b9250602084013561092d816108e5565b915061093b604085016108a6565b90509250925092565b6001600160a01b0391909116815260200190565b60008060006040848603121561096d57600080fd5b8335610978816108e5565b925060208401356001600160401b038082111561099457600080fd5b818601915086601f8301126109a857600080fd5b8135818111156109b757600080fd5b8760208260051b85010111156109cc57600080fd5b6020830194508093505050509250925092565b6000806000606084860312156109f457600080fd5b83356109ff816108e5565b9250610a0d602085016108a6565b91506040840135610a1d816108e5565b809150509250925092565b600060208284031215610a3a57600080fd5b81356108de816108e5565b600060208284031215610a5757600080fd5b5035919050565b60008060008060808587031215610a7457600080fd5b8435610a7f816108e5565b93506020850135610a8f816108e5565b9250610a9d604086016108a6565b9396929550929360600135925050565b60008060408385031215610ac057600080fd5b8235610acb816108e5565b91506020830135610adb816108e5565b809150509250929050565b60006020808352835180602085015260005b81811015610b1457858101830151858201604001528201610af8565b506000604082860101526040601f19601f8301168501019250505092915050565b6020808252600f908201526e27b7363c9039bab832b920b236b4b760891b604082015260600190565b60208082528181018390526000908460408401835b86811015610ba1578235610b86816108e5565b6001600160a01b031682529183019190830190600101610b73565b509695505050505050565b600060208284031215610bbe57600080fd5b81516108de816108e5565b600181811c90821680610bdd57607f821691505b602082108103610bfd57634e487b7160e01b600052602260045260246000fd5b5091905056fe8bba7e7533771f1392baaa34b45645d58b2f590461499be60fde1a073d1f8449a264697066735822122046f806f621541afd06a4eb1f1cd7cccd76a9fd9ff483e3bcc774b83ce30f5e0364736f6c63430008160033",
454
+ "bytecode": "0x60c0604052602060809081527f4d6f636b41646d696e41434c56304576656e74735f50524f4849424954494f4e60a0526000906200003e90826200010c565b503480156200004c57600080fd5b50600180546001600160a01b03191633179055620001d8565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200009057607f821691505b602082108103620000b157634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000107576000816000526020600020601f850160051c81016020861015620000e25750805b601f850160051c820191505b818110156200010357828155600101620000ee565b5050505b505050565b81516001600160401b0381111562000128576200012862000065565b62000140816200013984546200007b565b84620000b7565b602080601f8311600181146200017857600084156200015f5750858301515b600019600386901b1c1916600185901b17855562000103565b600085815260208120601f198616915b82811015620001a95788860151825594840194600190910190840162000188565b5085821015620001c85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c5980620001e86000396000f3fe608060405234801561001057600080fd5b50600436106100d05760003560e01c806301ffc9a7146100d557806305de62c01461010e57806329575f6a14610121578063377a7d1a14610141578063643596f914610156578063985d19681461016957806399c5cd721461017c578063a26e5b5d1461019f578063a8c4c7d3146101b2578063b70349c3146101c5578063bcc91a10146101e6578063bf485640146101f9578063c81a396e1461020c578063dd12090914610221578063e4d68fac14610234578063fea1819914610247575b600080fd5b6100f96100e33660046108c3565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6100f961011c3660046108fd565b61026a565b600154610134906001600160a01b031681565b6040516101059190610944565b61015461014f366004610958565b6102dd565b005b6100f96101643660046109df565b610375565b610154610177366004610a28565b610386565b6100f961018a366004610a45565b60036020526000908152604090205460ff1681565b6101546101ad3660046109df565b610406565b6100f96101c0366004610a5e565b6104f8565b6101d86101d3366004610aad565b6105e6565b604051908152602001610105565b6101546101f4366004610aad565b61062b565b6101d86102073660046109df565b6106b7565b61021461070d565b6040516101059190610ae6565b6100f961022f366004610aad565b61079b565b610154610242366004610aad565b6107c6565b6100f9610255366004610a45565b60026020526000908152604090205460ff1681565b6040516000906001600160e01b03198316906001600160a01b03861690600080516020610c04833981519152908490a36001546001600160a01b03858116911614806102d55750600260006102c08585886106b7565b815260208101919091526040016000205460ff165b949350505050565b6001546001600160a01b031633146103105760405162461bcd60e51b815260040161030790610b35565b60405180910390fd5b600180546001600160a01b038581166001600160a01b0319831681179093556040519116919082907f3f6845104f9728af7979eed8814320daba008953c8db93b9fe32602d1f34b475906103679087908790610b5e565b60405180910390a350505050565b6000600260006102c08686866106b7565b6001546001600160a01b031633146103b05760405162461bcd60e51b815260040161030790610b35565b806001600160a01b031663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103eb57600080fd5b505af11580156103ff573d6000803e3d6000fd5b5050505050565b610418333063a26e5b5d60e01b61026a565b61046e5760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920737570657241646d696e206f7220616c6c6f7765642063616c6c656044820152603960f91b6064820152608401610307565b600061047b8484846106b7565b600081815260026020908152604091829020805460ff8082161560ff19909216821790925592519216151582529192506001600160a01b03848116926001600160e01b0319871692918816917fbdc1f3f5e2cd6fc59a40b890c0c8d6a4e5d774619b69681feec9c771f3642d19910160405180910390a450505050565b6040516000906001600160e01b03198416906001600160a01b03871690600080516020610c04833981519152908490a38361053486828661026a565b806105dc57506003600061054887896105e6565b815260208101919091526040016000205460ff1680156105dc575060405163a47d29cb60e01b8152600481018490526001600160a01b03808816919083169063a47d29cb90602401602060405180830381865afa1580156105ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d19190610bac565b6001600160a01b0316145b9695505050505050565b6040516001600160601b0319606084811b8216602084015283901b16603482015260009060480160405160208183030381529060405280519060200120905092915050565b6001546001600160a01b031633146106555760405162461bcd60e51b815260040161030790610b35565b60405163f2fde38b60e01b81526001600160a01b0383169063f2fde38b90610681908490600401610944565b600060405180830381600087803b15801561069b57600080fd5b505af11580156106af573d6000803e3d6000fd5b505050505050565b6040516001600160601b0319606085811b821660208401526001600160e01b03198516603484015283901b166038820152600090604c016040516020818303038152906040528051906020012090509392505050565b6000805461071a90610bc9565b80601f016020809104026020016040519081016040528092919081815260200182805461074690610bc9565b80156107935780601f1061076857610100808354040283529160200191610793565b820191906000526020600020905b81548152906001019060200180831161077657829003601f168201915b505050505081565b6000600360006107ab85856105e6565b815260208101919091526040016000205460ff169392505050565b6107d83330633935a3eb60e21b61026a565b61081a5760405162461bcd60e51b815260206004820152601360248201527227b7363c9030b63637bbb2b21031b0b63632b960691b6044820152606401610307565b600061082683836105e6565b6000818152600260209081526040808320805460ff19811660ff91821615179091556003909252918290205491519293506001600160a01b0380861693908716927fbfadf94df9a8a44d297389bbbba3a5338a54be7dadb5834c9de34a6afcee4691926108999291161515815260200190565b60405180910390a3505050565b80356001600160e01b0319811681146108be57600080fd5b919050565b6000602082840312156108d557600080fd5b6108de826108a6565b9392505050565b6001600160a01b03811681146108fa57600080fd5b50565b60008060006060848603121561091257600080fd5b833561091d816108e5565b9250602084013561092d816108e5565b915061093b604085016108a6565b90509250925092565b6001600160a01b0391909116815260200190565b60008060006040848603121561096d57600080fd5b8335610978816108e5565b925060208401356001600160401b038082111561099457600080fd5b818601915086601f8301126109a857600080fd5b8135818111156109b757600080fd5b8760208260051b85010111156109cc57600080fd5b6020830194508093505050509250925092565b6000806000606084860312156109f457600080fd5b83356109ff816108e5565b9250610a0d602085016108a6565b91506040840135610a1d816108e5565b809150509250925092565b600060208284031215610a3a57600080fd5b81356108de816108e5565b600060208284031215610a5757600080fd5b5035919050565b60008060008060808587031215610a7457600080fd5b8435610a7f816108e5565b93506020850135610a8f816108e5565b9250610a9d604086016108a6565b9396929550929360600135925050565b60008060408385031215610ac057600080fd5b8235610acb816108e5565b91506020830135610adb816108e5565b809150509250929050565b60006020808352835180602085015260005b81811015610b1457858101830151858201604001528201610af8565b506000604082860101526040601f19601f8301168501019250505092915050565b6020808252600f908201526e27b7363c9039bab832b920b236b4b760891b604082015260600190565b60208082528181018390526000908460408401835b86811015610ba1578235610b86816108e5565b6001600160a01b031682529183019190830190600101610b73565b509695505050505050565b600060208284031215610bbe57600080fd5b81516108de816108e5565b600181811c90821680610bdd57607f821691505b602082108103610bfd57634e487b7160e01b600052602260045260246000fd5b5091905056fe8bba7e7533771f1392baaa34b45645d58b2f590461499be60fde1a073d1f8449a2646970667358221220733687d52787c541c51f34db450ac99a36d2ed99042015deb35c384f6df25a3464736f6c63430008160033",
455
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d05760003560e01c806301ffc9a7146100d557806305de62c01461010e57806329575f6a14610121578063377a7d1a14610141578063643596f914610156578063985d19681461016957806399c5cd721461017c578063a26e5b5d1461019f578063a8c4c7d3146101b2578063b70349c3146101c5578063bcc91a10146101e6578063bf485640146101f9578063c81a396e1461020c578063dd12090914610221578063e4d68fac14610234578063fea1819914610247575b600080fd5b6100f96100e33660046108c3565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6100f961011c3660046108fd565b61026a565b600154610134906001600160a01b031681565b6040516101059190610944565b61015461014f366004610958565b6102dd565b005b6100f96101643660046109df565b610375565b610154610177366004610a28565b610386565b6100f961018a366004610a45565b60036020526000908152604090205460ff1681565b6101546101ad3660046109df565b610406565b6100f96101c0366004610a5e565b6104f8565b6101d86101d3366004610aad565b6105e6565b604051908152602001610105565b6101546101f4366004610aad565b61062b565b6101d86102073660046109df565b6106b7565b61021461070d565b6040516101059190610ae6565b6100f961022f366004610aad565b61079b565b610154610242366004610aad565b6107c6565b6100f9610255366004610a45565b60026020526000908152604090205460ff1681565b6040516000906001600160e01b03198316906001600160a01b03861690600080516020610c04833981519152908490a36001546001600160a01b03858116911614806102d55750600260006102c08585886106b7565b815260208101919091526040016000205460ff165b949350505050565b6001546001600160a01b031633146103105760405162461bcd60e51b815260040161030790610b35565b60405180910390fd5b600180546001600160a01b038581166001600160a01b0319831681179093556040519116919082907f3f6845104f9728af7979eed8814320daba008953c8db93b9fe32602d1f34b475906103679087908790610b5e565b60405180910390a350505050565b6000600260006102c08686866106b7565b6001546001600160a01b031633146103b05760405162461bcd60e51b815260040161030790610b35565b806001600160a01b031663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103eb57600080fd5b505af11580156103ff573d6000803e3d6000fd5b5050505050565b610418333063a26e5b5d60e01b61026a565b61046e5760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920737570657241646d696e206f7220616c6c6f7765642063616c6c656044820152603960f91b6064820152608401610307565b600061047b8484846106b7565b600081815260026020908152604091829020805460ff8082161560ff19909216821790925592519216151582529192506001600160a01b03848116926001600160e01b0319871692918816917fbdc1f3f5e2cd6fc59a40b890c0c8d6a4e5d774619b69681feec9c771f3642d19910160405180910390a450505050565b6040516000906001600160e01b03198416906001600160a01b03871690600080516020610c04833981519152908490a38361053486828661026a565b806105dc57506003600061054887896105e6565b815260208101919091526040016000205460ff1680156105dc575060405163a47d29cb60e01b8152600481018490526001600160a01b03808816919083169063a47d29cb90602401602060405180830381865afa1580156105ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d19190610bac565b6001600160a01b0316145b9695505050505050565b6040516001600160601b0319606084811b8216602084015283901b16603482015260009060480160405160208183030381529060405280519060200120905092915050565b6001546001600160a01b031633146106555760405162461bcd60e51b815260040161030790610b35565b60405163f2fde38b60e01b81526001600160a01b0383169063f2fde38b90610681908490600401610944565b600060405180830381600087803b15801561069b57600080fd5b505af11580156106af573d6000803e3d6000fd5b505050505050565b6040516001600160601b0319606085811b821660208401526001600160e01b03198516603484015283901b166038820152600090604c016040516020818303038152906040528051906020012090509392505050565b6000805461071a90610bc9565b80601f016020809104026020016040519081016040528092919081815260200182805461074690610bc9565b80156107935780601f1061076857610100808354040283529160200191610793565b820191906000526020600020905b81548152906001019060200180831161077657829003601f168201915b505050505081565b6000600360006107ab85856105e6565b815260208101919091526040016000205460ff169392505050565b6107d83330633935a3eb60e21b61026a565b61081a5760405162461bcd60e51b815260206004820152601360248201527227b7363c9030b63637bbb2b21031b0b63632b960691b6044820152606401610307565b600061082683836105e6565b6000818152600260209081526040808320805460ff19811660ff91821615179091556003909252918290205491519293506001600160a01b0380861693908716927fbfadf94df9a8a44d297389bbbba3a5338a54be7dadb5834c9de34a6afcee4691926108999291161515815260200190565b60405180910390a3505050565b80356001600160e01b0319811681146108be57600080fd5b919050565b6000602082840312156108d557600080fd5b6108de826108a6565b9392505050565b6001600160a01b03811681146108fa57600080fd5b50565b60008060006060848603121561091257600080fd5b833561091d816108e5565b9250602084013561092d816108e5565b915061093b604085016108a6565b90509250925092565b6001600160a01b0391909116815260200190565b60008060006040848603121561096d57600080fd5b8335610978816108e5565b925060208401356001600160401b038082111561099457600080fd5b818601915086601f8301126109a857600080fd5b8135818111156109b757600080fd5b8760208260051b85010111156109cc57600080fd5b6020830194508093505050509250925092565b6000806000606084860312156109f457600080fd5b83356109ff816108e5565b9250610a0d602085016108a6565b91506040840135610a1d816108e5565b809150509250925092565b600060208284031215610a3a57600080fd5b81356108de816108e5565b600060208284031215610a5757600080fd5b5035919050565b60008060008060808587031215610a7457600080fd5b8435610a7f816108e5565b93506020850135610a8f816108e5565b9250610a9d604086016108a6565b9396929550929360600135925050565b60008060408385031215610ac057600080fd5b8235610acb816108e5565b91506020830135610adb816108e5565b809150509250929050565b60006020808352835180602085015260005b81811015610b1457858101830151858201604001528201610af8565b506000604082860101526040601f19601f8301168501019250505092915050565b6020808252600f908201526e27b7363c9039bab832b920b236b4b760891b604082015260600190565b60208082528181018390526000908460408401835b86811015610ba1578235610b86816108e5565b6001600160a01b031682529183019190830190600101610b73565b509695505050505050565b600060208284031215610bbe57600080fd5b81516108de816108e5565b600181811c90821680610bdd57607f821691505b602082108103610bfd57634e487b7160e01b600052602260045260246000fd5b5091905056fe8bba7e7533771f1392baaa34b45645d58b2f590461499be60fde1a073d1f8449a2646970667358221220733687d52787c541c51f34db450ac99a36d2ed99042015deb35c384f6df25a3464736f6c63430008160033",
456
456
  "linkReferences": {},
457
457
  "deployedLinkReferences": {}
458
458
  }
@@ -0,0 +1,490 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MockGenArt721V3Core",
4
+ "sourceName": "contracts/mock/MockGenArt721V3Core.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "string",
15
+ "name": "_cid",
16
+ "type": "string"
17
+ },
18
+ {
19
+ "internalType": "enum IGenArt721CoreContractV3_Engine_Flex.ExternalAssetDependencyType",
20
+ "name": "_dependencyType",
21
+ "type": "uint8"
22
+ },
23
+ {
24
+ "internalType": "address",
25
+ "name": "_bytecodeAddress",
26
+ "type": "address"
27
+ },
28
+ {
29
+ "internalType": "string",
30
+ "name": "_data",
31
+ "type": "string"
32
+ }
33
+ ],
34
+ "name": "addExternalAssetDependency",
35
+ "outputs": [],
36
+ "stateMutability": "nonpayable",
37
+ "type": "function"
38
+ },
39
+ {
40
+ "inputs": [
41
+ {
42
+ "internalType": "string",
43
+ "name": "_script",
44
+ "type": "string"
45
+ }
46
+ ],
47
+ "name": "addProjectScript",
48
+ "outputs": [],
49
+ "stateMutability": "nonpayable",
50
+ "type": "function"
51
+ },
52
+ {
53
+ "inputs": [],
54
+ "name": "coreType",
55
+ "outputs": [
56
+ {
57
+ "internalType": "string",
58
+ "name": "",
59
+ "type": "string"
60
+ }
61
+ ],
62
+ "stateMutability": "view",
63
+ "type": "function"
64
+ },
65
+ {
66
+ "inputs": [],
67
+ "name": "coreVersion",
68
+ "outputs": [
69
+ {
70
+ "internalType": "string",
71
+ "name": "",
72
+ "type": "string"
73
+ }
74
+ ],
75
+ "stateMutability": "view",
76
+ "type": "function"
77
+ },
78
+ {
79
+ "inputs": [],
80
+ "name": "nextProjectId",
81
+ "outputs": [
82
+ {
83
+ "internalType": "uint256",
84
+ "name": "",
85
+ "type": "uint256"
86
+ }
87
+ ],
88
+ "stateMutability": "pure",
89
+ "type": "function"
90
+ },
91
+ {
92
+ "inputs": [],
93
+ "name": "preferredArweaveGateway",
94
+ "outputs": [
95
+ {
96
+ "internalType": "string",
97
+ "name": "",
98
+ "type": "string"
99
+ }
100
+ ],
101
+ "stateMutability": "view",
102
+ "type": "function"
103
+ },
104
+ {
105
+ "inputs": [],
106
+ "name": "preferredIPFSGateway",
107
+ "outputs": [
108
+ {
109
+ "internalType": "string",
110
+ "name": "",
111
+ "type": "string"
112
+ }
113
+ ],
114
+ "stateMutability": "view",
115
+ "type": "function"
116
+ },
117
+ {
118
+ "inputs": [
119
+ {
120
+ "internalType": "uint256",
121
+ "name": "_projectId",
122
+ "type": "uint256"
123
+ }
124
+ ],
125
+ "name": "projectDetails",
126
+ "outputs": [
127
+ {
128
+ "internalType": "string",
129
+ "name": "projectName",
130
+ "type": "string"
131
+ },
132
+ {
133
+ "internalType": "string",
134
+ "name": "artist",
135
+ "type": "string"
136
+ },
137
+ {
138
+ "internalType": "string",
139
+ "name": "description",
140
+ "type": "string"
141
+ },
142
+ {
143
+ "internalType": "string",
144
+ "name": "website",
145
+ "type": "string"
146
+ },
147
+ {
148
+ "internalType": "string",
149
+ "name": "license",
150
+ "type": "string"
151
+ }
152
+ ],
153
+ "stateMutability": "pure",
154
+ "type": "function"
155
+ },
156
+ {
157
+ "inputs": [
158
+ {
159
+ "internalType": "uint256",
160
+ "name": "_projectId",
161
+ "type": "uint256"
162
+ },
163
+ {
164
+ "internalType": "uint256",
165
+ "name": "_index",
166
+ "type": "uint256"
167
+ }
168
+ ],
169
+ "name": "projectExternalAssetDependencyByIndex",
170
+ "outputs": [
171
+ {
172
+ "components": [
173
+ {
174
+ "internalType": "string",
175
+ "name": "cid",
176
+ "type": "string"
177
+ },
178
+ {
179
+ "internalType": "enum IGenArt721CoreContractV3_Engine_Flex.ExternalAssetDependencyType",
180
+ "name": "dependencyType",
181
+ "type": "uint8"
182
+ },
183
+ {
184
+ "internalType": "address",
185
+ "name": "bytecodeAddress",
186
+ "type": "address"
187
+ },
188
+ {
189
+ "internalType": "string",
190
+ "name": "data",
191
+ "type": "string"
192
+ }
193
+ ],
194
+ "internalType": "struct IGenArt721CoreContractV3_Engine_Flex.ExternalAssetDependencyWithData",
195
+ "name": "",
196
+ "type": "tuple"
197
+ }
198
+ ],
199
+ "stateMutability": "view",
200
+ "type": "function"
201
+ },
202
+ {
203
+ "inputs": [
204
+ {
205
+ "internalType": "uint256",
206
+ "name": "_projectId",
207
+ "type": "uint256"
208
+ }
209
+ ],
210
+ "name": "projectExternalAssetDependencyCount",
211
+ "outputs": [
212
+ {
213
+ "internalType": "uint256",
214
+ "name": "",
215
+ "type": "uint256"
216
+ }
217
+ ],
218
+ "stateMutability": "view",
219
+ "type": "function"
220
+ },
221
+ {
222
+ "inputs": [
223
+ {
224
+ "internalType": "uint256",
225
+ "name": "_projectId",
226
+ "type": "uint256"
227
+ }
228
+ ],
229
+ "name": "projectIdToArtistAddress",
230
+ "outputs": [
231
+ {
232
+ "internalType": "address payable",
233
+ "name": "",
234
+ "type": "address"
235
+ }
236
+ ],
237
+ "stateMutability": "pure",
238
+ "type": "function"
239
+ },
240
+ {
241
+ "inputs": [
242
+ {
243
+ "internalType": "uint256",
244
+ "name": "_projectId",
245
+ "type": "uint256"
246
+ },
247
+ {
248
+ "internalType": "uint256",
249
+ "name": "_index",
250
+ "type": "uint256"
251
+ }
252
+ ],
253
+ "name": "projectScriptByIndex",
254
+ "outputs": [
255
+ {
256
+ "internalType": "string",
257
+ "name": "",
258
+ "type": "string"
259
+ }
260
+ ],
261
+ "stateMutability": "view",
262
+ "type": "function"
263
+ },
264
+ {
265
+ "inputs": [
266
+ {
267
+ "internalType": "uint256",
268
+ "name": "_projectId",
269
+ "type": "uint256"
270
+ },
271
+ {
272
+ "internalType": "uint256",
273
+ "name": "_index",
274
+ "type": "uint256"
275
+ }
276
+ ],
277
+ "name": "projectScriptBytecodeAddressByIndex",
278
+ "outputs": [
279
+ {
280
+ "internalType": "address",
281
+ "name": "",
282
+ "type": "address"
283
+ }
284
+ ],
285
+ "stateMutability": "view",
286
+ "type": "function"
287
+ },
288
+ {
289
+ "inputs": [
290
+ {
291
+ "internalType": "uint256",
292
+ "name": "_projectId",
293
+ "type": "uint256"
294
+ }
295
+ ],
296
+ "name": "projectScriptDetails",
297
+ "outputs": [
298
+ {
299
+ "internalType": "string",
300
+ "name": "scriptTypeAndVersion",
301
+ "type": "string"
302
+ },
303
+ {
304
+ "internalType": "string",
305
+ "name": "aspectRatio",
306
+ "type": "string"
307
+ },
308
+ {
309
+ "internalType": "uint256",
310
+ "name": "scriptCount",
311
+ "type": "uint256"
312
+ }
313
+ ],
314
+ "stateMutability": "view",
315
+ "type": "function"
316
+ },
317
+ {
318
+ "inputs": [
319
+ {
320
+ "internalType": "uint256",
321
+ "name": "_projectId",
322
+ "type": "uint256"
323
+ }
324
+ ],
325
+ "name": "projectScriptInfo",
326
+ "outputs": [
327
+ {
328
+ "internalType": "string",
329
+ "name": "scriptTypeAndVersion",
330
+ "type": "string"
331
+ },
332
+ {
333
+ "internalType": "string",
334
+ "name": "aspectRatio",
335
+ "type": "string"
336
+ },
337
+ {
338
+ "internalType": "uint256",
339
+ "name": "scriptCount",
340
+ "type": "uint256"
341
+ }
342
+ ],
343
+ "stateMutability": "view",
344
+ "type": "function"
345
+ },
346
+ {
347
+ "inputs": [
348
+ {
349
+ "internalType": "uint256",
350
+ "name": "_projectId",
351
+ "type": "uint256"
352
+ }
353
+ ],
354
+ "name": "projectStateData",
355
+ "outputs": [
356
+ {
357
+ "internalType": "uint256",
358
+ "name": "invocations",
359
+ "type": "uint256"
360
+ },
361
+ {
362
+ "internalType": "uint256",
363
+ "name": "maxInvocations",
364
+ "type": "uint256"
365
+ },
366
+ {
367
+ "internalType": "bool",
368
+ "name": "active",
369
+ "type": "bool"
370
+ },
371
+ {
372
+ "internalType": "bool",
373
+ "name": "paused",
374
+ "type": "bool"
375
+ },
376
+ {
377
+ "internalType": "uint256",
378
+ "name": "completedTimestamp",
379
+ "type": "uint256"
380
+ },
381
+ {
382
+ "internalType": "bool",
383
+ "name": "locked",
384
+ "type": "bool"
385
+ }
386
+ ],
387
+ "stateMutability": "pure",
388
+ "type": "function"
389
+ },
390
+ {
391
+ "inputs": [
392
+ {
393
+ "internalType": "uint256",
394
+ "name": "_index",
395
+ "type": "uint256"
396
+ },
397
+ {
398
+ "internalType": "address",
399
+ "name": "_bytecodeAddress",
400
+ "type": "address"
401
+ }
402
+ ],
403
+ "name": "setExternalAssetDependencyBytecodeAddress",
404
+ "outputs": [],
405
+ "stateMutability": "nonpayable",
406
+ "type": "function"
407
+ },
408
+ {
409
+ "inputs": [
410
+ {
411
+ "internalType": "string",
412
+ "name": "_gateway",
413
+ "type": "string"
414
+ }
415
+ ],
416
+ "name": "setPreferredArweaveGateway",
417
+ "outputs": [],
418
+ "stateMutability": "nonpayable",
419
+ "type": "function"
420
+ },
421
+ {
422
+ "inputs": [
423
+ {
424
+ "internalType": "string",
425
+ "name": "_gateway",
426
+ "type": "string"
427
+ }
428
+ ],
429
+ "name": "setPreferredIPFSGateway",
430
+ "outputs": [],
431
+ "stateMutability": "nonpayable",
432
+ "type": "function"
433
+ },
434
+ {
435
+ "inputs": [],
436
+ "name": "startingProjectId",
437
+ "outputs": [
438
+ {
439
+ "internalType": "uint256",
440
+ "name": "",
441
+ "type": "uint256"
442
+ }
443
+ ],
444
+ "stateMutability": "pure",
445
+ "type": "function"
446
+ },
447
+ {
448
+ "inputs": [
449
+ {
450
+ "internalType": "uint256",
451
+ "name": "_tokenId",
452
+ "type": "uint256"
453
+ }
454
+ ],
455
+ "name": "tokenIdToHash",
456
+ "outputs": [
457
+ {
458
+ "internalType": "bytes32",
459
+ "name": "",
460
+ "type": "bytes32"
461
+ }
462
+ ],
463
+ "stateMutability": "pure",
464
+ "type": "function"
465
+ },
466
+ {
467
+ "inputs": [
468
+ {
469
+ "internalType": "uint256",
470
+ "name": "_tokenId",
471
+ "type": "uint256"
472
+ }
473
+ ],
474
+ "name": "tokenIdToProjectId",
475
+ "outputs": [
476
+ {
477
+ "internalType": "uint256",
478
+ "name": "",
479
+ "type": "uint256"
480
+ }
481
+ ],
482
+ "stateMutability": "pure",
483
+ "type": "function"
484
+ }
485
+ ],
486
+ "bytecode": "0x60c0604052601560809081527f68747470733a2f2f697066732e696f2f697066732f000000000000000000000060a0526000906200003e90826200030c565b5060408051808201909152601481527f68747470733a2f2f617277656176652e6e65742f00000000000000000000000060208201526001906200008290826200030c565b5060408051808201909152600a815269070356a7340312e302e360b41b6020820152600290620000b390826200030c565b506040805180820190915260018152603160f81b6020820152600390620000db90826200030c565b50348015620000e957600080fd5b506004805460018101825560009182526040805160a0810190915260738082527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90920192916200164c6020830139620001459150826200030c565b506040805160a081018252600060808201818152825260026020808401919091528284018290528351808501909452601384527f237765623363616c6c5f636f6e74726163742300000000000000000000000000908401526060820192909252600580546001810182559252805190916003027f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001908190620001e990826200030c565b50602082015160018083018054909160ff1990911690836003811115620002145762000214620003d8565b021790555060408201516001820180546001600160a01b0390921661010002610100600160a81b0319909216919091179055606082015160028201906200025c90826200030c565b505050620003ee565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200029057607f821691505b602082108103620002b157634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000307576000816000526020600020601f850160051c81016020861015620002e25750805b601f850160051c820191505b818110156200030357828155600101620002ee565b5050505b505050565b81516001600160401b0381111562000328576200032862000265565b62000340816200033984546200027b565b84620002b7565b602080601f8311600181146200037857600084156200035f5750858301515b600019600386901b1c1916600185901b17855562000303565b600085815260208120601f198616915b82811015620003a95788860151825594840194600190910190840162000388565b5085821015620003c85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052602160045260246000fd5b61124e80620003fe6000396000f3fe608060405234801561001057600080fd5b50600436106101125760003560e01c80630ea5613f146101175780631b689c0b146101665780632642c6b6146101875780634aa6d417146101a75780634e1d64af146101c957806358b9a5a9146101fb578063621a1f74146102265780638c3c9cdd146102395780638dd91a561461024c578063915c4f6b14610270578063a47d29cb14610285578063a56c6f1914610298578063a5c5b699146102ab578063ad283290146102be578063ae45ad98146102d1578063b7ba527d1461030b578063d0d164af14610313578063d60a5fde14610326578063e935b7b114610339578063eb9cd5d4146101a7578063f6cd39e314610340578063f893c07b14610348575b600080fd5b61012a610125366004610caa565b61034f565b60408051968752602087019590955292151593850193909352151560608401526080830191909152151560a082015260c0015b60405180910390f35b610179610174366004610caa565b610396565b60405190815260200161015d565b61019a610195366004610cc3565b6103ab565b60405161015d9190610d41565b6101ba6101b5366004610caa565b6105de565b60405161015d93929190610dc2565b6101ee6040518060400160405280600681526020016576332e322e3560d01b81525081565b60405161015d9190610df8565b61020e610209366004610cc3565b610730565b6040516001600160a01b03909116815260200161015d565b610179610234366004610caa565b61077a565b6101ee610247366004610cc3565b610817565b61025f61025a366004610caa565b610906565b60405161015d959493929190610e12565b61028361027e366004610f21565b6109f0565b005b61020e610293366004610caa565b610a00565b6102836102a6366004610f21565b610a28565b6102836102b9366004610f21565b610a34565b6101796102cc366004610caa565b610a70565b6101ee6040518060400160405280601b81526020017a08ecadc82e4e86e646286dee4caac66be8adcced2dccabe8cd8caf602b1b81525081565b6101ee610a98565b610283610321366004610f79565b610b2a565b610283610334366004611006565b610c07565b6001610179565b6101ee610c9b565b6000610179565b60008080808080861561037d5760405162461bcd60e51b815260040161037490611032565b60405180910390fd5b50600a9687965060019550600094508493508392509050565b60006103a5620f424083611062565b92915050565b6103d7604080516080810190915260608152602081016000815260006020820152606060409091015290565b82156103f55760405162461bcd60e51b815260040161037490611032565b60055482106104465760405162461bcd60e51b815260206004820152601e60248201527f446570656e64656e637920696e646578206f7574206f6620626f756e647300006044820152606401610374565b60006005838154811061045b5761045b611084565b9060005260206000209060030201905060405180608001604052808260000180546104859061109a565b80601f01602080910402602001604051908101604052809291908181526020018280546104b19061109a565b80156104fe5780601f106104d3576101008083540402835291602001916104fe565b820191906000526020600020905b8154815290600101906020018083116104e157829003601f168201915b5050509183525050600183015460209091019060ff16600381111561052557610525610d2b565b8152600183015461010090046001600160a01b031660208201526002830180546040909201916105549061109a565b80601f01602080910402602001604051908101604052809291908181526020018280546105809061109a565b80156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b505050505081525091505092915050565b606080600083156106015760405162461bcd60e51b815260040161037490611032565b600260036004805490508280546106179061109a565b80601f01602080910402602001604051908101604052809291908181526020018280546106439061109a565b80156106905780601f1061066557610100808354040283529160200191610690565b820191906000526020600020905b81548152906001019060200180831161067357829003601f168201915b505050505092508180546106a39061109a565b80601f01602080910402602001604051908101604052809291908181526020018280546106cf9061109a565b801561071c5780601f106106f15761010080835404028352916020019161071c565b820191906000526020600020905b8154815290600101906020018083116106ff57829003601f168201915b505050505091509250925092509193909250565b600082156107505760405162461bcd60e51b815260040161037490611032565b60045482106107715760405162461bcd60e51b8152600401610374906110d4565b50600092915050565b6000600a82106107c35760405162461bcd60e51b8152602060048201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152606401610374565b604080516020810182905260136060820152724d6f636b47656e4172743732315633436f726560681b608082015290810183905260a001604051602081830303815290604052805190602001209050919050565b606082156108375760405162461bcd60e51b815260040161037490611032565b60045482106108585760405162461bcd60e51b8152600401610374906110d4565b6004828154811061086b5761086b611084565b9060005260206000200180546108809061109a565b80601f01602080910402602001604051908101604052809291908181526020018280546108ac9061109a565b80156108f95780601f106108ce576101008083540402835291602001916108f9565b820191906000526020600020905b8154815290600101906020018083116108dc57829003601f168201915b5050505050905092915050565b606080808080851561092a5760405162461bcd60e51b815260040161037490611032565b5050604080518082018252600c81526b135bd8dac8141c9bda9958dd60a21b60208083019190915282518084018452600b81526a135bd8dac8105c9d1a5cdd60aa1b8183015283518085018552601e81527f41206d6f636b2070726f6a65637420666f72206532652074657374696e6700008184015284518086018652601481527368747470733a2f2f617274626c6f636b732e696f60601b818501528551808701909652600386526213525560ea1b9386019390935292989097509195509350909150565b60016109fc8282611159565b5050565b60008115610a205760405162461bcd60e51b815260040161037490611032565b506000919050565b60006109fc8282611159565b600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b016109fc8282611159565b60008115610a905760405162461bcd60e51b815260040161037490611032565b505060055490565b606060018054610aa79061109a565b80601f0160208091040260200160405190810160405280929190818152602001828054610ad39061109a565b8015610b205780601f10610af557610100808354040283529160200191610b20565b820191906000526020600020905b815481529060010190602001808311610b0357829003601f168201915b5050505050905090565b60056040518060800160405280868152602001856003811115610b4f57610b4f610d2b565b81526001600160a01b03851660208083019190915260409091018490528254600181018455600093845292208151919260030201908190610b909082611159565b50602082015160018083018054909160ff1990911690836003811115610bb857610bb8610d2b565b021790555060408201516001820180546001600160a01b0390921661010002610100600160a81b031990921691909117905560608201516002820190610bfe9082611159565b50505050505050565b6005548210610c4e5760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b6044820152606401610374565b8060058381548110610c6257610c62611084565b906000526020600020906003020160010160016101000a8154816001600160a01b0302191690836001600160a01b031602179055505050565b606060008054610aa79061109a565b600060208284031215610cbc57600080fd5b5035919050565b60008060408385031215610cd657600080fd5b50508035926020909101359150565b6000815180845260005b81811015610d0b57602081850181015186830182015201610cef565b506000602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b600052602160045260246000fd5b602081526000825160806020840152610d5d60a0840182610ce5565b9050602084015160048110610d8257634e487b7160e01b600052602160045260246000fd5b6040848101919091528401516001600160a01b0316606080850191909152840151838203601f19016080850152610db98282610ce5565b95945050505050565b606081526000610dd56060830186610ce5565b8281036020840152610de78186610ce5565b915050826040830152949350505050565b602081526000610e0b6020830184610ce5565b9392505050565b60a081526000610e2560a0830188610ce5565b8281036020840152610e378188610ce5565b90508281036040840152610e4b8187610ce5565b90508281036060840152610e5f8186610ce5565b90508281036080840152610e738185610ce5565b98975050505050505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610ea657600080fd5b81356001600160401b0380821115610ec057610ec0610e7f565b604051601f8301601f19908116603f01168101908282118183101715610ee857610ee8610e7f565b81604052838152866020858801011115610f0157600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610f3357600080fd5b81356001600160401b03811115610f4957600080fd5b610f5584828501610e95565b949350505050565b80356001600160a01b0381168114610f7457600080fd5b919050565b60008060008060808587031215610f8f57600080fd5b84356001600160401b0380821115610fa657600080fd5b610fb288838901610e95565b95506020870135915060048210610fc857600080fd5b819450610fd760408801610f5d565b93506060870135915080821115610fed57600080fd5b50610ffa87828801610e95565b91505092959194509250565b6000806040838503121561101957600080fd5b8235915061102960208401610f5d565b90509250929050565b602080825260169082015275141c9bda9958dd08191bd95cc81b9bdd08195e1a5cdd60521b604082015260600190565b60008261107f57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600181811c908216806110ae57607f821691505b6020821081036110ce57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601a908201527953637269707420696e646578206f7574206f6620626f756e647360301b604082015260600190565b601f821115611154576000816000526020600020601f850160051c810160208610156111315750805b601f850160051c820191505b818110156111505782815560010161113d565b5050505b505050565b81516001600160401b0381111561117257611172610e7f565b61118681611180845461109a565b84611108565b602080601f8311600181146111bb57600084156111a35750858301515b600019600386901b1c1916600185901b178555611150565b600085815260208120601f198616915b828110156111ea578886015182559484019460019091019084016111cb565b50858210156112085787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea264697066735822122009edc091baa132a535af74b98391cbde75b8cb9034a333c19722591ef54a040864736f6c634300081600332f2f2053616d706c652070352e6a73207363726970740a66756e6374696f6e2073657475702829207b2063726561746543616e766173283430302c20343030293b207d0a66756e6374696f6e20647261772829207b206261636b67726f756e6428746f6b656e446174612e68617368293b207d",
487
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101125760003560e01c80630ea5613f146101175780631b689c0b146101665780632642c6b6146101875780634aa6d417146101a75780634e1d64af146101c957806358b9a5a9146101fb578063621a1f74146102265780638c3c9cdd146102395780638dd91a561461024c578063915c4f6b14610270578063a47d29cb14610285578063a56c6f1914610298578063a5c5b699146102ab578063ad283290146102be578063ae45ad98146102d1578063b7ba527d1461030b578063d0d164af14610313578063d60a5fde14610326578063e935b7b114610339578063eb9cd5d4146101a7578063f6cd39e314610340578063f893c07b14610348575b600080fd5b61012a610125366004610caa565b61034f565b60408051968752602087019590955292151593850193909352151560608401526080830191909152151560a082015260c0015b60405180910390f35b610179610174366004610caa565b610396565b60405190815260200161015d565b61019a610195366004610cc3565b6103ab565b60405161015d9190610d41565b6101ba6101b5366004610caa565b6105de565b60405161015d93929190610dc2565b6101ee6040518060400160405280600681526020016576332e322e3560d01b81525081565b60405161015d9190610df8565b61020e610209366004610cc3565b610730565b6040516001600160a01b03909116815260200161015d565b610179610234366004610caa565b61077a565b6101ee610247366004610cc3565b610817565b61025f61025a366004610caa565b610906565b60405161015d959493929190610e12565b61028361027e366004610f21565b6109f0565b005b61020e610293366004610caa565b610a00565b6102836102a6366004610f21565b610a28565b6102836102b9366004610f21565b610a34565b6101796102cc366004610caa565b610a70565b6101ee6040518060400160405280601b81526020017a08ecadc82e4e86e646286dee4caac66be8adcced2dccabe8cd8caf602b1b81525081565b6101ee610a98565b610283610321366004610f79565b610b2a565b610283610334366004611006565b610c07565b6001610179565b6101ee610c9b565b6000610179565b60008080808080861561037d5760405162461bcd60e51b815260040161037490611032565b60405180910390fd5b50600a9687965060019550600094508493508392509050565b60006103a5620f424083611062565b92915050565b6103d7604080516080810190915260608152602081016000815260006020820152606060409091015290565b82156103f55760405162461bcd60e51b815260040161037490611032565b60055482106104465760405162461bcd60e51b815260206004820152601e60248201527f446570656e64656e637920696e646578206f7574206f6620626f756e647300006044820152606401610374565b60006005838154811061045b5761045b611084565b9060005260206000209060030201905060405180608001604052808260000180546104859061109a565b80601f01602080910402602001604051908101604052809291908181526020018280546104b19061109a565b80156104fe5780601f106104d3576101008083540402835291602001916104fe565b820191906000526020600020905b8154815290600101906020018083116104e157829003601f168201915b5050509183525050600183015460209091019060ff16600381111561052557610525610d2b565b8152600183015461010090046001600160a01b031660208201526002830180546040909201916105549061109a565b80601f01602080910402602001604051908101604052809291908181526020018280546105809061109a565b80156105cd5780601f106105a2576101008083540402835291602001916105cd565b820191906000526020600020905b8154815290600101906020018083116105b057829003601f168201915b505050505081525091505092915050565b606080600083156106015760405162461bcd60e51b815260040161037490611032565b600260036004805490508280546106179061109a565b80601f01602080910402602001604051908101604052809291908181526020018280546106439061109a565b80156106905780601f1061066557610100808354040283529160200191610690565b820191906000526020600020905b81548152906001019060200180831161067357829003601f168201915b505050505092508180546106a39061109a565b80601f01602080910402602001604051908101604052809291908181526020018280546106cf9061109a565b801561071c5780601f106106f15761010080835404028352916020019161071c565b820191906000526020600020905b8154815290600101906020018083116106ff57829003601f168201915b505050505091509250925092509193909250565b600082156107505760405162461bcd60e51b815260040161037490611032565b60045482106107715760405162461bcd60e51b8152600401610374906110d4565b50600092915050565b6000600a82106107c35760405162461bcd60e51b8152602060048201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152606401610374565b604080516020810182905260136060820152724d6f636b47656e4172743732315633436f726560681b608082015290810183905260a001604051602081830303815290604052805190602001209050919050565b606082156108375760405162461bcd60e51b815260040161037490611032565b60045482106108585760405162461bcd60e51b8152600401610374906110d4565b6004828154811061086b5761086b611084565b9060005260206000200180546108809061109a565b80601f01602080910402602001604051908101604052809291908181526020018280546108ac9061109a565b80156108f95780601f106108ce576101008083540402835291602001916108f9565b820191906000526020600020905b8154815290600101906020018083116108dc57829003601f168201915b5050505050905092915050565b606080808080851561092a5760405162461bcd60e51b815260040161037490611032565b5050604080518082018252600c81526b135bd8dac8141c9bda9958dd60a21b60208083019190915282518084018452600b81526a135bd8dac8105c9d1a5cdd60aa1b8183015283518085018552601e81527f41206d6f636b2070726f6a65637420666f72206532652074657374696e6700008184015284518086018652601481527368747470733a2f2f617274626c6f636b732e696f60601b818501528551808701909652600386526213525560ea1b9386019390935292989097509195509350909150565b60016109fc8282611159565b5050565b60008115610a205760405162461bcd60e51b815260040161037490611032565b506000919050565b60006109fc8282611159565b600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b016109fc8282611159565b60008115610a905760405162461bcd60e51b815260040161037490611032565b505060055490565b606060018054610aa79061109a565b80601f0160208091040260200160405190810160405280929190818152602001828054610ad39061109a565b8015610b205780601f10610af557610100808354040283529160200191610b20565b820191906000526020600020905b815481529060010190602001808311610b0357829003601f168201915b5050505050905090565b60056040518060800160405280868152602001856003811115610b4f57610b4f610d2b565b81526001600160a01b03851660208083019190915260409091018490528254600181018455600093845292208151919260030201908190610b909082611159565b50602082015160018083018054909160ff1990911690836003811115610bb857610bb8610d2b565b021790555060408201516001820180546001600160a01b0390921661010002610100600160a81b031990921691909117905560608201516002820190610bfe9082611159565b50505050505050565b6005548210610c4e5760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b6044820152606401610374565b8060058381548110610c6257610c62611084565b906000526020600020906003020160010160016101000a8154816001600160a01b0302191690836001600160a01b031602179055505050565b606060008054610aa79061109a565b600060208284031215610cbc57600080fd5b5035919050565b60008060408385031215610cd657600080fd5b50508035926020909101359150565b6000815180845260005b81811015610d0b57602081850181015186830182015201610cef565b506000602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b600052602160045260246000fd5b602081526000825160806020840152610d5d60a0840182610ce5565b9050602084015160048110610d8257634e487b7160e01b600052602160045260246000fd5b6040848101919091528401516001600160a01b0316606080850191909152840151838203601f19016080850152610db98282610ce5565b95945050505050565b606081526000610dd56060830186610ce5565b8281036020840152610de78186610ce5565b915050826040830152949350505050565b602081526000610e0b6020830184610ce5565b9392505050565b60a081526000610e2560a0830188610ce5565b8281036020840152610e378188610ce5565b90508281036040840152610e4b8187610ce5565b90508281036060840152610e5f8186610ce5565b90508281036080840152610e738185610ce5565b98975050505050505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610ea657600080fd5b81356001600160401b0380821115610ec057610ec0610e7f565b604051601f8301601f19908116603f01168101908282118183101715610ee857610ee8610e7f565b81604052838152866020858801011115610f0157600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610f3357600080fd5b81356001600160401b03811115610f4957600080fd5b610f5584828501610e95565b949350505050565b80356001600160a01b0381168114610f7457600080fd5b919050565b60008060008060808587031215610f8f57600080fd5b84356001600160401b0380821115610fa657600080fd5b610fb288838901610e95565b95506020870135915060048210610fc857600080fd5b819450610fd760408801610f5d565b93506060870135915080821115610fed57600080fd5b50610ffa87828801610e95565b91505092959194509250565b6000806040838503121561101957600080fd5b8235915061102960208401610f5d565b90509250929050565b602080825260169082015275141c9bda9958dd08191bd95cc81b9bdd08195e1a5cdd60521b604082015260600190565b60008261107f57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600181811c908216806110ae57607f821691505b6020821081036110ce57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601a908201527953637269707420696e646578206f7574206f6620626f756e647360301b604082015260600190565b601f821115611154576000816000526020600020601f850160051c810160208610156111315750805b601f850160051c820191505b818110156111505782815560010161113d565b5050505b505050565b81516001600160401b0381111561117257611172610e7f565b61118681611180845461109a565b84611108565b602080601f8311600181146111bb57600084156111a35750858301515b600019600386901b1c1916600185901b178555611150565b600085815260208120601f198616915b828110156111ea578886015182559484019460019091019084016111cb565b50858210156112085787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea264697066735822122009edc091baa132a535af74b98391cbde75b8cb9034a333c19722591ef54a040864736f6c63430008160033",
488
+ "linkReferences": {},
489
+ "deployedLinkReferences": {}
490
+ }