@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
@@ -2,9 +2,54 @@
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "SetPriceLib",
4
4
  "sourceName": "contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol",
5
- "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122000be977f980f2a61978aa18d84fa440dc7fe4d98549c830955736c2c1e490f9a64736f6c63430008130033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122000be977f980f2a61978aa18d84fa440dc7fe4d98549c830955736c2c1e490f9a64736f6c63430008130033",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "uint256",
12
+ "name": "projectId",
13
+ "type": "uint256"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "address",
18
+ "name": "coreContract",
19
+ "type": "address"
20
+ }
21
+ ],
22
+ "name": "PricePerTokenReset",
23
+ "type": "event"
24
+ },
25
+ {
26
+ "anonymous": false,
27
+ "inputs": [
28
+ {
29
+ "indexed": true,
30
+ "internalType": "uint256",
31
+ "name": "projectId",
32
+ "type": "uint256"
33
+ },
34
+ {
35
+ "indexed": true,
36
+ "internalType": "address",
37
+ "name": "coreContract",
38
+ "type": "address"
39
+ },
40
+ {
41
+ "indexed": true,
42
+ "internalType": "uint256",
43
+ "name": "pricePerToken",
44
+ "type": "uint256"
45
+ }
46
+ ],
47
+ "name": "PricePerTokenUpdated",
48
+ "type": "event"
49
+ }
50
+ ],
51
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d453789be4a23510ebfb2ac5707e037ec749bb766c66d226c78aee906d3de19c64736f6c63430008160033",
52
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d453789be4a23510ebfb2ac5707e037ec749bb766c66d226c78aee906d3de19c64736f6c63430008160033",
8
53
  "linkReferences": {},
9
54
  "deployedLinkReferences": {}
10
55
  }
@@ -2,9 +2,47 @@
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "SettlementExpLib",
4
4
  "sourceName": "contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol",
5
- "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220522c9e6c08094392e19836ee7f5ba931004bf0e46215eef50a205c8c097fbc4a64736f6c63430008130033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220522c9e6c08094392e19836ee7f5ba931004bf0e46215eef50a205c8c097fbc4a64736f6c63430008130033",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "address",
12
+ "name": "purchaser",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "uint256",
18
+ "name": "projectId",
19
+ "type": "uint256"
20
+ },
21
+ {
22
+ "indexed": true,
23
+ "internalType": "address",
24
+ "name": "coreContract",
25
+ "type": "address"
26
+ },
27
+ {
28
+ "indexed": false,
29
+ "internalType": "uint24",
30
+ "name": "numPurchased",
31
+ "type": "uint24"
32
+ },
33
+ {
34
+ "indexed": false,
35
+ "internalType": "uint256",
36
+ "name": "netPosted",
37
+ "type": "uint256"
38
+ }
39
+ ],
40
+ "name": "ReceiptUpdated",
41
+ "type": "event"
42
+ }
43
+ ],
44
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206791b85bb0eb63ca0b773de3642c534ef6efe7cceba17ca6e1dc75c4da63e07764736f6c63430008160033",
45
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206791b85bb0eb63ca0b773de3642c534ef6efe7cceba17ca6e1dc75c4da63e07764736f6c63430008160033",
8
46
  "linkReferences": {},
9
47
  "deployedLinkReferences": {}
10
48
  }
@@ -2,9 +2,41 @@
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "SplitFundsLib",
4
4
  "sourceName": "contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol",
5
- "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208e70ec68856b8339219b235bc6b9836865c16702da3ad262bd11116b87e1429964736f6c63430008130033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208e70ec68856b8339219b235bc6b9836865c16702da3ad262bd11116b87e1429964736f6c63430008130033",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "uint256",
12
+ "name": "projectId",
13
+ "type": "uint256"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "address",
18
+ "name": "coreContract",
19
+ "type": "address"
20
+ },
21
+ {
22
+ "indexed": true,
23
+ "internalType": "address",
24
+ "name": "currencyAddress",
25
+ "type": "address"
26
+ },
27
+ {
28
+ "indexed": false,
29
+ "internalType": "string",
30
+ "name": "currencySymbol",
31
+ "type": "string"
32
+ }
33
+ ],
34
+ "name": "ProjectCurrencyInfoUpdated",
35
+ "type": "event"
36
+ }
37
+ ],
38
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209a5c36b2c3c69833ff5d547cfa9165e04f4b7c7fe79990eb92ed3589d66fc1e464736f6c63430008160033",
39
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209a5c36b2c3c69833ff5d547cfa9165e04f4b7c7fe79990eb92ed3589d66fc1e464736f6c63430008160033",
8
40
  "linkReferences": {},
9
41
  "deployedLinkReferences": {}
10
42
  }
@@ -2,9 +2,85 @@
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "TokenHolderLib",
4
4
  "sourceName": "contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol",
5
- "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b5174829f85f93f575995398c2b8a7468486478c3bf7ed817d819602dd664a7964736f6c63430008130033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b5174829f85f93f575995398c2b8a7468486478c3bf7ed817d819602dd664a7964736f6c63430008130033",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "uint256",
12
+ "name": "projectId",
13
+ "type": "uint256"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "address",
18
+ "name": "coreContract",
19
+ "type": "address"
20
+ },
21
+ {
22
+ "indexed": false,
23
+ "internalType": "address[]",
24
+ "name": "ownedNFTAddresses",
25
+ "type": "address[]"
26
+ },
27
+ {
28
+ "indexed": false,
29
+ "internalType": "uint256[]",
30
+ "name": "ownedNFTProjectIds",
31
+ "type": "uint256[]"
32
+ }
33
+ ],
34
+ "name": "AllowedHoldersOfProjects",
35
+ "type": "event"
36
+ },
37
+ {
38
+ "anonymous": false,
39
+ "inputs": [
40
+ {
41
+ "indexed": false,
42
+ "internalType": "address",
43
+ "name": "delegationRegistry",
44
+ "type": "address"
45
+ }
46
+ ],
47
+ "name": "DelegationRegistryUpdated",
48
+ "type": "event"
49
+ },
50
+ {
51
+ "anonymous": false,
52
+ "inputs": [
53
+ {
54
+ "indexed": true,
55
+ "internalType": "uint256",
56
+ "name": "projectId",
57
+ "type": "uint256"
58
+ },
59
+ {
60
+ "indexed": true,
61
+ "internalType": "address",
62
+ "name": "coreContract",
63
+ "type": "address"
64
+ },
65
+ {
66
+ "indexed": false,
67
+ "internalType": "address[]",
68
+ "name": "ownedNFTAddresses",
69
+ "type": "address[]"
70
+ },
71
+ {
72
+ "indexed": false,
73
+ "internalType": "uint256[]",
74
+ "name": "ownedNFTProjectIds",
75
+ "type": "uint256[]"
76
+ }
77
+ ],
78
+ "name": "RemovedHoldersOfProjects",
79
+ "type": "event"
80
+ }
81
+ ],
82
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f7a5da826f08da47b3e43e0db340a6da9a191f42c01e8e3fe7efa579380b41b764736f6c63430008160033",
83
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f7a5da826f08da47b3e43e0db340a6da9a191f42c01e8e3fe7efa579380b41b764736f6c63430008160033",
8
84
  "linkReferences": {},
9
85
  "deployedLinkReferences": {}
10
86
  }
@@ -347,8 +347,8 @@
347
347
  "type": "function"
348
348
  }
349
349
  ],
350
- "bytecode": "0x60c060405234801561001057600080fd5b506040516114ef3803806114ef83398101604081905261002f916100d6565b61003881610079565b6001600160a01b038116608081905260a0526040517f3fad920548ed9f22deb8333b4cc1e4f9bc36666a1c2aa30ad59a0a3bb9dcbb9290600090a150610106565b6001600160a01b0381166100d35760405162461bcd60e51b815260206004820152601b60248201527f4d75737420696e707574206e6f6e2d7a65726f20616464726573730000000000604482015260640160405180910390fd5b50565b6000602082840312156100e857600080fd5b81516001600160a01b03811681146100ff57600080fd5b9392505050565b60805160a0516113af610140600039600081816102e7015281816109b701528181610a9e0152610d1f0152600061016d01526113af6000f3fe608060405234801561001057600080fd5b50600436106100c55760003560e01c80630d4d1513146100ca57806320f2ccb7146100f057806326df17b5146101055780633a3d146f146101255780637136b93e14610158578063718284221461016057806392a10f8314610168578063a409177e146101a7578063b34c5c84146101bc578063bcc0fdf1146101cf578063bee4d106146101e2578063c47d50f5146101f5578063e7300db914610208578063faf0d7451461022a578063ff2505f01461023d575b600080fd5b6100dd6100d8366004611012565b610250565b6040519081526020015b60405180910390f35b6100f861035d565b6040516100e791906110a4565b6100dd6101133660046110b7565b60036020526000908152604090205481565b6101486101333660046110b7565b60046020526000908152604090205460ff1681565b60405190151581526020016100e7565b6100f861037e565b6100dd610392565b61018f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100e7565b6101ba6101b53660046110d4565b61039e565b005b6101ba6101ca366004611148565b6103f3565b61018f6101dd366004611148565b610410565b6101ba6101f03660046110b7565b610475565b610148610203366004611148565b61054b565b61021b610216366004611148565b61056a565b6040516100e793929190611161565b6101ba61023836600461118b565b6105ef565b6101ba61024b3660046110b7565b610737565b600061025c818461084f565b6001600160a01b0316336001600160a01b0316146102b85760405162461bcd60e51b815260206004820152601460248201527327b7363c9030b9b9b4b3b732b21036b4b73a32b960611b60448201526064015b60405180910390fd5b604051615de560e01b81526001600160a01b0385811660048301526024820185905283811660448301526000917f000000000000000000000000000000000000000000000000000000000000000090911690615de5906064016020604051808303816000875af1158015610330573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035491906111bb565b95945050505050565b60606103796d4d696e74657246696c746572563160901b610864565b905090565b60606103796576312e302e3160d01b610864565b600061037960006108cf565b6103ae6352048bbf60e11b6108da565b8060005b818110156103ed576103db8484838181106103cf576103cf6111d4565b9050602002013561092c565b806103e581611200565b9150506103b2565b50505050565b61040481632cd3172160e21b6109a1565b61040d8161092c565b50565b600061041b82610a9c565b6000806104288185610b65565b915091508161046e5760405162461bcd60e51b8152602060048201526012602482015271139bc81b5a5b9d195c88185cdcda59db995960721b60448201526064016102af565b9392505050565b610485635f72688360e11b6108da565b61048e81610b83565b6001600160a01b0381166000818152600460208190526040808320805460ff191660011790558051633a747a2b60e21b815290517f1ac09d1079d96f19b763467642c3c3b4e36b56222414f4a4a50f26c7011147bb93859363e9d1e8ac938082019391908290030181865afa15801561050b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610533919081019061122f565b60405161054091906110a4565b60405180910390a250565b600061055682610a9c565b60006105628184610b65565b509392505050565b60008060606105798285610bd7565b8093508194505050816001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105e7919081019061122f565b929491935050565b6106008263faf0d74560e01b6109a1565b61060981610be6565b61061282610a9c565b60008061061f8185610b65565b915091508115610653576001600160a01b038116600090815260036020526040812080549161064d836112db565b91905055505b6001600160a01b038316600090815260036020526040812080549161067783611200565b90915550610689905060008585610c58565b50826001600160a01b0316847f21fd9bfc68d8bc4b740ebf996aa9c255d1e6bb474f81dc2ad577d5d3c5a5e1e0856001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261071c919081019061122f565b60405161072991906110a4565b60405180910390a350505050565b61074a6001620dafa160e41b03196108da565b6001600160a01b03811660009081526004602052604090205460ff166107aa5760405162461bcd60e51b81526020600482015260156024820152744f6e6c7920617070726f766564206d696e7465727360581b60448201526064016102af565b6001600160a01b038116600090815260036020526040902054156108065760405162461bcd60e51b81526020600482015260136024820152724f6e6c7920756e75736564206d696e7465727360681b60448201526064016102af565b6001600160a01b038116600081815260046020526040808220805460ff19169055517f44f4322f8daa225d5f4877ad0f7d3dfba248a774396f3ca99405ed40a044fe819190a250565b600061085b8383610c76565b90505b92915050565b606060005b828160ff166020811061087e5761087e6111d4565b1a60f81b6001600160f81b0319161580159061089d575060208160ff16105b156108b457806108ac816112f2565b915050610869565b60405191506040820160405280825282602083015250919050565b600061085e82610ce6565b6108e381610cf1565b61040d5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b60448201526064016102af565b6003600061093a818461084f565b6001600160a01b0316815260208101919091526040016000908120805491610961836112db565b909155506109729050600082610d94565b5060405181907f15267d34078ead35bc0303f6cdd08f99b837bdfcd7fab97fca4c58f3d85d760590600090a250565b60405163a47d29cb60e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a9190611311565b6001600160a01b0316336001600160a01b03161480610a4d5750610a4d81610cf1565b610a985760405162461bcd60e51b815260206004820152601c60248201527b13db9b1e4810dbdc994810591b5a5b9050d3081bdc88105c9d1a5cdd60221b60448201526064016102af565b5050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e935b7b16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1e91906111bb565b811061040d5760405162461bcd60e51b81526020600482015260166024820152754f6e6c79206578697374696e672070726f6a6563747360501b60448201526064016102af565b6000808080610b748686610da0565b909450925050505b9250929050565b6001600160a01b03811661040d5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b60448201526064016102af565b6000808080610b748686610dda565b6001600160a01b03811660009081526004602052604090205460ff1661040d5760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920617070726f766564206d696e746572732061726520616c6c6f77656044820152601960fa1b60648201526084016102af565b6000610c6e84846001600160a01b038516610e05565b949350505050565b600081815260028301602052604081205480151580610c9a5750610c9a8484610e22565b61085b5760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579000060448201526064016102af565b600061085e82610e2e565b60405163230448b160e01b81523360048201523060248201526001600160e01b0319821660448201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063230448b1906064016020604051808303816000875af1158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e919061132e565b600061085b8383610e38565b6000818152600283016020526040812054819080610dcf57610dc28585610e22565b925060009150610b7c9050565b600192509050610b7c565b60008080610de88585610e55565b600081815260029690960160205260409095205494959350505050565b60008281526002840160205260408120829055610c6e8484610e61565b600061085b8383610e6d565b600061085e825490565b6000818152600283016020526040812081905561085b8383610e85565b600061085b8383610e91565b600061085b8383610ebb565b6000818152600183016020526040812054151561085b565b600061085b8383610f0a565b6000826000018281548110610ea857610ea86111d4565b9060005260206000200154905092915050565b6000818152600183016020526040812054610f025750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561085e565b50600061085e565b60008181526001830160205260408120548015610ff3576000610f2e600183611350565b8554909150600090610f4290600190611350565b9050818114610fa7576000866000018281548110610f6257610f626111d4565b9060005260206000200154905080876000018481548110610f8557610f856111d4565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610fb857610fb8611363565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061085e565b600091505061085e565b6001600160a01b038116811461040d57600080fd5b60008060006060848603121561102757600080fd5b833561103281610ffd565b925060208401359150604084013561104981610ffd565b809150509250925092565b60005b8381101561106f578181015183820152602001611057565b50506000910152565b60008151808452611090816020860160208601611054565b601f01601f19169290920160200192915050565b60208152600061085b6020830184611078565b6000602082840312156110c957600080fd5b813561085b81610ffd565b600080602083850312156110e757600080fd5b82356001600160401b03808211156110fe57600080fd5b818501915085601f83011261111257600080fd5b81358181111561112157600080fd5b8660208260051b850101111561113657600080fd5b60209290920196919550909350505050565b60006020828403121561115a57600080fd5b5035919050565b8381526001600160a01b038316602082015260606040820181905260009061035490830184611078565b6000806040838503121561119e57600080fd5b8235915060208301356111b081610ffd565b809150509250929050565b6000602082840312156111cd57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611212576112126111ea565b5060010190565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561124157600080fd5b81516001600160401b038082111561125857600080fd5b818401915084601f83011261126c57600080fd5b81518181111561127e5761127e611219565b604051601f8201601f19908116603f011681019083821181831017156112a6576112a6611219565b816040528281528760208487010111156112bf57600080fd5b6112d0836020830160208801611054565b979650505050505050565b6000816112ea576112ea6111ea565b506000190190565b600060ff821660ff8103611308576113086111ea565b60010192915050565b60006020828403121561132357600080fd5b815161085b81610ffd565b60006020828403121561134057600080fd5b8151801515811461085b57600080fd5b8181038181111561085e5761085e6111ea565b634e487b7160e01b600052603160045260246000fdfea26469706673582212200b2258c0a59771d9cda30e041eeb76b95d1c6b55e587752ce53d54a840e5c73d64736f6c63430008130033",
351
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c55760003560e01c80630d4d1513146100ca57806320f2ccb7146100f057806326df17b5146101055780633a3d146f146101255780637136b93e14610158578063718284221461016057806392a10f8314610168578063a409177e146101a7578063b34c5c84146101bc578063bcc0fdf1146101cf578063bee4d106146101e2578063c47d50f5146101f5578063e7300db914610208578063faf0d7451461022a578063ff2505f01461023d575b600080fd5b6100dd6100d8366004611012565b610250565b6040519081526020015b60405180910390f35b6100f861035d565b6040516100e791906110a4565b6100dd6101133660046110b7565b60036020526000908152604090205481565b6101486101333660046110b7565b60046020526000908152604090205460ff1681565b60405190151581526020016100e7565b6100f861037e565b6100dd610392565b61018f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100e7565b6101ba6101b53660046110d4565b61039e565b005b6101ba6101ca366004611148565b6103f3565b61018f6101dd366004611148565b610410565b6101ba6101f03660046110b7565b610475565b610148610203366004611148565b61054b565b61021b610216366004611148565b61056a565b6040516100e793929190611161565b6101ba61023836600461118b565b6105ef565b6101ba61024b3660046110b7565b610737565b600061025c818461084f565b6001600160a01b0316336001600160a01b0316146102b85760405162461bcd60e51b815260206004820152601460248201527327b7363c9030b9b9b4b3b732b21036b4b73a32b960611b60448201526064015b60405180910390fd5b604051615de560e01b81526001600160a01b0385811660048301526024820185905283811660448301526000917f000000000000000000000000000000000000000000000000000000000000000090911690615de5906064016020604051808303816000875af1158015610330573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035491906111bb565b95945050505050565b60606103796d4d696e74657246696c746572563160901b610864565b905090565b60606103796576312e302e3160d01b610864565b600061037960006108cf565b6103ae6352048bbf60e11b6108da565b8060005b818110156103ed576103db8484838181106103cf576103cf6111d4565b9050602002013561092c565b806103e581611200565b9150506103b2565b50505050565b61040481632cd3172160e21b6109a1565b61040d8161092c565b50565b600061041b82610a9c565b6000806104288185610b65565b915091508161046e5760405162461bcd60e51b8152602060048201526012602482015271139bc81b5a5b9d195c88185cdcda59db995960721b60448201526064016102af565b9392505050565b610485635f72688360e11b6108da565b61048e81610b83565b6001600160a01b0381166000818152600460208190526040808320805460ff191660011790558051633a747a2b60e21b815290517f1ac09d1079d96f19b763467642c3c3b4e36b56222414f4a4a50f26c7011147bb93859363e9d1e8ac938082019391908290030181865afa15801561050b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610533919081019061122f565b60405161054091906110a4565b60405180910390a250565b600061055682610a9c565b60006105628184610b65565b509392505050565b60008060606105798285610bd7565b8093508194505050816001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105e7919081019061122f565b929491935050565b6106008263faf0d74560e01b6109a1565b61060981610be6565b61061282610a9c565b60008061061f8185610b65565b915091508115610653576001600160a01b038116600090815260036020526040812080549161064d836112db565b91905055505b6001600160a01b038316600090815260036020526040812080549161067783611200565b90915550610689905060008585610c58565b50826001600160a01b0316847f21fd9bfc68d8bc4b740ebf996aa9c255d1e6bb474f81dc2ad577d5d3c5a5e1e0856001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261071c919081019061122f565b60405161072991906110a4565b60405180910390a350505050565b61074a6001620dafa160e41b03196108da565b6001600160a01b03811660009081526004602052604090205460ff166107aa5760405162461bcd60e51b81526020600482015260156024820152744f6e6c7920617070726f766564206d696e7465727360581b60448201526064016102af565b6001600160a01b038116600090815260036020526040902054156108065760405162461bcd60e51b81526020600482015260136024820152724f6e6c7920756e75736564206d696e7465727360681b60448201526064016102af565b6001600160a01b038116600081815260046020526040808220805460ff19169055517f44f4322f8daa225d5f4877ad0f7d3dfba248a774396f3ca99405ed40a044fe819190a250565b600061085b8383610c76565b90505b92915050565b606060005b828160ff166020811061087e5761087e6111d4565b1a60f81b6001600160f81b0319161580159061089d575060208160ff16105b156108b457806108ac816112f2565b915050610869565b60405191506040820160405280825282602083015250919050565b600061085e82610ce6565b6108e381610cf1565b61040d5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b60448201526064016102af565b6003600061093a818461084f565b6001600160a01b0316815260208101919091526040016000908120805491610961836112db565b909155506109729050600082610d94565b5060405181907f15267d34078ead35bc0303f6cdd08f99b837bdfcd7fab97fca4c58f3d85d760590600090a250565b60405163a47d29cb60e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a9190611311565b6001600160a01b0316336001600160a01b03161480610a4d5750610a4d81610cf1565b610a985760405162461bcd60e51b815260206004820152601c60248201527b13db9b1e4810dbdc994810591b5a5b9050d3081bdc88105c9d1a5cdd60221b60448201526064016102af565b5050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e935b7b16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1e91906111bb565b811061040d5760405162461bcd60e51b81526020600482015260166024820152754f6e6c79206578697374696e672070726f6a6563747360501b60448201526064016102af565b6000808080610b748686610da0565b909450925050505b9250929050565b6001600160a01b03811661040d5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b60448201526064016102af565b6000808080610b748686610dda565b6001600160a01b03811660009081526004602052604090205460ff1661040d5760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920617070726f766564206d696e746572732061726520616c6c6f77656044820152601960fa1b60648201526084016102af565b6000610c6e84846001600160a01b038516610e05565b949350505050565b600081815260028301602052604081205480151580610c9a5750610c9a8484610e22565b61085b5760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579000060448201526064016102af565b600061085e82610e2e565b60405163230448b160e01b81523360048201523060248201526001600160e01b0319821660448201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063230448b1906064016020604051808303816000875af1158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e919061132e565b600061085b8383610e38565b6000818152600283016020526040812054819080610dcf57610dc28585610e22565b925060009150610b7c9050565b600192509050610b7c565b60008080610de88585610e55565b600081815260029690960160205260409095205494959350505050565b60008281526002840160205260408120829055610c6e8484610e61565b600061085b8383610e6d565b600061085e825490565b6000818152600283016020526040812081905561085b8383610e85565b600061085b8383610e91565b600061085b8383610ebb565b6000818152600183016020526040812054151561085b565b600061085b8383610f0a565b6000826000018281548110610ea857610ea86111d4565b9060005260206000200154905092915050565b6000818152600183016020526040812054610f025750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561085e565b50600061085e565b60008181526001830160205260408120548015610ff3576000610f2e600183611350565b8554909150600090610f4290600190611350565b9050818114610fa7576000866000018281548110610f6257610f626111d4565b9060005260206000200154905080876000018481548110610f8557610f856111d4565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610fb857610fb8611363565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061085e565b600091505061085e565b6001600160a01b038116811461040d57600080fd5b60008060006060848603121561102757600080fd5b833561103281610ffd565b925060208401359150604084013561104981610ffd565b809150509250925092565b60005b8381101561106f578181015183820152602001611057565b50506000910152565b60008151808452611090816020860160208601611054565b601f01601f19169290920160200192915050565b60208152600061085b6020830184611078565b6000602082840312156110c957600080fd5b813561085b81610ffd565b600080602083850312156110e757600080fd5b82356001600160401b03808211156110fe57600080fd5b818501915085601f83011261111257600080fd5b81358181111561112157600080fd5b8660208260051b850101111561113657600080fd5b60209290920196919550909350505050565b60006020828403121561115a57600080fd5b5035919050565b8381526001600160a01b038316602082015260606040820181905260009061035490830184611078565b6000806040838503121561119e57600080fd5b8235915060208301356111b081610ffd565b809150509250929050565b6000602082840312156111cd57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611212576112126111ea565b5060010190565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561124157600080fd5b81516001600160401b038082111561125857600080fd5b818401915084601f83011261126c57600080fd5b81518181111561127e5761127e611219565b604051601f8201601f19908116603f011681019083821181831017156112a6576112a6611219565b816040528281528760208487010111156112bf57600080fd5b6112d0836020830160208801611054565b979650505050505050565b6000816112ea576112ea6111ea565b506000190190565b600060ff821660ff8103611308576113086111ea565b60010192915050565b60006020828403121561132357600080fd5b815161085b81610ffd565b60006020828403121561134057600080fd5b8151801515811461085b57600080fd5b8181038181111561085e5761085e6111ea565b634e487b7160e01b600052603160045260246000fdfea26469706673582212200b2258c0a59771d9cda30e041eeb76b95d1c6b55e587752ce53d54a840e5c73d64736f6c63430008130033",
350
+ "bytecode": "0x60c060405234801561001057600080fd5b506040516114ef3803806114ef83398101604081905261002f916100d6565b61003881610079565b6001600160a01b038116608081905260a0526040517f3fad920548ed9f22deb8333b4cc1e4f9bc36666a1c2aa30ad59a0a3bb9dcbb9290600090a150610106565b6001600160a01b0381166100d35760405162461bcd60e51b815260206004820152601b60248201527f4d75737420696e707574206e6f6e2d7a65726f20616464726573730000000000604482015260640160405180910390fd5b50565b6000602082840312156100e857600080fd5b81516001600160a01b03811681146100ff57600080fd5b9392505050565b60805160a0516113af610140600039600081816102e7015281816109b701528181610a9e0152610d1f0152600061016d01526113af6000f3fe608060405234801561001057600080fd5b50600436106100c55760003560e01c80630d4d1513146100ca57806320f2ccb7146100f057806326df17b5146101055780633a3d146f146101255780637136b93e14610158578063718284221461016057806392a10f8314610168578063a409177e146101a7578063b34c5c84146101bc578063bcc0fdf1146101cf578063bee4d106146101e2578063c47d50f5146101f5578063e7300db914610208578063faf0d7451461022a578063ff2505f01461023d575b600080fd5b6100dd6100d8366004611012565b610250565b6040519081526020015b60405180910390f35b6100f861035d565b6040516100e791906110a4565b6100dd6101133660046110b7565b60036020526000908152604090205481565b6101486101333660046110b7565b60046020526000908152604090205460ff1681565b60405190151581526020016100e7565b6100f861037e565b6100dd610392565b61018f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100e7565b6101ba6101b53660046110d4565b61039e565b005b6101ba6101ca366004611148565b6103f3565b61018f6101dd366004611148565b610410565b6101ba6101f03660046110b7565b610475565b610148610203366004611148565b61054b565b61021b610216366004611148565b61056a565b6040516100e793929190611161565b6101ba61023836600461118b565b6105ef565b6101ba61024b3660046110b7565b610737565b600061025c818461084f565b6001600160a01b0316336001600160a01b0316146102b85760405162461bcd60e51b815260206004820152601460248201527327b7363c9030b9b9b4b3b732b21036b4b73a32b960611b60448201526064015b60405180910390fd5b604051615de560e01b81526001600160a01b0385811660048301526024820185905283811660448301526000917f000000000000000000000000000000000000000000000000000000000000000090911690615de5906064016020604051808303816000875af1158015610330573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035491906111bb565b95945050505050565b60606103796d4d696e74657246696c746572563160901b610864565b905090565b60606103796576312e302e3160d01b610864565b600061037960006108cf565b6103ae6352048bbf60e11b6108da565b8060005b818110156103ed576103db8484838181106103cf576103cf6111d4565b9050602002013561092c565b806103e581611200565b9150506103b2565b50505050565b61040481632cd3172160e21b6109a1565b61040d8161092c565b50565b600061041b82610a9c565b6000806104288185610b65565b915091508161046e5760405162461bcd60e51b8152602060048201526012602482015271139bc81b5a5b9d195c88185cdcda59db995960721b60448201526064016102af565b9392505050565b610485635f72688360e11b6108da565b61048e81610b83565b6001600160a01b0381166000818152600460208190526040808320805460ff191660011790558051633a747a2b60e21b815290517f1ac09d1079d96f19b763467642c3c3b4e36b56222414f4a4a50f26c7011147bb93859363e9d1e8ac938082019391908290030181865afa15801561050b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610533919081019061122f565b60405161054091906110a4565b60405180910390a250565b600061055682610a9c565b60006105628184610b65565b509392505050565b60008060606105798285610bd7565b8093508194505050816001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105e7919081019061122f565b929491935050565b6106008263faf0d74560e01b6109a1565b61060981610be6565b61061282610a9c565b60008061061f8185610b65565b915091508115610653576001600160a01b038116600090815260036020526040812080549161064d836112db565b91905055505b6001600160a01b038316600090815260036020526040812080549161067783611200565b90915550610689905060008585610c58565b50826001600160a01b0316847f21fd9bfc68d8bc4b740ebf996aa9c255d1e6bb474f81dc2ad577d5d3c5a5e1e0856001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261071c919081019061122f565b60405161072991906110a4565b60405180910390a350505050565b61074a6001620dafa160e41b03196108da565b6001600160a01b03811660009081526004602052604090205460ff166107aa5760405162461bcd60e51b81526020600482015260156024820152744f6e6c7920617070726f766564206d696e7465727360581b60448201526064016102af565b6001600160a01b038116600090815260036020526040902054156108065760405162461bcd60e51b81526020600482015260136024820152724f6e6c7920756e75736564206d696e7465727360681b60448201526064016102af565b6001600160a01b038116600081815260046020526040808220805460ff19169055517f44f4322f8daa225d5f4877ad0f7d3dfba248a774396f3ca99405ed40a044fe819190a250565b600061085b8383610c76565b90505b92915050565b606060005b828160ff166020811061087e5761087e6111d4565b1a60f81b6001600160f81b0319161580159061089d575060208160ff16105b156108b457806108ac816112f2565b915050610869565b60405191506040820160405280825282602083015250919050565b600061085e82610ce6565b6108e381610cf1565b61040d5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b60448201526064016102af565b6003600061093a818461084f565b6001600160a01b0316815260208101919091526040016000908120805491610961836112db565b909155506109729050600082610d94565b5060405181907f15267d34078ead35bc0303f6cdd08f99b837bdfcd7fab97fca4c58f3d85d760590600090a250565b60405163a47d29cb60e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a9190611311565b6001600160a01b0316336001600160a01b03161480610a4d5750610a4d81610cf1565b610a985760405162461bcd60e51b815260206004820152601c60248201527b13db9b1e4810dbdc994810591b5a5b9050d3081bdc88105c9d1a5cdd60221b60448201526064016102af565b5050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e935b7b16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1e91906111bb565b811061040d5760405162461bcd60e51b81526020600482015260166024820152754f6e6c79206578697374696e672070726f6a6563747360501b60448201526064016102af565b6000808080610b748686610da0565b909450925050505b9250929050565b6001600160a01b03811661040d5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b60448201526064016102af565b6000808080610b748686610dda565b6001600160a01b03811660009081526004602052604090205460ff1661040d5760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920617070726f766564206d696e746572732061726520616c6c6f77656044820152601960fa1b60648201526084016102af565b6000610c6e84846001600160a01b038516610e05565b949350505050565b600081815260028301602052604081205480151580610c9a5750610c9a8484610e22565b61085b5760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579000060448201526064016102af565b600061085e82610e2e565b60405163230448b160e01b81523360048201523060248201526001600160e01b0319821660448201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063230448b1906064016020604051808303816000875af1158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e919061132e565b600061085b8383610e38565b6000818152600283016020526040812054819080610dcf57610dc28585610e22565b925060009150610b7c9050565b600192509050610b7c565b60008080610de88585610e55565b600081815260029690960160205260409095205494959350505050565b60008281526002840160205260408120829055610c6e8484610e61565b600061085b8383610e6d565b600061085e825490565b6000818152600283016020526040812081905561085b8383610e85565b600061085b8383610e91565b600061085b8383610ebb565b6000818152600183016020526040812054151561085b565b600061085b8383610f0a565b6000826000018281548110610ea857610ea86111d4565b9060005260206000200154905092915050565b6000818152600183016020526040812054610f025750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561085e565b50600061085e565b60008181526001830160205260408120548015610ff3576000610f2e600183611350565b8554909150600090610f4290600190611350565b9050818114610fa7576000866000018281548110610f6257610f626111d4565b9060005260206000200154905080876000018481548110610f8557610f856111d4565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610fb857610fb8611363565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061085e565b600091505061085e565b6001600160a01b038116811461040d57600080fd5b60008060006060848603121561102757600080fd5b833561103281610ffd565b925060208401359150604084013561104981610ffd565b809150509250925092565b60005b8381101561106f578181015183820152602001611057565b50506000910152565b60008151808452611090816020860160208601611054565b601f01601f19169290920160200192915050565b60208152600061085b6020830184611078565b6000602082840312156110c957600080fd5b813561085b81610ffd565b600080602083850312156110e757600080fd5b82356001600160401b03808211156110fe57600080fd5b818501915085601f83011261111257600080fd5b81358181111561112157600080fd5b8660208260051b850101111561113657600080fd5b60209290920196919550909350505050565b60006020828403121561115a57600080fd5b5035919050565b8381526001600160a01b038316602082015260606040820181905260009061035490830184611078565b6000806040838503121561119e57600080fd5b8235915060208301356111b081610ffd565b809150509250929050565b6000602082840312156111cd57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611212576112126111ea565b5060010190565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561124157600080fd5b81516001600160401b038082111561125857600080fd5b818401915084601f83011261126c57600080fd5b81518181111561127e5761127e611219565b604051601f8201601f19908116603f011681019083821181831017156112a6576112a6611219565b816040528281528760208487010111156112bf57600080fd5b6112d0836020830160208801611054565b979650505050505050565b6000816112ea576112ea6111ea565b506000190190565b600060ff821660ff8103611308576113086111ea565b60010192915050565b60006020828403121561132357600080fd5b815161085b81610ffd565b60006020828403121561134057600080fd5b8151801515811461085b57600080fd5b8181038181111561085e5761085e6111ea565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220fe0a5127e65dda516ed610f54b80a7a693ceae1e4dbeb98fe1916e0dfa3613bb64736f6c63430008130033",
351
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c55760003560e01c80630d4d1513146100ca57806320f2ccb7146100f057806326df17b5146101055780633a3d146f146101255780637136b93e14610158578063718284221461016057806392a10f8314610168578063a409177e146101a7578063b34c5c84146101bc578063bcc0fdf1146101cf578063bee4d106146101e2578063c47d50f5146101f5578063e7300db914610208578063faf0d7451461022a578063ff2505f01461023d575b600080fd5b6100dd6100d8366004611012565b610250565b6040519081526020015b60405180910390f35b6100f861035d565b6040516100e791906110a4565b6100dd6101133660046110b7565b60036020526000908152604090205481565b6101486101333660046110b7565b60046020526000908152604090205460ff1681565b60405190151581526020016100e7565b6100f861037e565b6100dd610392565b61018f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100e7565b6101ba6101b53660046110d4565b61039e565b005b6101ba6101ca366004611148565b6103f3565b61018f6101dd366004611148565b610410565b6101ba6101f03660046110b7565b610475565b610148610203366004611148565b61054b565b61021b610216366004611148565b61056a565b6040516100e793929190611161565b6101ba61023836600461118b565b6105ef565b6101ba61024b3660046110b7565b610737565b600061025c818461084f565b6001600160a01b0316336001600160a01b0316146102b85760405162461bcd60e51b815260206004820152601460248201527327b7363c9030b9b9b4b3b732b21036b4b73a32b960611b60448201526064015b60405180910390fd5b604051615de560e01b81526001600160a01b0385811660048301526024820185905283811660448301526000917f000000000000000000000000000000000000000000000000000000000000000090911690615de5906064016020604051808303816000875af1158015610330573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035491906111bb565b95945050505050565b60606103796d4d696e74657246696c746572563160901b610864565b905090565b60606103796576312e302e3160d01b610864565b600061037960006108cf565b6103ae6352048bbf60e11b6108da565b8060005b818110156103ed576103db8484838181106103cf576103cf6111d4565b9050602002013561092c565b806103e581611200565b9150506103b2565b50505050565b61040481632cd3172160e21b6109a1565b61040d8161092c565b50565b600061041b82610a9c565b6000806104288185610b65565b915091508161046e5760405162461bcd60e51b8152602060048201526012602482015271139bc81b5a5b9d195c88185cdcda59db995960721b60448201526064016102af565b9392505050565b610485635f72688360e11b6108da565b61048e81610b83565b6001600160a01b0381166000818152600460208190526040808320805460ff191660011790558051633a747a2b60e21b815290517f1ac09d1079d96f19b763467642c3c3b4e36b56222414f4a4a50f26c7011147bb93859363e9d1e8ac938082019391908290030181865afa15801561050b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610533919081019061122f565b60405161054091906110a4565b60405180910390a250565b600061055682610a9c565b60006105628184610b65565b509392505050565b60008060606105798285610bd7565b8093508194505050816001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105e7919081019061122f565b929491935050565b6106008263faf0d74560e01b6109a1565b61060981610be6565b61061282610a9c565b60008061061f8185610b65565b915091508115610653576001600160a01b038116600090815260036020526040812080549161064d836112db565b91905055505b6001600160a01b038316600090815260036020526040812080549161067783611200565b90915550610689905060008585610c58565b50826001600160a01b0316847f21fd9bfc68d8bc4b740ebf996aa9c255d1e6bb474f81dc2ad577d5d3c5a5e1e0856001600160a01b031663e9d1e8ac6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156106f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261071c919081019061122f565b60405161072991906110a4565b60405180910390a350505050565b61074a6001620dafa160e41b03196108da565b6001600160a01b03811660009081526004602052604090205460ff166107aa5760405162461bcd60e51b81526020600482015260156024820152744f6e6c7920617070726f766564206d696e7465727360581b60448201526064016102af565b6001600160a01b038116600090815260036020526040902054156108065760405162461bcd60e51b81526020600482015260136024820152724f6e6c7920756e75736564206d696e7465727360681b60448201526064016102af565b6001600160a01b038116600081815260046020526040808220805460ff19169055517f44f4322f8daa225d5f4877ad0f7d3dfba248a774396f3ca99405ed40a044fe819190a250565b600061085b8383610c76565b90505b92915050565b606060005b828160ff166020811061087e5761087e6111d4565b1a60f81b6001600160f81b0319161580159061089d575060208160ff16105b156108b457806108ac816112f2565b915050610869565b60405191506040820160405280825282602083015250919050565b600061085e82610ce6565b6108e381610cf1565b61040d5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b60448201526064016102af565b6003600061093a818461084f565b6001600160a01b0316815260208101919091526040016000908120805491610961836112db565b909155506109729050600082610d94565b5060405181907f15267d34078ead35bc0303f6cdd08f99b837bdfcd7fab97fca4c58f3d85d760590600090a250565b60405163a47d29cb60e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a9190611311565b6001600160a01b0316336001600160a01b03161480610a4d5750610a4d81610cf1565b610a985760405162461bcd60e51b815260206004820152601c60248201527b13db9b1e4810dbdc994810591b5a5b9050d3081bdc88105c9d1a5cdd60221b60448201526064016102af565b5050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e935b7b16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1e91906111bb565b811061040d5760405162461bcd60e51b81526020600482015260166024820152754f6e6c79206578697374696e672070726f6a6563747360501b60448201526064016102af565b6000808080610b748686610da0565b909450925050505b9250929050565b6001600160a01b03811661040d5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b60448201526064016102af565b6000808080610b748686610dda565b6001600160a01b03811660009081526004602052604090205460ff1661040d5760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920617070726f766564206d696e746572732061726520616c6c6f77656044820152601960fa1b60648201526084016102af565b6000610c6e84846001600160a01b038516610e05565b949350505050565b600081815260028301602052604081205480151580610c9a5750610c9a8484610e22565b61085b5760405162461bcd60e51b815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579000060448201526064016102af565b600061085e82610e2e565b60405163230448b160e01b81523360048201523060248201526001600160e01b0319821660448201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063230448b1906064016020604051808303816000875af1158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e919061132e565b600061085b8383610e38565b6000818152600283016020526040812054819080610dcf57610dc28585610e22565b925060009150610b7c9050565b600192509050610b7c565b60008080610de88585610e55565b600081815260029690960160205260409095205494959350505050565b60008281526002840160205260408120829055610c6e8484610e61565b600061085b8383610e6d565b600061085e825490565b6000818152600283016020526040812081905561085b8383610e85565b600061085b8383610e91565b600061085b8383610ebb565b6000818152600183016020526040812054151561085b565b600061085b8383610f0a565b6000826000018281548110610ea857610ea86111d4565b9060005260206000200154905092915050565b6000818152600183016020526040812054610f025750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561085e565b50600061085e565b60008181526001830160205260408120548015610ff3576000610f2e600183611350565b8554909150600090610f4290600190611350565b9050818114610fa7576000866000018281548110610f6257610f626111d4565b9060005260206000200154905080876000018481548110610f8557610f856111d4565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610fb857610fb8611363565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061085e565b600091505061085e565b6001600160a01b038116811461040d57600080fd5b60008060006060848603121561102757600080fd5b833561103281610ffd565b925060208401359150604084013561104981610ffd565b809150509250925092565b60005b8381101561106f578181015183820152602001611057565b50506000910152565b60008151808452611090816020860160208601611054565b601f01601f19169290920160200192915050565b60208152600061085b6020830184611078565b6000602082840312156110c957600080fd5b813561085b81610ffd565b600080602083850312156110e757600080fd5b82356001600160401b03808211156110fe57600080fd5b818501915085601f83011261111257600080fd5b81358181111561112157600080fd5b8660208260051b850101111561113657600080fd5b60209290920196919550909350505050565b60006020828403121561115a57600080fd5b5035919050565b8381526001600160a01b038316602082015260606040820181905260009061035490830184611078565b6000806040838503121561119e57600080fd5b8235915060208301356111b081610ffd565b809150509250929050565b6000602082840312156111cd57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611212576112126111ea565b5060010190565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561124157600080fd5b81516001600160401b038082111561125857600080fd5b818401915084601f83011261126c57600080fd5b81518181111561127e5761127e611219565b604051601f8201601f19908116603f011681019083821181831017156112a6576112a6611219565b816040528281528760208487010111156112bf57600080fd5b6112d0836020830160208801611054565b979650505050505050565b6000816112ea576112ea6111ea565b506000190190565b600060ff821660ff8103611308576113086111ea565b60010192915050565b60006020828403121561132357600080fd5b815161085b81610ffd565b60006020828403121561134057600080fd5b8151801515811461085b57600080fd5b8181038181111561085e5761085e6111ea565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220fe0a5127e65dda516ed610f54b80a7a693ceae1e4dbeb98fe1916e0dfa3613bb64736f6c63430008130033",
352
352
  "linkReferences": {},
353
353
  "deployedLinkReferences": {}
354
354
  }