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