@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,606 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "EngineFactoryV0",
4
+ "sourceName": "contracts/engine/V3/EngineFactoryV0.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "engineImplementation_",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "engineFlexImplementation_",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "coreRegistry_",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "address",
25
+ "name": "owner_",
26
+ "type": "address"
27
+ },
28
+ {
29
+ "internalType": "string",
30
+ "name": "defaultBaseURIHost_",
31
+ "type": "string"
32
+ }
33
+ ],
34
+ "stateMutability": "nonpayable",
35
+ "type": "constructor"
36
+ },
37
+ {
38
+ "inputs": [
39
+ {
40
+ "internalType": "address",
41
+ "name": "target",
42
+ "type": "address"
43
+ }
44
+ ],
45
+ "name": "AddressEmptyCode",
46
+ "type": "error"
47
+ },
48
+ {
49
+ "inputs": [
50
+ {
51
+ "internalType": "address",
52
+ "name": "account",
53
+ "type": "address"
54
+ }
55
+ ],
56
+ "name": "AddressInsufficientBalance",
57
+ "type": "error"
58
+ },
59
+ {
60
+ "inputs": [],
61
+ "name": "Create2EmptyBytecode",
62
+ "type": "error"
63
+ },
64
+ {
65
+ "inputs": [],
66
+ "name": "Create2FailedDeployment",
67
+ "type": "error"
68
+ },
69
+ {
70
+ "inputs": [
71
+ {
72
+ "internalType": "uint256",
73
+ "name": "balance",
74
+ "type": "uint256"
75
+ },
76
+ {
77
+ "internalType": "uint256",
78
+ "name": "needed",
79
+ "type": "uint256"
80
+ }
81
+ ],
82
+ "name": "Create2InsufficientBalance",
83
+ "type": "error"
84
+ },
85
+ {
86
+ "inputs": [],
87
+ "name": "ERC1167FailedCreateClone",
88
+ "type": "error"
89
+ },
90
+ {
91
+ "inputs": [],
92
+ "name": "FailedInnerCall",
93
+ "type": "error"
94
+ },
95
+ {
96
+ "inputs": [
97
+ {
98
+ "internalType": "address",
99
+ "name": "owner",
100
+ "type": "address"
101
+ }
102
+ ],
103
+ "name": "OwnableInvalidOwner",
104
+ "type": "error"
105
+ },
106
+ {
107
+ "inputs": [
108
+ {
109
+ "internalType": "address",
110
+ "name": "account",
111
+ "type": "address"
112
+ }
113
+ ],
114
+ "name": "OwnableUnauthorizedAccount",
115
+ "type": "error"
116
+ },
117
+ {
118
+ "inputs": [
119
+ {
120
+ "internalType": "address",
121
+ "name": "token",
122
+ "type": "address"
123
+ }
124
+ ],
125
+ "name": "SafeERC20FailedOperation",
126
+ "type": "error"
127
+ },
128
+ {
129
+ "anonymous": false,
130
+ "inputs": [],
131
+ "name": "Abandoned",
132
+ "type": "event"
133
+ },
134
+ {
135
+ "anonymous": false,
136
+ "inputs": [
137
+ {
138
+ "indexed": true,
139
+ "internalType": "address",
140
+ "name": "engineImplementation",
141
+ "type": "address"
142
+ },
143
+ {
144
+ "indexed": true,
145
+ "internalType": "address",
146
+ "name": "engineFlexImplementation",
147
+ "type": "address"
148
+ },
149
+ {
150
+ "indexed": true,
151
+ "internalType": "bytes32",
152
+ "name": "type_",
153
+ "type": "bytes32"
154
+ }
155
+ ],
156
+ "name": "Deployed",
157
+ "type": "event"
158
+ },
159
+ {
160
+ "anonymous": false,
161
+ "inputs": [
162
+ {
163
+ "indexed": true,
164
+ "internalType": "address",
165
+ "name": "engineContract",
166
+ "type": "address"
167
+ }
168
+ ],
169
+ "name": "EngineContractCreated",
170
+ "type": "event"
171
+ },
172
+ {
173
+ "anonymous": false,
174
+ "inputs": [
175
+ {
176
+ "indexed": true,
177
+ "internalType": "address",
178
+ "name": "previousOwner",
179
+ "type": "address"
180
+ },
181
+ {
182
+ "indexed": true,
183
+ "internalType": "address",
184
+ "name": "newOwner",
185
+ "type": "address"
186
+ }
187
+ ],
188
+ "name": "OwnershipTransferred",
189
+ "type": "event"
190
+ },
191
+ {
192
+ "inputs": [],
193
+ "name": "abandon",
194
+ "outputs": [],
195
+ "stateMutability": "nonpayable",
196
+ "type": "function"
197
+ },
198
+ {
199
+ "inputs": [],
200
+ "name": "coreRegistry",
201
+ "outputs": [
202
+ {
203
+ "internalType": "address",
204
+ "name": "",
205
+ "type": "address"
206
+ }
207
+ ],
208
+ "stateMutability": "view",
209
+ "type": "function"
210
+ },
211
+ {
212
+ "inputs": [
213
+ {
214
+ "internalType": "enum IEngineFactoryV0.EngineCoreType",
215
+ "name": "engineCoreContractType",
216
+ "type": "uint8"
217
+ },
218
+ {
219
+ "components": [
220
+ {
221
+ "internalType": "string",
222
+ "name": "tokenName",
223
+ "type": "string"
224
+ },
225
+ {
226
+ "internalType": "string",
227
+ "name": "tokenSymbol",
228
+ "type": "string"
229
+ },
230
+ {
231
+ "internalType": "address",
232
+ "name": "renderProviderAddress",
233
+ "type": "address"
234
+ },
235
+ {
236
+ "internalType": "address",
237
+ "name": "platformProviderAddress",
238
+ "type": "address"
239
+ },
240
+ {
241
+ "internalType": "address",
242
+ "name": "newSuperAdminAddress",
243
+ "type": "address"
244
+ },
245
+ {
246
+ "internalType": "address",
247
+ "name": "randomizerContract",
248
+ "type": "address"
249
+ },
250
+ {
251
+ "internalType": "address",
252
+ "name": "splitProviderAddress",
253
+ "type": "address"
254
+ },
255
+ {
256
+ "internalType": "address",
257
+ "name": "minterFilterAddress",
258
+ "type": "address"
259
+ },
260
+ {
261
+ "internalType": "uint248",
262
+ "name": "startingProjectId",
263
+ "type": "uint248"
264
+ },
265
+ {
266
+ "internalType": "bool",
267
+ "name": "autoApproveArtistSplitProposals",
268
+ "type": "bool"
269
+ },
270
+ {
271
+ "internalType": "bool",
272
+ "name": "nullPlatformProvider",
273
+ "type": "bool"
274
+ },
275
+ {
276
+ "internalType": "bool",
277
+ "name": "allowArtistProjectActivation",
278
+ "type": "bool"
279
+ }
280
+ ],
281
+ "internalType": "struct EngineConfiguration",
282
+ "name": "engineConfiguration",
283
+ "type": "tuple"
284
+ },
285
+ {
286
+ "internalType": "address",
287
+ "name": "adminACLContract",
288
+ "type": "address"
289
+ },
290
+ {
291
+ "internalType": "bytes32",
292
+ "name": "salt",
293
+ "type": "bytes32"
294
+ }
295
+ ],
296
+ "name": "createEngineContract",
297
+ "outputs": [
298
+ {
299
+ "internalType": "address",
300
+ "name": "engineContract",
301
+ "type": "address"
302
+ }
303
+ ],
304
+ "stateMutability": "nonpayable",
305
+ "type": "function"
306
+ },
307
+ {
308
+ "inputs": [],
309
+ "name": "defaultBaseURIHost",
310
+ "outputs": [
311
+ {
312
+ "internalType": "string",
313
+ "name": "",
314
+ "type": "string"
315
+ }
316
+ ],
317
+ "stateMutability": "view",
318
+ "type": "function"
319
+ },
320
+ {
321
+ "inputs": [
322
+ {
323
+ "internalType": "address",
324
+ "name": "ERC20TokenAddress",
325
+ "type": "address"
326
+ },
327
+ {
328
+ "internalType": "address",
329
+ "name": "recipient",
330
+ "type": "address"
331
+ }
332
+ ],
333
+ "name": "drainERC20",
334
+ "outputs": [],
335
+ "stateMutability": "nonpayable",
336
+ "type": "function"
337
+ },
338
+ {
339
+ "inputs": [
340
+ {
341
+ "internalType": "address payable",
342
+ "name": "recipient",
343
+ "type": "address"
344
+ }
345
+ ],
346
+ "name": "drainETH",
347
+ "outputs": [],
348
+ "stateMutability": "nonpayable",
349
+ "type": "function"
350
+ },
351
+ {
352
+ "inputs": [],
353
+ "name": "engineCoreType",
354
+ "outputs": [
355
+ {
356
+ "internalType": "string",
357
+ "name": "",
358
+ "type": "string"
359
+ }
360
+ ],
361
+ "stateMutability": "view",
362
+ "type": "function"
363
+ },
364
+ {
365
+ "inputs": [],
366
+ "name": "engineCoreVersion",
367
+ "outputs": [
368
+ {
369
+ "internalType": "string",
370
+ "name": "",
371
+ "type": "string"
372
+ }
373
+ ],
374
+ "stateMutability": "view",
375
+ "type": "function"
376
+ },
377
+ {
378
+ "inputs": [],
379
+ "name": "engineFlexImplementation",
380
+ "outputs": [
381
+ {
382
+ "internalType": "address",
383
+ "name": "",
384
+ "type": "address"
385
+ }
386
+ ],
387
+ "stateMutability": "view",
388
+ "type": "function"
389
+ },
390
+ {
391
+ "inputs": [],
392
+ "name": "engineImplementation",
393
+ "outputs": [
394
+ {
395
+ "internalType": "address",
396
+ "name": "",
397
+ "type": "address"
398
+ }
399
+ ],
400
+ "stateMutability": "view",
401
+ "type": "function"
402
+ },
403
+ {
404
+ "inputs": [
405
+ {
406
+ "components": [
407
+ {
408
+ "internalType": "address",
409
+ "name": "to",
410
+ "type": "address"
411
+ },
412
+ {
413
+ "internalType": "bytes",
414
+ "name": "data",
415
+ "type": "bytes"
416
+ }
417
+ ],
418
+ "internalType": "struct EngineFactoryV0.Call[]",
419
+ "name": "_calls",
420
+ "type": "tuple[]"
421
+ }
422
+ ],
423
+ "name": "execCalls",
424
+ "outputs": [
425
+ {
426
+ "internalType": "uint256",
427
+ "name": "blockNumber",
428
+ "type": "uint256"
429
+ },
430
+ {
431
+ "internalType": "bytes[]",
432
+ "name": "returnData",
433
+ "type": "bytes[]"
434
+ }
435
+ ],
436
+ "stateMutability": "nonpayable",
437
+ "type": "function"
438
+ },
439
+ {
440
+ "inputs": [],
441
+ "name": "flexCoreType",
442
+ "outputs": [
443
+ {
444
+ "internalType": "string",
445
+ "name": "",
446
+ "type": "string"
447
+ }
448
+ ],
449
+ "stateMutability": "view",
450
+ "type": "function"
451
+ },
452
+ {
453
+ "inputs": [],
454
+ "name": "flexCoreVersion",
455
+ "outputs": [
456
+ {
457
+ "internalType": "string",
458
+ "name": "",
459
+ "type": "string"
460
+ }
461
+ ],
462
+ "stateMutability": "view",
463
+ "type": "function"
464
+ },
465
+ {
466
+ "inputs": [],
467
+ "name": "isAbandoned",
468
+ "outputs": [
469
+ {
470
+ "internalType": "bool",
471
+ "name": "",
472
+ "type": "bool"
473
+ }
474
+ ],
475
+ "stateMutability": "view",
476
+ "type": "function"
477
+ },
478
+ {
479
+ "inputs": [],
480
+ "name": "owner",
481
+ "outputs": [
482
+ {
483
+ "internalType": "address",
484
+ "name": "",
485
+ "type": "address"
486
+ }
487
+ ],
488
+ "stateMutability": "view",
489
+ "type": "function"
490
+ },
491
+ {
492
+ "inputs": [
493
+ {
494
+ "internalType": "enum IEngineFactoryV0.EngineCoreType",
495
+ "name": "engineCoreContractType",
496
+ "type": "uint8"
497
+ },
498
+ {
499
+ "internalType": "bytes32",
500
+ "name": "salt",
501
+ "type": "bytes32"
502
+ }
503
+ ],
504
+ "name": "predictDeterministicAddress",
505
+ "outputs": [
506
+ {
507
+ "internalType": "address",
508
+ "name": "predicted",
509
+ "type": "address"
510
+ }
511
+ ],
512
+ "stateMutability": "view",
513
+ "type": "function"
514
+ },
515
+ {
516
+ "inputs": [
517
+ {
518
+ "internalType": "address[]",
519
+ "name": "contractAddresses",
520
+ "type": "address[]"
521
+ },
522
+ {
523
+ "internalType": "bytes32[]",
524
+ "name": "coreVersions",
525
+ "type": "bytes32[]"
526
+ },
527
+ {
528
+ "internalType": "bytes32[]",
529
+ "name": "coreTypes",
530
+ "type": "bytes32[]"
531
+ }
532
+ ],
533
+ "name": "registerMultipleContracts",
534
+ "outputs": [],
535
+ "stateMutability": "nonpayable",
536
+ "type": "function"
537
+ },
538
+ {
539
+ "inputs": [],
540
+ "name": "renounceOwnership",
541
+ "outputs": [],
542
+ "stateMutability": "nonpayable",
543
+ "type": "function"
544
+ },
545
+ {
546
+ "inputs": [
547
+ {
548
+ "internalType": "address",
549
+ "name": "_owner",
550
+ "type": "address"
551
+ }
552
+ ],
553
+ "name": "transferCoreRegistryOwnership",
554
+ "outputs": [],
555
+ "stateMutability": "nonpayable",
556
+ "type": "function"
557
+ },
558
+ {
559
+ "inputs": [
560
+ {
561
+ "internalType": "address",
562
+ "name": "newOwner",
563
+ "type": "address"
564
+ }
565
+ ],
566
+ "name": "transferOwnership",
567
+ "outputs": [],
568
+ "stateMutability": "nonpayable",
569
+ "type": "function"
570
+ },
571
+ {
572
+ "inputs": [],
573
+ "name": "type_",
574
+ "outputs": [
575
+ {
576
+ "internalType": "bytes32",
577
+ "name": "",
578
+ "type": "bytes32"
579
+ }
580
+ ],
581
+ "stateMutability": "view",
582
+ "type": "function"
583
+ },
584
+ {
585
+ "inputs": [
586
+ {
587
+ "internalType": "address[]",
588
+ "name": "contractAddresses",
589
+ "type": "address[]"
590
+ }
591
+ ],
592
+ "name": "unregisterMultipleContracts",
593
+ "outputs": [],
594
+ "stateMutability": "nonpayable",
595
+ "type": "function"
596
+ },
597
+ {
598
+ "stateMutability": "payable",
599
+ "type": "receive"
600
+ }
601
+ ],
602
+ "bytecode": "0x60e06040523480156200001157600080fd5b5060405162002f5038038062002f5083398101604081905262000034916200049d565b816001600160a01b0381166200006557604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b62000070816200030d565b506200007c856200035d565b62000087846200035d565b62000092836200035d565b6200009d826200035d565b6001620000ab8282620005ba565b506001600160a01b03808616608081905285821660a05290841660c052604080516315c8b5b360e31b8152905163ae45ad98916004808201926000929091908290030181865afa15801562000104573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200012e919081019062000686565b6002906200013d9082620005ba565b506080516001600160a01b0316634e1d64af6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200017f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620001a9919081019062000686565b600390620001b89082620005ba565b5060a0516001600160a01b031663ae45ad986040518163ffffffff1660e01b8152600401600060405180830381865afa158015620001fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000224919081019062000686565b600490620002339082620005ba565b5060a0516001600160a01b0316634e1d64af6040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000275573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200029f919081019062000686565b600590620002ae9082620005ba565b506e0456e67696e65466163746f7279563608c1b846001600160a01b0316866001600160a01b03167f8a667a762c6b11836243ef58bb98850c7a4210d0226eb030bb2e03e3b7cc01e360405160405180910390a45050505050620006c6565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116620003b55760405162461bcd60e51b815260206004820152601b60248201527f4d75737420696e707574206e6f6e2d7a65726f2061646472657373000000000060448201526064016200005c565b50565b80516001600160a01b0381168114620003d057600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620003fd57600080fd5b81516001600160401b03808211156200041a576200041a620003d5565b604051601f8301601f19908116603f01168101908282118183101715620004455762000445620003d5565b81604052838152602092508660208588010111156200046357600080fd5b600091505b8382101562000487578582018301518183018401529082019062000468565b6000602085830101528094505050505092915050565b600080600080600060a08688031215620004b657600080fd5b620004c186620003b8565b9450620004d160208701620003b8565b9350620004e160408701620003b8565b9250620004f160608701620003b8565b60808701519092506001600160401b038111156200050e57600080fd5b6200051c88828901620003eb565b9150509295509295909350565b600181811c908216806200053e57607f821691505b6020821081036200055f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005b5576000816000526020600020601f850160051c81016020861015620005905750805b601f850160051c820191505b81811015620005b1578281556001016200059c565b5050505b505050565b81516001600160401b03811115620005d657620005d6620003d5565b620005ee81620005e7845462000529565b8462000565565b602080601f8311600181146200062657600084156200060d5750858301515b600019600386901b1c1916600185901b178555620005b1565b600085815260208120601f198616915b82811015620006575788860151825594840194600190910190840162000636565b5085821015620006765787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200069957600080fd5b81516001600160401b03811115620006b057600080fd5b620006be84828501620003eb565b949350505050565b60805160a05160c0516128226200072e6000396000818161024101528181610530015281816105d701528181610b670152610fa20152600081816103d00152818161094f0152610ee501526000818161019e015281816109760152610f0c01526128226000f3fe608060405260043610620001205760003560e01c806310a2e110146200012d57806324377e9f146200015d57806328d6edbf146200018a5780634e93d7e514620001cf57806366a2d9b014620001f65780636bf3d05a146200022d578063715018a614620002635780637390bb50146200027b5780637e56402f14620002a05780638831883414620002c55780638da5cb5b14620002dd5780638e6cee5214620002f55780639f1dc8f8146200031a5780639fc087391462000332578063af8181ff1462000367578063b8967f25146200037f578063e02878fd1462000397578063f21e018c14620003bc578063f2fde38b14620003f2578063f470c9911462000417578063f4ebf9e4146200043c578063fd24b937146200045457600080fd5b366200012857005b600080fd5b3480156200013a57600080fd5b506200014562000479565b604051620001549190620015c2565b60405180910390f35b3480156200016a57600080fd5b50600654620001799060ff1681565b604051901515815260200162000154565b3480156200019757600080fd5b50620001c07f000000000000000000000000000000000000000000000000000000000000000081565b604051620001549190620015e4565b348015620001dc57600080fd5b50620001f4620001ee36600462001620565b6200050f565b005b3480156200020357600080fd5b506200021e6e0456e67696e65466163746f7279563608c1b81565b60405190815260200162000154565b3480156200023a57600080fd5b50620001c07f000000000000000000000000000000000000000000000000000000000000000081565b3480156200027057600080fd5b50620001f46200059e565b3480156200028857600080fd5b50620001f46200029a3660046200168e565b620005b6565b348015620002ad57600080fd5b50620001f4620002bf366004620016d3565b62000648565b348015620002d257600080fd5b50620001f4620006e5565b348015620002ea57600080fd5b50620001c062000756565b3480156200030257600080fd5b50620001c06200031436600462001721565b62000765565b3480156200032757600080fd5b506200014562000c52565b3480156200033f57600080fd5b5062000357620003513660046200168e565b62000c61565b6040516200015492919062001795565b3480156200037457600080fd5b506200014562000e53565b3480156200038c57600080fd5b506200014562000e62565b348015620003a457600080fd5b50620001c0620003b636600462001805565b62000e71565b348015620003c957600080fd5b50620001c07f000000000000000000000000000000000000000000000000000000000000000081565b348015620003ff57600080fd5b50620001f46200041136600462001620565b62000f3c565b3480156200042457600080fd5b50620001f46200043636600462001832565b62000f81565b3480156200044957600080fd5b50620001456200101f565b3480156200046157600080fd5b50620001f46200047336600462001620565b6200102e565b600480546200048890620018d5565b80601f0160208091040260200160405190810160405280929190818152602001828054620004b690620018d5565b8015620005075780601f10620004db5761010080835404028352916020019162000507565b820191906000526020600020905b815481529060010190602001808311620004e957829003601f168201915b505050505081565b62000519620010de565b60405163f2fde38b60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f2fde38b9062000567908490600401620015e4565b600060405180830381600087803b1580156200058257600080fd5b505af115801562000597573d6000803e3d6000fd5b5050505050565b620005a8620010de565b620005b4600062001115565b565b620005c0620010de565b604051631cdd23b160e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906373748ec4906200061090859085906004016200195e565b600060405180830381600087803b1580156200062b57600080fd5b505af115801562000640573d6000803e3d6000fd5b505050505050565b62000652620010de565b6040516370a0823160e01b815282906000906001600160a01b038316906370a082319062000685903090600401620015e4565b602060405180830381865afa158015620006a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006c991906200197c565b90508015620006df57620006df82848362001165565b50505050565b620006ef620010de565b60065460ff16156200071e5760405162461bcd60e51b8152600401620007159062001996565b60405180910390fd5b6006805460ff191660011790556040517ffb03bbbb81551103a80dda8d3bda55d93637ca4a96390de3719644774bdf1e9890600090a1565b6000546001600160a01b031690565b600062000771620010de565b60065460ff1615620007975760405162461bcd60e51b8152600401620007159062001996565b620007b3620007ad606086016040870162001620565b620011b9565b620007c9620007ad60c0860160a0870162001620565b81620007dc57620007d96200120f565b91505b6001600160a01b038316620008c95762000801620007ad60a086016080870162001620565b6200083b6000620008116200120f565b604051620008226020820162001560565b601f1982820381018352601f9091011660405262001274565b6040805160008152602081019091529093506001600160a01b03841663377a7d1a6200086e60a088016080890162001620565b836040518363ffffffff1660e01b81526004016200088e929190620019da565b600060405180830381600087803b158015620008a957600080fd5b505af1158015620008be573d6000803e3d6000fd5b50505050506200092f565b6000620008dd60a086016080870162001620565b6001600160a01b0316146200092f5760405162461bcd60e51b815260206004820152601760248201527641646d696e41434c20616c72656164792065786973747360481b604482015260640162000715565b60008086600181111562000947576200094762001a38565b1462000974577f000000000000000000000000000000000000000000000000000000000000000062000996565b7f00000000000000000000000000000000000000000000000000000000000000005b9050620009a48184620012ff565b604051630dcdda2360e21b81529092506001600160a01b03831690633737688c90620009da908890889060019060040162001b9f565b600060405180830381600087803b158015620009f557600080fd5b505af115801562000a0a573d6000803e3d6000fd5b506000925082915081905088600181111562000a2a5762000a2a62001a38565b1462000a3a576004600562000a3f565b600260035b805462000a4c90620018d5565b80601f016020809104026020016040519081016040528092919081815260200182805462000a7a90620018d5565b801562000acb5780601f1062000a9f5761010080835404028352916020019162000acb565b820191906000526020600020905b81548152906001019060200180831162000aad57829003601f168201915b50505050509150805462000adf90620018d5565b80601f016020809104026020016040519081016040528092919081815260200182805462000b0d90620018d5565b801562000b5e5780601f1062000b325761010080835404028352916020019162000b5e565b820191906000526020600020905b81548152906001019060200180831162000b4057829003601f168201915b505050505091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f889b3ed8562000ba0846200136e565b62000bab866200136e565b6040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b15801562000bfa57600080fd5b505af115801562000c0f573d6000803e3d6000fd5b50506040516001600160a01b03871692507f72dba3aac69e7eadf1383243bbb649ff575d0d530bfecf3d33ef4a0cc0a77b8d9150600090a2505050949350505050565b600380546200048890620018d5565b6000606062000c6f620010de565b43915082806001600160401b0381111562000c8e5762000c8e620019c4565b60405190808252806020026020018201604052801562000cc357816020015b606081526020019060019003908162000cad5790505b50915060005b8181101562000e4a573686868381811062000ce85762000ce862001d5f565b905060200281019062000cfc919062001d75565b905062000d0d602082018262001620565b6001600160a01b03163b60000362000d735762000d2e602082018262001d96565b15905062000d735760405162461bcd60e51b8152602060048201526011602482015270496e76616c69642063616c6c206461746160781b604482015260640162000715565b60008062000d85602084018462001620565b6001600160a01b031662000d9d602085018562001d96565b60405162000dad92919062001ddf565b6000604051808303816000865af19150503d806000811462000dec576040519150601f19603f3d011682016040523d82523d6000602084013e62000df1565b606091505b509150915081819062000e195760405162461bcd60e51b8152600401620007159190620015c2565b508086858151811062000e305762000e3062001d5f565b602002602001018190525050505080600101905062000cc9565b50509250929050565b600180546200048890620018d5565b600580546200048890620018d5565b60008162000ec25760405162461bcd60e51b815260206004820152601d60248201527f6e756c6c2073616c74203d2070736575646f72616e646f6d2061646472000000604482015260640162000715565b62000f33600084600181111562000edd5762000edd62001a38565b1462000f0a577f000000000000000000000000000000000000000000000000000000000000000062000f2c565b7f00000000000000000000000000000000000000000000000000000000000000005b836200138e565b90505b92915050565b62000f46620010de565b6001600160a01b03811662000f73576000604051631e4fbdf760e01b8152600401620007159190620015e4565b62000f7e8162001115565b50565b62000f8b620010de565b60405163b3cdf53760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b3cdf5379062000fe39089908990899089908990899060040162001e22565b600060405180830381600087803b15801562000ffe57600080fd5b505af115801562001013573d6000803e3d6000fd5b50505050505050505050565b600280546200048890620018d5565b62001038620010de565b478015620010da576000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146200108f576040519150601f19603f3d011682016040523d82523d6000602084013e62001094565b606091505b5050905080620010d85760405162461bcd60e51b815260206004820152600e60248201526d14185e5b595b9d0819985a5b195960921b604482015260640162000715565b505b5050565b33620010e962000756565b6001600160a01b031614620005b4573360405163118cdaa760e01b8152600401620007159190620015e4565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052620010d8908490620013ef565b6001600160a01b03811662000f7e5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b604482015260640162000715565b6007805460009182919082620012258362001e71565b909155506040805160208082019390935242818301524360608083019190915230901b6001600160601b0319166080820152815180820360740181526094909101909152805191012092915050565b600083471015620012a25760405163392efb2b60e21b81524760048201526024810185905260440162000715565b8151600003620012c557604051631328927760e21b815260040160405180910390fd5b8282516020840186f590506001600160a01b038116620012f857604051633a0ba96160e11b815260040160405180910390fd5b9392505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b03811662000f36576040516330be1a3d60e21b815260040160405180910390fd5b805160009082908203620013855750600092915050565b50506020015190565b6040513060388201526f5af43d82803e903d91602b57fd5bf3ff602482015260148101839052733d602d80600a3d3981f3363d3d373d3d3d363d738152605881018290526037600c8201206078820152605560439091012060009062000f33565b6000620014066001600160a01b0384168362001451565b905080516000141580156200142e5750808060200190518101906200142c919062001e99565b155b15620010d85782604051635274afe760e01b8152600401620007159190620015e4565b606062000f338383600084600080856001600160a01b031684866040516200147a919062001eb9565b60006040518083038185875af1925050503d8060008114620014b9576040519150601f19603f3d011682016040523d82523d6000602084013e620014be565b606091505b5091509150620014d0868383620014da565b9695505050505050565b606082620014f357620014ed8262001536565b620012f8565b81511580156200150b57506001600160a01b0384163b155b156200152e5783604051639996b31560e01b8152600401620007159190620015e4565b5080620012f8565b805115620015475780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b61091f8062001ece83390190565b60005b838110156200158b57818101518382015260200162001571565b50506000910152565b60008151808452620015ae8160208601602086016200156e565b601f01601f19169290920160200192915050565b60208152600062000f33602083018462001594565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b038116811462000f7e57600080fd5b80356200161b81620015f8565b919050565b6000602082840312156200163357600080fd5b8135620012f881620015f8565b60008083601f8401126200165357600080fd5b5081356001600160401b038111156200166b57600080fd5b6020830191508360208260051b85010111156200168757600080fd5b9250929050565b60008060208385031215620016a257600080fd5b82356001600160401b03811115620016b957600080fd5b620016c78582860162001640565b90969095509350505050565b60008060408385031215620016e757600080fd5b8235620016f481620015f8565b915060208301356200170681620015f8565b809150509250929050565b8035600281106200161b57600080fd5b600080600080608085870312156200173857600080fd5b620017438562001711565b935060208501356001600160401b038111156200175f57600080fd5b850161018081880312156200177357600080fd5b925060408501356200178581620015f8565b9396929550929360600135925050565b60006040820184835260206040602085015281855180845260608601915060608160051b87010193506020870160005b82811015620017f757605f19888703018452620017e486835162001594565b95509284019290840190600101620017c5565b509398975050505050505050565b600080604083850312156200181957600080fd5b620018248362001711565b946020939093013593505050565b600080600080600080606087890312156200184c57600080fd5b86356001600160401b03808211156200186457600080fd5b620018728a838b0162001640565b909850965060208901359150808211156200188c57600080fd5b6200189a8a838b0162001640565b90965094506040890135915080821115620018b457600080fd5b50620018c389828a0162001640565b979a9699509497509295939492505050565b600181811c90821680620018ea57607f821691505b6020821081036200190b57634e487b7160e01b600052602260045260246000fd5b50919050565b8183526000602080850194508260005b85811015620019535781356200193781620015f8565b6001600160a01b03168752958201959082019060010162001921565b509495945050505050565b6020815260006200197460208301848662001911565b949350505050565b6000602082840312156200198f57600080fd5b5051919050565b602080825260149082015273199858dd1bdc9e481a5cc81858985b991bdb995960621b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038381168252604060208084018290528451918401829052600092858201929091906060860190855b8181101562001a2a57855185168352948301949183019160010162001a0a565b509098975050505050505050565b634e487b7160e01b600052602160045260246000fd5b6000808335601e1984360301811262001a6657600080fd5b83016020810192503590506001600160401b0381111562001a8657600080fd5b8036038213156200168757600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b80356001600160f81b03811681146200161b57600080fd5b801515811462000f7e57600080fd5b80356200161b8162001ad7565b8054600090600181811c908083168062001b0e57607f831692505b6020808410820362001b3057634e487b7160e01b600052602260045260246000fd5b8388526020880182801562001b4e576001811462001b655762001b92565b60ff198716825285151560051b8201975062001b92565b60008981526020902060005b8781101562001b8c5781548482015290860190840162001b71565b83019850505b5050505050505092915050565b60608152600062001bb1858662001a4e565b61018080606086015262001bcb6101e08601838562001a96565b925062001bdc602089018962001a4e565b868503605f19016080880152925062001bf784848362001a96565b93505062001c08604089016200160e565b915062001c1960a0860183620015d7565b62001c27606089016200160e565b915062001c3860c0860183620015d7565b62001c46608089016200160e565b915062001c5760e0860183620015d7565b62001c6560a089016200160e565b915061010062001c7881870184620015d7565b62001c8660c08a016200160e565b925061012062001c9981880185620015d7565b62001ca760e08b016200160e565b935061014062001cba81890186620015d7565b62001cc7838c0162001abf565b9450610160925062001ce3838901866001600160f81b03169052565b62001cf0828c0162001ae6565b80151589860152945062001d06818c0162001ae6565b9450505062001d1a6101a087018415159052565b62001d27818a0162001ae6565b9250505062001d3b6101c085018215159052565b5062001d4b6020840186620015d7565b8281036040840152620014d0818562001af3565b634e487b7160e01b600052603260045260246000fd5b60008235603e1983360301811262001d8c57600080fd5b9190910192915050565b6000808335601e1984360301811262001dae57600080fd5b8301803591506001600160401b0382111562001dc957600080fd5b6020019150368190038213156200168757600080fd5b8183823760009101908152919050565b81835260006001600160fb1b0383111562001e0957600080fd5b8260051b80836020870137939093016020019392505050565b60608152600062001e3860608301888a62001911565b828103602084015262001e4d81878962001def565b9050828103604084015262001e6481858762001def565b9998505050505050505050565b60006001820162001e9257634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121562001eac57600080fd5b8151620012f88162001ad7565b6000825162001d8c8184602087016200156e56fe60c0604052600a608090815269041646d696e41434c56360b41b60a05260009061002990826100ef565b5034801561003657600080fd5b50600180546001600160a01b031916331790556101ae565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061007857607f821691505b60208210810361009857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156100ea576000816000526020600020601f850160051c810160208610156100c75750805b601f850160051c820191505b818110156100e6578281556001016100d3565b5050505b505050565b81516001600160401b038111156101085761010861004e565b61011c816101168454610064565b8461009e565b602080601f83116001811461015157600084156101395750858301515b600019600386901b1c1916600185901b1785556100e6565b600085815260208120601f198616915b8281101561018057888601518255948401946001909101908401610161565b508582101561019e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610762806101bd6000396000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c806301ffc9a71461007257806305de62c01461009a57806329575f6a146100be578063377a7d1a146100de578063985d1968146100f3578063bcc91a1014610106578063c81a396e14610119575b600080fd5b6100856100803660046104a9565b61012e565b60405190151581526020015b60405180910390f35b6100856100a83660046104e2565b50506001546001600160a01b0391821691161490565b6001546100d1906001600160a01b031681565b6040516100919190610525565b6100f16100ec366004610539565b610180565b005b6100f16101013660046105be565b610218565b6100f16101143660046105d9565b610298565b6101216103fe565b604051610091919061060c565b60006001600160e01b03198216633001c1ef60e21b148061015f57506001600160e01b03198216631bbd3e8d60e11b145b8061017a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6001546001600160a01b031633146101b35760405162461bcd60e51b81526004016101aa9061065b565b60405180910390fd5b600180546001600160a01b038581166001600160a01b0319831681179093556040519116919082907f3f6845104f9728af7979eed8814320daba008953c8db93b9fe32602d1f34b4759061020a9087908790610684565b60405180910390a350505050565b6001546001600160a01b031633146102425760405162461bcd60e51b81526004016101aa9061065b565b806001600160a01b031663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561027d57600080fd5b505af1158015610291573d6000803e3d6000fd5b5050505050565b6001546001600160a01b031633146102c25760405162461bcd60e51b81526004016101aa9061065b565b6040516301ffc9a760e01b8152633001c1ef60e21b60048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033191906106d0565b61039c5760405162461bcd60e51b815260206004820152603660248201527f41646d696e41434c56303a206e65772061646d696e2041434c20646f6573206e60448201527506f7420737570706f7274204941646d696e41434c56360541b60648201526084016101aa565b60405163f2fde38b60e01b81526001600160a01b0383169063f2fde38b906103c8908490600401610525565b600060405180830381600087803b1580156103e257600080fd5b505af11580156103f6573d6000803e3d6000fd5b505050505050565b6000805461040b906106f2565b80601f0160208091040260200160405190810160405280929190818152602001828054610437906106f2565b80156104845780601f1061045957610100808354040283529160200191610484565b820191906000526020600020905b81548152906001019060200180831161046757829003601f168201915b505050505081565b80356001600160e01b0319811681146104a457600080fd5b919050565b6000602082840312156104bb57600080fd5b6104c48261048c565b9392505050565b80356001600160a01b03811681146104a457600080fd5b6000806000606084860312156104f757600080fd5b610500846104cb565b925061050e602085016104cb565b915061051c6040850161048c565b90509250925092565b6001600160a01b0391909116815260200190565b60008060006040848603121561054e57600080fd5b610557846104cb565b925060208401356001600160401b038082111561057357600080fd5b818601915086601f83011261058757600080fd5b81358181111561059657600080fd5b8760208260051b85010111156105ab57600080fd5b6020830194508093505050509250925092565b6000602082840312156105d057600080fd5b6104c4826104cb565b600080604083850312156105ec57600080fd5b6105f5836104cb565b9150610603602084016104cb565b90509250929050565b60006020808352835180602085015260005b8181101561063a5785810183015185820160400152820161061e565b506000604082860101526040601f19601f8301168501019250505092915050565b6020808252600f908201526e27b7363c9039bab832b920b236b4b760891b604082015260600190565b60208082528181018390526000908460408401835b868110156106c5576001600160a01b036106b2846104cb565b1682529183019190830190600101610699565b509695505050505050565b6000602082840312156106e257600080fd5b815180151581146104c457600080fd5b600181811c9082168061070657607f821691505b60208210810361072657634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220830f3c30ad4d14df1865965a76cbb302e6938979ee6e646e3a277a8abebb5fd164736f6c63430008160033a26469706673582212200750368963d281eadeb2667f0d1409504d011ab31a68b6699554729037b78c7e64736f6c63430008160033",
603
+ "deployedBytecode": "0x608060405260043610620001205760003560e01c806310a2e110146200012d57806324377e9f146200015d57806328d6edbf146200018a5780634e93d7e514620001cf57806366a2d9b014620001f65780636bf3d05a146200022d578063715018a614620002635780637390bb50146200027b5780637e56402f14620002a05780638831883414620002c55780638da5cb5b14620002dd5780638e6cee5214620002f55780639f1dc8f8146200031a5780639fc087391462000332578063af8181ff1462000367578063b8967f25146200037f578063e02878fd1462000397578063f21e018c14620003bc578063f2fde38b14620003f2578063f470c9911462000417578063f4ebf9e4146200043c578063fd24b937146200045457600080fd5b366200012857005b600080fd5b3480156200013a57600080fd5b506200014562000479565b604051620001549190620015c2565b60405180910390f35b3480156200016a57600080fd5b50600654620001799060ff1681565b604051901515815260200162000154565b3480156200019757600080fd5b50620001c07f000000000000000000000000000000000000000000000000000000000000000081565b604051620001549190620015e4565b348015620001dc57600080fd5b50620001f4620001ee36600462001620565b6200050f565b005b3480156200020357600080fd5b506200021e6e0456e67696e65466163746f7279563608c1b81565b60405190815260200162000154565b3480156200023a57600080fd5b50620001c07f000000000000000000000000000000000000000000000000000000000000000081565b3480156200027057600080fd5b50620001f46200059e565b3480156200028857600080fd5b50620001f46200029a3660046200168e565b620005b6565b348015620002ad57600080fd5b50620001f4620002bf366004620016d3565b62000648565b348015620002d257600080fd5b50620001f4620006e5565b348015620002ea57600080fd5b50620001c062000756565b3480156200030257600080fd5b50620001c06200031436600462001721565b62000765565b3480156200032757600080fd5b506200014562000c52565b3480156200033f57600080fd5b5062000357620003513660046200168e565b62000c61565b6040516200015492919062001795565b3480156200037457600080fd5b506200014562000e53565b3480156200038c57600080fd5b506200014562000e62565b348015620003a457600080fd5b50620001c0620003b636600462001805565b62000e71565b348015620003c957600080fd5b50620001c07f000000000000000000000000000000000000000000000000000000000000000081565b348015620003ff57600080fd5b50620001f46200041136600462001620565b62000f3c565b3480156200042457600080fd5b50620001f46200043636600462001832565b62000f81565b3480156200044957600080fd5b50620001456200101f565b3480156200046157600080fd5b50620001f46200047336600462001620565b6200102e565b600480546200048890620018d5565b80601f0160208091040260200160405190810160405280929190818152602001828054620004b690620018d5565b8015620005075780601f10620004db5761010080835404028352916020019162000507565b820191906000526020600020905b815481529060010190602001808311620004e957829003601f168201915b505050505081565b62000519620010de565b60405163f2fde38b60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f2fde38b9062000567908490600401620015e4565b600060405180830381600087803b1580156200058257600080fd5b505af115801562000597573d6000803e3d6000fd5b5050505050565b620005a8620010de565b620005b4600062001115565b565b620005c0620010de565b604051631cdd23b160e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906373748ec4906200061090859085906004016200195e565b600060405180830381600087803b1580156200062b57600080fd5b505af115801562000640573d6000803e3d6000fd5b505050505050565b62000652620010de565b6040516370a0823160e01b815282906000906001600160a01b038316906370a082319062000685903090600401620015e4565b602060405180830381865afa158015620006a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006c991906200197c565b90508015620006df57620006df82848362001165565b50505050565b620006ef620010de565b60065460ff16156200071e5760405162461bcd60e51b8152600401620007159062001996565b60405180910390fd5b6006805460ff191660011790556040517ffb03bbbb81551103a80dda8d3bda55d93637ca4a96390de3719644774bdf1e9890600090a1565b6000546001600160a01b031690565b600062000771620010de565b60065460ff1615620007975760405162461bcd60e51b8152600401620007159062001996565b620007b3620007ad606086016040870162001620565b620011b9565b620007c9620007ad60c0860160a0870162001620565b81620007dc57620007d96200120f565b91505b6001600160a01b038316620008c95762000801620007ad60a086016080870162001620565b6200083b6000620008116200120f565b604051620008226020820162001560565b601f1982820381018352601f9091011660405262001274565b6040805160008152602081019091529093506001600160a01b03841663377a7d1a6200086e60a088016080890162001620565b836040518363ffffffff1660e01b81526004016200088e929190620019da565b600060405180830381600087803b158015620008a957600080fd5b505af1158015620008be573d6000803e3d6000fd5b50505050506200092f565b6000620008dd60a086016080870162001620565b6001600160a01b0316146200092f5760405162461bcd60e51b815260206004820152601760248201527641646d696e41434c20616c72656164792065786973747360481b604482015260640162000715565b60008086600181111562000947576200094762001a38565b1462000974577f000000000000000000000000000000000000000000000000000000000000000062000996565b7f00000000000000000000000000000000000000000000000000000000000000005b9050620009a48184620012ff565b604051630dcdda2360e21b81529092506001600160a01b03831690633737688c90620009da908890889060019060040162001b9f565b600060405180830381600087803b158015620009f557600080fd5b505af115801562000a0a573d6000803e3d6000fd5b506000925082915081905088600181111562000a2a5762000a2a62001a38565b1462000a3a576004600562000a3f565b600260035b805462000a4c90620018d5565b80601f016020809104026020016040519081016040528092919081815260200182805462000a7a90620018d5565b801562000acb5780601f1062000a9f5761010080835404028352916020019162000acb565b820191906000526020600020905b81548152906001019060200180831162000aad57829003601f168201915b50505050509150805462000adf90620018d5565b80601f016020809104026020016040519081016040528092919081815260200182805462000b0d90620018d5565b801562000b5e5780601f1062000b325761010080835404028352916020019162000b5e565b820191906000526020600020905b81548152906001019060200180831162000b4057829003601f168201915b505050505091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f889b3ed8562000ba0846200136e565b62000bab866200136e565b6040516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b15801562000bfa57600080fd5b505af115801562000c0f573d6000803e3d6000fd5b50506040516001600160a01b03871692507f72dba3aac69e7eadf1383243bbb649ff575d0d530bfecf3d33ef4a0cc0a77b8d9150600090a2505050949350505050565b600380546200048890620018d5565b6000606062000c6f620010de565b43915082806001600160401b0381111562000c8e5762000c8e620019c4565b60405190808252806020026020018201604052801562000cc357816020015b606081526020019060019003908162000cad5790505b50915060005b8181101562000e4a573686868381811062000ce85762000ce862001d5f565b905060200281019062000cfc919062001d75565b905062000d0d602082018262001620565b6001600160a01b03163b60000362000d735762000d2e602082018262001d96565b15905062000d735760405162461bcd60e51b8152602060048201526011602482015270496e76616c69642063616c6c206461746160781b604482015260640162000715565b60008062000d85602084018462001620565b6001600160a01b031662000d9d602085018562001d96565b60405162000dad92919062001ddf565b6000604051808303816000865af19150503d806000811462000dec576040519150601f19603f3d011682016040523d82523d6000602084013e62000df1565b606091505b509150915081819062000e195760405162461bcd60e51b8152600401620007159190620015c2565b508086858151811062000e305762000e3062001d5f565b602002602001018190525050505080600101905062000cc9565b50509250929050565b600180546200048890620018d5565b600580546200048890620018d5565b60008162000ec25760405162461bcd60e51b815260206004820152601d60248201527f6e756c6c2073616c74203d2070736575646f72616e646f6d2061646472000000604482015260640162000715565b62000f33600084600181111562000edd5762000edd62001a38565b1462000f0a577f000000000000000000000000000000000000000000000000000000000000000062000f2c565b7f00000000000000000000000000000000000000000000000000000000000000005b836200138e565b90505b92915050565b62000f46620010de565b6001600160a01b03811662000f73576000604051631e4fbdf760e01b8152600401620007159190620015e4565b62000f7e8162001115565b50565b62000f8b620010de565b60405163b3cdf53760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b3cdf5379062000fe39089908990899089908990899060040162001e22565b600060405180830381600087803b15801562000ffe57600080fd5b505af115801562001013573d6000803e3d6000fd5b50505050505050505050565b600280546200048890620018d5565b62001038620010de565b478015620010da576000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146200108f576040519150601f19603f3d011682016040523d82523d6000602084013e62001094565b606091505b5050905080620010d85760405162461bcd60e51b815260206004820152600e60248201526d14185e5b595b9d0819985a5b195960921b604482015260640162000715565b505b5050565b33620010e962000756565b6001600160a01b031614620005b4573360405163118cdaa760e01b8152600401620007159190620015e4565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052620010d8908490620013ef565b6001600160a01b03811662000f7e5760405162461bcd60e51b815260206004820152601b60248201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b604482015260640162000715565b6007805460009182919082620012258362001e71565b909155506040805160208082019390935242818301524360608083019190915230901b6001600160601b0319166080820152815180820360740181526094909101909152805191012092915050565b600083471015620012a25760405163392efb2b60e21b81524760048201526024810185905260440162000715565b8151600003620012c557604051631328927760e21b815260040160405180910390fd5b8282516020840186f590506001600160a01b038116620012f857604051633a0ba96160e11b815260040160405180910390fd5b9392505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b03811662000f36576040516330be1a3d60e21b815260040160405180910390fd5b805160009082908203620013855750600092915050565b50506020015190565b6040513060388201526f5af43d82803e903d91602b57fd5bf3ff602482015260148101839052733d602d80600a3d3981f3363d3d373d3d3d363d738152605881018290526037600c8201206078820152605560439091012060009062000f33565b6000620014066001600160a01b0384168362001451565b905080516000141580156200142e5750808060200190518101906200142c919062001e99565b155b15620010d85782604051635274afe760e01b8152600401620007159190620015e4565b606062000f338383600084600080856001600160a01b031684866040516200147a919062001eb9565b60006040518083038185875af1925050503d8060008114620014b9576040519150601f19603f3d011682016040523d82523d6000602084013e620014be565b606091505b5091509150620014d0868383620014da565b9695505050505050565b606082620014f357620014ed8262001536565b620012f8565b81511580156200150b57506001600160a01b0384163b155b156200152e5783604051639996b31560e01b8152600401620007159190620015e4565b5080620012f8565b805115620015475780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b61091f8062001ece83390190565b60005b838110156200158b57818101518382015260200162001571565b50506000910152565b60008151808452620015ae8160208601602086016200156e565b601f01601f19169290920160200192915050565b60208152600062000f33602083018462001594565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6001600160a01b038116811462000f7e57600080fd5b80356200161b81620015f8565b919050565b6000602082840312156200163357600080fd5b8135620012f881620015f8565b60008083601f8401126200165357600080fd5b5081356001600160401b038111156200166b57600080fd5b6020830191508360208260051b85010111156200168757600080fd5b9250929050565b60008060208385031215620016a257600080fd5b82356001600160401b03811115620016b957600080fd5b620016c78582860162001640565b90969095509350505050565b60008060408385031215620016e757600080fd5b8235620016f481620015f8565b915060208301356200170681620015f8565b809150509250929050565b8035600281106200161b57600080fd5b600080600080608085870312156200173857600080fd5b620017438562001711565b935060208501356001600160401b038111156200175f57600080fd5b850161018081880312156200177357600080fd5b925060408501356200178581620015f8565b9396929550929360600135925050565b60006040820184835260206040602085015281855180845260608601915060608160051b87010193506020870160005b82811015620017f757605f19888703018452620017e486835162001594565b95509284019290840190600101620017c5565b509398975050505050505050565b600080604083850312156200181957600080fd5b620018248362001711565b946020939093013593505050565b600080600080600080606087890312156200184c57600080fd5b86356001600160401b03808211156200186457600080fd5b620018728a838b0162001640565b909850965060208901359150808211156200188c57600080fd5b6200189a8a838b0162001640565b90965094506040890135915080821115620018b457600080fd5b50620018c389828a0162001640565b979a9699509497509295939492505050565b600181811c90821680620018ea57607f821691505b6020821081036200190b57634e487b7160e01b600052602260045260246000fd5b50919050565b8183526000602080850194508260005b85811015620019535781356200193781620015f8565b6001600160a01b03168752958201959082019060010162001921565b509495945050505050565b6020815260006200197460208301848662001911565b949350505050565b6000602082840312156200198f57600080fd5b5051919050565b602080825260149082015273199858dd1bdc9e481a5cc81858985b991bdb995960621b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038381168252604060208084018290528451918401829052600092858201929091906060860190855b8181101562001a2a57855185168352948301949183019160010162001a0a565b509098975050505050505050565b634e487b7160e01b600052602160045260246000fd5b6000808335601e1984360301811262001a6657600080fd5b83016020810192503590506001600160401b0381111562001a8657600080fd5b8036038213156200168757600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b80356001600160f81b03811681146200161b57600080fd5b801515811462000f7e57600080fd5b80356200161b8162001ad7565b8054600090600181811c908083168062001b0e57607f831692505b6020808410820362001b3057634e487b7160e01b600052602260045260246000fd5b8388526020880182801562001b4e576001811462001b655762001b92565b60ff198716825285151560051b8201975062001b92565b60008981526020902060005b8781101562001b8c5781548482015290860190840162001b71565b83019850505b5050505050505092915050565b60608152600062001bb1858662001a4e565b61018080606086015262001bcb6101e08601838562001a96565b925062001bdc602089018962001a4e565b868503605f19016080880152925062001bf784848362001a96565b93505062001c08604089016200160e565b915062001c1960a0860183620015d7565b62001c27606089016200160e565b915062001c3860c0860183620015d7565b62001c46608089016200160e565b915062001c5760e0860183620015d7565b62001c6560a089016200160e565b915061010062001c7881870184620015d7565b62001c8660c08a016200160e565b925061012062001c9981880185620015d7565b62001ca760e08b016200160e565b935061014062001cba81890186620015d7565b62001cc7838c0162001abf565b9450610160925062001ce3838901866001600160f81b03169052565b62001cf0828c0162001ae6565b80151589860152945062001d06818c0162001ae6565b9450505062001d1a6101a087018415159052565b62001d27818a0162001ae6565b9250505062001d3b6101c085018215159052565b5062001d4b6020840186620015d7565b8281036040840152620014d0818562001af3565b634e487b7160e01b600052603260045260246000fd5b60008235603e1983360301811262001d8c57600080fd5b9190910192915050565b6000808335601e1984360301811262001dae57600080fd5b8301803591506001600160401b0382111562001dc957600080fd5b6020019150368190038213156200168757600080fd5b8183823760009101908152919050565b81835260006001600160fb1b0383111562001e0957600080fd5b8260051b80836020870137939093016020019392505050565b60608152600062001e3860608301888a62001911565b828103602084015262001e4d81878962001def565b9050828103604084015262001e6481858762001def565b9998505050505050505050565b60006001820162001e9257634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121562001eac57600080fd5b8151620012f88162001ad7565b6000825162001d8c8184602087016200156e56fe60c0604052600a608090815269041646d696e41434c56360b41b60a05260009061002990826100ef565b5034801561003657600080fd5b50600180546001600160a01b031916331790556101ae565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061007857607f821691505b60208210810361009857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156100ea576000816000526020600020601f850160051c810160208610156100c75750805b601f850160051c820191505b818110156100e6578281556001016100d3565b5050505b505050565b81516001600160401b038111156101085761010861004e565b61011c816101168454610064565b8461009e565b602080601f83116001811461015157600084156101395750858301515b600019600386901b1c1916600185901b1785556100e6565b600085815260208120601f198616915b8281101561018057888601518255948401946001909101908401610161565b508582101561019e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610762806101bd6000396000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c806301ffc9a71461007257806305de62c01461009a57806329575f6a146100be578063377a7d1a146100de578063985d1968146100f3578063bcc91a1014610106578063c81a396e14610119575b600080fd5b6100856100803660046104a9565b61012e565b60405190151581526020015b60405180910390f35b6100856100a83660046104e2565b50506001546001600160a01b0391821691161490565b6001546100d1906001600160a01b031681565b6040516100919190610525565b6100f16100ec366004610539565b610180565b005b6100f16101013660046105be565b610218565b6100f16101143660046105d9565b610298565b6101216103fe565b604051610091919061060c565b60006001600160e01b03198216633001c1ef60e21b148061015f57506001600160e01b03198216631bbd3e8d60e11b145b8061017a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6001546001600160a01b031633146101b35760405162461bcd60e51b81526004016101aa9061065b565b60405180910390fd5b600180546001600160a01b038581166001600160a01b0319831681179093556040519116919082907f3f6845104f9728af7979eed8814320daba008953c8db93b9fe32602d1f34b4759061020a9087908790610684565b60405180910390a350505050565b6001546001600160a01b031633146102425760405162461bcd60e51b81526004016101aa9061065b565b806001600160a01b031663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561027d57600080fd5b505af1158015610291573d6000803e3d6000fd5b5050505050565b6001546001600160a01b031633146102c25760405162461bcd60e51b81526004016101aa9061065b565b6040516301ffc9a760e01b8152633001c1ef60e21b60048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033191906106d0565b61039c5760405162461bcd60e51b815260206004820152603660248201527f41646d696e41434c56303a206e65772061646d696e2041434c20646f6573206e60448201527506f7420737570706f7274204941646d696e41434c56360541b60648201526084016101aa565b60405163f2fde38b60e01b81526001600160a01b0383169063f2fde38b906103c8908490600401610525565b600060405180830381600087803b1580156103e257600080fd5b505af11580156103f6573d6000803e3d6000fd5b505050505050565b6000805461040b906106f2565b80601f0160208091040260200160405190810160405280929190818152602001828054610437906106f2565b80156104845780601f1061045957610100808354040283529160200191610484565b820191906000526020600020905b81548152906001019060200180831161046757829003601f168201915b505050505081565b80356001600160e01b0319811681146104a457600080fd5b919050565b6000602082840312156104bb57600080fd5b6104c48261048c565b9392505050565b80356001600160a01b03811681146104a457600080fd5b6000806000606084860312156104f757600080fd5b610500846104cb565b925061050e602085016104cb565b915061051c6040850161048c565b90509250925092565b6001600160a01b0391909116815260200190565b60008060006040848603121561054e57600080fd5b610557846104cb565b925060208401356001600160401b038082111561057357600080fd5b818601915086601f83011261058757600080fd5b81358181111561059657600080fd5b8760208260051b85010111156105ab57600080fd5b6020830194508093505050509250925092565b6000602082840312156105d057600080fd5b6104c4826104cb565b600080604083850312156105ec57600080fd5b6105f5836104cb565b9150610603602084016104cb565b90509250929050565b60006020808352835180602085015260005b8181101561063a5785810183015185820160400152820161061e565b506000604082860101526040601f19601f8301168501019250505092915050565b6020808252600f908201526e27b7363c9039bab832b920b236b4b760891b604082015260600190565b60208082528181018390526000908460408401835b868110156106c5576001600160a01b036106b2846104cb565b1682529183019190830190600101610699565b509695505050505050565b6000602082840312156106e257600080fd5b815180151581146104c457600080fd5b600181811c9082168061070657607f821691505b60208210810361072657634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220830f3c30ad4d14df1865965a76cbb302e6938979ee6e646e3a277a8abebb5fd164736f6c63430008160033a26469706673582212200750368963d281eadeb2667f0d1409504d011ab31a68b6699554729037b78c7e64736f6c63430008160033",
604
+ "linkReferences": {},
605
+ "deployedLinkReferences": {}
606
+ }