@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
@@ -349,8 +349,8 @@
349
349
  "type": "function"
350
350
  }
351
351
  ],
352
- "bytecode": "0x60c060405234801561001057600080fd5b5060405161182838038061182883398101604081905261002f9161004a565b60016000556001600160a01b0316608081905260a05261007a565b60006020828403121561005c57600080fd5b81516001600160a01b038116811461007357600080fd5b9392505050565b60805160a05161178961009f600039600061047a015260006102c601526117896000f3fe6080604052600436106100ad5760003560e01c806301000da7146100b25780634869f3df146100e75780634e8d8787146101155780637e947f24146101285780639a94488a1461014a5780639b24c3c01461018c578063ae77c237146101d2578063b000e334146101e5578063cce7c90914610205578063d3ddabe614610225578063d9bffbce14610264578063d9eb16db14610284578063dd85582f146102b4578063e9d1e8ac14610300575b600080fd5b3480156100be57600080fd5b506100d26100cd36600461132e565b61033c565b60405190151581526020015b60405180910390f35b3480156100f357600080fd5b5061010761010236600461134b565b610374565b6040519081526020016100de565b61010761012336600461137b565b610389565b34801561013457600080fd5b506101486101433660046113bd565b610509565b005b34801561015657600080fd5b5061016a61016536600461134b565b610546565b6040805182511515815260209283015162ffffff1692810192909252016100de565b34801561019857600080fd5b506101ac6101a736600461134b565b61058e565b6040805182516001600160f81b03168152602092830151151592810192909252016100de565b6101076101e036600461134b565b6105dc565b3480156101f157600080fd5b50610148610200366004611400565b6105e9565b34801561021157600080fd5b506100d261022036600461134b565b6105ff565b34801561023157600080fd5b5061025760405180604001604052806006815260200165076352e302e360d41b81525081565b6040516100de919061148f565b34801561027057600080fd5b5061014861027f36600461134b565b61060b565b34801561029057600080fd5b506102a461029f36600461134b565b610624565b6040516100de94939291906114a2565b3480156102c057600080fd5b506102e87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100de565b34801561030c57600080fd5b506102576040518060400160405280601081526020016f4d696e7465725365745072696365563560801b81525081565b60008061034883610676565b8054909150610100900460ff1615610364575460ff1692915050565b61036d836106af565b9392505050565b60006103808383610825565b90505b92915050565b60006002600054036103e25760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000556103f18383610845565b60006103fd8484610876565b9050803410156104485760405162461bcd60e51b815260206004820152601660248201527526b4b7103b30b63ab2903a379036b4b73a103932b89760511b60448201526064016103d9565b6040516117cd60e21b81526001600160a01b0386811660048301526024820186905284811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af11580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e591906114dc565b91506104f182846108e6565b6104fc848285610953565b5060016000559392505050565b610514838333610a08565b6105288383836001600160f81b0316610a4d565b6105328383610aac565b15610541576105418383610adf565b505050565b60408051808201909152600080825260208201526105648383610b7a565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b60408051808201909152600080825260208201526105ac8383610bc5565b6040805180820190915290546001600160f81b0381168252600160f81b900460ff16151560208201529392505050565b6000610380338484610389565b6105f4838333610a08565b610541838383610bec565b60006103808383610cc2565b610616828233610a08565b6106208282610adf565b5050565b60008060606000806106368787610bc5565b5460408051808201909152600381526208aa8960eb1b602082015260ff600160f81b830416996001600160f81b0390921698509650600095509350505050565b6001600160a01b031660009081527f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b396020526040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038616906107119085906114f5565b600060405180830381855afa9150503d806000811461074c576040519150601f19603f3d011682016040523d82523d6000602084013e610751565b606091505b5091509150816107b15760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b60648201526084016103d9565b805160c08190036107c85750600095945050505050565b80610100036107dd5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c6974206279746573000060448201526064016103d9565b6000806108328484610b7a565b54610100900462ffffff16949350505050565b60006108518383610b7a565b805490915060ff16156105415760405162461bcd60e51b81526004016103d990611511565b6000806108838484610bc5565b8054909150600160f81b900460ff166108d55760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b60448201526064016103d9565b546001600160f81b03169392505050565b60006108f183610cdb565b905060006108ff8284610b7a565b8054909150620f4240850660010190610100900462ffffff16808211156109385760405162461bcd60e51b81526004016103d990611511565b80820361094b57825460ff191660011783555b505050505050565b34156105415760006109658334611558565b905080156109f757604051600090339083908381818185875af1925050503d80600081146109af576040519150601f19603f3d011682016040523d82523d6000602084013e6109b4565b606091505b50509050806109f55760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b60448201526064016103d9565b505b610a02848484610cea565b50505050565b610a13838383610eab565b6105415760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b60448201526064016103d9565b6000610a598484610bc5565b600160f81b6001600160f81b03841617815560405190915082906001600160a01b0385169086907f98e99eae7ab1c56b5b882e049df69b522affbaa1a93afd3be411447a1606027890600090a450505050565b600080610ab98484610b7a565b8054909150610100900462ffffff16158015610ad75750805460ff16155b949350505050565b600080610aec8484610f34565b915091506000610afc8585610b7a565b9050610b0782610fb2565b815460ff1962ffffff92909216610100029190911663ffffffff19909116178383141781556040516001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e23790610b6b9086815260200190565b60405180910390a35050505050565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee5b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b60007efc986db700c71340c673de619c46ee721167fc4ea17804bb535c4c196aa7d7610b9e565b600080610bf98585610f34565b91509150808362ffffff161115610c225760405162461bcd60e51b81526004016103d99061156b565b818362ffffff161015610c475760405162461bcd60e51b81526004016103d99061156b565b6000610c538686610b7a565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b600080610ccf8484610b7a565b5460ff16949350505050565b6000610383620f42408361159c565b81600003610cf757505050565b6000610d028261101a565b90506000806000806000806000808815610da057604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440161010060405180830381865afa158015610d63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8791906115be565b969e50949c50929a509098509650945092509050610e20565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa158015610dec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e109190611646565b949c50929a509096509450925090505b8a8285610e2d898c6116af565b610e3791906116af565b610e4191906116af565b14610e8d5760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b60448201526064016103d9565b610e9d86868a8a88888888611068565b505050505050505050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906116c2565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa158015610f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa291906116f4565b5093989297509195505050505050565b600062ffffff8211156110165760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201526534206269747360d01b60648201526084016103d9565b5090565b60008061102683610676565b8054909150610100900460ff1615611042575460ff1692915050565b600061104d846106af565b825481151561ffff1990911617610100179092555092915050565b8715611113576000876001600160a01b03168960405160006040518083038185875af1925050503d80600081146110bb576040519150601f19603f3d011682016040523d82523d6000602084013e6110c0565b606091505b50509050806111115760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c656460448201526064016103d9565b505b85156111be576000856001600160a01b03168760405160006040518083038185875af1925050503d8060008114611166576040519150601f19603f3d011682016040523d82523d6000602084013e61116b565b606091505b50509050806111bc5760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c6564000060448201526064016103d9565b505b8315611261576000836001600160a01b03168560405160006040518083038185875af1925050503d8060008114611211576040519150601f19603f3d011682016040523d82523d6000602084013e611216565b606091505b505090508061125f5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b60448201526064016103d9565b505b811561130c576000816001600160a01b03168360405160006040518083038185875af1925050503d80600081146112b4576040519150601f19603f3d011682016040523d82523d6000602084013e6112b9565b606091505b505090508061130a5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c65640060448201526064016103d9565b505b5050505050505050565b6001600160a01b038116811461132b57600080fd5b50565b60006020828403121561134057600080fd5b813561036d81611316565b6000806040838503121561135e57600080fd5b82359150602083013561137081611316565b809150509250929050565b60008060006060848603121561139057600080fd5b833561139b81611316565b92506020840135915060408401356113b281611316565b809150509250925092565b6000806000606084860312156113d257600080fd5b8335925060208401356113e481611316565b915060408401356001600160f81b03811681146113b257600080fd5b60008060006060848603121561141557600080fd5b83359250602084013561142781611316565b9150604084013562ffffff811681146113b257600080fd5b60005b8381101561145a578181015183820152602001611442565b50506000910152565b6000815180845261147b81602086016020860161143f565b601f01601f19169290920160200192915050565b6020815260006103806020830184611463565b84151581528360208201526080604082015260006114c36080830185611463565b905060018060a01b038316606083015295945050505050565b6000602082840312156114ee57600080fd5b5051919050565b6000825161150781846020870161143f565b9190910192915050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561038357610383611542565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b6000826115b957634e487b7160e01b600052601260045260246000fd5b500490565b600080600080600080600080610100898b0312156115db57600080fd5b8851975060208901516115ed81611316565b60408a015160608b0151919850965061160581611316565b60808a015160a08b0151919650945061161d81611316565b60c08a015160e08b0151919450925061163581611316565b809150509295985092959890939650565b60008060008060008060c0878903121561165f57600080fd5b86519550602087015161167181611316565b60408801516060890151919650945061168981611316565b608088015160a089015191945092506116a181611316565b809150509295509295509295565b8082018082111561038357610383611542565b6000602082840312156116d457600080fd5b815161036d81611316565b805180151581146116ef57600080fd5b919050565b60008060008060008060c0878903121561170d57600080fd5b8651955060208701519450611724604088016116df565b9350611732606088016116df565b92506080870151915061174760a088016116df565b9050929550929550929556fea264697066735822122066f6d9f812cf4f09deef63f469444b73c87000d2731589f0f1feef2b76af899464736f6c63430008130033",
353
- "deployedBytecode": "0x6080604052600436106100ad5760003560e01c806301000da7146100b25780634869f3df146100e75780634e8d8787146101155780637e947f24146101285780639a94488a1461014a5780639b24c3c01461018c578063ae77c237146101d2578063b000e334146101e5578063cce7c90914610205578063d3ddabe614610225578063d9bffbce14610264578063d9eb16db14610284578063dd85582f146102b4578063e9d1e8ac14610300575b600080fd5b3480156100be57600080fd5b506100d26100cd36600461132e565b61033c565b60405190151581526020015b60405180910390f35b3480156100f357600080fd5b5061010761010236600461134b565b610374565b6040519081526020016100de565b61010761012336600461137b565b610389565b34801561013457600080fd5b506101486101433660046113bd565b610509565b005b34801561015657600080fd5b5061016a61016536600461134b565b610546565b6040805182511515815260209283015162ffffff1692810192909252016100de565b34801561019857600080fd5b506101ac6101a736600461134b565b61058e565b6040805182516001600160f81b03168152602092830151151592810192909252016100de565b6101076101e036600461134b565b6105dc565b3480156101f157600080fd5b50610148610200366004611400565b6105e9565b34801561021157600080fd5b506100d261022036600461134b565b6105ff565b34801561023157600080fd5b5061025760405180604001604052806006815260200165076352e302e360d41b81525081565b6040516100de919061148f565b34801561027057600080fd5b5061014861027f36600461134b565b61060b565b34801561029057600080fd5b506102a461029f36600461134b565b610624565b6040516100de94939291906114a2565b3480156102c057600080fd5b506102e87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100de565b34801561030c57600080fd5b506102576040518060400160405280601081526020016f4d696e7465725365745072696365563560801b81525081565b60008061034883610676565b8054909150610100900460ff1615610364575460ff1692915050565b61036d836106af565b9392505050565b60006103808383610825565b90505b92915050565b60006002600054036103e25760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000556103f18383610845565b60006103fd8484610876565b9050803410156104485760405162461bcd60e51b815260206004820152601660248201527526b4b7103b30b63ab2903a379036b4b73a103932b89760511b60448201526064016103d9565b6040516117cd60e21b81526001600160a01b0386811660048301526024820186905284811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af11580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e591906114dc565b91506104f182846108e6565b6104fc848285610953565b5060016000559392505050565b610514838333610a08565b6105288383836001600160f81b0316610a4d565b6105328383610aac565b15610541576105418383610adf565b505050565b60408051808201909152600080825260208201526105648383610b7a565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b60408051808201909152600080825260208201526105ac8383610bc5565b6040805180820190915290546001600160f81b0381168252600160f81b900460ff16151560208201529392505050565b6000610380338484610389565b6105f4838333610a08565b610541838383610bec565b60006103808383610cc2565b610616828233610a08565b6106208282610adf565b5050565b60008060606000806106368787610bc5565b5460408051808201909152600381526208aa8960eb1b602082015260ff600160f81b830416996001600160f81b0390921698509650600095509350505050565b6001600160a01b031660009081527f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b396020526040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038616906107119085906114f5565b600060405180830381855afa9150503d806000811461074c576040519150601f19603f3d011682016040523d82523d6000602084013e610751565b606091505b5091509150816107b15760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b60648201526084016103d9565b805160c08190036107c85750600095945050505050565b80610100036107dd5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c6974206279746573000060448201526064016103d9565b6000806108328484610b7a565b54610100900462ffffff16949350505050565b60006108518383610b7a565b805490915060ff16156105415760405162461bcd60e51b81526004016103d990611511565b6000806108838484610bc5565b8054909150600160f81b900460ff166108d55760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b60448201526064016103d9565b546001600160f81b03169392505050565b60006108f183610cdb565b905060006108ff8284610b7a565b8054909150620f4240850660010190610100900462ffffff16808211156109385760405162461bcd60e51b81526004016103d990611511565b80820361094b57825460ff191660011783555b505050505050565b34156105415760006109658334611558565b905080156109f757604051600090339083908381818185875af1925050503d80600081146109af576040519150601f19603f3d011682016040523d82523d6000602084013e6109b4565b606091505b50509050806109f55760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b60448201526064016103d9565b505b610a02848484610cea565b50505050565b610a13838383610eab565b6105415760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b60448201526064016103d9565b6000610a598484610bc5565b600160f81b6001600160f81b03841617815560405190915082906001600160a01b0385169086907f98e99eae7ab1c56b5b882e049df69b522affbaa1a93afd3be411447a1606027890600090a450505050565b600080610ab98484610b7a565b8054909150610100900462ffffff16158015610ad75750805460ff16155b949350505050565b600080610aec8484610f34565b915091506000610afc8585610b7a565b9050610b0782610fb2565b815460ff1962ffffff92909216610100029190911663ffffffff19909116178383141781556040516001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e23790610b6b9086815260200190565b60405180910390a35050505050565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee5b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b60007efc986db700c71340c673de619c46ee721167fc4ea17804bb535c4c196aa7d7610b9e565b600080610bf98585610f34565b91509150808362ffffff161115610c225760405162461bcd60e51b81526004016103d99061156b565b818362ffffff161015610c475760405162461bcd60e51b81526004016103d99061156b565b6000610c538686610b7a565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b600080610ccf8484610b7a565b5460ff16949350505050565b6000610383620f42408361159c565b81600003610cf757505050565b6000610d028261101a565b90506000806000806000806000808815610da057604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440161010060405180830381865afa158015610d63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8791906115be565b969e50949c50929a509098509650945092509050610e20565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa158015610dec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e109190611646565b949c50929a509096509450925090505b8a8285610e2d898c6116af565b610e3791906116af565b610e4191906116af565b14610e8d5760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b60448201526064016103d9565b610e9d86868a8a88888888611068565b505050505050505050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906116c2565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa158015610f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa291906116f4565b5093989297509195505050505050565b600062ffffff8211156110165760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201526534206269747360d01b60648201526084016103d9565b5090565b60008061102683610676565b8054909150610100900460ff1615611042575460ff1692915050565b600061104d846106af565b825481151561ffff1990911617610100179092555092915050565b8715611113576000876001600160a01b03168960405160006040518083038185875af1925050503d80600081146110bb576040519150601f19603f3d011682016040523d82523d6000602084013e6110c0565b606091505b50509050806111115760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c656460448201526064016103d9565b505b85156111be576000856001600160a01b03168760405160006040518083038185875af1925050503d8060008114611166576040519150601f19603f3d011682016040523d82523d6000602084013e61116b565b606091505b50509050806111bc5760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c6564000060448201526064016103d9565b505b8315611261576000836001600160a01b03168560405160006040518083038185875af1925050503d8060008114611211576040519150601f19603f3d011682016040523d82523d6000602084013e611216565b606091505b505090508061125f5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b60448201526064016103d9565b505b811561130c576000816001600160a01b03168360405160006040518083038185875af1925050503d80600081146112b4576040519150601f19603f3d011682016040523d82523d6000602084013e6112b9565b606091505b505090508061130a5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c65640060448201526064016103d9565b505b5050505050505050565b6001600160a01b038116811461132b57600080fd5b50565b60006020828403121561134057600080fd5b813561036d81611316565b6000806040838503121561135e57600080fd5b82359150602083013561137081611316565b809150509250929050565b60008060006060848603121561139057600080fd5b833561139b81611316565b92506020840135915060408401356113b281611316565b809150509250925092565b6000806000606084860312156113d257600080fd5b8335925060208401356113e481611316565b915060408401356001600160f81b03811681146113b257600080fd5b60008060006060848603121561141557600080fd5b83359250602084013561142781611316565b9150604084013562ffffff811681146113b257600080fd5b60005b8381101561145a578181015183820152602001611442565b50506000910152565b6000815180845261147b81602086016020860161143f565b601f01601f19169290920160200192915050565b6020815260006103806020830184611463565b84151581528360208201526080604082015260006114c36080830185611463565b905060018060a01b038316606083015295945050505050565b6000602082840312156114ee57600080fd5b5051919050565b6000825161150781846020870161143f565b9190910192915050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561038357610383611542565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b6000826115b957634e487b7160e01b600052601260045260246000fd5b500490565b600080600080600080600080610100898b0312156115db57600080fd5b8851975060208901516115ed81611316565b60408a015160608b0151919850965061160581611316565b60808a015160a08b0151919650945061161d81611316565b60c08a015160e08b0151919450925061163581611316565b809150509295985092959890939650565b60008060008060008060c0878903121561165f57600080fd5b86519550602087015161167181611316565b60408801516060890151919650945061168981611316565b608088015160a089015191945092506116a181611316565b809150509295509295509295565b8082018082111561038357610383611542565b6000602082840312156116d457600080fd5b815161036d81611316565b805180151581146116ef57600080fd5b919050565b60008060008060008060c0878903121561170d57600080fd5b8651955060208701519450611724604088016116df565b9350611732606088016116df565b92506080870151915061174760a088016116df565b9050929550929550929556fea264697066735822122066f6d9f812cf4f09deef63f469444b73c87000d2731589f0f1feef2b76af899464736f6c63430008130033",
352
+ "bytecode": "0x60c060405234801561001057600080fd5b5060405161182838038061182883398101604081905261002f9161004a565b60016000556001600160a01b0316608081905260a05261007a565b60006020828403121561005c57600080fd5b81516001600160a01b038116811461007357600080fd5b9392505050565b60805160a05161178961009f600039600061047a015260006102c601526117896000f3fe6080604052600436106100ad5760003560e01c806301000da7146100b25780634869f3df146100e75780634e8d8787146101155780637e947f24146101285780639a94488a1461014a5780639b24c3c01461018c578063ae77c237146101d2578063b000e334146101e5578063cce7c90914610205578063d3ddabe614610225578063d9bffbce14610264578063d9eb16db14610284578063dd85582f146102b4578063e9d1e8ac14610300575b600080fd5b3480156100be57600080fd5b506100d26100cd36600461132e565b61033c565b60405190151581526020015b60405180910390f35b3480156100f357600080fd5b5061010761010236600461134b565b610374565b6040519081526020016100de565b61010761012336600461137b565b610389565b34801561013457600080fd5b506101486101433660046113bd565b610509565b005b34801561015657600080fd5b5061016a61016536600461134b565b610546565b6040805182511515815260209283015162ffffff1692810192909252016100de565b34801561019857600080fd5b506101ac6101a736600461134b565b61058e565b6040805182516001600160f81b03168152602092830151151592810192909252016100de565b6101076101e036600461134b565b6105dc565b3480156101f157600080fd5b50610148610200366004611400565b6105e9565b34801561021157600080fd5b506100d261022036600461134b565b6105ff565b34801561023157600080fd5b5061025760405180604001604052806006815260200165076352e302e360d41b81525081565b6040516100de919061148f565b34801561027057600080fd5b5061014861027f36600461134b565b61060b565b34801561029057600080fd5b506102a461029f36600461134b565b610624565b6040516100de94939291906114a2565b3480156102c057600080fd5b506102e87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100de565b34801561030c57600080fd5b506102576040518060400160405280601081526020016f4d696e7465725365745072696365563560801b81525081565b60008061034883610676565b8054909150610100900460ff1615610364575460ff1692915050565b61036d836106af565b9392505050565b60006103808383610825565b90505b92915050565b60006002600054036103e25760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000556103f18383610845565b60006103fd8484610876565b9050803410156104485760405162461bcd60e51b815260206004820152601660248201527526b4b7103b30b63ab2903a379036b4b73a103932b89760511b60448201526064016103d9565b6040516117cd60e21b81526001600160a01b0386811660048301526024820186905284811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af11580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e591906114dc565b91506104f182846108e6565b6104fc848285610953565b5060016000559392505050565b610514838333610a08565b6105288383836001600160f81b0316610a4d565b6105328383610aac565b15610541576105418383610adf565b505050565b60408051808201909152600080825260208201526105648383610b7a565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b60408051808201909152600080825260208201526105ac8383610bc5565b6040805180820190915290546001600160f81b0381168252600160f81b900460ff16151560208201529392505050565b6000610380338484610389565b6105f4838333610a08565b610541838383610bec565b60006103808383610cc2565b610616828233610a08565b6106208282610adf565b5050565b60008060606000806106368787610bc5565b5460408051808201909152600381526208aa8960eb1b602082015260ff600160f81b830416996001600160f81b0390921698509650600095509350505050565b6001600160a01b031660009081527f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b396020526040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038616906107119085906114f5565b600060405180830381855afa9150503d806000811461074c576040519150601f19603f3d011682016040523d82523d6000602084013e610751565b606091505b5091509150816107b15760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b60648201526084016103d9565b805160c08190036107c85750600095945050505050565b80610100036107dd5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c6974206279746573000060448201526064016103d9565b6000806108328484610b7a565b54610100900462ffffff16949350505050565b60006108518383610b7a565b805490915060ff16156105415760405162461bcd60e51b81526004016103d990611511565b6000806108838484610bc5565b8054909150600160f81b900460ff166108d55760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b60448201526064016103d9565b546001600160f81b03169392505050565b60006108f183610cdb565b905060006108ff8284610b7a565b8054909150620f4240850660010190610100900462ffffff16808211156109385760405162461bcd60e51b81526004016103d990611511565b80820361094b57825460ff191660011783555b505050505050565b34156105415760006109658334611558565b905080156109f757604051600090339083908381818185875af1925050503d80600081146109af576040519150601f19603f3d011682016040523d82523d6000602084013e6109b4565b606091505b50509050806109f55760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b60448201526064016103d9565b505b610a02848484610cea565b50505050565b610a13838383610eab565b6105415760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b60448201526064016103d9565b6000610a598484610bc5565b600160f81b6001600160f81b03841617815560405190915082906001600160a01b0385169086907f98e99eae7ab1c56b5b882e049df69b522affbaa1a93afd3be411447a1606027890600090a450505050565b600080610ab98484610b7a565b8054909150610100900462ffffff16158015610ad75750805460ff16155b949350505050565b600080610aec8484610f34565b915091506000610afc8585610b7a565b9050610b0782610fb2565b815460ff1962ffffff92909216610100029190911663ffffffff19909116178383141781556040516001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e23790610b6b9086815260200190565b60405180910390a35050505050565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee5b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b60007efc986db700c71340c673de619c46ee721167fc4ea17804bb535c4c196aa7d7610b9e565b600080610bf98585610f34565b91509150808362ffffff161115610c225760405162461bcd60e51b81526004016103d99061156b565b818362ffffff161015610c475760405162461bcd60e51b81526004016103d99061156b565b6000610c538686610b7a565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b600080610ccf8484610b7a565b5460ff16949350505050565b6000610383620f42408361159c565b81600003610cf757505050565b6000610d028261101a565b90506000806000806000806000808815610da057604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440161010060405180830381865afa158015610d63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8791906115be565b969e50949c50929a509098509650945092509050610e20565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa158015610dec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e109190611646565b949c50929a509096509450925090505b8a8285610e2d898c6116af565b610e3791906116af565b610e4191906116af565b14610e8d5760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b60448201526064016103d9565b610e9d86868a8a88888888611068565b505050505050505050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906116c2565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa158015610f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa291906116f4565b5093989297509195505050505050565b600062ffffff8211156110165760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201526534206269747360d01b60648201526084016103d9565b5090565b60008061102683610676565b8054909150610100900460ff1615611042575460ff1692915050565b600061104d846106af565b825481151561ffff1990911617610100179092555092915050565b8715611113576000876001600160a01b03168960405160006040518083038185875af1925050503d80600081146110bb576040519150601f19603f3d011682016040523d82523d6000602084013e6110c0565b606091505b50509050806111115760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c656460448201526064016103d9565b505b85156111be576000856001600160a01b03168760405160006040518083038185875af1925050503d8060008114611166576040519150601f19603f3d011682016040523d82523d6000602084013e61116b565b606091505b50509050806111bc5760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c6564000060448201526064016103d9565b505b8315611261576000836001600160a01b03168560405160006040518083038185875af1925050503d8060008114611211576040519150601f19603f3d011682016040523d82523d6000602084013e611216565b606091505b505090508061125f5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b60448201526064016103d9565b505b811561130c576000816001600160a01b03168360405160006040518083038185875af1925050503d80600081146112b4576040519150601f19603f3d011682016040523d82523d6000602084013e6112b9565b606091505b505090508061130a5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c65640060448201526064016103d9565b505b5050505050505050565b6001600160a01b038116811461132b57600080fd5b50565b60006020828403121561134057600080fd5b813561036d81611316565b6000806040838503121561135e57600080fd5b82359150602083013561137081611316565b809150509250929050565b60008060006060848603121561139057600080fd5b833561139b81611316565b92506020840135915060408401356113b281611316565b809150509250925092565b6000806000606084860312156113d257600080fd5b8335925060208401356113e481611316565b915060408401356001600160f81b03811681146113b257600080fd5b60008060006060848603121561141557600080fd5b83359250602084013561142781611316565b9150604084013562ffffff811681146113b257600080fd5b60005b8381101561145a578181015183820152602001611442565b50506000910152565b6000815180845261147b81602086016020860161143f565b601f01601f19169290920160200192915050565b6020815260006103806020830184611463565b84151581528360208201526080604082015260006114c36080830185611463565b905060018060a01b038316606083015295945050505050565b6000602082840312156114ee57600080fd5b5051919050565b6000825161150781846020870161143f565b9190910192915050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561038357610383611542565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b6000826115b957634e487b7160e01b600052601260045260246000fd5b500490565b600080600080600080600080610100898b0312156115db57600080fd5b8851975060208901516115ed81611316565b60408a015160608b0151919850965061160581611316565b60808a015160a08b0151919650945061161d81611316565b60c08a015160e08b0151919450925061163581611316565b809150509295985092959890939650565b60008060008060008060c0878903121561165f57600080fd5b86519550602087015161167181611316565b60408801516060890151919650945061168981611316565b608088015160a089015191945092506116a181611316565b809150509295509295509295565b8082018082111561038357610383611542565b6000602082840312156116d457600080fd5b815161036d81611316565b805180151581146116ef57600080fd5b919050565b60008060008060008060c0878903121561170d57600080fd5b8651955060208701519450611724604088016116df565b9350611732606088016116df565b92506080870151915061174760a088016116df565b9050929550929550929556fea26469706673582212202c66dcd036516dc45bba746e59c82d92458688210f723fdef55d8bd4b22be0ea64736f6c63430008130033",
353
+ "deployedBytecode": "0x6080604052600436106100ad5760003560e01c806301000da7146100b25780634869f3df146100e75780634e8d8787146101155780637e947f24146101285780639a94488a1461014a5780639b24c3c01461018c578063ae77c237146101d2578063b000e334146101e5578063cce7c90914610205578063d3ddabe614610225578063d9bffbce14610264578063d9eb16db14610284578063dd85582f146102b4578063e9d1e8ac14610300575b600080fd5b3480156100be57600080fd5b506100d26100cd36600461132e565b61033c565b60405190151581526020015b60405180910390f35b3480156100f357600080fd5b5061010761010236600461134b565b610374565b6040519081526020016100de565b61010761012336600461137b565b610389565b34801561013457600080fd5b506101486101433660046113bd565b610509565b005b34801561015657600080fd5b5061016a61016536600461134b565b610546565b6040805182511515815260209283015162ffffff1692810192909252016100de565b34801561019857600080fd5b506101ac6101a736600461134b565b61058e565b6040805182516001600160f81b03168152602092830151151592810192909252016100de565b6101076101e036600461134b565b6105dc565b3480156101f157600080fd5b50610148610200366004611400565b6105e9565b34801561021157600080fd5b506100d261022036600461134b565b6105ff565b34801561023157600080fd5b5061025760405180604001604052806006815260200165076352e302e360d41b81525081565b6040516100de919061148f565b34801561027057600080fd5b5061014861027f36600461134b565b61060b565b34801561029057600080fd5b506102a461029f36600461134b565b610624565b6040516100de94939291906114a2565b3480156102c057600080fd5b506102e87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100de565b34801561030c57600080fd5b506102576040518060400160405280601081526020016f4d696e7465725365745072696365563560801b81525081565b60008061034883610676565b8054909150610100900460ff1615610364575460ff1692915050565b61036d836106af565b9392505050565b60006103808383610825565b90505b92915050565b60006002600054036103e25760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000556103f18383610845565b60006103fd8484610876565b9050803410156104485760405162461bcd60e51b815260206004820152601660248201527526b4b7103b30b63ab2903a379036b4b73a103932b89760511b60448201526064016103d9565b6040516117cd60e21b81526001600160a01b0386811660048301526024820186905284811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af11580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e591906114dc565b91506104f182846108e6565b6104fc848285610953565b5060016000559392505050565b610514838333610a08565b6105288383836001600160f81b0316610a4d565b6105328383610aac565b15610541576105418383610adf565b505050565b60408051808201909152600080825260208201526105648383610b7a565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b60408051808201909152600080825260208201526105ac8383610bc5565b6040805180820190915290546001600160f81b0381168252600160f81b900460ff16151560208201529392505050565b6000610380338484610389565b6105f4838333610a08565b610541838383610bec565b60006103808383610cc2565b610616828233610a08565b6106208282610adf565b5050565b60008060606000806106368787610bc5565b5460408051808201909152600381526208aa8960eb1b602082015260ff600160f81b830416996001600160f81b0390921698509650600095509350505050565b6001600160a01b031660009081527f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b396020526040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038616906107119085906114f5565b600060405180830381855afa9150503d806000811461074c576040519150601f19603f3d011682016040523d82523d6000602084013e610751565b606091505b5091509150816107b15760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b60648201526084016103d9565b805160c08190036107c85750600095945050505050565b80610100036107dd5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c6974206279746573000060448201526064016103d9565b6000806108328484610b7a565b54610100900462ffffff16949350505050565b60006108518383610b7a565b805490915060ff16156105415760405162461bcd60e51b81526004016103d990611511565b6000806108838484610bc5565b8054909150600160f81b900460ff166108d55760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b60448201526064016103d9565b546001600160f81b03169392505050565b60006108f183610cdb565b905060006108ff8284610b7a565b8054909150620f4240850660010190610100900462ffffff16808211156109385760405162461bcd60e51b81526004016103d990611511565b80820361094b57825460ff191660011783555b505050505050565b34156105415760006109658334611558565b905080156109f757604051600090339083908381818185875af1925050503d80600081146109af576040519150601f19603f3d011682016040523d82523d6000602084013e6109b4565b606091505b50509050806109f55760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b60448201526064016103d9565b505b610a02848484610cea565b50505050565b610a13838383610eab565b6105415760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b60448201526064016103d9565b6000610a598484610bc5565b600160f81b6001600160f81b03841617815560405190915082906001600160a01b0385169086907f98e99eae7ab1c56b5b882e049df69b522affbaa1a93afd3be411447a1606027890600090a450505050565b600080610ab98484610b7a565b8054909150610100900462ffffff16158015610ad75750805460ff16155b949350505050565b600080610aec8484610f34565b915091506000610afc8585610b7a565b9050610b0782610fb2565b815460ff1962ffffff92909216610100029190911663ffffffff19909116178383141781556040516001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e23790610b6b9086815260200190565b60405180910390a35050505050565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee5b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b60007efc986db700c71340c673de619c46ee721167fc4ea17804bb535c4c196aa7d7610b9e565b600080610bf98585610f34565b91509150808362ffffff161115610c225760405162461bcd60e51b81526004016103d99061156b565b818362ffffff161015610c475760405162461bcd60e51b81526004016103d99061156b565b6000610c538686610b7a565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b600080610ccf8484610b7a565b5460ff16949350505050565b6000610383620f42408361159c565b81600003610cf757505050565b6000610d028261101a565b90506000806000806000806000808815610da057604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440161010060405180830381865afa158015610d63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8791906115be565b969e50949c50929a509098509650945092509050610e20565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa158015610dec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e109190611646565b949c50929a509096509450925090505b8a8285610e2d898c6116af565b610e3791906116af565b610e4191906116af565b14610e8d5760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b60448201526064016103d9565b610e9d86868a8a88888888611068565b505050505050505050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906116c2565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa158015610f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa291906116f4565b5093989297509195505050505050565b600062ffffff8211156110165760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201526534206269747360d01b60648201526084016103d9565b5090565b60008061102683610676565b8054909150610100900460ff1615611042575460ff1692915050565b600061104d846106af565b825481151561ffff1990911617610100179092555092915050565b8715611113576000876001600160a01b03168960405160006040518083038185875af1925050503d80600081146110bb576040519150601f19603f3d011682016040523d82523d6000602084013e6110c0565b606091505b50509050806111115760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c656460448201526064016103d9565b505b85156111be576000856001600160a01b03168760405160006040518083038185875af1925050503d8060008114611166576040519150601f19603f3d011682016040523d82523d6000602084013e61116b565b606091505b50509050806111bc5760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c6564000060448201526064016103d9565b505b8315611261576000836001600160a01b03168560405160006040518083038185875af1925050503d8060008114611211576040519150601f19603f3d011682016040523d82523d6000602084013e611216565b606091505b505090508061125f5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b60448201526064016103d9565b505b811561130c576000816001600160a01b03168360405160006040518083038185875af1925050503d80600081146112b4576040519150601f19603f3d011682016040523d82523d6000602084013e6112b9565b606091505b505090508061130a5760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c65640060448201526064016103d9565b505b5050505050505050565b6001600160a01b038116811461132b57600080fd5b50565b60006020828403121561134057600080fd5b813561036d81611316565b6000806040838503121561135e57600080fd5b82359150602083013561137081611316565b809150509250929050565b60008060006060848603121561139057600080fd5b833561139b81611316565b92506020840135915060408401356113b281611316565b809150509250925092565b6000806000606084860312156113d257600080fd5b8335925060208401356113e481611316565b915060408401356001600160f81b03811681146113b257600080fd5b60008060006060848603121561141557600080fd5b83359250602084013561142781611316565b9150604084013562ffffff811681146113b257600080fd5b60005b8381101561145a578181015183820152602001611442565b50506000910152565b6000815180845261147b81602086016020860161143f565b601f01601f19169290920160200192915050565b6020815260006103806020830184611463565b84151581528360208201526080604082015260006114c36080830185611463565b905060018060a01b038316606083015295945050505050565b6000602082840312156114ee57600080fd5b5051919050565b6000825161150781846020870161143f565b9190910192915050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561038357610383611542565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b6000826115b957634e487b7160e01b600052601260045260246000fd5b500490565b600080600080600080600080610100898b0312156115db57600080fd5b8851975060208901516115ed81611316565b60408a015160608b0151919850965061160581611316565b60808a015160a08b0151919650945061161d81611316565b60c08a015160e08b0151919450925061163581611316565b809150509295985092959890939650565b60008060008060008060c0878903121561165f57600080fd5b86519550602087015161167181611316565b60408801516060890151919650945061168981611316565b608088015160a089015191945092506116a181611316565b809150509295509295509295565b8082018082111561038357610383611542565b6000602082840312156116d457600080fd5b815161036d81611316565b805180151581146116ef57600080fd5b919050565b60008060008060008060c0878903121561170d57600080fd5b8651955060208701519450611724604088016116df565b9350611732606088016116df565b92506080870151915061174760a088016116df565b9050929550929550929556fea26469706673582212202c66dcd036516dc45bba746e59c82d92458688210f723fdef55d8bd4b22be0ea64736f6c63430008130033",
354
354
  "linkReferences": {},
355
355
  "deployedLinkReferences": {}
356
356
  }
@@ -0,0 +1,431 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MinterSlidingScaleV0",
4
+ "sourceName": "contracts/minter-suite/Minters/MinterSlidingScaleV0.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "minterFilter",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "anonymous": false,
19
+ "inputs": [
20
+ {
21
+ "indexed": true,
22
+ "internalType": "address",
23
+ "name": "coreContract",
24
+ "type": "address"
25
+ },
26
+ {
27
+ "indexed": true,
28
+ "internalType": "uint256",
29
+ "name": "tokenId",
30
+ "type": "uint256"
31
+ },
32
+ {
33
+ "indexed": false,
34
+ "internalType": "uint256",
35
+ "name": "pricePaid",
36
+ "type": "uint256"
37
+ }
38
+ ],
39
+ "name": "TokenPricePaid",
40
+ "type": "event"
41
+ },
42
+ {
43
+ "inputs": [],
44
+ "name": "MAX_PRICE_MULTIPLIER",
45
+ "outputs": [
46
+ {
47
+ "internalType": "uint256",
48
+ "name": "",
49
+ "type": "uint256"
50
+ }
51
+ ],
52
+ "stateMutability": "view",
53
+ "type": "function"
54
+ },
55
+ {
56
+ "inputs": [],
57
+ "name": "MIN_PRICE_PER_TOKEN",
58
+ "outputs": [
59
+ {
60
+ "internalType": "uint256",
61
+ "name": "",
62
+ "type": "uint256"
63
+ }
64
+ ],
65
+ "stateMutability": "view",
66
+ "type": "function"
67
+ },
68
+ {
69
+ "inputs": [
70
+ {
71
+ "internalType": "uint256",
72
+ "name": "projectId",
73
+ "type": "uint256"
74
+ },
75
+ {
76
+ "internalType": "address",
77
+ "name": "coreContract",
78
+ "type": "address"
79
+ }
80
+ ],
81
+ "name": "getPriceInfo",
82
+ "outputs": [
83
+ {
84
+ "internalType": "bool",
85
+ "name": "isConfigured",
86
+ "type": "bool"
87
+ },
88
+ {
89
+ "internalType": "uint256",
90
+ "name": "tokenPriceInWei",
91
+ "type": "uint256"
92
+ },
93
+ {
94
+ "internalType": "string",
95
+ "name": "currencySymbol",
96
+ "type": "string"
97
+ },
98
+ {
99
+ "internalType": "address",
100
+ "name": "currencyAddress",
101
+ "type": "address"
102
+ }
103
+ ],
104
+ "stateMutability": "view",
105
+ "type": "function"
106
+ },
107
+ {
108
+ "inputs": [
109
+ {
110
+ "internalType": "address",
111
+ "name": "coreContract",
112
+ "type": "address"
113
+ },
114
+ {
115
+ "internalType": "uint256",
116
+ "name": "tokenId",
117
+ "type": "uint256"
118
+ }
119
+ ],
120
+ "name": "getTokenPricePaid",
121
+ "outputs": [
122
+ {
123
+ "internalType": "uint256",
124
+ "name": "pricePaidInWei",
125
+ "type": "uint256"
126
+ }
127
+ ],
128
+ "stateMutability": "view",
129
+ "type": "function"
130
+ },
131
+ {
132
+ "inputs": [
133
+ {
134
+ "internalType": "address",
135
+ "name": "coreContract",
136
+ "type": "address"
137
+ }
138
+ ],
139
+ "name": "isEngineView",
140
+ "outputs": [
141
+ {
142
+ "internalType": "bool",
143
+ "name": "",
144
+ "type": "bool"
145
+ }
146
+ ],
147
+ "stateMutability": "view",
148
+ "type": "function"
149
+ },
150
+ {
151
+ "inputs": [
152
+ {
153
+ "internalType": "uint256",
154
+ "name": "projectId",
155
+ "type": "uint256"
156
+ },
157
+ {
158
+ "internalType": "address",
159
+ "name": "coreContract",
160
+ "type": "address"
161
+ },
162
+ {
163
+ "internalType": "uint24",
164
+ "name": "maxInvocations",
165
+ "type": "uint24"
166
+ }
167
+ ],
168
+ "name": "manuallyLimitProjectMaxInvocations",
169
+ "outputs": [],
170
+ "stateMutability": "nonpayable",
171
+ "type": "function"
172
+ },
173
+ {
174
+ "inputs": [
175
+ {
176
+ "internalType": "uint256",
177
+ "name": "projectId",
178
+ "type": "uint256"
179
+ },
180
+ {
181
+ "internalType": "address",
182
+ "name": "coreContract",
183
+ "type": "address"
184
+ }
185
+ ],
186
+ "name": "maxInvocationsProjectConfig",
187
+ "outputs": [
188
+ {
189
+ "components": [
190
+ {
191
+ "internalType": "bool",
192
+ "name": "maxHasBeenInvoked",
193
+ "type": "bool"
194
+ },
195
+ {
196
+ "internalType": "uint24",
197
+ "name": "maxInvocations",
198
+ "type": "uint24"
199
+ }
200
+ ],
201
+ "internalType": "struct MaxInvocationsLib.MaxInvocationsProjectConfig",
202
+ "name": "",
203
+ "type": "tuple"
204
+ }
205
+ ],
206
+ "stateMutability": "view",
207
+ "type": "function"
208
+ },
209
+ {
210
+ "inputs": [],
211
+ "name": "minterFilterAddress",
212
+ "outputs": [
213
+ {
214
+ "internalType": "address",
215
+ "name": "",
216
+ "type": "address"
217
+ }
218
+ ],
219
+ "stateMutability": "view",
220
+ "type": "function"
221
+ },
222
+ {
223
+ "inputs": [],
224
+ "name": "minterType",
225
+ "outputs": [
226
+ {
227
+ "internalType": "string",
228
+ "name": "",
229
+ "type": "string"
230
+ }
231
+ ],
232
+ "stateMutability": "view",
233
+ "type": "function"
234
+ },
235
+ {
236
+ "inputs": [],
237
+ "name": "minterVersion",
238
+ "outputs": [
239
+ {
240
+ "internalType": "string",
241
+ "name": "",
242
+ "type": "string"
243
+ }
244
+ ],
245
+ "stateMutability": "view",
246
+ "type": "function"
247
+ },
248
+ {
249
+ "inputs": [
250
+ {
251
+ "internalType": "uint256",
252
+ "name": "projectId",
253
+ "type": "uint256"
254
+ },
255
+ {
256
+ "internalType": "address",
257
+ "name": "coreContract",
258
+ "type": "address"
259
+ }
260
+ ],
261
+ "name": "projectMaxHasBeenInvoked",
262
+ "outputs": [
263
+ {
264
+ "internalType": "bool",
265
+ "name": "",
266
+ "type": "bool"
267
+ }
268
+ ],
269
+ "stateMutability": "view",
270
+ "type": "function"
271
+ },
272
+ {
273
+ "inputs": [
274
+ {
275
+ "internalType": "uint256",
276
+ "name": "projectId",
277
+ "type": "uint256"
278
+ },
279
+ {
280
+ "internalType": "address",
281
+ "name": "coreContract",
282
+ "type": "address"
283
+ }
284
+ ],
285
+ "name": "projectMaxInvocations",
286
+ "outputs": [
287
+ {
288
+ "internalType": "uint256",
289
+ "name": "",
290
+ "type": "uint256"
291
+ }
292
+ ],
293
+ "stateMutability": "view",
294
+ "type": "function"
295
+ },
296
+ {
297
+ "inputs": [
298
+ {
299
+ "internalType": "uint256",
300
+ "name": "projectId",
301
+ "type": "uint256"
302
+ },
303
+ {
304
+ "internalType": "address",
305
+ "name": "coreContract",
306
+ "type": "address"
307
+ }
308
+ ],
309
+ "name": "purchase",
310
+ "outputs": [
311
+ {
312
+ "internalType": "uint256",
313
+ "name": "tokenId",
314
+ "type": "uint256"
315
+ }
316
+ ],
317
+ "stateMutability": "payable",
318
+ "type": "function"
319
+ },
320
+ {
321
+ "inputs": [
322
+ {
323
+ "internalType": "address",
324
+ "name": "to",
325
+ "type": "address"
326
+ },
327
+ {
328
+ "internalType": "uint256",
329
+ "name": "projectId",
330
+ "type": "uint256"
331
+ },
332
+ {
333
+ "internalType": "address",
334
+ "name": "coreContract",
335
+ "type": "address"
336
+ }
337
+ ],
338
+ "name": "purchaseTo",
339
+ "outputs": [
340
+ {
341
+ "internalType": "uint256",
342
+ "name": "tokenId",
343
+ "type": "uint256"
344
+ }
345
+ ],
346
+ "stateMutability": "payable",
347
+ "type": "function"
348
+ },
349
+ {
350
+ "inputs": [
351
+ {
352
+ "internalType": "uint256",
353
+ "name": "projectId",
354
+ "type": "uint256"
355
+ },
356
+ {
357
+ "internalType": "address",
358
+ "name": "coreContract",
359
+ "type": "address"
360
+ }
361
+ ],
362
+ "name": "setPriceProjectConfig",
363
+ "outputs": [
364
+ {
365
+ "components": [
366
+ {
367
+ "internalType": "uint248",
368
+ "name": "pricePerToken",
369
+ "type": "uint248"
370
+ },
371
+ {
372
+ "internalType": "bool",
373
+ "name": "priceIsConfigured",
374
+ "type": "bool"
375
+ }
376
+ ],
377
+ "internalType": "struct SetPriceLib.SetPriceProjectConfig",
378
+ "name": "",
379
+ "type": "tuple"
380
+ }
381
+ ],
382
+ "stateMutability": "view",
383
+ "type": "function"
384
+ },
385
+ {
386
+ "inputs": [
387
+ {
388
+ "internalType": "uint256",
389
+ "name": "projectId",
390
+ "type": "uint256"
391
+ },
392
+ {
393
+ "internalType": "address",
394
+ "name": "coreContract",
395
+ "type": "address"
396
+ }
397
+ ],
398
+ "name": "syncProjectMaxInvocationsToCore",
399
+ "outputs": [],
400
+ "stateMutability": "nonpayable",
401
+ "type": "function"
402
+ },
403
+ {
404
+ "inputs": [
405
+ {
406
+ "internalType": "uint256",
407
+ "name": "projectId",
408
+ "type": "uint256"
409
+ },
410
+ {
411
+ "internalType": "address",
412
+ "name": "coreContract",
413
+ "type": "address"
414
+ },
415
+ {
416
+ "internalType": "uint248",
417
+ "name": "pricePerTokenInWei",
418
+ "type": "uint248"
419
+ }
420
+ ],
421
+ "name": "updatePricePerTokenInWei",
422
+ "outputs": [],
423
+ "stateMutability": "nonpayable",
424
+ "type": "function"
425
+ }
426
+ ],
427
+ "bytecode": "0x60c060405234801561001057600080fd5b5060405161195d38038061195d83398101604081905261002f9161004a565b60016000556001600160a01b0316608081905260a05261007a565b60006020828403121561005c57600080fd5b81516001600160a01b038116811461007357600080fd5b9392505050565b60805160a0516118be61009f600039600061057b0152600061033701526118be6000f3fe6080604052600436106100ce5760003560e01c806301000da7146100d35780630edb4584146101085780632da43d3d146101365780634869f3df146101515780634e8d8787146101715780635889486e146101845780637e947f24146101995780639a94488a146101bb5780639b24c3c0146101fd578063ae77c23714610243578063b000e33414610256578063cce7c90914610276578063d3ddabe614610296578063d9bffbce146102d5578063d9eb16db146102f5578063dd85582f14610325578063e9d1e8ac14610371575b600080fd5b3480156100df57600080fd5b506100f36100ee366004611433565b6103b1565b60405190151581526020015b60405180910390f35b34801561011457600080fd5b50610128610123366004611450565b6103e9565b6040519081526020016100ff565b34801561014257600080fd5b5061012866354a6ba7a1800081565b34801561015d57600080fd5b5061012861016c36600461147c565b610414565b61012861017f3660046114ac565b610420565b34801561019057600080fd5b50610128601481565b3480156101a557600080fd5b506101b96101b43660046114ee565b610666565b005b3480156101c757600080fd5b506101db6101d636600461147c565b610700565b6040805182511515815260209283015162ffffff1692810192909252016100ff565b34801561020957600080fd5b5061021d61021836600461147c565b610748565b6040805182516001600160f81b03168152602092830151151592810192909252016100ff565b61012861025136600461147c565b610796565b34801561026257600080fd5b506101b9610271366004611531565b6107a3565b34801561028257600080fd5b506100f361029136600461147c565b6107b9565b3480156102a257600080fd5b506102c860405180604001604052806006815260200165076302e302e360d41b81525081565b6040516100ff91906115c0565b3480156102e157600080fd5b506101b96102f036600461147c565b6107c5565b34801561030157600080fd5b5061031561031036600461147c565b6107de565b6040516100ff94939291906115d3565b34801561033157600080fd5b506103597f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ff565b34801561037d57600080fd5b506102c86040518060400160405280601481526020017304d696e746572536c6964696e675363616c6556360641b81525081565b6000806103bd83610830565b8054909150610100900460ff16156103d9575460ff1692915050565b6103e283610869565b9392505050565b6001600160a01b03821660009081526001602090815260408083208484529091529020545b92915050565b60006103e283836109df565b60006002600054036104795760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b600260005561048883836109ff565b60006104948484610a30565b9050803410156104f05760405162461bcd60e51b815260206004820152602160248201527f4d7573742073656e642076616c756520677465206d696e696d756d20707269636044820152606560f81b6064820152608401610470565b6104fb601482611623565b3411156105495760405162461bcd60e51b815260206004820152601c60248201527b4f6e6c792070617920757020746f20323078206d696e20707269636560201b6044820152606401610470565b6040516117cd60e21b81526001600160a01b0386811660048301526024820186905284811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af11580156105c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e6919061163a565b91506105f28284610aa0565b6001600160a01b0383166000818152600160209081526040808320868452825291829020349081905591519182528492917f8102c3544da7dcde3beb046a3eb30020199b0f14ae78d5b53c987bec18eb748a910160405180910390a3610659843485610b0d565b5060016000559392505050565b610671838333610cce565b66354a6ba7a18000816001600160f81b031610156106ce5760405162461bcd60e51b815260206004820152601a6024820152795072696365206c74206d696e20616c6c6f77656420707269636560301b6044820152606401610470565b6106e28383836001600160f81b0316610d13565b6106ec8383610d72565b156106fb576106fb8383610da5565b505050565b604080518082019091526000808252602082015261071e8383610e40565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b60408051808201909152600080825260208201526107668383610e8b565b6040805180820190915290546001600160f81b0381168252600160f81b900460ff16151560208201529392505050565b60006103e2338484610420565b6107ae838333610cce565b6106fb838383610eb2565b60006103e28383610f88565b6107d0828233610cce565b6107da8282610da5565b5050565b60008060606000806107f08787610e8b565b5460408051808201909152600381526208aa8960eb1b602082015260ff600160f81b830416996001600160f81b0390921698509650600095509350505050565b6001600160a01b031660009081527f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b396020526040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038616906108cb908590611653565b600060405180830381855afa9150503d8060008114610906576040519150601f19603f3d011682016040523d82523d6000602084013e61090b565b606091505b50915091508161096b5760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b6064820152608401610470565b805160c08190036109825750600095945050505050565b80610100036109975750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c697420627974657300006044820152606401610470565b6000806109ec8484610e40565b54610100900462ffffff16949350505050565b6000610a0b8383610e40565b805490915060ff16156106fb5760405162461bcd60e51b81526004016104709061166f565b600080610a3d8484610e8b565b8054909150600160f81b900460ff16610a8f5760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b6044820152606401610470565b546001600160f81b03169392505050565b6000610aab83610fa1565b90506000610ab98284610e40565b8054909150620f4240850660010190610100900462ffffff1680821115610af25760405162461bcd60e51b81526004016104709061166f565b808203610b0557825460ff191660011783555b505050505050565b81600003610b1a57505050565b6000610b2582610fb0565b90506000806000806000806000808815610bc357604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440161010060405180830381865afa158015610b86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610baa91906116a0565b969e50949c50929a509098509650945092509050610c43565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa158015610c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c339190611728565b949c50929a509096509450925090505b8a8285610c50898c611791565b610c5a9190611791565b610c649190611791565b14610cb05760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b6044820152606401610470565b610cc086868a8a88888888610ffe565b505050505050505050505050565b610cd98383836112ac565b6106fb5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610470565b6000610d1f8484610e8b565b600160f81b6001600160f81b03841617815560405190915082906001600160a01b0385169086907f98e99eae7ab1c56b5b882e049df69b522affbaa1a93afd3be411447a1606027890600090a450505050565b600080610d7f8484610e40565b8054909150610100900462ffffff16158015610d9d5750805460ff16155b949350505050565b600080610db28484611335565b915091506000610dc28585610e40565b9050610dcd826113b3565b815460ff1962ffffff92909216610100029190911663ffffffff19909116178383141781556040516001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e23790610e319086815260200190565b60405180910390a35050505050565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee5b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b60007efc986db700c71340c673de619c46ee721167fc4ea17804bb535c4c196aa7d7610e64565b600080610ebf8585611335565b91509150808362ffffff161115610ee85760405162461bcd60e51b8152600401610470906117a4565b818362ffffff161015610f0d5760405162461bcd60e51b8152600401610470906117a4565b6000610f198686610e40565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b600080610f958484610e40565b5460ff16949350505050565b600061040e620f4240836117d5565b600080610fbc83610830565b8054909150610100900460ff1615610fd8575460ff1692915050565b6000610fe384610869565b825481151561ffff1990911617610100179092555092915050565b87156110a9576000876001600160a01b03168960405160006040518083038185875af1925050503d8060008114611051576040519150601f19603f3d011682016040523d82523d6000602084013e611056565b606091505b50509050806110a75760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610470565b505b8515611154576000856001600160a01b03168760405160006040518083038185875af1925050503d80600081146110fc576040519150601f19603f3d011682016040523d82523d6000602084013e611101565b606091505b50509050806111525760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610470565b505b83156111f7576000836001600160a01b03168560405160006040518083038185875af1925050503d80600081146111a7576040519150601f19603f3d011682016040523d82523d6000602084013e6111ac565b606091505b50509050806111f55760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610470565b505b81156112a2576000816001600160a01b03168360405160006040518083038185875af1925050503d806000811461124a576040519150601f19603f3d011682016040523d82523d6000602084013e61124f565b606091505b50509050806112a05760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610470565b505b5050505050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa1580156112f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131891906117f7565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa15801561137f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a39190611829565b5093989297509195505050505050565b600062ffffff8211156114175760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201526534206269747360d01b6064820152608401610470565b5090565b6001600160a01b038116811461143057600080fd5b50565b60006020828403121561144557600080fd5b81356103e28161141b565b6000806040838503121561146357600080fd5b823561146e8161141b565b946020939093013593505050565b6000806040838503121561148f57600080fd5b8235915060208301356114a18161141b565b809150509250929050565b6000806000606084860312156114c157600080fd5b83356114cc8161141b565b92506020840135915060408401356114e38161141b565b809150509250925092565b60008060006060848603121561150357600080fd5b8335925060208401356115158161141b565b915060408401356001600160f81b03811681146114e357600080fd5b60008060006060848603121561154657600080fd5b8335925060208401356115588161141b565b9150604084013562ffffff811681146114e357600080fd5b60005b8381101561158b578181015183820152602001611573565b50506000910152565b600081518084526115ac816020860160208601611570565b601f01601f19169290920160200192915050565b6020815260006103e26020830184611594565b84151581528360208201526080604082015260006115f46080830185611594565b905060018060a01b038316606083015295945050505050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761040e5761040e61160d565b60006020828403121561164c57600080fd5b5051919050565b60008251611665818460208701611570565b9190910192915050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b600080600080600080600080610100898b0312156116bd57600080fd5b8851975060208901516116cf8161141b565b60408a015160608b015191985096506116e78161141b565b60808a015160a08b015191965094506116ff8161141b565b60c08a015160e08b015191945092506117178161141b565b809150509295985092959890939650565b60008060008060008060c0878903121561174157600080fd5b8651955060208701516117538161141b565b60408801516060890151919650945061176b8161141b565b608088015160a089015191945092506117838161141b565b809150509295509295509295565b8082018082111561040e5761040e61160d565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b6000826117f257634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561180957600080fd5b81516103e28161141b565b8051801515811461182457600080fd5b919050565b60008060008060008060c0878903121561184257600080fd5b865195506020870151945061185960408801611814565b935061186760608801611814565b92506080870151915061187c60a08801611814565b9050929550929550929556fea2646970667358221220d6db0ce0f354b4759cfc8cf105819c5c882f399b5d4dc86f6facfbd46db2202264736f6c63430008130033",
428
+ "deployedBytecode": "0x6080604052600436106100ce5760003560e01c806301000da7146100d35780630edb4584146101085780632da43d3d146101365780634869f3df146101515780634e8d8787146101715780635889486e146101845780637e947f24146101995780639a94488a146101bb5780639b24c3c0146101fd578063ae77c23714610243578063b000e33414610256578063cce7c90914610276578063d3ddabe614610296578063d9bffbce146102d5578063d9eb16db146102f5578063dd85582f14610325578063e9d1e8ac14610371575b600080fd5b3480156100df57600080fd5b506100f36100ee366004611433565b6103b1565b60405190151581526020015b60405180910390f35b34801561011457600080fd5b50610128610123366004611450565b6103e9565b6040519081526020016100ff565b34801561014257600080fd5b5061012866354a6ba7a1800081565b34801561015d57600080fd5b5061012861016c36600461147c565b610414565b61012861017f3660046114ac565b610420565b34801561019057600080fd5b50610128601481565b3480156101a557600080fd5b506101b96101b43660046114ee565b610666565b005b3480156101c757600080fd5b506101db6101d636600461147c565b610700565b6040805182511515815260209283015162ffffff1692810192909252016100ff565b34801561020957600080fd5b5061021d61021836600461147c565b610748565b6040805182516001600160f81b03168152602092830151151592810192909252016100ff565b61012861025136600461147c565b610796565b34801561026257600080fd5b506101b9610271366004611531565b6107a3565b34801561028257600080fd5b506100f361029136600461147c565b6107b9565b3480156102a257600080fd5b506102c860405180604001604052806006815260200165076302e302e360d41b81525081565b6040516100ff91906115c0565b3480156102e157600080fd5b506101b96102f036600461147c565b6107c5565b34801561030157600080fd5b5061031561031036600461147c565b6107de565b6040516100ff94939291906115d3565b34801561033157600080fd5b506103597f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ff565b34801561037d57600080fd5b506102c86040518060400160405280601481526020017304d696e746572536c6964696e675363616c6556360641b81525081565b6000806103bd83610830565b8054909150610100900460ff16156103d9575460ff1692915050565b6103e283610869565b9392505050565b6001600160a01b03821660009081526001602090815260408083208484529091529020545b92915050565b60006103e283836109df565b60006002600054036104795760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b600260005561048883836109ff565b60006104948484610a30565b9050803410156104f05760405162461bcd60e51b815260206004820152602160248201527f4d7573742073656e642076616c756520677465206d696e696d756d20707269636044820152606560f81b6064820152608401610470565b6104fb601482611623565b3411156105495760405162461bcd60e51b815260206004820152601c60248201527b4f6e6c792070617920757020746f20323078206d696e20707269636560201b6044820152606401610470565b6040516117cd60e21b81526001600160a01b0386811660048301526024820186905284811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af11580156105c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e6919061163a565b91506105f28284610aa0565b6001600160a01b0383166000818152600160209081526040808320868452825291829020349081905591519182528492917f8102c3544da7dcde3beb046a3eb30020199b0f14ae78d5b53c987bec18eb748a910160405180910390a3610659843485610b0d565b5060016000559392505050565b610671838333610cce565b66354a6ba7a18000816001600160f81b031610156106ce5760405162461bcd60e51b815260206004820152601a6024820152795072696365206c74206d696e20616c6c6f77656420707269636560301b6044820152606401610470565b6106e28383836001600160f81b0316610d13565b6106ec8383610d72565b156106fb576106fb8383610da5565b505050565b604080518082019091526000808252602082015261071e8383610e40565b60408051808201909152905460ff811615158252610100900462ffffff1660208201529392505050565b60408051808201909152600080825260208201526107668383610e8b565b6040805180820190915290546001600160f81b0381168252600160f81b900460ff16151560208201529392505050565b60006103e2338484610420565b6107ae838333610cce565b6106fb838383610eb2565b60006103e28383610f88565b6107d0828233610cce565b6107da8282610da5565b5050565b60008060606000806107f08787610e8b565b5460408051808201909152600381526208aa8960eb1b602082015260ff600160f81b830416996001600160f81b0390921698509650600095509350505050565b6001600160a01b031660009081527f69f22dd730b53ff235fa96b4306a31bef5dad48fe4bac28b1ceebbce14401b396020526040902090565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038616906108cb908590611653565b600060405180830381855afa9150503d8060008114610906576040519150601f19603f3d011682016040523d82523d6000602084013e61090b565b606091505b50915091508161096b5760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b6064820152608401610470565b805160c08190036109825750600095945050505050565b80610100036109975750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c697420627974657300006044820152606401610470565b6000806109ec8484610e40565b54610100900462ffffff16949350505050565b6000610a0b8383610e40565b805490915060ff16156106fb5760405162461bcd60e51b81526004016104709061166f565b600080610a3d8484610e8b565b8054909150600160f81b900460ff16610a8f5760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b6044820152606401610470565b546001600160f81b03169392505050565b6000610aab83610fa1565b90506000610ab98284610e40565b8054909150620f4240850660010190610100900462ffffff1680821115610af25760405162461bcd60e51b81526004016104709061166f565b808203610b0557825460ff191660011783555b505050505050565b81600003610b1a57505050565b6000610b2582610fb0565b90506000806000806000806000808815610bc357604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440161010060405180830381865afa158015610b86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610baa91906116a0565b969e50949c50929a509098509650945092509050610c43565b604051638639415b60e01b8152600481018d9052602481018c90526001600160a01b038b1690638639415b9060440160c060405180830381865afa158015610c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c339190611728565b949c50929a509096509450925090505b8a8285610c50898c611791565b610c5a9190611791565b610c649190611791565b14610cb05760405162461bcd60e51b815260206004820152601c60248201527b496e76616c696420726576656e75652073706c697420746f74616c7360201b6044820152606401610470565b610cc086868a8a88888888610ffe565b505050505050505050505050565b610cd98383836112ac565b6106fb5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610470565b6000610d1f8484610e8b565b600160f81b6001600160f81b03841617815560405190915082906001600160a01b0385169086907f98e99eae7ab1c56b5b882e049df69b522affbaa1a93afd3be411447a1606027890600090a450505050565b600080610d7f8484610e40565b8054909150610100900462ffffff16158015610d9d5750805460ff16155b949350505050565b600080610db28484611335565b915091506000610dc28585610e40565b9050610dcd826113b3565b815460ff1962ffffff92909216610100029190911663ffffffff19909116178383141781556040516001600160a01b0385169086907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e23790610e319086815260200190565b60405180910390a35050505050565b60007f73e3af67f35f30fb72bbaaf6cc07b987364ed643c93ba201702e213464e877ee5b6001600160a01b039290921660009081526020928352604080822094825293909252502090565b60007efc986db700c71340c673de619c46ee721167fc4ea17804bb535c4c196aa7d7610e64565b600080610ebf8585611335565b91509150808362ffffff161115610ee85760405162461bcd60e51b8152600401610470906117a4565b818362ffffff161015610f0d5760405162461bcd60e51b8152600401610470906117a4565b6000610f198686610e40565b805462ffffff861685811463ffffffff19909216610100820260ff1916179190911782556040519081529091506001600160a01b0386169087907f1c3e74a6c6fefbaeee166b031cd2016349c6c863d5188b67c9bbd0b0dcb2e2379060200160405180910390a3505050505050565b600080610f958484610e40565b5460ff16949350505050565b600061040e620f4240836117d5565b600080610fbc83610830565b8054909150610100900460ff1615610fd8575460ff1692915050565b6000610fe384610869565b825481151561ffff1990911617610100179092555092915050565b87156110a9576000876001600160a01b03168960405160006040518083038185875af1925050503d8060008114611051576040519150601f19603f3d011682016040523d82523d6000602084013e611056565b606091505b50509050806110a75760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610470565b505b8515611154576000856001600160a01b03168760405160006040518083038185875af1925050503d80600081146110fc576040519150601f19603f3d011682016040523d82523d6000602084013e611101565b606091505b50509050806111525760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610470565b505b83156111f7576000836001600160a01b03168560405160006040518083038185875af1925050503d80600081146111a7576040519150601f19603f3d011682016040523d82523d6000602084013e6111ac565b606091505b50509050806111f55760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610470565b505b81156112a2576000816001600160a01b03168360405160006040518083038185875af1925050503d806000811461124a576040519150601f19603f3d011682016040523d82523d6000602084013e61124f565b606091505b50509050806112a05760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610470565b505b5050505050505050565b60405163a47d29cb60e01b8152600481018490526000906001600160a01b0384169063a47d29cb90602401602060405180830381865afa1580156112f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131891906117f7565b6001600160a01b0316826001600160a01b03161490509392505050565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b03841690630ea5613f9060240160c060405180830381865afa15801561137f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a39190611829565b5093989297509195505050505050565b600062ffffff8211156114175760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201526534206269747360d01b6064820152608401610470565b5090565b6001600160a01b038116811461143057600080fd5b50565b60006020828403121561144557600080fd5b81356103e28161141b565b6000806040838503121561146357600080fd5b823561146e8161141b565b946020939093013593505050565b6000806040838503121561148f57600080fd5b8235915060208301356114a18161141b565b809150509250929050565b6000806000606084860312156114c157600080fd5b83356114cc8161141b565b92506020840135915060408401356114e38161141b565b809150509250925092565b60008060006060848603121561150357600080fd5b8335925060208401356115158161141b565b915060408401356001600160f81b03811681146114e357600080fd5b60008060006060848603121561154657600080fd5b8335925060208401356115588161141b565b9150604084013562ffffff811681146114e357600080fd5b60005b8381101561158b578181015183820152602001611573565b50506000910152565b600081518084526115ac816020860160208601611570565b601f01601f19169290920160200192915050565b6020815260006103e26020830184611594565b84151581528360208201526080604082015260006115f46080830185611594565b905060018060a01b038316606083015295945050505050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761040e5761040e61160d565b60006020828403121561164c57600080fd5b5051919050565b60008251611665818460208701611570565b9190910192915050565b60208082526017908201527613585e081a5b9d9bd8d85d1a5bdb9cc81c995858da1959604a1b604082015260600190565b600080600080600080600080610100898b0312156116bd57600080fd5b8851975060208901516116cf8161141b565b60408a015160608b015191985096506116e78161141b565b60808a015160a08b015191965094506116ff8161141b565b60c08a015160e08b015191945092506117178161141b565b809150509295985092959890939650565b60008060008060008060c0878903121561174157600080fd5b8651955060208701516117538161141b565b60408801516060890151919650945061176b8161141b565b608088015160a089015191945092506117838161141b565b809150509295509295509295565b8082018082111561040e5761040e61160d565b602080825260179082015276496e76616c6964206d617820696e766f636174696f6e7360481b604082015260600190565b6000826117f257634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561180957600080fd5b81516103e28161141b565b8051801515811461182457600080fd5b919050565b60008060008060008060c0878903121561184257600080fd5b865195506020870151945061185960408801611814565b935061186760608801611814565b92506080870151915061187c60a08801611814565b9050929550929550929556fea2646970667358221220d6db0ce0f354b4759cfc8cf105819c5c882f399b5d4dc86f6facfbd46db2202264736f6c63430008130033",
429
+ "linkReferences": {},
430
+ "deployedLinkReferences": {}
431
+ }