@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,1109 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MinterDAExpSettlementV2",
4
+ "sourceName": "contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV2.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
+ "name": "ArtistAndAdminRevenuesWithdrawn",
33
+ "type": "event"
34
+ },
35
+ {
36
+ "anonymous": false,
37
+ "inputs": [
38
+ {
39
+ "indexed": false,
40
+ "internalType": "uint256",
41
+ "name": "_minimumPriceDecayHalfLifeSeconds",
42
+ "type": "uint256"
43
+ },
44
+ {
45
+ "indexed": false,
46
+ "internalType": "uint256",
47
+ "name": "_maximumPriceDecayHalfLifeSeconds",
48
+ "type": "uint256"
49
+ }
50
+ ],
51
+ "name": "AuctionHalfLifeRangeSecondsUpdated",
52
+ "type": "event"
53
+ },
54
+ {
55
+ "anonymous": false,
56
+ "inputs": [
57
+ {
58
+ "indexed": true,
59
+ "internalType": "uint256",
60
+ "name": "_projectId",
61
+ "type": "uint256"
62
+ },
63
+ {
64
+ "indexed": false,
65
+ "internalType": "bytes32",
66
+ "name": "_key",
67
+ "type": "bytes32"
68
+ }
69
+ ],
70
+ "name": "ConfigKeyRemoved",
71
+ "type": "event"
72
+ },
73
+ {
74
+ "anonymous": false,
75
+ "inputs": [
76
+ {
77
+ "indexed": true,
78
+ "internalType": "uint256",
79
+ "name": "_projectId",
80
+ "type": "uint256"
81
+ },
82
+ {
83
+ "indexed": false,
84
+ "internalType": "bytes32",
85
+ "name": "_key",
86
+ "type": "bytes32"
87
+ },
88
+ {
89
+ "indexed": false,
90
+ "internalType": "uint256",
91
+ "name": "_value",
92
+ "type": "uint256"
93
+ }
94
+ ],
95
+ "name": "ConfigValueAddedToSet",
96
+ "type": "event"
97
+ },
98
+ {
99
+ "anonymous": false,
100
+ "inputs": [
101
+ {
102
+ "indexed": true,
103
+ "internalType": "uint256",
104
+ "name": "_projectId",
105
+ "type": "uint256"
106
+ },
107
+ {
108
+ "indexed": false,
109
+ "internalType": "bytes32",
110
+ "name": "_key",
111
+ "type": "bytes32"
112
+ },
113
+ {
114
+ "indexed": false,
115
+ "internalType": "address",
116
+ "name": "_value",
117
+ "type": "address"
118
+ }
119
+ ],
120
+ "name": "ConfigValueAddedToSet",
121
+ "type": "event"
122
+ },
123
+ {
124
+ "anonymous": false,
125
+ "inputs": [
126
+ {
127
+ "indexed": true,
128
+ "internalType": "uint256",
129
+ "name": "_projectId",
130
+ "type": "uint256"
131
+ },
132
+ {
133
+ "indexed": false,
134
+ "internalType": "bytes32",
135
+ "name": "_key",
136
+ "type": "bytes32"
137
+ },
138
+ {
139
+ "indexed": false,
140
+ "internalType": "bytes32",
141
+ "name": "_value",
142
+ "type": "bytes32"
143
+ }
144
+ ],
145
+ "name": "ConfigValueAddedToSet",
146
+ "type": "event"
147
+ },
148
+ {
149
+ "anonymous": false,
150
+ "inputs": [
151
+ {
152
+ "indexed": true,
153
+ "internalType": "uint256",
154
+ "name": "_projectId",
155
+ "type": "uint256"
156
+ },
157
+ {
158
+ "indexed": false,
159
+ "internalType": "bytes32",
160
+ "name": "_key",
161
+ "type": "bytes32"
162
+ },
163
+ {
164
+ "indexed": false,
165
+ "internalType": "uint256",
166
+ "name": "_value",
167
+ "type": "uint256"
168
+ }
169
+ ],
170
+ "name": "ConfigValueRemovedFromSet",
171
+ "type": "event"
172
+ },
173
+ {
174
+ "anonymous": false,
175
+ "inputs": [
176
+ {
177
+ "indexed": true,
178
+ "internalType": "uint256",
179
+ "name": "_projectId",
180
+ "type": "uint256"
181
+ },
182
+ {
183
+ "indexed": false,
184
+ "internalType": "bytes32",
185
+ "name": "_key",
186
+ "type": "bytes32"
187
+ },
188
+ {
189
+ "indexed": false,
190
+ "internalType": "address",
191
+ "name": "_value",
192
+ "type": "address"
193
+ }
194
+ ],
195
+ "name": "ConfigValueRemovedFromSet",
196
+ "type": "event"
197
+ },
198
+ {
199
+ "anonymous": false,
200
+ "inputs": [
201
+ {
202
+ "indexed": true,
203
+ "internalType": "uint256",
204
+ "name": "_projectId",
205
+ "type": "uint256"
206
+ },
207
+ {
208
+ "indexed": false,
209
+ "internalType": "bytes32",
210
+ "name": "_key",
211
+ "type": "bytes32"
212
+ },
213
+ {
214
+ "indexed": false,
215
+ "internalType": "bytes32",
216
+ "name": "_value",
217
+ "type": "bytes32"
218
+ }
219
+ ],
220
+ "name": "ConfigValueRemovedFromSet",
221
+ "type": "event"
222
+ },
223
+ {
224
+ "anonymous": false,
225
+ "inputs": [
226
+ {
227
+ "indexed": true,
228
+ "internalType": "uint256",
229
+ "name": "_projectId",
230
+ "type": "uint256"
231
+ },
232
+ {
233
+ "indexed": false,
234
+ "internalType": "bytes32",
235
+ "name": "_key",
236
+ "type": "bytes32"
237
+ },
238
+ {
239
+ "indexed": false,
240
+ "internalType": "bool",
241
+ "name": "_value",
242
+ "type": "bool"
243
+ }
244
+ ],
245
+ "name": "ConfigValueSet",
246
+ "type": "event"
247
+ },
248
+ {
249
+ "anonymous": false,
250
+ "inputs": [
251
+ {
252
+ "indexed": true,
253
+ "internalType": "uint256",
254
+ "name": "_projectId",
255
+ "type": "uint256"
256
+ },
257
+ {
258
+ "indexed": false,
259
+ "internalType": "bytes32",
260
+ "name": "_key",
261
+ "type": "bytes32"
262
+ },
263
+ {
264
+ "indexed": false,
265
+ "internalType": "uint256",
266
+ "name": "_value",
267
+ "type": "uint256"
268
+ }
269
+ ],
270
+ "name": "ConfigValueSet",
271
+ "type": "event"
272
+ },
273
+ {
274
+ "anonymous": false,
275
+ "inputs": [
276
+ {
277
+ "indexed": true,
278
+ "internalType": "uint256",
279
+ "name": "_projectId",
280
+ "type": "uint256"
281
+ },
282
+ {
283
+ "indexed": false,
284
+ "internalType": "bytes32",
285
+ "name": "_key",
286
+ "type": "bytes32"
287
+ },
288
+ {
289
+ "indexed": false,
290
+ "internalType": "address",
291
+ "name": "_value",
292
+ "type": "address"
293
+ }
294
+ ],
295
+ "name": "ConfigValueSet",
296
+ "type": "event"
297
+ },
298
+ {
299
+ "anonymous": false,
300
+ "inputs": [
301
+ {
302
+ "indexed": true,
303
+ "internalType": "uint256",
304
+ "name": "_projectId",
305
+ "type": "uint256"
306
+ },
307
+ {
308
+ "indexed": false,
309
+ "internalType": "bytes32",
310
+ "name": "_key",
311
+ "type": "bytes32"
312
+ },
313
+ {
314
+ "indexed": false,
315
+ "internalType": "bytes32",
316
+ "name": "_value",
317
+ "type": "bytes32"
318
+ }
319
+ ],
320
+ "name": "ConfigValueSet",
321
+ "type": "event"
322
+ },
323
+ {
324
+ "anonymous": false,
325
+ "inputs": [
326
+ {
327
+ "indexed": true,
328
+ "internalType": "uint256",
329
+ "name": "_projectId",
330
+ "type": "uint256"
331
+ },
332
+ {
333
+ "indexed": true,
334
+ "internalType": "uint256",
335
+ "name": "_pricePerTokenInWei",
336
+ "type": "uint256"
337
+ }
338
+ ],
339
+ "name": "PricePerTokenInWeiUpdated",
340
+ "type": "event"
341
+ },
342
+ {
343
+ "anonymous": false,
344
+ "inputs": [
345
+ {
346
+ "indexed": true,
347
+ "internalType": "uint256",
348
+ "name": "_projectId",
349
+ "type": "uint256"
350
+ },
351
+ {
352
+ "indexed": true,
353
+ "internalType": "address",
354
+ "name": "_currencyAddress",
355
+ "type": "address"
356
+ },
357
+ {
358
+ "indexed": false,
359
+ "internalType": "string",
360
+ "name": "_currencySymbol",
361
+ "type": "string"
362
+ }
363
+ ],
364
+ "name": "ProjectCurrencyInfoUpdated",
365
+ "type": "event"
366
+ },
367
+ {
368
+ "anonymous": false,
369
+ "inputs": [
370
+ {
371
+ "indexed": true,
372
+ "internalType": "uint256",
373
+ "name": "_projectId",
374
+ "type": "uint256"
375
+ },
376
+ {
377
+ "indexed": false,
378
+ "internalType": "uint256",
379
+ "name": "_maxInvocations",
380
+ "type": "uint256"
381
+ }
382
+ ],
383
+ "name": "ProjectMaxInvocationsLimitUpdated",
384
+ "type": "event"
385
+ },
386
+ {
387
+ "anonymous": false,
388
+ "inputs": [
389
+ {
390
+ "indexed": true,
391
+ "internalType": "uint256",
392
+ "name": "_projectId",
393
+ "type": "uint256"
394
+ },
395
+ {
396
+ "indexed": false,
397
+ "internalType": "bool",
398
+ "name": "_purchaseToDisabled",
399
+ "type": "bool"
400
+ }
401
+ ],
402
+ "name": "PurchaseToDisabledUpdated",
403
+ "type": "event"
404
+ },
405
+ {
406
+ "anonymous": false,
407
+ "inputs": [
408
+ {
409
+ "indexed": true,
410
+ "internalType": "address",
411
+ "name": "_purchaser",
412
+ "type": "address"
413
+ },
414
+ {
415
+ "indexed": true,
416
+ "internalType": "uint256",
417
+ "name": "_projectId",
418
+ "type": "uint256"
419
+ },
420
+ {
421
+ "indexed": false,
422
+ "internalType": "uint256",
423
+ "name": "_numPurchased",
424
+ "type": "uint256"
425
+ },
426
+ {
427
+ "indexed": false,
428
+ "internalType": "uint256",
429
+ "name": "_netPosted",
430
+ "type": "uint256"
431
+ }
432
+ ],
433
+ "name": "ReceiptUpdated",
434
+ "type": "event"
435
+ },
436
+ {
437
+ "anonymous": false,
438
+ "inputs": [
439
+ {
440
+ "indexed": true,
441
+ "internalType": "uint256",
442
+ "name": "projectId",
443
+ "type": "uint256"
444
+ }
445
+ ],
446
+ "name": "ResetAuctionDetails",
447
+ "type": "event"
448
+ },
449
+ {
450
+ "anonymous": false,
451
+ "inputs": [
452
+ {
453
+ "indexed": true,
454
+ "internalType": "uint256",
455
+ "name": "projectId",
456
+ "type": "uint256"
457
+ },
458
+ {
459
+ "indexed": false,
460
+ "internalType": "uint256",
461
+ "name": "numPurchases",
462
+ "type": "uint256"
463
+ },
464
+ {
465
+ "indexed": false,
466
+ "internalType": "uint256",
467
+ "name": "latestPurchasePrice",
468
+ "type": "uint256"
469
+ }
470
+ ],
471
+ "name": "ResetAuctionDetails",
472
+ "type": "event"
473
+ },
474
+ {
475
+ "anonymous": false,
476
+ "inputs": [
477
+ {
478
+ "indexed": true,
479
+ "internalType": "uint256",
480
+ "name": "_projectId",
481
+ "type": "uint256"
482
+ },
483
+ {
484
+ "indexed": false,
485
+ "internalType": "uint256",
486
+ "name": "_selloutPrice",
487
+ "type": "uint256"
488
+ }
489
+ ],
490
+ "name": "SelloutPriceUpdated",
491
+ "type": "event"
492
+ },
493
+ {
494
+ "anonymous": false,
495
+ "inputs": [
496
+ {
497
+ "indexed": true,
498
+ "internalType": "uint256",
499
+ "name": "projectId",
500
+ "type": "uint256"
501
+ },
502
+ {
503
+ "indexed": false,
504
+ "internalType": "uint256",
505
+ "name": "_auctionTimestampStart",
506
+ "type": "uint256"
507
+ },
508
+ {
509
+ "indexed": false,
510
+ "internalType": "uint256",
511
+ "name": "_priceDecayHalfLifeSeconds",
512
+ "type": "uint256"
513
+ },
514
+ {
515
+ "indexed": false,
516
+ "internalType": "uint256",
517
+ "name": "_startPrice",
518
+ "type": "uint256"
519
+ },
520
+ {
521
+ "indexed": false,
522
+ "internalType": "uint256",
523
+ "name": "_basePrice",
524
+ "type": "uint256"
525
+ }
526
+ ],
527
+ "name": "SetAuctionDetails",
528
+ "type": "event"
529
+ },
530
+ {
531
+ "inputs": [],
532
+ "name": "genArt721CoreAddress",
533
+ "outputs": [
534
+ {
535
+ "internalType": "address",
536
+ "name": "",
537
+ "type": "address"
538
+ }
539
+ ],
540
+ "stateMutability": "view",
541
+ "type": "function"
542
+ },
543
+ {
544
+ "inputs": [
545
+ {
546
+ "internalType": "uint256",
547
+ "name": "_projectId",
548
+ "type": "uint256"
549
+ }
550
+ ],
551
+ "name": "getNumSettleableInvocations",
552
+ "outputs": [
553
+ {
554
+ "internalType": "uint256",
555
+ "name": "numSettleableInvocations",
556
+ "type": "uint256"
557
+ }
558
+ ],
559
+ "stateMutability": "view",
560
+ "type": "function"
561
+ },
562
+ {
563
+ "inputs": [
564
+ {
565
+ "internalType": "uint256",
566
+ "name": "_projectId",
567
+ "type": "uint256"
568
+ }
569
+ ],
570
+ "name": "getPriceInfo",
571
+ "outputs": [
572
+ {
573
+ "internalType": "bool",
574
+ "name": "isConfigured",
575
+ "type": "bool"
576
+ },
577
+ {
578
+ "internalType": "uint256",
579
+ "name": "tokenPriceInWei",
580
+ "type": "uint256"
581
+ },
582
+ {
583
+ "internalType": "string",
584
+ "name": "currencySymbol",
585
+ "type": "string"
586
+ },
587
+ {
588
+ "internalType": "address",
589
+ "name": "currencyAddress",
590
+ "type": "address"
591
+ }
592
+ ],
593
+ "stateMutability": "view",
594
+ "type": "function"
595
+ },
596
+ {
597
+ "inputs": [
598
+ {
599
+ "internalType": "uint256",
600
+ "name": "_projectId",
601
+ "type": "uint256"
602
+ },
603
+ {
604
+ "internalType": "address",
605
+ "name": "_walletAddress",
606
+ "type": "address"
607
+ }
608
+ ],
609
+ "name": "getProjectExcessSettlementFunds",
610
+ "outputs": [
611
+ {
612
+ "internalType": "uint256",
613
+ "name": "excessSettlementFundsInWei",
614
+ "type": "uint256"
615
+ }
616
+ ],
617
+ "stateMutability": "view",
618
+ "type": "function"
619
+ },
620
+ {
621
+ "inputs": [
622
+ {
623
+ "internalType": "uint256",
624
+ "name": "_projectId",
625
+ "type": "uint256"
626
+ }
627
+ ],
628
+ "name": "getProjectLatestPurchasePrice",
629
+ "outputs": [
630
+ {
631
+ "internalType": "uint256",
632
+ "name": "latestPurchasePrice",
633
+ "type": "uint256"
634
+ }
635
+ ],
636
+ "stateMutability": "view",
637
+ "type": "function"
638
+ },
639
+ {
640
+ "inputs": [],
641
+ "name": "isEngine",
642
+ "outputs": [
643
+ {
644
+ "internalType": "bool",
645
+ "name": "",
646
+ "type": "bool"
647
+ }
648
+ ],
649
+ "stateMutability": "view",
650
+ "type": "function"
651
+ },
652
+ {
653
+ "inputs": [
654
+ {
655
+ "internalType": "uint256",
656
+ "name": "_projectId",
657
+ "type": "uint256"
658
+ },
659
+ {
660
+ "internalType": "uint256",
661
+ "name": "_maxInvocations",
662
+ "type": "uint256"
663
+ }
664
+ ],
665
+ "name": "manuallyLimitProjectMaxInvocations",
666
+ "outputs": [],
667
+ "stateMutability": "nonpayable",
668
+ "type": "function"
669
+ },
670
+ {
671
+ "inputs": [],
672
+ "name": "maximumPriceDecayHalfLifeSeconds",
673
+ "outputs": [
674
+ {
675
+ "internalType": "uint256",
676
+ "name": "",
677
+ "type": "uint256"
678
+ }
679
+ ],
680
+ "stateMutability": "view",
681
+ "type": "function"
682
+ },
683
+ {
684
+ "inputs": [],
685
+ "name": "minimumPriceDecayHalfLifeSeconds",
686
+ "outputs": [
687
+ {
688
+ "internalType": "uint256",
689
+ "name": "",
690
+ "type": "uint256"
691
+ }
692
+ ],
693
+ "stateMutability": "view",
694
+ "type": "function"
695
+ },
696
+ {
697
+ "inputs": [],
698
+ "name": "minterFilterAddress",
699
+ "outputs": [
700
+ {
701
+ "internalType": "address",
702
+ "name": "",
703
+ "type": "address"
704
+ }
705
+ ],
706
+ "stateMutability": "view",
707
+ "type": "function"
708
+ },
709
+ {
710
+ "inputs": [],
711
+ "name": "minterType",
712
+ "outputs": [
713
+ {
714
+ "internalType": "string",
715
+ "name": "",
716
+ "type": "string"
717
+ }
718
+ ],
719
+ "stateMutability": "view",
720
+ "type": "function"
721
+ },
722
+ {
723
+ "inputs": [
724
+ {
725
+ "internalType": "uint256",
726
+ "name": "_projectId",
727
+ "type": "uint256"
728
+ }
729
+ ],
730
+ "name": "projectAuctionParameters",
731
+ "outputs": [
732
+ {
733
+ "internalType": "uint256",
734
+ "name": "timestampStart",
735
+ "type": "uint256"
736
+ },
737
+ {
738
+ "internalType": "uint256",
739
+ "name": "priceDecayHalfLifeSeconds",
740
+ "type": "uint256"
741
+ },
742
+ {
743
+ "internalType": "uint256",
744
+ "name": "startPrice",
745
+ "type": "uint256"
746
+ },
747
+ {
748
+ "internalType": "uint256",
749
+ "name": "basePrice",
750
+ "type": "uint256"
751
+ }
752
+ ],
753
+ "stateMutability": "view",
754
+ "type": "function"
755
+ },
756
+ {
757
+ "inputs": [
758
+ {
759
+ "internalType": "uint256",
760
+ "name": "",
761
+ "type": "uint256"
762
+ }
763
+ ],
764
+ "name": "projectConfig",
765
+ "outputs": [
766
+ {
767
+ "internalType": "bool",
768
+ "name": "maxHasBeenInvoked",
769
+ "type": "bool"
770
+ },
771
+ {
772
+ "internalType": "uint24",
773
+ "name": "maxInvocations",
774
+ "type": "uint24"
775
+ },
776
+ {
777
+ "internalType": "bool",
778
+ "name": "auctionRevenuesCollected",
779
+ "type": "bool"
780
+ },
781
+ {
782
+ "internalType": "uint24",
783
+ "name": "numSettleableInvocations",
784
+ "type": "uint24"
785
+ },
786
+ {
787
+ "internalType": "uint64",
788
+ "name": "timestampStart",
789
+ "type": "uint64"
790
+ },
791
+ {
792
+ "internalType": "uint64",
793
+ "name": "priceDecayHalfLifeSeconds",
794
+ "type": "uint64"
795
+ },
796
+ {
797
+ "internalType": "uint128",
798
+ "name": "startPrice",
799
+ "type": "uint128"
800
+ },
801
+ {
802
+ "internalType": "uint128",
803
+ "name": "basePrice",
804
+ "type": "uint128"
805
+ },
806
+ {
807
+ "internalType": "uint256",
808
+ "name": "latestPurchasePrice",
809
+ "type": "uint256"
810
+ }
811
+ ],
812
+ "stateMutability": "view",
813
+ "type": "function"
814
+ },
815
+ {
816
+ "inputs": [
817
+ {
818
+ "internalType": "uint256",
819
+ "name": "_projectId",
820
+ "type": "uint256"
821
+ }
822
+ ],
823
+ "name": "projectMaxHasBeenInvoked",
824
+ "outputs": [
825
+ {
826
+ "internalType": "bool",
827
+ "name": "",
828
+ "type": "bool"
829
+ }
830
+ ],
831
+ "stateMutability": "view",
832
+ "type": "function"
833
+ },
834
+ {
835
+ "inputs": [
836
+ {
837
+ "internalType": "uint256",
838
+ "name": "_projectId",
839
+ "type": "uint256"
840
+ }
841
+ ],
842
+ "name": "projectMaxInvocations",
843
+ "outputs": [
844
+ {
845
+ "internalType": "uint256",
846
+ "name": "",
847
+ "type": "uint256"
848
+ }
849
+ ],
850
+ "stateMutability": "view",
851
+ "type": "function"
852
+ },
853
+ {
854
+ "inputs": [
855
+ {
856
+ "internalType": "uint256",
857
+ "name": "_projectId",
858
+ "type": "uint256"
859
+ }
860
+ ],
861
+ "name": "purchase",
862
+ "outputs": [
863
+ {
864
+ "internalType": "uint256",
865
+ "name": "tokenId",
866
+ "type": "uint256"
867
+ }
868
+ ],
869
+ "stateMutability": "payable",
870
+ "type": "function"
871
+ },
872
+ {
873
+ "inputs": [
874
+ {
875
+ "internalType": "address",
876
+ "name": "_to",
877
+ "type": "address"
878
+ },
879
+ {
880
+ "internalType": "uint256",
881
+ "name": "_projectId",
882
+ "type": "uint256"
883
+ }
884
+ ],
885
+ "name": "purchaseTo",
886
+ "outputs": [
887
+ {
888
+ "internalType": "uint256",
889
+ "name": "tokenId",
890
+ "type": "uint256"
891
+ }
892
+ ],
893
+ "stateMutability": "payable",
894
+ "type": "function"
895
+ },
896
+ {
897
+ "inputs": [
898
+ {
899
+ "internalType": "address",
900
+ "name": "_to",
901
+ "type": "address"
902
+ },
903
+ {
904
+ "internalType": "uint256",
905
+ "name": "_projectId",
906
+ "type": "uint256"
907
+ }
908
+ ],
909
+ "name": "purchaseTo_do6",
910
+ "outputs": [
911
+ {
912
+ "internalType": "uint256",
913
+ "name": "tokenId",
914
+ "type": "uint256"
915
+ }
916
+ ],
917
+ "stateMutability": "payable",
918
+ "type": "function"
919
+ },
920
+ {
921
+ "inputs": [
922
+ {
923
+ "internalType": "uint256",
924
+ "name": "_projectId",
925
+ "type": "uint256"
926
+ }
927
+ ],
928
+ "name": "purchase_H4M",
929
+ "outputs": [
930
+ {
931
+ "internalType": "uint256",
932
+ "name": "tokenId",
933
+ "type": "uint256"
934
+ }
935
+ ],
936
+ "stateMutability": "payable",
937
+ "type": "function"
938
+ },
939
+ {
940
+ "inputs": [
941
+ {
942
+ "internalType": "uint256",
943
+ "name": "_projectId",
944
+ "type": "uint256"
945
+ }
946
+ ],
947
+ "name": "reclaimProjectExcessSettlementFunds",
948
+ "outputs": [],
949
+ "stateMutability": "nonpayable",
950
+ "type": "function"
951
+ },
952
+ {
953
+ "inputs": [
954
+ {
955
+ "internalType": "address payable",
956
+ "name": "_to",
957
+ "type": "address"
958
+ },
959
+ {
960
+ "internalType": "uint256",
961
+ "name": "_projectId",
962
+ "type": "uint256"
963
+ }
964
+ ],
965
+ "name": "reclaimProjectExcessSettlementFundsTo",
966
+ "outputs": [],
967
+ "stateMutability": "nonpayable",
968
+ "type": "function"
969
+ },
970
+ {
971
+ "inputs": [
972
+ {
973
+ "internalType": "uint256[]",
974
+ "name": "_projectIds",
975
+ "type": "uint256[]"
976
+ }
977
+ ],
978
+ "name": "reclaimProjectsExcessSettlementFunds",
979
+ "outputs": [],
980
+ "stateMutability": "nonpayable",
981
+ "type": "function"
982
+ },
983
+ {
984
+ "inputs": [
985
+ {
986
+ "internalType": "address payable",
987
+ "name": "_to",
988
+ "type": "address"
989
+ },
990
+ {
991
+ "internalType": "uint256[]",
992
+ "name": "_projectIds",
993
+ "type": "uint256[]"
994
+ }
995
+ ],
996
+ "name": "reclaimProjectsExcessSettlementFundsTo",
997
+ "outputs": [],
998
+ "stateMutability": "nonpayable",
999
+ "type": "function"
1000
+ },
1001
+ {
1002
+ "inputs": [
1003
+ {
1004
+ "internalType": "uint256",
1005
+ "name": "_projectId",
1006
+ "type": "uint256"
1007
+ }
1008
+ ],
1009
+ "name": "resetAuctionDetails",
1010
+ "outputs": [],
1011
+ "stateMutability": "nonpayable",
1012
+ "type": "function"
1013
+ },
1014
+ {
1015
+ "inputs": [
1016
+ {
1017
+ "internalType": "uint256",
1018
+ "name": "_minimumPriceDecayHalfLifeSeconds",
1019
+ "type": "uint256"
1020
+ },
1021
+ {
1022
+ "internalType": "uint256",
1023
+ "name": "_maximumPriceDecayHalfLifeSeconds",
1024
+ "type": "uint256"
1025
+ }
1026
+ ],
1027
+ "name": "setAllowablePriceDecayHalfLifeRangeSeconds",
1028
+ "outputs": [],
1029
+ "stateMutability": "nonpayable",
1030
+ "type": "function"
1031
+ },
1032
+ {
1033
+ "inputs": [
1034
+ {
1035
+ "internalType": "uint256",
1036
+ "name": "_projectId",
1037
+ "type": "uint256"
1038
+ },
1039
+ {
1040
+ "internalType": "uint256",
1041
+ "name": "_auctionTimestampStart",
1042
+ "type": "uint256"
1043
+ },
1044
+ {
1045
+ "internalType": "uint256",
1046
+ "name": "_priceDecayHalfLifeSeconds",
1047
+ "type": "uint256"
1048
+ },
1049
+ {
1050
+ "internalType": "uint256",
1051
+ "name": "_startPrice",
1052
+ "type": "uint256"
1053
+ },
1054
+ {
1055
+ "internalType": "uint256",
1056
+ "name": "_basePrice",
1057
+ "type": "uint256"
1058
+ }
1059
+ ],
1060
+ "name": "setAuctionDetails",
1061
+ "outputs": [],
1062
+ "stateMutability": "nonpayable",
1063
+ "type": "function"
1064
+ },
1065
+ {
1066
+ "inputs": [
1067
+ {
1068
+ "internalType": "uint256",
1069
+ "name": "_projectId",
1070
+ "type": "uint256"
1071
+ }
1072
+ ],
1073
+ "name": "setProjectMaxInvocations",
1074
+ "outputs": [],
1075
+ "stateMutability": "view",
1076
+ "type": "function"
1077
+ },
1078
+ {
1079
+ "inputs": [
1080
+ {
1081
+ "internalType": "uint256",
1082
+ "name": "_projectId",
1083
+ "type": "uint256"
1084
+ }
1085
+ ],
1086
+ "name": "togglePurchaseToDisabled",
1087
+ "outputs": [],
1088
+ "stateMutability": "view",
1089
+ "type": "function"
1090
+ },
1091
+ {
1092
+ "inputs": [
1093
+ {
1094
+ "internalType": "uint256",
1095
+ "name": "_projectId",
1096
+ "type": "uint256"
1097
+ }
1098
+ ],
1099
+ "name": "withdrawArtistAndAdminRevenues",
1100
+ "outputs": [],
1101
+ "stateMutability": "nonpayable",
1102
+ "type": "function"
1103
+ }
1104
+ ],
1105
+ "bytecode": "0x61012060405261012c600255610e106003553480156200001e57600080fd5b5060405162003159380380620031598339810160408190526200004191620002e1565b600160005581620000528162000143565b1515608052506001600160a01b0380831660a081905260c081905290821660e0819052610100819052604080516392a10f8360e01b815290516392a10f839160048082019260209290919082900301816000875af1158015620000b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000df919062000319565b6001600160a01b0316146200013b5760405162461bcd60e51b815260206004820152601860248201527f496c6c6567616c20636f6e74726163742070616972696e67000000000000000060448201526064015b60405180910390fd5b50506200036f565b6040516000602482018190526044820181905290819060640160408051601f198184030181529181526020820180516001600160e01b0316638639415b60e01b1790525190915060009081906001600160a01b03861690620001a79085906200033e565b6000604051808303816000865af19150503d8060008114620001e6576040519150601f19603f3d011682016040523d82523d6000602084013e620001eb565b606091505b5091509150816200024d5760405162461bcd60e51b815260206004820152602560248201527f6765745072696d617279526576656e756553706c69747328292063616c6c2066604482015264185a5b195960da1b606482015260840162000132565b805160c0819003620002655750600095945050505050565b80610100036200027b5750600195945050505050565b60405162461bcd60e51b815260206004820152601e60248201527f556e657870656374656420726576656e75652073706c69742062797465730000604482015260640162000132565b80516001600160a01b0381168114620002dc57600080fd5b919050565b60008060408385031215620002f557600080fd5b6200030083620002c4565b91506200031060208401620002c4565b90509250929050565b6000602082840312156200032c57600080fd5b6200033782620002c4565b9392505050565b6000825160005b8181101562000361576020818601810151858301520162000345565b506000920191825250919050565b60805160a05160c05160e05161010051612d74620003e560003960006108770152600061062e015260008181611f8501528181612069015281816120fa01528181612276015261231a0152600081816103fd0152818161094a01526113dd0152600081816105fa0152611b980152612d746000f3fe60806040526004361061015e5760003560e01c8063891407c0116100c7578063891407c0146103d857806392a10f83146103eb5780639cea570914610437578063c0ad212e14610457578063c3df9d6f14610477578063c71b1b7114610497578063c7a4f53d14610592578063cd379f6e146105b2578063cf6681ea146105d2578063db6921b2146105e8578063dd85582f1461061c578063e9d1e8ac14610650578063eb2f4f8e146106a0578063efef39a114610189578063f7bd4b88146106c057600080fd5b8061998714610163578061b460146101895780631607c9951461019c5780631e9f2e92146101be57806324411f80146101ee5780632aedc28e146102275780632f077ee6146102475780632f4b12eb146102bb57806340d1397e146102db578063462add46146102fb5780634d4139021461033b57806356690aaf1461035b5780635bc1470f14610392578063774159c6146103a8575b600080fd5b610176610171366004612661565b6106e0565b6040519081526020015b60405180910390f35b61017661019736600461268d565b6109bb565b3480156101a857600080fd5b506101bc6101b73660046126a6565b6109cd565b005b3480156101ca57600080fd5b506101766101d936600461268d565b60009081526001602052604090206002015490565b3480156101fa57600080fd5b5061017661020936600461268d565b600090815260016020526040902054600160281b900462ffffff1690565b34801561023357600080fd5b506101bc61024236600461268d565b610bf5565b34801561025357600080fd5b506102ab61026236600461268d565b600090815260016020819052604090912080549101546001600160401b03600160401b8304811693600160801b93849004909116926001600160801b0380841693919091041690565b60405161018094939291906126c8565b3480156102c757600080fd5b506101766102d63660046126e3565b610d34565b3480156102e757600080fd5b506101bc6102f636600461268d565b610e1a565b34801561030757600080fd5b5061032b61031636600461268d565b60009081526001602052604090205460ff1690565b6040519015158152602001610180565b34801561034757600080fd5b506101bc610356366004612661565b610e62565b34801561036757600080fd5b5061017661037636600461268d565b600090815260016020526040902054610100900462ffffff1690565b34801561039e57600080fd5b5061017660035481565b3480156103b457600080fd5b506103c86103c336600461268d565b611004565b6040516101809493929190612759565b6101766103e6366004612661565b6110ae565b3480156103f757600080fd5b5061041f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610180565b34801561044357600080fd5b506101bc610452366004612793565b6110c1565b34801561046357600080fd5b506101bc6104723660046126a6565b611102565b34801561048357600080fd5b506101bc61049236600461268d565b61120f565b3480156104a357600080fd5b5061052d6104b236600461268d565b600160208190526000918252604090912080549181015460029091015460ff8084169362ffffff6101008204811694600160201b830490931693600160281b8304909116926001600160401b03600160401b8404811693600160801b90819004909116926001600160801b0380841693929092049091169089565b604080519915158a5262ffffff98891660208b0152961515968901969096529590931660608701526001600160401b0391821660808701521660a08501526001600160801b0390811660c085015290911660e083015261010082015261012001610180565b34801561059e57600080fd5b506101bc6105ad36600461268d565b61121c565b3480156105be57600080fd5b506101bc6105cd366004612807565b611437565b3480156105de57600080fd5b5061017660025481565b3480156105f457600080fd5b5061032b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561062857600080fd5b5061041f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561065c57600080fd5b506106936040518060400160405280601781526020017626b4b73a32b92220a2bc3829b2ba3a3632b6b2b73a2b1960491b81525081565b6040516101809190612842565b3480156106ac57600080fd5b506101bc6106bb36600461286b565b6117e3565b3480156106cc57600080fd5b506101bc6106db36600461268d565b6119c6565b600060026000540361070d5760405162461bcd60e51b81526004016107049061293d565b60405180910390fd5b60026000908155828152600160205260409020805460ff16156107425760405162461bcd60e51b815260040161070490612974565b600061074d84611a09565b33600090815260046020908152604080832088845290915281208054929350916107819034906001600160e81b03166129cf565b82549091506000906107a090600160e81b900462ffffff1660016129e2565b62ffffff1690506107b18482612a05565b8210156108005760405162461bcd60e51b815260206004820152601f60248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e74006044820152606401610704565b6001600160e81b038216600160e81b62ffffff831602178355604080518281526020810184905288913391600080516020612cff833981519152910160405180910390a360028501849055604051630d4d151360e01b81526001600160a01b038981166004830152602482018990523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af11580156108c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e49190612a1c565b8554909650620f4240870660010190610100900462ffffff168082111561091d5760405162461bcd60e51b815260040161070490612974565b80820361093057865460ff191660011787555b50508454600160201b900460ff16156109735761096e87857f0000000000000000000000000000000000000000000000000000000000000000611b7e565b6109ab565b8454600160281b900462ffffff1685600561098d83612a4b565b91906101000a81548162ffffff021916908362ffffff160217905550505b5050505050600160005592915050565b60006109c733836106e0565b92915050565b6109d682611f6f565b60008111610a225760405162461bcd60e51b815260206004820152601960248201527804f6e6c79206d617820696e766f636174696f6e73206774203603c1b6044820152606401610704565b6000828152600160205260409020805460ff1615610a825760405162461bcd60e51b815260206004820152601f60248201527f4d617820696e766f636174696f6e7320616c72656164792072656163686564006044820152606401610704565b600080610a8e85612046565b909250905080841115610b295760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a401610704565b81841015610bab5760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a401610704565b825482851463ffffffff1990911661010062ffffff87160260ff1916171783556040518481528590600080516020612d1f8339815191529060200160405180910390a25050505050565b610c05631576e14760e11b6120e3565b600081815260016020819052604082209081015490916001600160801b039091169003610c715760405162461bcd60e51b815260206004820152601a602482015279105d58dd1a5bdb881b5d5cdd0818994818dbdb999a59dd5c995960321b6044820152606401610704565b8054600160201b900460ff1615610cca5760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c79206265666f726520726576656e75657320636f6c6c656374656400006044820152606401610704565b8054600160401b600160c01b03191680825560006001830155600282015460408051600160281b90930462ffffff168352602083019190915283917f28cd2e5a54afa08469ca157e482b97c3de9efbc4c48cea254864df050677145a910160405180910390a25050565b60006001600160a01b038216610d7e5760405162461bcd60e51b815260206004820152600f60248201526e4e6f207a65726f206164647265737360881b6044820152606401610704565b60008381526001602090815260408083206001600160a01b0386168452600483528184208785529092529091208054600160e81b900462ffffff16610dd55760405162461bcd60e51b815260040161070490612a6d565b60028201548154600090610df6908390600160e81b900462ffffff16612a05565b8354909150610e0f9082906001600160e81b0316612aae565b979650505050505050565b610e2381611f6f565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b6044820152606401610704565b600260005403610e845760405162461bcd60e51b81526004016107049061293d565b60026000908155818152600160209081526040808320338452600483528184208585529092529091208054600160e81b900462ffffff166001600160a01b038516610ee15760405162461bcd60e51b815260040161070490612ac1565b60008111610f015760405162461bcd60e51b815260040161070490612a6d565b60028301546000610f128284612a05565b8454909150600090610f2e9083906001600160e81b0316612aae565b9050610f39826121bf565b85546001600160e81b0319166001600160e81b0391909116178555604080518581526020810184905288913391600080516020612cff833981519152910160405180910390a36000886001600160a01b03168260405160006040518083038185875af1925050503d8060008114610fcc576040519150601f19603f3d011682016040523d82523d6000602084013e610fd1565b606091505b50508091505080610ff45760405162461bcd60e51b815260040161070490612af8565b5050600160005550505050505050565b600081815260016020819052604082209081015481546001600160801b0390911615159291606091839190600160401b90046001600160401b0316421161105a5760018101546001600160801b03169350611084565b60018101546001600160801b03166000036110785760009350611084565b6110818661222c565b93505b6040518060400160405280600381526020016208aa8960eb1b815250925060009150509193509193565b60006110ba83836106e0565b9392505050565b6110fe338383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506117e392505050565b5050565b611112636056909760e11b6120e3565b8181116111785760405162461bcd60e51b815260206004820152602e60248201527f4d6178696d756d2068616c66206c696665206d7573742062652067726561746560448201526d72207468616e206d696e696d756d60901b6064820152608401610704565b600082116111c85760405162461bcd60e51b815260206004820152601d60248201527f48616c66206c696665206f66207a65726f206e6f7420616c6c6f7765640000006044820152606401610704565b6002829055600381905560408051838152602081018390527f1d5d9c9b660aace5432c6c7412456d0ad1b5ff4c6ea156a8c551ba93555ed73f910160405180910390a15050565b6112193382610e62565b50565b60026000540361123e5760405162461bcd60e51b81526004016107049061293d565b60026000556112548163c7a4f53d60e01b612260565b60008181526001602052604090208054600160201b900460ff16156112b85760405162461bcd60e51b815260206004820152601a60248201527914995d995b9d595cc8185b1c9958591e4818dbdb1b1958dd195960321b6044820152606401610704565b6112c1826123dd565b60006112cc83611a09565b6001830154909150600160801b90046001600160801b0316811461134057815460ff1661133b5760405162461bcd60e51b815260206004820152601f60248201527f4163746976652061756374696f6e206e6f742079657420736f6c64206f7574006044820152606401610704565b6113a7565b6001820154600160801b90046001600160801b0316806113a15760405162461bcd60e51b815260206004820152601c60248201527b04f6e6c79206c617465737450757263686173655072696365203e20360241b6044820152606401610704565b60028301555b815460ff60201b1916600160201b178083556000906113d490839062ffffff600160281b90910416612a05565b905061140184827f0000000000000000000000000000000000000000000000000000000000000000611b7e565b60405184907f110a44b77609d30f9b80fa9add8c3e18ba02555b3546acf2b0318a3d3229c5a790600090a2505060016000555050565b61144085611f6f565b60008581526001602052604090208054600160401b90046001600160401b0316158061147c57508054600160401b90046001600160401b031642105b6114c75760405162461bcd60e51b815260206004820152601c60248201527b27379036b7b234b334b1b0ba34b7b7399036b4b216b0bab1ba34b7b760211b6044820152606401610704565b84421061150d5760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b6044820152606401610704565b81831161157f5760405162461bcd60e51b815260206004820152603a60248201527f41756374696f6e207374617274207072696365206d7573742062652067726561604482015279746572207468616e2061756374696f6e20656e6420707269636560301b6064820152608401610704565b600082116115cd5760405162461bcd60e51b815260206004820152601b60248201527a42617365207072696365206d757374206265206e6f6e2d7a65726f60281b6044820152606401610704565b600281015415806115e2575080600201548311155b61164b5760405162461bcd60e51b815260206004820152603460248201527f41756374696f6e207374617274207072696365206d757374206265203c3d206c604482015273617465737420707572636861736520707269636560601b6064820152608401610704565b600254841015801561165f57506003548411155b6116df5760405162461bcd60e51b8152602060048201526044602482018190527f50726963652064656361792068616c66206c696665206d7573742066616c6c20908201527f6265747765656e206d696e20616e64206d617820616c6c6f7761626c652076616064820152636c75657360e01b608482015260a401610704565b6116e885612428565b81546001600160401b0391909116600160401b0267ffffffffffffffff60401b1990911617815561171884612428565b81546001600160401b0391909116600160801b0267ffffffffffffffff60801b1990911617815561174883612490565b6001820180546001600160801b0319166001600160801b039290921691909117905561177382612490565b6001820180546001600160801b03928316600160801b02921691909117905560405186907f38b3058b75696f9e45bffa9c4b237adcde13d74c7bc1bea63e13c712d0776c74906117ca9088908890889088906126c8565b60405180910390a26117db866123dd565b505050505050565b6002600054036118055760405162461bcd60e51b81526004016107049061293d565b60026000556001600160a01b0382166118305760405162461bcd60e51b815260040161070490612ac1565b8051600090815b8181101561194457600084828151811061185357611853612b23565b6020908102919091018101516000818152600183526040808220338352600485528183208484529094529020805491935090600160e81b900462ffffff16806118ae5760405162461bcd60e51b815260040161070490612a6d565b600283015460006118bf8284612a05565b84549091506118d89082906001600160e81b0316612aae565b6118e2908a6129cf565b98506118ed816121bf565b84546001600160e81b0319166001600160e81b0391909116178455604080518481526020810183905287913391600080516020612cff833981519152910160405180910390a3866001019650505050505050611837565b506000846001600160a01b03168360405160006040518083038185875af1925050503d8060008114611992576040519150601f19603f3d011682016040523d82523d6000602084013e611997565b606091505b505080915050806119ba5760405162461bcd60e51b815260040161070490612af8565b50506001600055505050565b6119cf81611f6f565b60405162461bcd60e51b815260206004820152600f60248201526e139bdd081a5b5c1b195b595b9d1959608a1b6044820152606401610704565b6000818152600160205260408120805460ff1680611a2f57508054600160201b900460ff165b15611a3e576002015492915050565b80546001820154600160401b82046001600160401b0390811692600160801b9081900490911691046001600160801b0316428310611ab85760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081e595d081cdd185c9d1959604a1b6044820152606401610704565b60008211611b035760405162461bcd60e51b81526020600482015260186024820152774f6e6c7920636f6e666967757265642061756374696f6e7360401b6044820152606401610704565b60018401546001600160801b031642849003838181611b2457611b24612a35565b0482901c9150600284858381611b3c57611b3c612a35565b06840281611b4c57611b4c612a35565b0481611b5a57611b5a612a35565b048203915082821015611b735750909695505050505050565b509695505050505050565b60008211611b8b57505050565b60008060008060008060007f000000000000000000000000000000000000000000000000000000000000000015611cf657604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015611c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c329190612b39565b969e50949c50909a50985091965091945090925090508115611cef576040516001600160a01b038216908390600081818185875af1925050503d8060008114611c97576040519150601f19603f3d011682016040523d82523d6000602084013e611c9c565b606091505b50508099505088611cef5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610704565b5050611d76565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa158015611d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d669190612bc1565b949a509298509096509450925090505b8515611e1d576040516001600160a01b038616908790600081818185875af1925050503d8060008114611dc5576040519150601f19603f3d011682016040523d82523d6000602084013e611dca565b606091505b50508097505086611e1d5760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610704565b8315611ebc576040516001600160a01b038416908590600081818185875af1925050503d8060008114611e6c576040519150601f19603f3d011682016040523d82523d6000602084013e611e71565b606091505b50508097505086611ebc5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610704565b8115611f63576040516001600160a01b038216908390600081818185875af1925050503d8060008114611f0b576040519150601f19603f3d011682016040523d82523d6000602084013e611f10565b606091505b50508097505086611f635760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610704565b50505050505050505050565b60405163a47d29cb60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015611fd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff89190612c2a565b6001600160a01b0316336001600160a01b0316146112195760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610704565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa1580156120b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d49190612c57565b50939792965091945050505050565b60405163230448b160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b19061213390339030908690600401612cb6565b6020604051808303816000875af1158015612152573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121769190612ce3565b6112195760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b6044820152606401610704565b60006001600160e81b038211156122285760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663332206269747360c81b6064820152608401610704565b5090565b6000612237826124f9565b15612252575060009081526001602052604090206002015490565b6109c782611a09565b919050565b60405163a47d29cb60e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa1580156122c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122e99190612c2a565b6001600160a01b0316336001600160a01b03161480612396575060405163230448b160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b19061235390339030908690600401612cb6565b6020604051808303816000875af1158015612372573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123969190612ce3565b6110fe5760405162461bcd60e51b815260206004820152601860248201527713db9b1e48105c9d1a5cdd081bdc8810591b5a5b881050d360421b6044820152606401610704565b60008181526001602052604081208054909190610100900462ffffff161580156124095750815460ff16155b9050801561241f5761241a83612545565b505050565b61241a836125b6565b60006001600160401b038211156122285760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608401610704565b60006001600160801b038211156122285760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610704565b600080600061250784612046565b6000868152600160205260409020805492945090925090610100900462ffffff16828111156125395750501492915050565b90921015949350505050565b60008061255183612046565b60008581526001602052604090819020805460ff1962ffffff8516610100021663ffffffff199091161784841417815590519194509192508490600080516020612d1f833981519152906125a89086815260200190565b60405180910390a250505050565b6000806125c283612046565b60008581526001602052604090208054919450919250610100900462ffffff168381111561263257815483851463ffffffff1990911661010062ffffff87160260ff1916171782556040518481528590600080516020612d1f8339815191529060200160405180910390a2612645565b80831061264557815460ff191660011782555b5050505050565b6001600160a01b038116811461121957600080fd5b6000806040838503121561267457600080fd5b823561267f8161264c565b946020939093013593505050565b60006020828403121561269f57600080fd5b5035919050565b600080604083850312156126b957600080fd5b50508035926020909101359150565b93845260208401929092526040830152606082015260800190565b600080604083850312156126f657600080fd5b8235915060208301356127088161264c565b809150509250929050565b6000815180845260005b818110156127395760208185018101518683018201520161271d565b506000602082860101526020601f19601f83011685010191505092915050565b841515815283602082015260806040820152600061277a6080830185612713565b905060018060a01b038316606083015295945050505050565b600080602083850312156127a657600080fd5b82356001600160401b03808211156127bd57600080fd5b818501915085601f8301126127d157600080fd5b8135818111156127e057600080fd5b8660208260051b85010111156127f557600080fd5b60209290920196919550909350505050565b600080600080600060a0868803121561281f57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6020815260006110ba6020830184612713565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561287e57600080fd5b82356128898161264c565b91506020838101356001600160401b03808211156128a657600080fd5b818601915086601f8301126128ba57600080fd5b8135818111156128cc576128cc612855565b8060051b604051601f19603f830116810181811085821117156128f1576128f1612855565b60405291825284820192508381018501918983111561290f57600080fd5b938501935b8285101561292d57843584529385019392850192612914565b8096505050505050509250929050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526025908201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656040820152641858da195960da1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808201808211156109c7576109c76129b9565b62ffffff8181168382160190808211156129fe576129fe6129b9565b5092915050565b80820281158282048414176109c7576109c76129b9565b600060208284031215612a2e57600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b600062ffffff808316818103612a6357612a636129b9565b6001019392505050565b60208082526021908201527f4e6f20707572636861736573206d6164652062792074686973206164647265736040820152607360f81b606082015260800190565b818103818111156109c7576109c76129b9565b6020808252601f908201527f4e6f20636c61696d696e6720746f20746865207a65726f206164647265737300604082015260600190565b602080825260119082015270149958db185a5b5a5b99c819985a5b1959607a1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600080600080600080600080610100898b031215612b5657600080fd5b885197506020890151612b688161264c565b60408a015160608b01519198509650612b808161264c565b60808a015160a08b01519196509450612b988161264c565b60c08a015160e08b01519194509250612bb08161264c565b809150509295985092959890939650565b60008060008060008060c08789031215612bda57600080fd5b865195506020870151612bec8161264c565b604088015160608901519196509450612c048161264c565b608088015160a08901519194509250612c1c8161264c565b809150509295509295509295565b600060208284031215612c3c57600080fd5b81516110ba8161264c565b8051801515811461225b57600080fd5b60008060008060008060c08789031215612c7057600080fd5b8651955060208701519450612c8760408801612c47565b9350612c9560608801612c47565b925060808701519150612caa60a08801612c47565b90509295509295509295565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b600060208284031215612cf557600080fd5b6110ba82612c4756fe88bc1bf6777e1eaef8a0583c526f6963c9183af9ee82015f9a28f55b9115ea718445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1a2646970667358221220e857128f2d98769dbe741398314b76dc1eff8b02b66a969b8f94f9477d1a359c64736f6c63430008130033",
1106
+ "deployedBytecode": "0x60806040526004361061015e5760003560e01c8063891407c0116100c7578063891407c0146103d857806392a10f83146103eb5780639cea570914610437578063c0ad212e14610457578063c3df9d6f14610477578063c71b1b7114610497578063c7a4f53d14610592578063cd379f6e146105b2578063cf6681ea146105d2578063db6921b2146105e8578063dd85582f1461061c578063e9d1e8ac14610650578063eb2f4f8e146106a0578063efef39a114610189578063f7bd4b88146106c057600080fd5b8061998714610163578061b460146101895780631607c9951461019c5780631e9f2e92146101be57806324411f80146101ee5780632aedc28e146102275780632f077ee6146102475780632f4b12eb146102bb57806340d1397e146102db578063462add46146102fb5780634d4139021461033b57806356690aaf1461035b5780635bc1470f14610392578063774159c6146103a8575b600080fd5b610176610171366004612661565b6106e0565b6040519081526020015b60405180910390f35b61017661019736600461268d565b6109bb565b3480156101a857600080fd5b506101bc6101b73660046126a6565b6109cd565b005b3480156101ca57600080fd5b506101766101d936600461268d565b60009081526001602052604090206002015490565b3480156101fa57600080fd5b5061017661020936600461268d565b600090815260016020526040902054600160281b900462ffffff1690565b34801561023357600080fd5b506101bc61024236600461268d565b610bf5565b34801561025357600080fd5b506102ab61026236600461268d565b600090815260016020819052604090912080549101546001600160401b03600160401b8304811693600160801b93849004909116926001600160801b0380841693919091041690565b60405161018094939291906126c8565b3480156102c757600080fd5b506101766102d63660046126e3565b610d34565b3480156102e757600080fd5b506101bc6102f636600461268d565b610e1a565b34801561030757600080fd5b5061032b61031636600461268d565b60009081526001602052604090205460ff1690565b6040519015158152602001610180565b34801561034757600080fd5b506101bc610356366004612661565b610e62565b34801561036757600080fd5b5061017661037636600461268d565b600090815260016020526040902054610100900462ffffff1690565b34801561039e57600080fd5b5061017660035481565b3480156103b457600080fd5b506103c86103c336600461268d565b611004565b6040516101809493929190612759565b6101766103e6366004612661565b6110ae565b3480156103f757600080fd5b5061041f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610180565b34801561044357600080fd5b506101bc610452366004612793565b6110c1565b34801561046357600080fd5b506101bc6104723660046126a6565b611102565b34801561048357600080fd5b506101bc61049236600461268d565b61120f565b3480156104a357600080fd5b5061052d6104b236600461268d565b600160208190526000918252604090912080549181015460029091015460ff8084169362ffffff6101008204811694600160201b830490931693600160281b8304909116926001600160401b03600160401b8404811693600160801b90819004909116926001600160801b0380841693929092049091169089565b604080519915158a5262ffffff98891660208b0152961515968901969096529590931660608701526001600160401b0391821660808701521660a08501526001600160801b0390811660c085015290911660e083015261010082015261012001610180565b34801561059e57600080fd5b506101bc6105ad36600461268d565b61121c565b3480156105be57600080fd5b506101bc6105cd366004612807565b611437565b3480156105de57600080fd5b5061017660025481565b3480156105f457600080fd5b5061032b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561062857600080fd5b5061041f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561065c57600080fd5b506106936040518060400160405280601781526020017626b4b73a32b92220a2bc3829b2ba3a3632b6b2b73a2b1960491b81525081565b6040516101809190612842565b3480156106ac57600080fd5b506101bc6106bb36600461286b565b6117e3565b3480156106cc57600080fd5b506101bc6106db36600461268d565b6119c6565b600060026000540361070d5760405162461bcd60e51b81526004016107049061293d565b60405180910390fd5b60026000908155828152600160205260409020805460ff16156107425760405162461bcd60e51b815260040161070490612974565b600061074d84611a09565b33600090815260046020908152604080832088845290915281208054929350916107819034906001600160e81b03166129cf565b82549091506000906107a090600160e81b900462ffffff1660016129e2565b62ffffff1690506107b18482612a05565b8210156108005760405162461bcd60e51b815260206004820152601f60248201527f4d7573742073656e64206d696e696d756d2076616c756520746f206d696e74006044820152606401610704565b6001600160e81b038216600160e81b62ffffff831602178355604080518281526020810184905288913391600080516020612cff833981519152910160405180910390a360028501849055604051630d4d151360e01b81526001600160a01b038981166004830152602482018990523360448301527f00000000000000000000000000000000000000000000000000000000000000001690630d4d1513906064016020604051808303816000875af11580156108c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e49190612a1c565b8554909650620f4240870660010190610100900462ffffff168082111561091d5760405162461bcd60e51b815260040161070490612974565b80820361093057865460ff191660011787555b50508454600160201b900460ff16156109735761096e87857f0000000000000000000000000000000000000000000000000000000000000000611b7e565b6109ab565b8454600160281b900462ffffff1685600561098d83612a4b565b91906101000a81548162ffffff021916908362ffffff160217905550505b5050505050600160005592915050565b60006109c733836106e0565b92915050565b6109d682611f6f565b60008111610a225760405162461bcd60e51b815260206004820152601960248201527804f6e6c79206d617820696e766f636174696f6e73206774203603c1b6044820152606401610704565b6000828152600160205260409020805460ff1615610a825760405162461bcd60e51b815260206004820152601f60248201527f4d617820696e766f636174696f6e7320616c72656164792072656163686564006044820152606401610704565b600080610a8e85612046565b909250905080841115610b295760405162461bcd60e51b815260206004820152605760248201527f43616e6e6f7420696e6372656173652070726f6a656374206d617820696e766f60448201527f636174696f6e732061626f766520636f726520636f6e7472616374207365742060648201527670726f6a656374206d617820696e766f636174696f6e7360481b608482015260a401610704565b81841015610bab5760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207365742070726f6a656374206d617820696e766f636174696f60448201527f6e7320746f206c657373207468616e2063757272656e7420696e766f636174696064820152626f6e7360e81b608482015260a401610704565b825482851463ffffffff1990911661010062ffffff87160260ff1916171783556040518481528590600080516020612d1f8339815191529060200160405180910390a25050505050565b610c05631576e14760e11b6120e3565b600081815260016020819052604082209081015490916001600160801b039091169003610c715760405162461bcd60e51b815260206004820152601a602482015279105d58dd1a5bdb881b5d5cdd0818994818dbdb999a59dd5c995960321b6044820152606401610704565b8054600160201b900460ff1615610cca5760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c79206265666f726520726576656e75657320636f6c6c656374656400006044820152606401610704565b8054600160401b600160c01b03191680825560006001830155600282015460408051600160281b90930462ffffff168352602083019190915283917f28cd2e5a54afa08469ca157e482b97c3de9efbc4c48cea254864df050677145a910160405180910390a25050565b60006001600160a01b038216610d7e5760405162461bcd60e51b815260206004820152600f60248201526e4e6f207a65726f206164647265737360881b6044820152606401610704565b60008381526001602090815260408083206001600160a01b0386168452600483528184208785529092529091208054600160e81b900462ffffff16610dd55760405162461bcd60e51b815260040161070490612a6d565b60028201548154600090610df6908390600160e81b900462ffffff16612a05565b8354909150610e0f9082906001600160e81b0316612aae565b979650505050505050565b610e2381611f6f565b60405162461bcd60e51b81526020600482015260146024820152731058dd1a5bdb881b9bdd081cdd5c1c1bdc9d195960621b6044820152606401610704565b600260005403610e845760405162461bcd60e51b81526004016107049061293d565b60026000908155818152600160209081526040808320338452600483528184208585529092529091208054600160e81b900462ffffff166001600160a01b038516610ee15760405162461bcd60e51b815260040161070490612ac1565b60008111610f015760405162461bcd60e51b815260040161070490612a6d565b60028301546000610f128284612a05565b8454909150600090610f2e9083906001600160e81b0316612aae565b9050610f39826121bf565b85546001600160e81b0319166001600160e81b0391909116178555604080518581526020810184905288913391600080516020612cff833981519152910160405180910390a36000886001600160a01b03168260405160006040518083038185875af1925050503d8060008114610fcc576040519150601f19603f3d011682016040523d82523d6000602084013e610fd1565b606091505b50508091505080610ff45760405162461bcd60e51b815260040161070490612af8565b5050600160005550505050505050565b600081815260016020819052604082209081015481546001600160801b0390911615159291606091839190600160401b90046001600160401b0316421161105a5760018101546001600160801b03169350611084565b60018101546001600160801b03166000036110785760009350611084565b6110818661222c565b93505b6040518060400160405280600381526020016208aa8960eb1b815250925060009150509193509193565b60006110ba83836106e0565b9392505050565b6110fe338383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506117e392505050565b5050565b611112636056909760e11b6120e3565b8181116111785760405162461bcd60e51b815260206004820152602e60248201527f4d6178696d756d2068616c66206c696665206d7573742062652067726561746560448201526d72207468616e206d696e696d756d60901b6064820152608401610704565b600082116111c85760405162461bcd60e51b815260206004820152601d60248201527f48616c66206c696665206f66207a65726f206e6f7420616c6c6f7765640000006044820152606401610704565b6002829055600381905560408051838152602081018390527f1d5d9c9b660aace5432c6c7412456d0ad1b5ff4c6ea156a8c551ba93555ed73f910160405180910390a15050565b6112193382610e62565b50565b60026000540361123e5760405162461bcd60e51b81526004016107049061293d565b60026000556112548163c7a4f53d60e01b612260565b60008181526001602052604090208054600160201b900460ff16156112b85760405162461bcd60e51b815260206004820152601a60248201527914995d995b9d595cc8185b1c9958591e4818dbdb1b1958dd195960321b6044820152606401610704565b6112c1826123dd565b60006112cc83611a09565b6001830154909150600160801b90046001600160801b0316811461134057815460ff1661133b5760405162461bcd60e51b815260206004820152601f60248201527f4163746976652061756374696f6e206e6f742079657420736f6c64206f7574006044820152606401610704565b6113a7565b6001820154600160801b90046001600160801b0316806113a15760405162461bcd60e51b815260206004820152601c60248201527b04f6e6c79206c617465737450757263686173655072696365203e20360241b6044820152606401610704565b60028301555b815460ff60201b1916600160201b178083556000906113d490839062ffffff600160281b90910416612a05565b905061140184827f0000000000000000000000000000000000000000000000000000000000000000611b7e565b60405184907f110a44b77609d30f9b80fa9add8c3e18ba02555b3546acf2b0318a3d3229c5a790600090a2505060016000555050565b61144085611f6f565b60008581526001602052604090208054600160401b90046001600160401b0316158061147c57508054600160401b90046001600160401b031642105b6114c75760405162461bcd60e51b815260206004820152601c60248201527b27379036b7b234b334b1b0ba34b7b7399036b4b216b0bab1ba34b7b760211b6044820152606401610704565b84421061150d5760405162461bcd60e51b81526020600482015260146024820152734f6e6c79206675747572652061756374696f6e7360601b6044820152606401610704565b81831161157f5760405162461bcd60e51b815260206004820152603a60248201527f41756374696f6e207374617274207072696365206d7573742062652067726561604482015279746572207468616e2061756374696f6e20656e6420707269636560301b6064820152608401610704565b600082116115cd5760405162461bcd60e51b815260206004820152601b60248201527a42617365207072696365206d757374206265206e6f6e2d7a65726f60281b6044820152606401610704565b600281015415806115e2575080600201548311155b61164b5760405162461bcd60e51b815260206004820152603460248201527f41756374696f6e207374617274207072696365206d757374206265203c3d206c604482015273617465737420707572636861736520707269636560601b6064820152608401610704565b600254841015801561165f57506003548411155b6116df5760405162461bcd60e51b8152602060048201526044602482018190527f50726963652064656361792068616c66206c696665206d7573742066616c6c20908201527f6265747765656e206d696e20616e64206d617820616c6c6f7761626c652076616064820152636c75657360e01b608482015260a401610704565b6116e885612428565b81546001600160401b0391909116600160401b0267ffffffffffffffff60401b1990911617815561171884612428565b81546001600160401b0391909116600160801b0267ffffffffffffffff60801b1990911617815561174883612490565b6001820180546001600160801b0319166001600160801b039290921691909117905561177382612490565b6001820180546001600160801b03928316600160801b02921691909117905560405186907f38b3058b75696f9e45bffa9c4b237adcde13d74c7bc1bea63e13c712d0776c74906117ca9088908890889088906126c8565b60405180910390a26117db866123dd565b505050505050565b6002600054036118055760405162461bcd60e51b81526004016107049061293d565b60026000556001600160a01b0382166118305760405162461bcd60e51b815260040161070490612ac1565b8051600090815b8181101561194457600084828151811061185357611853612b23565b6020908102919091018101516000818152600183526040808220338352600485528183208484529094529020805491935090600160e81b900462ffffff16806118ae5760405162461bcd60e51b815260040161070490612a6d565b600283015460006118bf8284612a05565b84549091506118d89082906001600160e81b0316612aae565b6118e2908a6129cf565b98506118ed816121bf565b84546001600160e81b0319166001600160e81b0391909116178455604080518481526020810183905287913391600080516020612cff833981519152910160405180910390a3866001019650505050505050611837565b506000846001600160a01b03168360405160006040518083038185875af1925050503d8060008114611992576040519150601f19603f3d011682016040523d82523d6000602084013e611997565b606091505b505080915050806119ba5760405162461bcd60e51b815260040161070490612af8565b50506001600055505050565b6119cf81611f6f565b60405162461bcd60e51b815260206004820152600f60248201526e139bdd081a5b5c1b195b595b9d1959608a1b6044820152606401610704565b6000818152600160205260408120805460ff1680611a2f57508054600160201b900460ff165b15611a3e576002015492915050565b80546001820154600160401b82046001600160401b0390811692600160801b9081900490911691046001600160801b0316428310611ab85760405162461bcd60e51b8152602060048201526017602482015276105d58dd1a5bdb881b9bdd081e595d081cdd185c9d1959604a1b6044820152606401610704565b60008211611b035760405162461bcd60e51b81526020600482015260186024820152774f6e6c7920636f6e666967757265642061756374696f6e7360401b6044820152606401610704565b60018401546001600160801b031642849003838181611b2457611b24612a35565b0482901c9150600284858381611b3c57611b3c612a35565b06840281611b4c57611b4c612a35565b0481611b5a57611b5a612a35565b048203915082821015611b735750909695505050505050565b509695505050505050565b60008211611b8b57505050565b60008060008060008060007f000000000000000000000000000000000000000000000000000000000000000015611cf657604051638639415b60e01b8152600481018b9052602481018a905260009081906001600160a01b038b1690638639415b9060440161010060405180830381865afa158015611c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c329190612b39565b969e50949c50909a50985091965091945090925090508115611cef576040516001600160a01b038216908390600081818185875af1925050503d8060008114611c97576040519150601f19603f3d011682016040523d82523d6000602084013e611c9c565b606091505b50508099505088611cef5760405162461bcd60e51b815260206004820181905260248201527f506c6174666f726d2050726f7669646572207061796d656e74206661696c65646044820152606401610704565b5050611d76565b604051638639415b60e01b8152600481018b9052602481018a90526001600160a01b03891690638639415b9060440160c060405180830381865afa158015611d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d669190612bc1565b949a509298509096509450925090505b8515611e1d576040516001600160a01b038616908790600081818185875af1925050503d8060008114611dc5576040519150601f19603f3d011682016040523d82523d6000602084013e611dca565b606091505b50508097505086611e1d5760405162461bcd60e51b815260206004820152601e60248201527f52656e6465722050726f7669646572207061796d656e74206661696c656400006044820152606401610704565b8315611ebc576040516001600160a01b038416908590600081818185875af1925050503d8060008114611e6c576040519150601f19603f3d011682016040523d82523d6000602084013e611e71565b606091505b50508097505086611ebc5760405162461bcd60e51b8152602060048201526015602482015274105c9d1a5cdd081c185e5b595b9d0819985a5b1959605a1b6044820152606401610704565b8115611f63576040516001600160a01b038216908390600081818185875af1925050503d8060008114611f0b576040519150601f19603f3d011682016040523d82523d6000602084013e611f10565b606091505b50508097505086611f635760405162461bcd60e51b815260206004820152601f60248201527f4164646974696f6e616c205061796565207061796d656e74206661696c6564006044820152606401610704565b50505050505050505050565b60405163a47d29cb60e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015611fd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff89190612c2a565b6001600160a01b0316336001600160a01b0316146112195760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610704565b604051630ea5613f60e01b81526004810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa1580156120b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d49190612c57565b50939792965091945050505050565b60405163230448b160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b19061213390339030908690600401612cb6565b6020604051808303816000875af1158015612152573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121769190612ce3565b6112195760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b6044820152606401610704565b60006001600160e81b038211156122285760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663332206269747360c81b6064820152608401610704565b5090565b6000612237826124f9565b15612252575060009081526001602052604090206002015490565b6109c782611a09565b919050565b60405163a47d29cb60e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa1580156122c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122e99190612c2a565b6001600160a01b0316336001600160a01b03161480612396575060405163230448b160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063230448b19061235390339030908690600401612cb6565b6020604051808303816000875af1158015612372573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123969190612ce3565b6110fe5760405162461bcd60e51b815260206004820152601860248201527713db9b1e48105c9d1a5cdd081bdc8810591b5a5b881050d360421b6044820152606401610704565b60008181526001602052604081208054909190610100900462ffffff161580156124095750815460ff16155b9050801561241f5761241a83612545565b505050565b61241a836125b6565b60006001600160401b038211156122285760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608401610704565b60006001600160801b038211156122285760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610704565b600080600061250784612046565b6000868152600160205260409020805492945090925090610100900462ffffff16828111156125395750501492915050565b90921015949350505050565b60008061255183612046565b60008581526001602052604090819020805460ff1962ffffff8516610100021663ffffffff199091161784841417815590519194509192508490600080516020612d1f833981519152906125a89086815260200190565b60405180910390a250505050565b6000806125c283612046565b60008581526001602052604090208054919450919250610100900462ffffff168381111561263257815483851463ffffffff1990911661010062ffffff87160260ff1916171782556040518481528590600080516020612d1f8339815191529060200160405180910390a2612645565b80831061264557815460ff191660011782555b5050505050565b6001600160a01b038116811461121957600080fd5b6000806040838503121561267457600080fd5b823561267f8161264c565b946020939093013593505050565b60006020828403121561269f57600080fd5b5035919050565b600080604083850312156126b957600080fd5b50508035926020909101359150565b93845260208401929092526040830152606082015260800190565b600080604083850312156126f657600080fd5b8235915060208301356127088161264c565b809150509250929050565b6000815180845260005b818110156127395760208185018101518683018201520161271d565b506000602082860101526020601f19601f83011685010191505092915050565b841515815283602082015260806040820152600061277a6080830185612713565b905060018060a01b038316606083015295945050505050565b600080602083850312156127a657600080fd5b82356001600160401b03808211156127bd57600080fd5b818501915085601f8301126127d157600080fd5b8135818111156127e057600080fd5b8660208260051b85010111156127f557600080fd5b60209290920196919550909350505050565b600080600080600060a0868803121561281f57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6020815260006110ba6020830184612713565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561287e57600080fd5b82356128898161264c565b91506020838101356001600160401b03808211156128a657600080fd5b818601915086601f8301126128ba57600080fd5b8135818111156128cc576128cc612855565b8060051b604051601f19603f830116810181811085821117156128f1576128f1612855565b60405291825284820192508381018501918983111561290f57600080fd5b938501935b8285101561292d57843584529385019392850192612914565b8096505050505050509250929050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526025908201527f4d6178696d756d206e756d626572206f6620696e766f636174696f6e732072656040820152641858da195960da1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808201808211156109c7576109c76129b9565b62ffffff8181168382160190808211156129fe576129fe6129b9565b5092915050565b80820281158282048414176109c7576109c76129b9565b600060208284031215612a2e57600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b600062ffffff808316818103612a6357612a636129b9565b6001019392505050565b60208082526021908201527f4e6f20707572636861736573206d6164652062792074686973206164647265736040820152607360f81b606082015260800190565b818103818111156109c7576109c76129b9565b6020808252601f908201527f4e6f20636c61696d696e6720746f20746865207a65726f206164647265737300604082015260600190565b602080825260119082015270149958db185a5b5a5b99c819985a5b1959607a1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600080600080600080600080610100898b031215612b5657600080fd5b885197506020890151612b688161264c565b60408a015160608b01519198509650612b808161264c565b60808a015160a08b01519196509450612b988161264c565b60c08a015160e08b01519194509250612bb08161264c565b809150509295985092959890939650565b60008060008060008060c08789031215612bda57600080fd5b865195506020870151612bec8161264c565b604088015160608901519196509450612c048161264c565b608088015160a08901519194509250612c1c8161264c565b809150509295509295509295565b600060208284031215612c3c57600080fd5b81516110ba8161264c565b8051801515811461225b57600080fd5b60008060008060008060c08789031215612c7057600080fd5b8651955060208701519450612c8760408801612c47565b9350612c9560608801612c47565b925060808701519150612caa60a08801612c47565b90509295509295509295565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b600060208284031215612cf557600080fd5b6110ba82612c4756fe88bc1bf6777e1eaef8a0583c526f6963c9183af9ee82015f9a28f55b9115ea718445d32a2ee05956c6c842357ca16ee41e92657b1cbcbf1c94f500672e48c3b1a2646970667358221220e857128f2d98769dbe741398314b76dc1eff8b02b66a969b8f94f9477d1a359c64736f6c63430008130033",
1107
+ "linkReferences": {},
1108
+ "deployedLinkReferences": {}
1109
+ }