@artblocks/contracts 1.0.4 → 1.2.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 (289) hide show
  1. package/README.md +75 -7
  2. package/artifacts/contracts/AdminACLV0.sol/AdminACLV0.json +2 -2
  3. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  4. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +336 -131
  5. package/artifacts/contracts/archive/GenArt721CoreV3.sol/GenArt721CoreV3.json +2047 -0
  6. package/artifacts/contracts/archive/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +2021 -0
  7. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterBase_v0_1_1.sol/MinterBase.json +1 -1
  8. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  9. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  10. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExp}/MinterDAExpV4.sol/MinterDAExpV4.json +3 -3
  11. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  12. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  13. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +1109 -0
  14. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  16. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDALin}/MinterDALinV4.sol/MinterDALinV4.json +3 -3
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  20. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterHolder}/MinterHolderV4.sol/MinterHolderV4.json +3 -3
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  23. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  24. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  25. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterMerkle}/MinterMerkleV5.sol/MinterMerkleV5.json +3 -3
  26. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +31 -63
  27. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol/MinterPolyptychV0.json +3 -3
  28. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSEA}/MinterSEAV0.sol/MinterSEAV0.json +3 -3
  29. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  30. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  31. package/artifacts/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV4.sol/MinterSetPriceV4.json +3 -3
  32. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +65 -2
  33. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +65 -2
  34. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  35. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  36. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +807 -0
  37. package/artifacts/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol/GenArt721MinterBurner_PBAB.json +65 -2
  38. package/artifacts/contracts/engine/V2/GenArt721Minter_PBAB.sol/GenArt721Minter_PBAB.json +65 -2
  39. package/artifacts/contracts/engine/V3/EngineFactoryV0.sol/EngineFactoryV0.json +606 -0
  40. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +565 -209
  41. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +785 -227
  42. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +40 -15
  43. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +2 -2
  44. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +40 -15
  45. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +36 -68
  46. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +12 -12
  47. package/artifacts/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol/IAdminACLV0_Extended.json +140 -0
  48. package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol/IBytecodeStorageReaderV2.json +130 -0
  49. package/artifacts/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +6 -6
  50. package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +71 -39
  51. package/artifacts/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol/IEngineFactoryV0.json +283 -0
  52. package/artifacts/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +12 -12
  53. package/artifacts/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV1.sol/IFilteredMinterDAExpSettlementV1.json +12 -12
  54. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +30 -62
  55. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +30 -62
  56. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +170 -104
  57. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +170 -104
  58. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.json +1028 -0
  59. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol/IGenArt721CoreContractV3_Engine_PreV3p2.json +741 -0
  60. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol/IGenArt721CoreContractV3_ProjectFinance.json +87 -0
  61. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol/IGenArt721Minter_PBAB.json +279 -0
  62. package/artifacts/contracts/interfaces/v0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +22 -22
  63. package/artifacts/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol/IPseudorandomAtomic.json +1 -1
  64. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +26 -101
  65. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol/ISharedMinterDAExpV0.json +1 -57
  66. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol/ISharedMinterDALinV0.json +1 -57
  67. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol/ISharedMinterDAV0.json +2 -21
  68. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol/ISharedMinterHolderERC20V0.json +158 -0
  69. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol/ISharedMinterHolderV0.json +15 -90
  70. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol/ISharedMinterMerkleV0.json +10 -36
  71. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterRAMV0.sol/ISharedMinterRAMV0.json +62 -0
  72. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol/ISharedMinterRequired.json +37 -0
  73. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +4 -236
  74. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol/ISharedMinterSimplePurchaseV0.json +5 -5
  75. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterV0.sol/ISharedMinterV0.json +7 -423
  76. package/artifacts/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +17 -17
  77. package/artifacts/contracts/interfaces/v0.8.x/ISplitAtomicFactoryV0.sol/ISplitAtomicFactoryV0.json +170 -0
  78. package/artifacts/contracts/interfaces/v0.8.x/ISplitAtomicV0.sol/ISplitAtomicV0.json +126 -0
  79. package/artifacts/contracts/interfaces/v0.8.x/ISplitProviderV0.sol/ISplitProviderV0.json +98 -0
  80. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/splits-0x-v2/ISplitFactoryV2.sol/ISplitFactoryV2.json +123 -0
  81. package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +2 -2
  82. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +2 -2
  83. package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +2 -2
  84. package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +2 -2
  85. package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +2 -2
  86. package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +2 -2
  87. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
  88. package/artifacts/contracts/libs/v0.8.x/BitMap.sol/BitMaps256.json +10 -0
  89. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV0.sol/BytecodeStorage.json +2 -2
  90. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageReader.json +2 -2
  91. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV1.sol/BytecodeStorageWriter.json +2 -2
  92. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageReader.json +214 -0
  93. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageWriter.json +10 -0
  94. package/artifacts/contracts/libs/v0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
  95. package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +10 -0
  96. package/artifacts/contracts/libs/v0.8.x/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +2 -2
  97. package/artifacts/contracts/libs/v0.8.x/ERC721_PackedHashSeedV1.sol/ERC721_PackedHashSeedV1.json +444 -0
  98. package/artifacts/contracts/libs/v0.8.x/PackedBools.sol/PackedBools.json +10 -0
  99. package/artifacts/contracts/libs/v0.8.x/SSTORE2.sol/SSTORE2.json +2 -2
  100. package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +208 -0
  101. package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +60 -3
  102. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALib.sol/DALib.json +30 -0
  103. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +60 -3
  104. package/artifacts/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol/GenericMinterEventsLib.json +346 -0
  105. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +29 -3
  106. package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +30 -3
  107. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
  108. package/artifacts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol/RAMLib.json +398 -0
  109. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +254 -3
  110. package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +48 -3
  111. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +41 -3
  112. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +35 -3
  113. package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +79 -3
  114. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  115. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +41 -41
  116. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +66 -632
  117. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +67 -594
  118. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +33 -524
  119. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +66 -632
  120. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +33 -524
  121. package/artifacts/contracts/minter-suite/Minters/MinterRAMV0.sol/MinterRAMV0.json +1374 -0
  122. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +56 -722
  123. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +58 -454
  124. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +61 -552
  125. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +55 -497
  126. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +110 -571
  127. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +69 -560
  128. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +28 -444
  129. package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol/MinterSetPriceV5_SingleCore.json +417 -0
  130. package/artifacts/contracts/mock/BytecodeV2LibCallsMock.sol/BytecodeV2LibCallsMock.json +154 -0
  131. package/artifacts/contracts/mock/BytecodeV2TextCR_DMock.sol/BytecodeV2TextCR_DMock.json +428 -0
  132. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
  133. package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +2 -2
  134. package/artifacts/contracts/mock/ForceSendMock.sol/ForceSendMock.json +24 -0
  135. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +4 -9
  136. package/artifacts/contracts/mock/Mock0xSplitsV2PullFactory.sol/Mock0xSplitsV2PullFactory.json +149 -0
  137. package/artifacts/contracts/mock/Mock0xSplitsV2Splitter.sol/Mock0xSplitsV2Splitter.json +99 -0
  138. package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +20 -2
  139. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +20 -2
  140. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +2 -2
  141. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  142. package/artifacts/contracts/mock/ReentrancyGenArt721MinterMock.sol/ReentrancyGenArt721MinterMock.json +100 -0
  143. package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +2 -2
  144. package/artifacts/contracts/mock/ReentrancyHolderMockShared.sol/ReentrancyHolderMockShared.json +136 -0
  145. package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +2 -2
  146. package/artifacts/contracts/mock/ReentrancyMerkleMockShared.sol/ReentrancyMerkleMockShared.json +105 -0
  147. package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +2 -2
  148. package/artifacts/contracts/mock/ReentrancyMockShared.sol/ReentrancyMockShared.json +100 -0
  149. package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +2 -2
  150. package/artifacts/contracts/mock/ReentrancySEAMockShared.sol/ReentrancySEAAutoBidderMockShared.json +69 -0
  151. package/artifacts/contracts/mock/ReentrancySplitterMocks.sol/ReentrancySplitterDrainETHMock.json +54 -0
  152. package/artifacts/contracts/mock/ReentrancySplitterMocks.sol/ReentrancySplitterSendETHMock.json +54 -0
  153. package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
  154. package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
  155. package/artifacts/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol/PseudorandomAtomic.json +2 -2
  156. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +19 -19
  157. package/artifacts/contracts/split/SplitAtomicFactoryV0.sol/SplitAtomicFactoryV0.json +203 -0
  158. package/artifacts/contracts/split/SplitAtomicV0.sol/SplitAtomicV0.json +168 -0
  159. package/artifacts/contracts/split/split-provider/SplitProviderV0.sol/SplitProviderV0.json +141 -0
  160. package/contracts/AdminACLV0.sol +6 -2
  161. package/contracts/AdminACLV1.sol +2 -2
  162. package/contracts/DependencyRegistryV0.sol +737 -390
  163. package/contracts/{GenArt721CoreV3.sol → archive/GenArt721CoreV3.sol} +56 -20
  164. package/contracts/{explorations → archive}/GenArt721CoreV3_Explorations.sol +49 -13
  165. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterBase_v0_1_1.sol +4 -4
  166. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExp}/MinterDAExpV4.sol +4 -4
  167. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +4 -4
  168. package/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol +5 -5
  169. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDAExpSettlement}/MinterDAExpSettlementV2.sol +9 -62
  170. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterDALin}/MinterDALinV4.sol +4 -4
  171. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterHolder}/MinterHolderV4.sol +5 -5
  172. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterMerkle}/MinterMerkleV5.sol +5 -5
  173. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterPolyptych}/MinterPolyptychV0.sol +7 -7
  174. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSEA}/MinterSEAV0.sol +13 -13
  175. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV4.sol +4 -4
  176. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V0.sol +82 -10
  177. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +82 -10
  178. package/contracts/{minter-suite/Minters → archive/minter-suite/Minters/MinterSetPriceERC20}/MinterSetPriceERC20V4.sol +88 -21
  179. package/contracts/engine/V2/GenArt721MinterBurner_PBAB.sol +81 -22
  180. package/contracts/engine/V2/GenArt721Minter_PBAB.sol +80 -22
  181. package/contracts/engine/V3/EngineFactoryV0.sol +419 -0
  182. package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +893 -493
  183. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +1053 -655
  184. package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +7 -13
  185. package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +5 -11
  186. package/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol +2 -2
  187. package/contracts/engine-registry/CoreRegistryV1.sol +58 -65
  188. package/contracts/interfaces/v0.8.x/IAdminACLV0_Extended.sol +20 -0
  189. package/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol +23 -0
  190. package/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol +6 -8
  191. package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +48 -43
  192. package/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol +124 -0
  193. package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV0.sol +1 -3
  194. package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpSettlementV1.sol +1 -3
  195. package/contracts/interfaces/v0.8.x/IFilteredMinterDAExpV1.sol +1 -3
  196. package/contracts/interfaces/v0.8.x/IFilteredMinterDALinV1.sol +1 -3
  197. package/contracts/interfaces/v0.8.x/IFilteredMinterHolderV2.sol +1 -3
  198. package/contracts/interfaces/v0.8.x/IFilteredMinterMerkleV2.sol +1 -3
  199. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol +115 -11
  200. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol +84 -8
  201. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol +26 -8
  202. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol +141 -0
  203. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol +78 -0
  204. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_ProjectFinance.sol +47 -0
  205. package/contracts/interfaces/v0.8.x/IGenArt721Minter_PBAB.sol +91 -0
  206. package/contracts/interfaces/v0.8.x/IMinterFilterV1.sol +25 -25
  207. package/contracts/interfaces/v0.8.x/IPseudorandomAtomic.sol +1 -3
  208. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +30 -20
  209. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol +1 -14
  210. package/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol +1 -15
  211. package/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol +2 -8
  212. package/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol +47 -0
  213. package/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol +15 -43
  214. package/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol +10 -20
  215. package/contracts/interfaces/v0.8.x/ISharedMinterRAMV0.sol +23 -0
  216. package/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol +20 -0
  217. package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +1 -67
  218. package/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol +5 -5
  219. package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +18 -160
  220. package/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol +37 -37
  221. package/contracts/interfaces/v0.8.x/ISplitAtomicFactoryV0.sol +81 -0
  222. package/contracts/interfaces/v0.8.x/ISplitAtomicV0.sol +72 -0
  223. package/contracts/interfaces/v0.8.x/ISplitProviderV0.sol +49 -0
  224. package/contracts/interfaces/v0.8.x/integration-refs/splits-0x-v2/ISplitFactoryV2.sol +62 -0
  225. package/contracts/libs/v0.8.x/ABHelpers.sol +31 -17
  226. package/contracts/libs/v0.8.x/AuthLib.sol +101 -102
  227. package/contracts/libs/v0.8.x/BitMap.sol +112 -0
  228. package/contracts/libs/v0.8.x/BytecodeStorageV2.sol +593 -0
  229. package/contracts/libs/v0.8.x/Bytes32Strings.sol +5 -5
  230. package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +90 -0
  231. package/contracts/libs/v0.8.x/ERC721_PackedHashSeedV1.sol +591 -0
  232. package/contracts/libs/v0.8.x/PackedBools.sol +42 -0
  233. package/contracts/libs/v0.8.x/V3FlexLib.sol +591 -0
  234. package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +162 -39
  235. package/contracts/libs/v0.8.x/minter-libs/DALib.sol +26 -0
  236. package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +139 -37
  237. package/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol +171 -0
  238. package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +299 -158
  239. package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +268 -55
  240. package/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol +138 -58
  241. package/contracts/libs/v0.8.x/minter-libs/RAMLib.sol +2927 -0
  242. package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +796 -123
  243. package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +131 -13
  244. package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +607 -224
  245. package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +494 -330
  246. package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +217 -78
  247. package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +358 -309
  248. package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +391 -491
  249. package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +396 -632
  250. package/contracts/minter-suite/Minters/MinterDAExpV5.sol +212 -273
  251. package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +393 -488
  252. package/contracts/minter-suite/Minters/MinterDALinV5.sol +220 -277
  253. package/contracts/minter-suite/Minters/MinterRAMV0.sol +1205 -0
  254. package/contracts/minter-suite/Minters/MinterSEAV1.sol +329 -677
  255. package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +287 -303
  256. package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +355 -446
  257. package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +328 -416
  258. package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +552 -622
  259. package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +429 -553
  260. package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +180 -227
  261. package/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol +446 -0
  262. package/contracts/mock/BytecodeV2LibCallsMock.sol +128 -0
  263. package/contracts/mock/BytecodeV2TextCR_DMock.sol +316 -0
  264. package/contracts/mock/ForceSendMock.sol +22 -0
  265. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +3 -10
  266. package/contracts/mock/Mock0xSplitsV2PullFactory.sol +75 -0
  267. package/contracts/mock/Mock0xSplitsV2Splitter.sol +47 -0
  268. package/contracts/mock/MockAdminACLV0.sol +21 -0
  269. package/contracts/mock/MockAdminACLV0_PROHIBITION.sol +21 -0
  270. package/contracts/mock/ReentrancyGenArt721MinterMock.sol +47 -0
  271. package/contracts/mock/ReentrancyHolderMockShared.sol +59 -0
  272. package/contracts/mock/ReentrancyMerkleMockShared.sol +58 -0
  273. package/contracts/mock/ReentrancyMockShared.sol +48 -0
  274. package/contracts/mock/ReentrancySEAMockShared.sol +40 -0
  275. package/contracts/mock/ReentrancySplitterMocks.sol +67 -0
  276. package/contracts/randomizer/primitive/PseudorandomAtomicBasic.sol +1 -1
  277. package/contracts/randomizer/shared/SharedRandomizerV0.sol +79 -71
  278. package/contracts/split/SplitAtomicFactoryV0.sol +121 -0
  279. package/contracts/split/SplitAtomicV0.sol +265 -0
  280. package/contracts/split/split-provider/SplitProviderV0.sol +201 -0
  281. package/package.json +79 -45
  282. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +0 -1965
  283. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +0 -1939
  284. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +0 -1127
  285. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +0 -768
  286. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +0 -208
  287. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol/GenArt721RoyaltyOverride_PBAB.json +0 -301
  288. package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +0 -168
  289. package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +0 -221
@@ -0,0 +1,807 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MinterSetPriceERC20V4",
4
+ "sourceName": "contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V4.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_genArt721Address",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_minterFilter",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "anonymous": false,
24
+ "inputs": [
25
+ {
26
+ "indexed": true,
27
+ "internalType": "uint256",
28
+ "name": "_projectId",
29
+ "type": "uint256"
30
+ },
31
+ {
32
+ "indexed": false,
33
+ "internalType": "bytes32",
34
+ "name": "_key",
35
+ "type": "bytes32"
36
+ }
37
+ ],
38
+ "name": "ConfigKeyRemoved",
39
+ "type": "event"
40
+ },
41
+ {
42
+ "anonymous": false,
43
+ "inputs": [
44
+ {
45
+ "indexed": true,
46
+ "internalType": "uint256",
47
+ "name": "_projectId",
48
+ "type": "uint256"
49
+ },
50
+ {
51
+ "indexed": false,
52
+ "internalType": "bytes32",
53
+ "name": "_key",
54
+ "type": "bytes32"
55
+ },
56
+ {
57
+ "indexed": false,
58
+ "internalType": "uint256",
59
+ "name": "_value",
60
+ "type": "uint256"
61
+ }
62
+ ],
63
+ "name": "ConfigValueAddedToSet",
64
+ "type": "event"
65
+ },
66
+ {
67
+ "anonymous": false,
68
+ "inputs": [
69
+ {
70
+ "indexed": true,
71
+ "internalType": "uint256",
72
+ "name": "_projectId",
73
+ "type": "uint256"
74
+ },
75
+ {
76
+ "indexed": false,
77
+ "internalType": "bytes32",
78
+ "name": "_key",
79
+ "type": "bytes32"
80
+ },
81
+ {
82
+ "indexed": false,
83
+ "internalType": "address",
84
+ "name": "_value",
85
+ "type": "address"
86
+ }
87
+ ],
88
+ "name": "ConfigValueAddedToSet",
89
+ "type": "event"
90
+ },
91
+ {
92
+ "anonymous": false,
93
+ "inputs": [
94
+ {
95
+ "indexed": true,
96
+ "internalType": "uint256",
97
+ "name": "_projectId",
98
+ "type": "uint256"
99
+ },
100
+ {
101
+ "indexed": false,
102
+ "internalType": "bytes32",
103
+ "name": "_key",
104
+ "type": "bytes32"
105
+ },
106
+ {
107
+ "indexed": false,
108
+ "internalType": "bytes32",
109
+ "name": "_value",
110
+ "type": "bytes32"
111
+ }
112
+ ],
113
+ "name": "ConfigValueAddedToSet",
114
+ "type": "event"
115
+ },
116
+ {
117
+ "anonymous": false,
118
+ "inputs": [
119
+ {
120
+ "indexed": true,
121
+ "internalType": "uint256",
122
+ "name": "_projectId",
123
+ "type": "uint256"
124
+ },
125
+ {
126
+ "indexed": false,
127
+ "internalType": "bytes32",
128
+ "name": "_key",
129
+ "type": "bytes32"
130
+ },
131
+ {
132
+ "indexed": false,
133
+ "internalType": "uint256",
134
+ "name": "_value",
135
+ "type": "uint256"
136
+ }
137
+ ],
138
+ "name": "ConfigValueRemovedFromSet",
139
+ "type": "event"
140
+ },
141
+ {
142
+ "anonymous": false,
143
+ "inputs": [
144
+ {
145
+ "indexed": true,
146
+ "internalType": "uint256",
147
+ "name": "_projectId",
148
+ "type": "uint256"
149
+ },
150
+ {
151
+ "indexed": false,
152
+ "internalType": "bytes32",
153
+ "name": "_key",
154
+ "type": "bytes32"
155
+ },
156
+ {
157
+ "indexed": false,
158
+ "internalType": "address",
159
+ "name": "_value",
160
+ "type": "address"
161
+ }
162
+ ],
163
+ "name": "ConfigValueRemovedFromSet",
164
+ "type": "event"
165
+ },
166
+ {
167
+ "anonymous": false,
168
+ "inputs": [
169
+ {
170
+ "indexed": true,
171
+ "internalType": "uint256",
172
+ "name": "_projectId",
173
+ "type": "uint256"
174
+ },
175
+ {
176
+ "indexed": false,
177
+ "internalType": "bytes32",
178
+ "name": "_key",
179
+ "type": "bytes32"
180
+ },
181
+ {
182
+ "indexed": false,
183
+ "internalType": "bytes32",
184
+ "name": "_value",
185
+ "type": "bytes32"
186
+ }
187
+ ],
188
+ "name": "ConfigValueRemovedFromSet",
189
+ "type": "event"
190
+ },
191
+ {
192
+ "anonymous": false,
193
+ "inputs": [
194
+ {
195
+ "indexed": true,
196
+ "internalType": "uint256",
197
+ "name": "_projectId",
198
+ "type": "uint256"
199
+ },
200
+ {
201
+ "indexed": false,
202
+ "internalType": "bytes32",
203
+ "name": "_key",
204
+ "type": "bytes32"
205
+ },
206
+ {
207
+ "indexed": false,
208
+ "internalType": "bool",
209
+ "name": "_value",
210
+ "type": "bool"
211
+ }
212
+ ],
213
+ "name": "ConfigValueSet",
214
+ "type": "event"
215
+ },
216
+ {
217
+ "anonymous": false,
218
+ "inputs": [
219
+ {
220
+ "indexed": true,
221
+ "internalType": "uint256",
222
+ "name": "_projectId",
223
+ "type": "uint256"
224
+ },
225
+ {
226
+ "indexed": false,
227
+ "internalType": "bytes32",
228
+ "name": "_key",
229
+ "type": "bytes32"
230
+ },
231
+ {
232
+ "indexed": false,
233
+ "internalType": "uint256",
234
+ "name": "_value",
235
+ "type": "uint256"
236
+ }
237
+ ],
238
+ "name": "ConfigValueSet",
239
+ "type": "event"
240
+ },
241
+ {
242
+ "anonymous": false,
243
+ "inputs": [
244
+ {
245
+ "indexed": true,
246
+ "internalType": "uint256",
247
+ "name": "_projectId",
248
+ "type": "uint256"
249
+ },
250
+ {
251
+ "indexed": false,
252
+ "internalType": "bytes32",
253
+ "name": "_key",
254
+ "type": "bytes32"
255
+ },
256
+ {
257
+ "indexed": false,
258
+ "internalType": "address",
259
+ "name": "_value",
260
+ "type": "address"
261
+ }
262
+ ],
263
+ "name": "ConfigValueSet",
264
+ "type": "event"
265
+ },
266
+ {
267
+ "anonymous": false,
268
+ "inputs": [
269
+ {
270
+ "indexed": true,
271
+ "internalType": "uint256",
272
+ "name": "_projectId",
273
+ "type": "uint256"
274
+ },
275
+ {
276
+ "indexed": false,
277
+ "internalType": "bytes32",
278
+ "name": "_key",
279
+ "type": "bytes32"
280
+ },
281
+ {
282
+ "indexed": false,
283
+ "internalType": "bytes32",
284
+ "name": "_value",
285
+ "type": "bytes32"
286
+ }
287
+ ],
288
+ "name": "ConfigValueSet",
289
+ "type": "event"
290
+ },
291
+ {
292
+ "anonymous": false,
293
+ "inputs": [
294
+ {
295
+ "indexed": true,
296
+ "internalType": "uint256",
297
+ "name": "_projectId",
298
+ "type": "uint256"
299
+ },
300
+ {
301
+ "indexed": true,
302
+ "internalType": "uint256",
303
+ "name": "_pricePerTokenInWei",
304
+ "type": "uint256"
305
+ }
306
+ ],
307
+ "name": "PricePerTokenInWeiUpdated",
308
+ "type": "event"
309
+ },
310
+ {
311
+ "anonymous": false,
312
+ "inputs": [
313
+ {
314
+ "indexed": true,
315
+ "internalType": "uint256",
316
+ "name": "_projectId",
317
+ "type": "uint256"
318
+ },
319
+ {
320
+ "indexed": true,
321
+ "internalType": "address",
322
+ "name": "_currencyAddress",
323
+ "type": "address"
324
+ },
325
+ {
326
+ "indexed": false,
327
+ "internalType": "string",
328
+ "name": "_currencySymbol",
329
+ "type": "string"
330
+ }
331
+ ],
332
+ "name": "ProjectCurrencyInfoUpdated",
333
+ "type": "event"
334
+ },
335
+ {
336
+ "anonymous": false,
337
+ "inputs": [
338
+ {
339
+ "indexed": true,
340
+ "internalType": "uint256",
341
+ "name": "_projectId",
342
+ "type": "uint256"
343
+ },
344
+ {
345
+ "indexed": false,
346
+ "internalType": "uint256",
347
+ "name": "_maxInvocations",
348
+ "type": "uint256"
349
+ }
350
+ ],
351
+ "name": "ProjectMaxInvocationsLimitUpdated",
352
+ "type": "event"
353
+ },
354
+ {
355
+ "anonymous": false,
356
+ "inputs": [
357
+ {
358
+ "indexed": true,
359
+ "internalType": "uint256",
360
+ "name": "_projectId",
361
+ "type": "uint256"
362
+ },
363
+ {
364
+ "indexed": false,
365
+ "internalType": "bool",
366
+ "name": "_purchaseToDisabled",
367
+ "type": "bool"
368
+ }
369
+ ],
370
+ "name": "PurchaseToDisabledUpdated",
371
+ "type": "event"
372
+ },
373
+ {
374
+ "inputs": [
375
+ {
376
+ "internalType": "uint256",
377
+ "name": "_projectId",
378
+ "type": "uint256"
379
+ }
380
+ ],
381
+ "name": "checkYourAllowanceOfProjectERC20",
382
+ "outputs": [
383
+ {
384
+ "internalType": "uint256",
385
+ "name": "remaining",
386
+ "type": "uint256"
387
+ }
388
+ ],
389
+ "stateMutability": "view",
390
+ "type": "function"
391
+ },
392
+ {
393
+ "inputs": [],
394
+ "name": "genArt721CoreAddress",
395
+ "outputs": [
396
+ {
397
+ "internalType": "address",
398
+ "name": "",
399
+ "type": "address"
400
+ }
401
+ ],
402
+ "stateMutability": "view",
403
+ "type": "function"
404
+ },
405
+ {
406
+ "inputs": [
407
+ {
408
+ "internalType": "uint256",
409
+ "name": "_projectId",
410
+ "type": "uint256"
411
+ }
412
+ ],
413
+ "name": "getPriceInfo",
414
+ "outputs": [
415
+ {
416
+ "internalType": "bool",
417
+ "name": "isConfigured",
418
+ "type": "bool"
419
+ },
420
+ {
421
+ "internalType": "uint256",
422
+ "name": "tokenPriceInWei",
423
+ "type": "uint256"
424
+ },
425
+ {
426
+ "internalType": "string",
427
+ "name": "currencySymbol",
428
+ "type": "string"
429
+ },
430
+ {
431
+ "internalType": "address",
432
+ "name": "currencyAddress",
433
+ "type": "address"
434
+ }
435
+ ],
436
+ "stateMutability": "view",
437
+ "type": "function"
438
+ },
439
+ {
440
+ "inputs": [
441
+ {
442
+ "internalType": "uint256",
443
+ "name": "_projectId",
444
+ "type": "uint256"
445
+ }
446
+ ],
447
+ "name": "getYourBalanceOfProjectERC20",
448
+ "outputs": [
449
+ {
450
+ "internalType": "uint256",
451
+ "name": "balance",
452
+ "type": "uint256"
453
+ }
454
+ ],
455
+ "stateMutability": "view",
456
+ "type": "function"
457
+ },
458
+ {
459
+ "inputs": [],
460
+ "name": "isEngine",
461
+ "outputs": [
462
+ {
463
+ "internalType": "bool",
464
+ "name": "",
465
+ "type": "bool"
466
+ }
467
+ ],
468
+ "stateMutability": "view",
469
+ "type": "function"
470
+ },
471
+ {
472
+ "inputs": [
473
+ {
474
+ "internalType": "uint256",
475
+ "name": "_projectId",
476
+ "type": "uint256"
477
+ },
478
+ {
479
+ "internalType": "uint256",
480
+ "name": "_maxInvocations",
481
+ "type": "uint256"
482
+ }
483
+ ],
484
+ "name": "manuallyLimitProjectMaxInvocations",
485
+ "outputs": [],
486
+ "stateMutability": "nonpayable",
487
+ "type": "function"
488
+ },
489
+ {
490
+ "inputs": [],
491
+ "name": "minterFilterAddress",
492
+ "outputs": [
493
+ {
494
+ "internalType": "address",
495
+ "name": "",
496
+ "type": "address"
497
+ }
498
+ ],
499
+ "stateMutability": "view",
500
+ "type": "function"
501
+ },
502
+ {
503
+ "inputs": [],
504
+ "name": "minterType",
505
+ "outputs": [
506
+ {
507
+ "internalType": "string",
508
+ "name": "",
509
+ "type": "string"
510
+ }
511
+ ],
512
+ "stateMutability": "view",
513
+ "type": "function"
514
+ },
515
+ {
516
+ "inputs": [],
517
+ "name": "minterVersion",
518
+ "outputs": [
519
+ {
520
+ "internalType": "string",
521
+ "name": "",
522
+ "type": "string"
523
+ }
524
+ ],
525
+ "stateMutability": "view",
526
+ "type": "function"
527
+ },
528
+ {
529
+ "inputs": [
530
+ {
531
+ "internalType": "uint256",
532
+ "name": "",
533
+ "type": "uint256"
534
+ }
535
+ ],
536
+ "name": "projectConfig",
537
+ "outputs": [
538
+ {
539
+ "internalType": "bool",
540
+ "name": "maxHasBeenInvoked",
541
+ "type": "bool"
542
+ },
543
+ {
544
+ "internalType": "bool",
545
+ "name": "priceIsConfigured",
546
+ "type": "bool"
547
+ },
548
+ {
549
+ "internalType": "uint24",
550
+ "name": "maxInvocations",
551
+ "type": "uint24"
552
+ },
553
+ {
554
+ "internalType": "address",
555
+ "name": "currencyAddress",
556
+ "type": "address"
557
+ },
558
+ {
559
+ "internalType": "uint256",
560
+ "name": "pricePerTokenInWei",
561
+ "type": "uint256"
562
+ },
563
+ {
564
+ "internalType": "string",
565
+ "name": "currencySymbol",
566
+ "type": "string"
567
+ }
568
+ ],
569
+ "stateMutability": "view",
570
+ "type": "function"
571
+ },
572
+ {
573
+ "inputs": [
574
+ {
575
+ "internalType": "uint256",
576
+ "name": "_projectId",
577
+ "type": "uint256"
578
+ }
579
+ ],
580
+ "name": "projectMaxHasBeenInvoked",
581
+ "outputs": [
582
+ {
583
+ "internalType": "bool",
584
+ "name": "",
585
+ "type": "bool"
586
+ }
587
+ ],
588
+ "stateMutability": "view",
589
+ "type": "function"
590
+ },
591
+ {
592
+ "inputs": [
593
+ {
594
+ "internalType": "uint256",
595
+ "name": "_projectId",
596
+ "type": "uint256"
597
+ }
598
+ ],
599
+ "name": "projectMaxInvocations",
600
+ "outputs": [
601
+ {
602
+ "internalType": "uint256",
603
+ "name": "",
604
+ "type": "uint256"
605
+ }
606
+ ],
607
+ "stateMutability": "view",
608
+ "type": "function"
609
+ },
610
+ {
611
+ "inputs": [
612
+ {
613
+ "internalType": "uint256",
614
+ "name": "_projectId",
615
+ "type": "uint256"
616
+ },
617
+ {
618
+ "internalType": "uint256",
619
+ "name": "_maxPricePerToken",
620
+ "type": "uint256"
621
+ },
622
+ {
623
+ "internalType": "address",
624
+ "name": "_currencyAddress",
625
+ "type": "address"
626
+ }
627
+ ],
628
+ "name": "purchase",
629
+ "outputs": [
630
+ {
631
+ "internalType": "uint256",
632
+ "name": "tokenId",
633
+ "type": "uint256"
634
+ }
635
+ ],
636
+ "stateMutability": "payable",
637
+ "type": "function"
638
+ },
639
+ {
640
+ "inputs": [
641
+ {
642
+ "internalType": "uint256",
643
+ "name": "_projectId",
644
+ "type": "uint256"
645
+ }
646
+ ],
647
+ "name": "purchase",
648
+ "outputs": [
649
+ {
650
+ "internalType": "uint256",
651
+ "name": "tokenId",
652
+ "type": "uint256"
653
+ }
654
+ ],
655
+ "stateMutability": "payable",
656
+ "type": "function"
657
+ },
658
+ {
659
+ "inputs": [
660
+ {
661
+ "internalType": "address",
662
+ "name": "_to",
663
+ "type": "address"
664
+ },
665
+ {
666
+ "internalType": "uint256",
667
+ "name": "_projectId",
668
+ "type": "uint256"
669
+ }
670
+ ],
671
+ "name": "purchaseTo",
672
+ "outputs": [
673
+ {
674
+ "internalType": "uint256",
675
+ "name": "tokenId",
676
+ "type": "uint256"
677
+ }
678
+ ],
679
+ "stateMutability": "payable",
680
+ "type": "function"
681
+ },
682
+ {
683
+ "inputs": [
684
+ {
685
+ "internalType": "address",
686
+ "name": "_to",
687
+ "type": "address"
688
+ },
689
+ {
690
+ "internalType": "uint256",
691
+ "name": "_projectId",
692
+ "type": "uint256"
693
+ },
694
+ {
695
+ "internalType": "uint256",
696
+ "name": "_maxPricePerToken",
697
+ "type": "uint256"
698
+ },
699
+ {
700
+ "internalType": "address",
701
+ "name": "_currencyAddress",
702
+ "type": "address"
703
+ }
704
+ ],
705
+ "name": "purchaseTo",
706
+ "outputs": [
707
+ {
708
+ "internalType": "uint256",
709
+ "name": "tokenId",
710
+ "type": "uint256"
711
+ }
712
+ ],
713
+ "stateMutability": "payable",
714
+ "type": "function"
715
+ },
716
+ {
717
+ "inputs": [
718
+ {
719
+ "internalType": "uint256",
720
+ "name": "_projectId",
721
+ "type": "uint256"
722
+ }
723
+ ],
724
+ "name": "purchase_H4M",
725
+ "outputs": [
726
+ {
727
+ "internalType": "uint256",
728
+ "name": "tokenId",
729
+ "type": "uint256"
730
+ }
731
+ ],
732
+ "stateMutability": "payable",
733
+ "type": "function"
734
+ },
735
+ {
736
+ "inputs": [
737
+ {
738
+ "internalType": "uint256",
739
+ "name": "_projectId",
740
+ "type": "uint256"
741
+ }
742
+ ],
743
+ "name": "setProjectMaxInvocations",
744
+ "outputs": [],
745
+ "stateMutability": "nonpayable",
746
+ "type": "function"
747
+ },
748
+ {
749
+ "inputs": [
750
+ {
751
+ "internalType": "uint256",
752
+ "name": "_projectId",
753
+ "type": "uint256"
754
+ }
755
+ ],
756
+ "name": "togglePurchaseToDisabled",
757
+ "outputs": [],
758
+ "stateMutability": "view",
759
+ "type": "function"
760
+ },
761
+ {
762
+ "inputs": [
763
+ {
764
+ "internalType": "uint256",
765
+ "name": "_projectId",
766
+ "type": "uint256"
767
+ },
768
+ {
769
+ "internalType": "uint256",
770
+ "name": "_pricePerTokenInWei",
771
+ "type": "uint256"
772
+ }
773
+ ],
774
+ "name": "updatePricePerTokenInWei",
775
+ "outputs": [],
776
+ "stateMutability": "nonpayable",
777
+ "type": "function"
778
+ },
779
+ {
780
+ "inputs": [
781
+ {
782
+ "internalType": "uint256",
783
+ "name": "_projectId",
784
+ "type": "uint256"
785
+ },
786
+ {
787
+ "internalType": "string",
788
+ "name": "_currencySymbol",
789
+ "type": "string"
790
+ },
791
+ {
792
+ "internalType": "address",
793
+ "name": "_currencyAddress",
794
+ "type": "address"
795
+ }
796
+ ],
797
+ "name": "updateProjectCurrencyInfo",
798
+ "outputs": [],
799
+ "stateMutability": "nonpayable",
800
+ "type": "function"
801
+ }
802
+ ],
803
+ "bytecode": "0x6101206040523480156200001257600080fd5b50604051620025cb380380620025cb8339810160408190526200003591620002d5565b600160005581620000468162000137565b1515608052506001600160a01b0380831660a081905260c081905290821660e0819052610100819052604080516392a10f8360e01b815290516392a10f839160048082019260209290919082900301816000875af1158015620000ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d391906200030d565b6001600160a01b0316146200012f5760405162461bcd60e51b815260206004820152601860248201527f496c6c6567616c20636f6e74726163742070616972696e67000000000000000060448201526064015b60405180910390fd5b505062000363565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b038616906200019b90859062000332565b6000604051808303816000865af19150503d8060008114620001da576040519150601f19603f3d011682016040523d82523d6000602084013e620001df565b606091505b509150915081620002415760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b606482015260840162000126565b805160c0819003620002595750600095945050505050565b80610100036200026f5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c69742062797465730000604482015260640162000126565b80516001600160a01b0381168114620002d057600080fd5b919050565b60008060408385031215620002e957600080fd5b620002f483620002b8565b91506200030460208401620002b8565b90509250929050565b6000602082840312156200032057600080fd5b6200032b82620002b8565b9392505050565b6000825160005b8181101562000355576020818601810151858301520162000339565b506000920191825250919050565b60805160a05160c05160e051610100516121f9620003d26000396000610b280152600061038b015260008181610482015281816111c201526112be01526000818161025201528181610e6c0152610eec0152600081816103570152818161138c015261178b01526121f96000f3fe6080604052600436106100f85760003560e01c8061b460146100fd5780631607c9951461012357806340d1397e14610145578063462add461461016557806356690aaf146101a55780636cb9b7ff146101dd578063774159c6146101fd578063891407c01461022d57806392a10f8314610240578063a980960014610281578063c6e9d71a146102a1578063c71b1b71146102b4578063d195b365146102e6578063d3ddabe614610306578063db6921b214610345578063dd85582f14610379578063e9d1e8ac146103ad578063ea3bd5df146103ee578063efef39a1146100fd578063f463210314610401578063f7bd4b8814610421575b600080fd5b61011061010b366004611b62565b610441565b6040519081526020015b60405180910390f35b34801561012f57600080fd5b5061014361013e366004611b7b565b610456565b005b34801561015157600080fd5b50610143610160366004611b62565b610686565b34801561017157600080fd5b50610195610180366004611b62565b60009081526001602052604090205460ff1690565b604051901515815260200161011a565b3480156101b157600080fd5b506101106101c0366004611b62565b60009081526001602052604090205462010000900462ffffff1690565b3480156101e957600080fd5b506101436101f8366004611b7b565b6106ce565b34801561020957600080fd5b5061021d610218366004611b62565b610799565b60405161011a9493929190611bed565b61011061023b366004611c4c565b61088f565b34801561024c57600080fd5b506102747f000000000000000000000000000000000000000000000000000000000000000081565b60405161011a9190611c78565b34801561028d57600080fd5b5061011061029c366004611b62565b6108a5565b6101106102af366004611c8c565b610928565b3480156102c057600080fd5b506102d46102cf366004611b62565b610f20565b60405161011a96959493929190611cd6565b3480156102f257600080fd5b50610143610301366004611d3a565b610ffb565b34801561031257600080fd5b5061033860405180604001604052806006815260200165076342e312e360d41b81525081565b60405161011a9190611e04565b34801561035157600080fd5b506101957f000000000000000000000000000000000000000000000000000000000000000081565b34801561038557600080fd5b506102747f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b957600080fd5b5061033860405180604001604052806015815260200174135a5b9d195c94d95d141c9a58d9515490cc8c158d605a1b81525081565b6101106103fc366004611e17565b61113c565b34801561040d57600080fd5b5061011061041c366004611b62565b611152565b34801561042d57600080fd5b5061014361043c366004611b62565b611196565b60006104503383346000610928565b92915050565b61045f826112a8565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa1580156104c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ed9190611e60565b50929550929350505050818311156105925760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a4015b60405180910390fd5b808310156106145760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a401610589565b60008481526001602052604090819020805460ff1962ffffff871662010000021664ffffff00ff19909116178386141790555184907f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1906106789086815260200190565b60405180910390a250505050565b61068f816112a8565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b6044820152606401610589565b6106d7826112a8565b6000811161071c5760405162461bcd60e51b815260206004820152601260248201527105072696365206d6179206e6f7420626520360741b6044820152606401610589565b6000828152600160208190526040808320918201849055815461ff001916610100178255519091839185917f26118a27aca826f829f3bfe21b140b4455c00b434849bd0da50d1e1a9720fb5c91a3805462010000900462ffffff161580156107865750805460ff16155b156107945761079483611196565b505050565b6000818152600160208190526040909120805491810154610100830460ff16929091606091600160281b90046001600160a01b031690816107f7576040518060400160405280600381526020016208aa8960eb1b8152509250610887565b80600201805461080690611ebf565b80601f016020809104026020016040519081016040528092919081815260200182805461083290611ebf565b801561087f5780601f106108545761010080835404028352916020019161087f565b820191906000526020600020905b81548152906001019060200180831161086257829003601f168201915b505050505092505b509193509193565b600061089e8383346000610928565b9392505050565b6000818152600160205260408082205490516370a0823160e01b8152600160281b9091046001600160a01b0316906370a08231906108e7903390600401611c78565b602060405180830381865afa158015610904573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104509190611ef9565b600060026000540361097c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610589565b60026000908155848152600160205260409020805460ff16156109ef5760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b6064820152608401610589565b8054610100900460ff16610a3c5760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b6044820152606401610589565b600181015481546001600160a01b03600160281b90910481169085168114610aa65760405162461bcd60e51b815260206004820152601d60248201527f43757272656e637920616464726573736573206d757374206d617463680000006044820152606401610589565b6001600160a01b038116610afc57853414610afc5760405162461bcd60e51b8152602060048201526016602482015275696e636f6e73697374656e74206d73672e76616c756560501b6044820152606401610589565b604051630d4d151360e01b81526001600160a01b038981166004830152602482018990523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af1158015610b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b959190611ef9565b8354909450620f424085066001019062010000900462ffffff1680821115610bfd5760405162461bcd60e51b815260206004820152601b60248201527a13585e1a5b5d5b481a5b9d9bd8d85d1a5bdb9cc81c995858da1959602a1b6044820152606401610589565b808203610c1057845460ff191660011785555b50506001600160a01b03811615610e955781861015610c715760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c79206d61782070726963652067746520746f6b656e20707269636500006044820152606401610589565b3415610ce55760405162461bcd60e51b815260206004820152603f60248201527f746869732070726f6a6563742061636365707473206120646966666572656e7460448201527f2063757272656e637920616e642063616e6e6f742061636365707420455448006064820152608401610589565b604051636eb1769f60e11b815282906001600160a01b0383169063dd62ed3e90610d159033903090600401611f12565b602060405180830381865afa158015610d32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d569190611ef9565b1015610daf5760405162461bcd60e51b815260206004820152602260248201527f496e73756666696369656e742046756e647320417070726f76656420666f72206044820152610a8b60f31b6064820152608401610589565b6040516370a0823160e01b815282906001600160a01b038316906370a0823190610ddd903390600401611c78565b602060405180830381865afa158015610dfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1e9190611ef9565b1015610e645760405162461bcd60e51b815260206004820152601560248201527424b739bab33334b1b4b2b73a103130b630b731b29760591b6044820152606401610589565b610e908783837f0000000000000000000000000000000000000000000000000000000000000000611382565b610f10565b81341015610ee55760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e74216044820152606401610589565b610f1087837f00000000000000000000000000000000000000000000000000000000000000006116bc565b5050506001600055949350505050565b600160208190526000918252604090912080549181015460028201805460ff8086169561010081049091169462010000820462ffffff1694600160281b9092046001600160a01b0316939192909190610f7890611ebf565b80601f0160208091040260200160405190810160405280929190818152602001828054610fa490611ebf565b8015610ff15780601f10610fc657610100808354040283529160200191610ff1565b820191906000526020600020905b815481529060010190602001808311610fd457829003601f168201915b5050505050905086565b611004836112a8565b6040516208aa8960eb1b60208201526001600160a01b038216159060230160405160208183030381529060405280519060200120836040516020016110499190611f2c565b60405160208183030381529060405280519060200120141515146110aa5760405162461bcd60e51b8152602060048201526018602482015277455448206973206f6e6c79206e756c6c206164647265737360401b6044820152606401610589565b60008381526001602052604090206002016110c58382611f96565b50600083815260016020526040908190208054600160281b600160c81b031916600160281b6001600160a01b03851690810291909117909155905184907fe6c8c6160f844a27204e2b7fb4b7fb9f10e5d322fa850096bef29dc1d0f445c19061112f908690611e04565b60405180910390a3505050565b600061114a33858585610928565b949350505050565b600081815260016020526040808220549051636eb1769f60e11b8152600160281b9091046001600160a01b03169063dd62ed3e906108e79033903090600401611f12565b61119f816112a8565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015611209573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122d9190611e60565b50505060008681526001602052604090819020805460ff1962ffffff861662010000021664ffffff00ff1990911617858514179055519194509192508491507f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b19061129b9085815260200190565b60405180910390a2505050565b60405163a47d29cb60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa15801561130d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113319190612055565b6001600160a01b0316336001600160a01b03161461137f5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610589565b50565b81600080808080807f0000000000000000000000000000000000000000000000000000000000000000156114be57604051638639415b60e01b8152600481018c9052602481018b905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015611402573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114269190612072565b969e50949c50909a509850919650919450909250905081156114b7576040516323b872dd60e01b81526001600160a01b038a16906323b872dd90611472903390859087906004016120fa565b6020604051808303816000875af1158015611491573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b5919061211e565b505b505061153e565b604051638639415b60e01b8152600481018c9052602481018b90526001600160a01b03891690638639415b9060440160c060405180830381865afa15801561150a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152e9190612139565b949a509298509096509450925090505b85156115b9576040516323b872dd60e01b81526001600160a01b038816906323b872dd9061157490339089908b906004016120fa565b6020604051808303816000875af1158015611593573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b7919061211e565b505b8315611634576040516323b872dd60e01b81526001600160a01b038816906323b872dd906115ef903390879089906004016120fa565b6020604051808303816000875af115801561160e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611632919061211e565b505b81156116af576040516323b872dd60e01b81526001600160a01b038816906323b872dd9061166a903390859087906004016120fa565b6020604051808303816000875af1158015611689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ad919061211e565b505b5050505050505050505050565b3415610794576000806116cf84346121a2565b9050801561175f5760405133908290600081818185875af1925050503d8060008114611717576040519150601f19603f3d011682016040523d82523d6000602084013e61171c565b606091505b5050809250508161175f5760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610589565b61176a858585611771565b5050505050565b6000821161177e57505050565b60008060008060008060007f0000000000000000000000000000000000000000000000000000000000000000156118e957604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015611801573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118259190612072565b969e50949c50909a509850919650919450909250905081156118e2576040516001600160a01b038216908390600081818185875af1925050503d806000811461188a576040519150601f19603f3d011682016040523d82523d6000602084013e61188f565b606091505b505080995050886118e25760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610589565b5050611969565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa158015611935573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119599190612139565b949a509298509096509450925090505b8515611a10576040516001600160a01b038616908790600081818185875af1925050503d80600081146119b8576040519150601f19603f3d011682016040523d82523d6000602084013e6119bd565b606091505b50508097505086611a105760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610589565b8315611aaf576040516001600160a01b038416908590600081818185875af1925050503d8060008114611a5f576040519150601f19603f3d011682016040523d82523d6000602084013e611a64565b606091505b50508097505086611aaf5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610589565b8115611b56576040516001600160a01b038216908390600081818185875af1925050503d8060008114611afe576040519150601f19603f3d011682016040523d82523d6000602084013e611b03565b606091505b50508097505086611b565760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610589565b50505050505050505050565b600060208284031215611b7457600080fd5b5035919050565b60008060408385031215611b8e57600080fd5b50508035926020909101359150565b60005b83811015611bb8578181015183820152602001611ba0565b50506000910152565b60008151808452611bd9816020860160208601611b9d565b601f01601f19169290920160200192915050565b8415158152836020820152608060408201526000611c0e6080830185611bc1565b905060018060a01b038316606083015295945050505050565b6001600160a01b038116811461137f57600080fd5b8035611c4781611c27565b919050565b60008060408385031215611c5f57600080fd5b8235611c6a81611c27565b946020939093013593505050565b6001600160a01b0391909116815260200190565b60008060008060808587031215611ca257600080fd5b8435611cad81611c27565b935060208501359250604085013591506060850135611ccb81611c27565b939692955090935050565b8615158152851515602082015262ffffff8516604082015260018060a01b038416606082015282608082015260c060a08201526000611d1860c0830184611bc1565b98975050505050505050565b634e487b7160e01b600052604160045260246000fd5b600080600060608486031215611d4f57600080fd5b8335925060208401356001600160401b0380821115611d6d57600080fd5b818601915086601f830112611d8157600080fd5b813581811115611d9357611d93611d24565b604051601f8201601f19908116603f01168101908382118183101715611dbb57611dbb611d24565b81604052828152896020848701011115611dd457600080fd5b826020860160208301376000602084830101528096505050505050611dfb60408501611c3c565b90509250925092565b60208152600061089e6020830184611bc1565b600080600060608486031215611e2c57600080fd5b83359250602084013591506040840135611e4581611c27565b809150509250925092565b80518015158114611c4757600080fd5b60008060008060008060c08789031215611e7957600080fd5b8651955060208701519450611e9060408801611e50565b9350611e9e60608801611e50565b925060808701519150611eb360a08801611e50565b90509295509295509295565b600181811c90821680611ed357607f821691505b602082108103611ef357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611f0b57600080fd5b5051919050565b6001600160a01b0392831681529116602082015260400190565b60008251611f3e818460208701611b9d565b9190910192915050565b601f82111561079457600081815260208120601f850160051c81016020861015611f6f5750805b601f850160051c820191505b81811015611f8e57828155600101611f7b565b505050505050565b81516001600160401b03811115611faf57611faf611d24565b611fc381611fbd8454611ebf565b84611f48565b602080601f831160018114611ff85760008415611fe05750858301515b600019600386901b1c1916600185901b178555611f8e565b600085815260208120601f198616915b8281101561202757888601518255948401946001909101908401612008565b50858210156120455787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561206757600080fd5b815161089e81611c27565b600080600080600080600080610100898b03121561208f57600080fd5b8851975060208901516120a181611c27565b60408a015160608b015191985096506120b981611c27565b60808a015160a08b015191965094506120d181611c27565b60c08a015160e08b015191945092506120e981611c27565b809150509295985092959890939650565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006020828403121561213057600080fd5b61089e82611e50565b60008060008060008060c0878903121561215257600080fd5b86519550602087015161216481611c27565b60408801516060890151919650945061217c81611c27565b608088015160a0890151919450925061219481611c27565b809150509295509295509295565b8181038181111561045057634e487b7160e01b600052601160045260246000fdfea2646970667358221220a4a3b5f6997ebdcf9e3a152251a62f17824d7d9f50e3276bee9eb5c03653e1a464736f6c63430008130033",
804
+ "deployedBytecode": "0x6080604052600436106100f85760003560e01c8061b460146100fd5780631607c9951461012357806340d1397e14610145578063462add461461016557806356690aaf146101a55780636cb9b7ff146101dd578063774159c6146101fd578063891407c01461022d57806392a10f8314610240578063a980960014610281578063c6e9d71a146102a1578063c71b1b71146102b4578063d195b365146102e6578063d3ddabe614610306578063db6921b214610345578063dd85582f14610379578063e9d1e8ac146103ad578063ea3bd5df146103ee578063efef39a1146100fd578063f463210314610401578063f7bd4b8814610421575b600080fd5b61011061010b366004611b62565b610441565b6040519081526020015b60405180910390f35b34801561012f57600080fd5b5061014361013e366004611b7b565b610456565b005b34801561015157600080fd5b50610143610160366004611b62565b610686565b34801561017157600080fd5b50610195610180366004611b62565b60009081526001602052604090205460ff1690565b604051901515815260200161011a565b3480156101b157600080fd5b506101106101c0366004611b62565b60009081526001602052604090205462010000900462ffffff1690565b3480156101e957600080fd5b506101436101f8366004611b7b565b6106ce565b34801561020957600080fd5b5061021d610218366004611b62565b610799565b60405161011a9493929190611bed565b61011061023b366004611c4c565b61088f565b34801561024c57600080fd5b506102747f000000000000000000000000000000000000000000000000000000000000000081565b60405161011a9190611c78565b34801561028d57600080fd5b5061011061029c366004611b62565b6108a5565b6101106102af366004611c8c565b610928565b3480156102c057600080fd5b506102d46102cf366004611b62565b610f20565b60405161011a96959493929190611cd6565b3480156102f257600080fd5b50610143610301366004611d3a565b610ffb565b34801561031257600080fd5b5061033860405180604001604052806006815260200165076342e312e360d41b81525081565b60405161011a9190611e04565b34801561035157600080fd5b506101957f000000000000000000000000000000000000000000000000000000000000000081565b34801561038557600080fd5b506102747f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b957600080fd5b5061033860405180604001604052806015815260200174135a5b9d195c94d95d141c9a58d9515490cc8c158d605a1b81525081565b6101106103fc366004611e17565b61113c565b34801561040d57600080fd5b5061011061041c366004611b62565b611152565b34801561042d57600080fd5b5061014361043c366004611b62565b611196565b60006104503383346000610928565b92915050565b61045f826112a8565b604051630ea5613f60e01b81526004810183905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa1580156104c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ed9190611e60565b50929550929350505050818311156105925760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a4015b60405180910390fd5b808310156106145760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a401610589565b60008481526001602052604090819020805460ff1962ffffff871662010000021664ffffff00ff19909116178386141790555184907f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1906106789086815260200190565b60405180910390a250505050565b61068f816112a8565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b6044820152606401610589565b6106d7826112a8565b6000811161071c5760405162461bcd60e51b815260206004820152601260248201527105072696365206d6179206e6f7420626520360741b6044820152606401610589565b6000828152600160208190526040808320918201849055815461ff001916610100178255519091839185917f26118a27aca826f829f3bfe21b140b4455c00b434849bd0da50d1e1a9720fb5c91a3805462010000900462ffffff161580156107865750805460ff16155b156107945761079483611196565b505050565b6000818152600160208190526040909120805491810154610100830460ff16929091606091600160281b90046001600160a01b031690816107f7576040518060400160405280600381526020016208aa8960eb1b8152509250610887565b80600201805461080690611ebf565b80601f016020809104026020016040519081016040528092919081815260200182805461083290611ebf565b801561087f5780601f106108545761010080835404028352916020019161087f565b820191906000526020600020905b81548152906001019060200180831161086257829003601f168201915b505050505092505b509193509193565b600061089e8383346000610928565b9392505050565b6000818152600160205260408082205490516370a0823160e01b8152600160281b9091046001600160a01b0316906370a08231906108e7903390600401611c78565b602060405180830381865afa158015610904573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104509190611ef9565b600060026000540361097c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610589565b60026000908155848152600160205260409020805460ff16156109ef5760405162461bcd60e51b815260206004820152602560248201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656044820152641858da195960da1b6064820152608401610589565b8054610100900460ff16610a3c5760405162461bcd60e51b8152602060048201526014602482015273141c9a58d9481b9bdd0818dbdb999a59dd5c995960621b6044820152606401610589565b600181015481546001600160a01b03600160281b90910481169085168114610aa65760405162461bcd60e51b815260206004820152601d60248201527f43757272656e637920616464726573736573206d757374206d617463680000006044820152606401610589565b6001600160a01b038116610afc57853414610afc5760405162461bcd60e51b8152602060048201526016602482015275696e636f6e73697374656e74206d73672e76616c756560501b6044820152606401610589565b604051630d4d151360e01b81526001600160a01b038981166004830152602482018990523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af1158015610b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b959190611ef9565b8354909450620f424085066001019062010000900462ffffff1680821115610bfd5760405162461bcd60e51b815260206004820152601b60248201527a13585e1a5b5d5b481a5b9d9bd8d85d1a5bdb9cc81c995858da1959602a1b6044820152606401610589565b808203610c1057845460ff191660011785555b50506001600160a01b03811615610e955781861015610c715760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c79206d61782070726963652067746520746f6b656e20707269636500006044820152606401610589565b3415610ce55760405162461bcd60e51b815260206004820152603f60248201527f746869732070726f6a6563742061636365707473206120646966666572656e7460448201527f2063757272656e637920616e642063616e6e6f742061636365707420455448006064820152608401610589565b604051636eb1769f60e11b815282906001600160a01b0383169063dd62ed3e90610d159033903090600401611f12565b602060405180830381865afa158015610d32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d569190611ef9565b1015610daf5760405162461bcd60e51b815260206004820152602260248201527f496e73756666696369656e742046756e647320417070726f76656420666f72206044820152610a8b60f31b6064820152608401610589565b6040516370a0823160e01b815282906001600160a01b038316906370a0823190610ddd903390600401611c78565b602060405180830381865afa158015610dfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1e9190611ef9565b1015610e645760405162461bcd60e51b815260206004820152601560248201527424b739bab33334b1b4b2b73a103130b630b731b29760591b6044820152606401610589565b610e908783837f0000000000000000000000000000000000000000000000000000000000000000611382565b610f10565b81341015610ee55760405162461bcd60e51b815260206004820181905260248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e74216044820152606401610589565b610f1087837f00000000000000000000000000000000000000000000000000000000000000006116bc565b5050506001600055949350505050565b600160208190526000918252604090912080549181015460028201805460ff8086169561010081049091169462010000820462ffffff1694600160281b9092046001600160a01b0316939192909190610f7890611ebf565b80601f0160208091040260200160405190810160405280929190818152602001828054610fa490611ebf565b8015610ff15780601f10610fc657610100808354040283529160200191610ff1565b820191906000526020600020905b815481529060010190602001808311610fd457829003601f168201915b5050505050905086565b611004836112a8565b6040516208aa8960eb1b60208201526001600160a01b038216159060230160405160208183030381529060405280519060200120836040516020016110499190611f2c565b60405160208183030381529060405280519060200120141515146110aa5760405162461bcd60e51b8152602060048201526018602482015277455448206973206f6e6c79206e756c6c206164647265737360401b6044820152606401610589565b60008381526001602052604090206002016110c58382611f96565b50600083815260016020526040908190208054600160281b600160c81b031916600160281b6001600160a01b03851690810291909117909155905184907fe6c8c6160f844a27204e2b7fb4b7fb9f10e5d322fa850096bef29dc1d0f445c19061112f908690611e04565b60405180910390a3505050565b600061114a33858585610928565b949350505050565b600081815260016020526040808220549051636eb1769f60e11b8152600160281b9091046001600160a01b03169063dd62ed3e906108e79033903090600401611f12565b61119f816112a8565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015611209573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122d9190611e60565b50505060008681526001602052604090819020805460ff1962ffffff861662010000021664ffffff00ff1990911617858514179055519194509192508491507f8445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b19061129b9085815260200190565b60405180910390a2505050565b60405163a47d29cb60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa15801561130d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113319190612055565b6001600160a01b0316336001600160a01b03161461137f5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610589565b50565b81600080808080807f0000000000000000000000000000000000000000000000000000000000000000156114be57604051638639415b60e01b8152600481018c9052602481018b905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015611402573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114269190612072565b969e50949c50909a509850919650919450909250905081156114b7576040516323b872dd60e01b81526001600160a01b038a16906323b872dd90611472903390859087906004016120fa565b6020604051808303816000875af1158015611491573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b5919061211e565b505b505061153e565b604051638639415b60e01b8152600481018c9052602481018b90526001600160a01b03891690638639415b9060440160c060405180830381865afa15801561150a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152e9190612139565b949a509298509096509450925090505b85156115b9576040516323b872dd60e01b81526001600160a01b038816906323b872dd9061157490339089908b906004016120fa565b6020604051808303816000875af1158015611593573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b7919061211e565b505b8315611634576040516323b872dd60e01b81526001600160a01b038816906323b872dd906115ef903390879089906004016120fa565b6020604051808303816000875af115801561160e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611632919061211e565b505b81156116af576040516323b872dd60e01b81526001600160a01b038816906323b872dd9061166a903390859087906004016120fa565b6020604051808303816000875af1158015611689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ad919061211e565b505b5050505050505050505050565b3415610794576000806116cf84346121a2565b9050801561175f5760405133908290600081818185875af1925050503d8060008114611717576040519150601f19603f3d011682016040523d82523d6000602084013e61171c565b606091505b5050809250508161175f5760405162461bcd60e51b815260206004820152600d60248201526c1499599d5b990819985a5b1959609a1b6044820152606401610589565b61176a858585611771565b5050505050565b6000821161177e57505050565b60008060008060008060007f0000000000000000000000000000000000000000000000000000000000000000156118e957604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015611801573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118259190612072565b969e50949c50909a509850919650919450909250905081156118e2576040516001600160a01b038216908390600081818185875af1925050503d806000811461188a576040519150601f19603f3d011682016040523d82523d6000602084013e61188f565b606091505b505080995050886118e25760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610589565b5050611969565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa158015611935573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119599190612139565b949a509298509096509450925090505b8515611a10576040516001600160a01b038616908790600081818185875af1925050503d80600081146119b8576040519150601f19603f3d011682016040523d82523d6000602084013e6119bd565b606091505b50508097505086611a105760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610589565b8315611aaf576040516001600160a01b038416908590600081818185875af1925050503d8060008114611a5f576040519150601f19603f3d011682016040523d82523d6000602084013e611a64565b606091505b50508097505086611aaf5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610589565b8115611b56576040516001600160a01b038216908390600081818185875af1925050503d8060008114611afe576040519150601f19603f3d011682016040523d82523d6000602084013e611b03565b606091505b50508097505086611b565760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610589565b50505050505050505050565b600060208284031215611b7457600080fd5b5035919050565b60008060408385031215611b8e57600080fd5b50508035926020909101359150565b60005b83811015611bb8578181015183820152602001611ba0565b50506000910152565b60008151808452611bd9816020860160208601611b9d565b601f01601f19169290920160200192915050565b8415158152836020820152608060408201526000611c0e6080830185611bc1565b905060018060a01b038316606083015295945050505050565b6001600160a01b038116811461137f57600080fd5b8035611c4781611c27565b919050565b60008060408385031215611c5f57600080fd5b8235611c6a81611c27565b946020939093013593505050565b6001600160a01b0391909116815260200190565b60008060008060808587031215611ca257600080fd5b8435611cad81611c27565b935060208501359250604085013591506060850135611ccb81611c27565b939692955090935050565b8615158152851515602082015262ffffff8516604082015260018060a01b038416606082015282608082015260c060a08201526000611d1860c0830184611bc1565b98975050505050505050565b634e487b7160e01b600052604160045260246000fd5b600080600060608486031215611d4f57600080fd5b8335925060208401356001600160401b0380821115611d6d57600080fd5b818601915086601f830112611d8157600080fd5b813581811115611d9357611d93611d24565b604051601f8201601f19908116603f01168101908382118183101715611dbb57611dbb611d24565b81604052828152896020848701011115611dd457600080fd5b826020860160208301376000602084830101528096505050505050611dfb60408501611c3c565b90509250925092565b60208152600061089e6020830184611bc1565b600080600060608486031215611e2c57600080fd5b83359250602084013591506040840135611e4581611c27565b809150509250925092565b80518015158114611c4757600080fd5b60008060008060008060c08789031215611e7957600080fd5b8651955060208701519450611e9060408801611e50565b9350611e9e60608801611e50565b925060808701519150611eb360a08801611e50565b90509295509295509295565b600181811c90821680611ed357607f821691505b602082108103611ef357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611f0b57600080fd5b5051919050565b6001600160a01b0392831681529116602082015260400190565b60008251611f3e818460208701611b9d565b9190910192915050565b601f82111561079457600081815260208120601f850160051c81016020861015611f6f5750805b601f850160051c820191505b81811015611f8e57828155600101611f7b565b505050505050565b81516001600160401b03811115611faf57611faf611d24565b611fc381611fbd8454611ebf565b84611f48565b602080601f831160018114611ff85760008415611fe05750858301515b600019600386901b1c1916600185901b178555611f8e565b600085815260208120601f198616915b8281101561202757888601518255948401946001909101908401612008565b50858210156120455787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561206757600080fd5b815161089e81611c27565b600080600080600080600080610100898b03121561208f57600080fd5b8851975060208901516120a181611c27565b60408a015160608b015191985096506120b981611c27565b60808a015160a08b015191965094506120d181611c27565b60c08a015160e08b015191945092506120e981611c27565b809150509295985092959890939650565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006020828403121561213057600080fd5b61089e82611e50565b60008060008060008060c0878903121561215257600080fd5b86519550602087015161216481611c27565b60408801516060890151919650945061217c81611c27565b608088015160a0890151919450925061219481611c27565b809150509295509295509295565b8181038181111561045057634e487b7160e01b600052601160045260246000fdfea2646970667358221220a4a3b5f6997ebdcf9e3a152251a62f17824d7d9f50e3276bee9eb5c03653e1a464736f6c63430008130033",
805
+ "linkReferences": {},
806
+ "deployedLinkReferences": {}
807
+ }