@artblocks/contracts 1.3.1 → 1.4.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 (234) hide show
  1. package/README.md +11 -10
  2. package/artifacts/contracts/AdminACLV0RoyaltyRegistry.sol/AdminACLV0RoyaltyRegistry.json +193 -0
  3. package/artifacts/contracts/AdminACLV0RoyaltyRegistry.sol/IRoyaltyRegistry.json +35 -0
  4. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  5. package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2.sol/BytecodeStorageReaderContractV2.json +2 -2
  6. package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2_Web3Call.sol/BytecodeStorageReaderContractV2_Web3Call.json +2 -2
  7. package/artifacts/contracts/BytecodeStorageV2Writer.sol/BytecodeStorageV2Writer.json +2 -2
  8. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +210 -2
  9. package/artifacts/contracts/GenArt721CoreV3_Curated.sol/GenArt721CoreV3_Curated.json +235 -20
  10. package/artifacts/contracts/GenArt721CoreV3_Curated_Flex.sol/GenArt721CoreV3_Curated_Flex.json +3197 -0
  11. package/artifacts/contracts/GenArt721CoreV3_Explorations_Flex.sol/GenArt721CoreV3_Explorations_Flex.json +3192 -0
  12. package/artifacts/contracts/OwnedCreate2FactoryV0.sol/OwnedCreate2FactoryV0.json +2 -2
  13. package/artifacts/contracts/archive/GenArt721CoreV3.sol/GenArt721CoreV3.json +27 -2
  14. package/artifacts/contracts/archive/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +27 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  23. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV4.sol/MinterDALinV4.json +2 -2
  24. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  25. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  26. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  27. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV4.sol/MinterHolderV4.json +2 -2
  28. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  29. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  30. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  31. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  32. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
  33. package/artifacts/contracts/archive/minter-suite/Minters/MinterPolyptych/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +25 -0
  34. package/artifacts/contracts/archive/minter-suite/Minters/MinterPolyptych/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
  35. package/artifacts/contracts/archive/minter-suite/Minters/MinterSEA/MinterSEAV0.sol/MinterSEAV0.json +2 -2
  36. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  37. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  38. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
  39. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  40. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  41. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
  42. package/artifacts/contracts/engine/V3/EngineFactoryV0.sol/EngineFactoryV0.json +28 -2
  43. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +239 -20
  44. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +267 -48
  45. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +27 -2
  46. package/artifacts/contracts/engine/V3/forks/PROHIBITION/AdminACLV0_PROHIBITION.sol/AdminACLV0_PROHIBITION.json +2 -2
  47. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +27 -2
  48. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +25 -0
  49. package/artifacts/contracts/engine/V3/transfer-hooks/AbstractTransferHook.sol/AbstractTransferHook.json +79 -0
  50. package/artifacts/contracts/engine/V3/transfer-hooks/OwnerHistoryTransferHook.sol/OwnerHistoryTransferHook.json +315 -0
  51. package/artifacts/contracts/generator/GenArt721GeneratorV0.sol/GenArt721GeneratorV0.json +2 -2
  52. package/artifacts/contracts/interfaces/v0.8.x/IClaimMinter.sol/IClaimMinter.json +189 -0
  53. package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +149 -0
  54. package/artifacts/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol/IEngineFactoryV0.json +26 -0
  55. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +25 -0
  56. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +25 -0
  57. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +123 -0
  58. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +123 -0
  59. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.json +25 -0
  60. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol/IGenArt721CoreContractV3_Engine_PreV3p2.json +25 -0
  61. package/artifacts/contracts/interfaces/v0.8.x/IOwnerHistoryTransferHook.sol/IOwnerHistoryTransferHook.json +299 -0
  62. package/artifacts/contracts/interfaces/v0.8.x/IPMPV0.sol/IPMPV0.json +7 -1
  63. package/artifacts/contracts/interfaces/v0.8.x/ISRHooks.sol/ISRHooks.json +432 -0
  64. package/artifacts/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol/ISeaDropShimForContract.json +0 -13
  65. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterTieredAllowV0.sol/ISharedMinterTieredAllowV0.json +94 -0
  66. package/artifacts/contracts/interfaces/v0.8.x/ITransferHook.sol/ITransferHook.json +63 -0
  67. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
  68. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageReader.json +2 -2
  69. package/artifacts/contracts/libs/v0.8.x/BytecodeStorageV2.sol/BytecodeStorageWriter.json +2 -2
  70. package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +2 -2
  71. package/artifacts/contracts/libs/v0.8.x/ENSLib.sol/ENSLib.json +10 -0
  72. package/artifacts/contracts/libs/v0.8.x/ENSLib.sol/IUniversalResolver.json +45 -0
  73. package/artifacts/contracts/libs/v0.8.x/EnumerableSetUint16.sol/EnumerableSetUint16.json +10 -0
  74. package/artifacts/contracts/libs/v0.8.x/FeistelWalkLib.sol/FeistelWalkLib.json +10 -0
  75. package/artifacts/contracts/libs/v0.8.x/ImmutableUint16Array.sol/ImmutableUint16Array.json +10 -0
  76. package/artifacts/contracts/libs/v0.8.x/V3EngineLib.sol/V3EngineLib.json +163 -0
  77. package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +2 -2
  78. package/artifacts/contracts/libs/v0.8.x/V3TransferHookLib.sol/V3TransferHookLib.json +79 -0
  79. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +2 -2
  80. package/artifacts/contracts/libs/v0.8.x/minter-libs/OnChainAllowlistLib.sol/OnChainAllowlistLib.json +10 -0
  81. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
  82. package/artifacts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol/RAMLib.json +2 -2
  83. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +2 -2
  84. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +2 -2
  85. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +2 -2
  86. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  87. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +2 -2
  88. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +2 -2
  89. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +2 -2
  90. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +2 -2
  91. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +2 -2
  92. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +2 -2
  93. package/artifacts/contracts/minter-suite/Minters/MinterMinPriceMerkleV0.sol/MinterMinPriceMerkleV0.json +2 -2
  94. package/artifacts/contracts/minter-suite/Minters/MinterMinPriceV0.sol/MinterMinPriceV0.json +2 -2
  95. package/artifacts/contracts/minter-suite/Minters/MinterRAMV0.sol/MinterRAMV0.json +2 -2
  96. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +2 -2
  97. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +2 -2
  98. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +2 -2
  99. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +2 -2
  100. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceOnChainAllowV0.sol/MinterSetPriceOnChainAllowV0.json +522 -0
  101. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +2 -2
  102. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +2 -2
  103. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceTieredAllowV1.sol/MinterSetPriceTieredAllowV1.json +715 -0
  104. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +2 -2
  105. package/artifacts/contracts/minter-suite/Minters/MinterSlidingScaleV0.sol/MinterSlidingScaleV0.json +431 -0
  106. package/artifacts/contracts/minter-suite/Minters/one-off/ClaimMinter.sol/ClaimMinter.json +502 -0
  107. package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceTieredOnChainAllowV0.sol/MinterSetPriceTieredOnChainAllowV0.json +673 -0
  108. package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol/MinterSetPriceV5_SingleCore.json +2 -2
  109. package/artifacts/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol/SeaDropXArtBlocksShim.json +6 -19
  110. package/artifacts/contracts/mock/BytecodeV2TextCR_DMock.sol/BytecodeV2TextCR_DMock.json +2 -2
  111. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
  112. package/artifacts/contracts/mock/ENSLibMock.sol/ENSLibMock.json +30 -0
  113. package/artifacts/contracts/mock/EnumerableSetUint16Mock.sol/EnumerableSetUint16Mock.json +146 -0
  114. package/artifacts/contracts/mock/FeistelWalkLibMock.sol/FeistelWalkLibMock.json +142 -0
  115. package/artifacts/contracts/mock/ForceSendMock.sol/ForceSendMock.json +2 -2
  116. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +2 -2
  117. package/artifacts/contracts/mock/ImmutableUint16ArrayMock.sol/ImmutableUint16ArrayMock.json +89 -0
  118. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +2 -2
  119. package/artifacts/contracts/mock/MockGenArt721V3Core.sol/MockGenArt721V3Core.json +490 -0
  120. package/artifacts/contracts/mock/MockPMP.sol/MockPMP.json +523 -0
  121. package/artifacts/contracts/mock/MockPMPAugmentHook.sol/MockPMPAugmentHook.json +2 -2
  122. package/artifacts/contracts/mock/MockPMPConfigureHook.sol/MockPMPConfigureHook.json +2 -2
  123. package/artifacts/contracts/mock/MockTransferHook.sol/MockTransferHook.json +453 -0
  124. package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockBatchTransferrer.json +39 -0
  125. package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockForwardingERC721Receiver.json +71 -0
  126. package/artifacts/contracts/mock/MockTransferHookTestHelpers.sol/MockSpoofingCore.json +94 -0
  127. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  128. package/artifacts/contracts/mock/ReentrancyBatchMockShared.sol/IBatchMinter.json +64 -0
  129. package/artifacts/contracts/mock/ReentrancyBatchMockShared.sol/ReentrancyBatchMockShared.json +113 -0
  130. package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/MockTarget.json +74 -0
  131. package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/RelayExecutorPartialRevertsTestHelper.json +138 -0
  132. package/artifacts/contracts/mock/RelayExecutorTestHelper.sol/RelayExecutorTestHelper.json +119 -0
  133. package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
  134. package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
  135. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +2 -2
  136. package/artifacts/contracts/relay/RelayExecutor.sol/RelayExecutor.json +101 -0
  137. package/artifacts/contracts/relay/RelayExecutorPartialReverts.sol/RelayExecutorPartialReverts.json +120 -0
  138. package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverrideSplits.sol/GenArt721RoyaltyOverrideSplits.json +263 -0
  139. package/artifacts/contracts/utils/MintMulticallUtil.sol/IMinterSetPriceV5.json +40 -0
  140. package/artifacts/contracts/utils/MintMulticallUtil.sol/MintMulticallUtil.json +163 -0
  141. package/artifacts/contracts/web3call/PMPV0.sol/PMPV0.json +9 -3
  142. package/artifacts/contracts/web3call/PMPV1.sol/PMPV1.json +648 -0
  143. package/artifacts/contracts/web3call/augment-hooks/InjectBaseGasFee.sol/InjectBaseGasFee.json +2 -2
  144. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeight.sol/InjectBlockHeight.json +83 -0
  145. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightAndArtistProjectOverrides.sol/InjectBlockHeightAndArtistProjectOverrides.json +226 -0
  146. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightAndNumOwnedProjectTokens.sol/InjectBlockHeightAndNumOwnedProjectTokens.json +182 -0
  147. package/artifacts/contracts/web3call/augment-hooks/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.sol/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.json +226 -0
  148. package/artifacts/contracts/web3call/augment-hooks/InjectBlockTimestamp.sol/InjectBlockTimestamp.json +83 -0
  149. package/artifacts/contracts/web3call/augment-hooks/InjectBytesPerToken.sol/InjectBytesPerToken.json +358 -0
  150. package/artifacts/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol/InjectChromieSquiggleFloorPrice.json +2 -2
  151. package/artifacts/contracts/web3call/augment-hooks/InjectIsNounsDaoMember.sol/InjectIsNounsDaoMember.json +2 -2
  152. package/artifacts/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol/InjectIsProjectFullyMinted.json +2 -2
  153. package/artifacts/contracts/web3call/augment-hooks/InjectPolyptychTokenHash.sol/InjectPolyptychTokenHash.json +2 -2
  154. package/artifacts/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol/InjectTokenHashSeed.json +2 -2
  155. package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwner.sol/InjectTokenOwner.json +2 -2
  156. package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol/InjectTokenOwnerEthBalance.json +2 -2
  157. package/artifacts/contracts/web3call/augment-hooks/InjectUSDCTotalSupply.sol/InjectUSDCTotalSupply.json +2 -2
  158. package/artifacts/contracts/web3call/augment-hooks/SRHooks.sol/SRHooks.json +899 -0
  159. package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/IGenArt721V0_Minimal.json +30 -0
  160. package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/IRelic.json +35 -0
  161. package/artifacts/contracts/web3call/combined-hooks/LiftHooks.sol/LiftHooks.json +256 -0
  162. package/artifacts/contracts/web3call/configure-hooks/{abstractPMPConfigureHook.sol → AbstractPMPConfigureHook.sol}/AbstractPMPConfigureHook.json +1 -1
  163. package/artifacts/contracts/web3call/configure-hooks/PMPConfigureLockHook.sol/PMPConfigureLockHook.json +195 -0
  164. package/contracts/AdminACLV0RoyaltyRegistry.sol +142 -0
  165. package/contracts/DependencyRegistryV0.sol +143 -13
  166. package/contracts/GenArt721CoreV3_Curated.sol +1 -1
  167. package/contracts/GenArt721CoreV3_Curated_Flex.sol +173 -0
  168. package/contracts/GenArt721CoreV3_Explorations_Flex.sol +159 -0
  169. package/contracts/engine/V3/EngineFactoryV0.sol +20 -1
  170. package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +286 -299
  171. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +292 -301
  172. package/contracts/engine/V3/transfer-hooks/AbstractTransferHook.sol +101 -0
  173. package/contracts/engine/V3/transfer-hooks/OwnerHistoryTransferHook.sol +291 -0
  174. package/contracts/generator/GenArt721GeneratorV0.sol +145 -47
  175. package/contracts/helpers/ERC1967ProxyImport.sol +5 -0
  176. package/contracts/interfaces/v0.8.x/IArtblocksRoyaltyOverride.sol +1 -1
  177. package/contracts/interfaces/v0.8.x/IClaimMinter.sol +70 -0
  178. package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +95 -0
  179. package/contracts/interfaces/v0.8.x/IEngineFactoryV0.sol +15 -0
  180. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol +21 -2
  181. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol +72 -0
  182. package/contracts/interfaces/v0.8.x/IOwnerHistoryTransferHook.sol +119 -0
  183. package/contracts/interfaces/v0.8.x/IPMPV0.sol +5 -3
  184. package/contracts/interfaces/v0.8.x/ISRHooks.sol +229 -0
  185. package/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol +0 -6
  186. package/contracts/interfaces/v0.8.x/ISharedMinterTieredAllowV0.sol +69 -0
  187. package/contracts/interfaces/v0.8.x/ITransferHook.sol +48 -0
  188. package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +12 -0
  189. package/contracts/libs/v0.8.x/ENSLib.sol +85 -0
  190. package/contracts/libs/v0.8.x/EnumerableSetUint16.sol +429 -0
  191. package/contracts/libs/v0.8.x/FeistelWalkLib.sol +221 -0
  192. package/contracts/libs/v0.8.x/ImmutableUint16Array.sol +201 -0
  193. package/contracts/libs/v0.8.x/V3EngineLib.sol +490 -0
  194. package/contracts/libs/v0.8.x/V3TransferHookLib.sol +251 -0
  195. package/contracts/libs/v0.8.x/minter-libs/OnChainAllowlistLib.sol +165 -0
  196. package/contracts/minter-suite/Minters/MinterSetPriceOnChainAllowV0.sol +632 -0
  197. package/contracts/minter-suite/Minters/MinterSetPriceTieredAllowV1.sol +871 -0
  198. package/contracts/minter-suite/Minters/MinterSlidingScaleV0.sol +493 -0
  199. package/contracts/minter-suite/Minters/one-off/ClaimMinter.sol +595 -0
  200. package/contracts/minter-suite/Minters/one-off/MinterSetPriceTieredOnChainAllowV0.sol +894 -0
  201. package/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol +59 -41
  202. package/contracts/mock/ENSLibMock.sol +25 -0
  203. package/contracts/mock/EnumerableSetUint16Mock.sol +88 -0
  204. package/contracts/mock/FeistelWalkLibMock.sol +81 -0
  205. package/contracts/mock/ImmutableUint16ArrayMock.sol +62 -0
  206. package/contracts/mock/MockGenArt721V3Core.sol +416 -0
  207. package/contracts/mock/MockPMP.sol +287 -0
  208. package/contracts/mock/MockTransferHook.sol +160 -0
  209. package/contracts/mock/MockTransferHookTestHelpers.sol +96 -0
  210. package/contracts/mock/ReentrancyBatchMockShared.sol +53 -0
  211. package/contracts/mock/RelayExecutorTestHelper.sol +44 -0
  212. package/contracts/relay/RelayExecutor.sol +61 -0
  213. package/contracts/relay/RelayExecutorPartialReverts.sol +79 -0
  214. package/contracts/royalty-registry/GenArt721RoyaltyOverrideSplits.sol +130 -0
  215. package/contracts/utils/MintMulticallUtil.sol +103 -0
  216. package/contracts/web3call/PMPV0.sol +92 -98
  217. package/contracts/web3call/PMPV1.sol +1204 -0
  218. package/contracts/web3call/augment-hooks/AbstractPMPAugmentHook.sol +1 -1
  219. package/contracts/web3call/augment-hooks/InjectBaseGasFee.sol +1 -1
  220. package/contracts/web3call/augment-hooks/InjectBlockHeight.sol +57 -0
  221. package/contracts/web3call/augment-hooks/InjectBlockHeightAndArtistProjectOverrides.sol +310 -0
  222. package/contracts/web3call/augment-hooks/InjectBlockHeightAndNumOwnedProjectTokens.sol +141 -0
  223. package/contracts/web3call/augment-hooks/InjectBlockHeightProjectInvocationsAndArtistProjectOverrides.sol +326 -0
  224. package/contracts/web3call/augment-hooks/InjectBlockTimestamp.sol +57 -0
  225. package/contracts/web3call/augment-hooks/InjectBytesPerToken.sol +279 -0
  226. package/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol +1 -1
  227. package/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol +1 -1
  228. package/contracts/web3call/augment-hooks/InjectTokenOwner.sol +1 -1
  229. package/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol +1 -1
  230. package/contracts/web3call/augment-hooks/SRHooks.sol +1722 -0
  231. package/contracts/web3call/combined-hooks/LiftHooks.sol +304 -0
  232. package/contracts/web3call/configure-hooks/{abstractPMPConfigureHook.sol → AbstractPMPConfigureHook.sol} +1 -1
  233. package/contracts/web3call/configure-hooks/PMPConfigureLockHook.sol +107 -0
  234. package/package.json +40 -25
@@ -0,0 +1,432 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ISRHooks",
4
+ "sourceName": "contracts/interfaces/v0.8.x/ISRHooks.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "address",
12
+ "name": "coreContractAddress",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "uint256",
18
+ "name": "coreProjectId",
19
+ "type": "uint256"
20
+ }
21
+ ],
22
+ "name": "SRHooksInitialized",
23
+ "type": "event"
24
+ },
25
+ {
26
+ "anonymous": false,
27
+ "inputs": [
28
+ {
29
+ "indexed": true,
30
+ "internalType": "address",
31
+ "name": "coreContract",
32
+ "type": "address"
33
+ },
34
+ {
35
+ "indexed": true,
36
+ "internalType": "uint256",
37
+ "name": "tokenId",
38
+ "type": "uint256"
39
+ },
40
+ {
41
+ "indexed": false,
42
+ "internalType": "uint16[]",
43
+ "name": "tokensReceivingFrom",
44
+ "type": "uint16[]"
45
+ }
46
+ ],
47
+ "name": "TokenReceivingFromUpdated",
48
+ "type": "event"
49
+ },
50
+ {
51
+ "anonymous": false,
52
+ "inputs": [
53
+ {
54
+ "indexed": true,
55
+ "internalType": "address",
56
+ "name": "coreContract",
57
+ "type": "address"
58
+ },
59
+ {
60
+ "indexed": true,
61
+ "internalType": "uint256",
62
+ "name": "tokenId",
63
+ "type": "uint256"
64
+ },
65
+ {
66
+ "indexed": false,
67
+ "internalType": "uint16[]",
68
+ "name": "tokensSendingTo",
69
+ "type": "uint16[]"
70
+ }
71
+ ],
72
+ "name": "TokenSendingToUpdated",
73
+ "type": "event"
74
+ },
75
+ {
76
+ "inputs": [],
77
+ "name": "getGeneralPoolState",
78
+ "outputs": [
79
+ {
80
+ "internalType": "uint256",
81
+ "name": "sendGeneralTokensLength",
82
+ "type": "uint256"
83
+ },
84
+ {
85
+ "internalType": "uint256",
86
+ "name": "receiveGeneralTokensLength",
87
+ "type": "uint256"
88
+ }
89
+ ],
90
+ "stateMutability": "view",
91
+ "type": "function"
92
+ },
93
+ {
94
+ "inputs": [
95
+ {
96
+ "internalType": "uint256",
97
+ "name": "tokenNumber",
98
+ "type": "uint256"
99
+ },
100
+ {
101
+ "internalType": "uint256",
102
+ "name": "blockNumber",
103
+ "type": "uint256"
104
+ },
105
+ {
106
+ "internalType": "uint256",
107
+ "name": "maxReceive",
108
+ "type": "uint256"
109
+ }
110
+ ],
111
+ "name": "getLiveData",
112
+ "outputs": [
113
+ {
114
+ "internalType": "enum ISRHooks.SendStates",
115
+ "name": "sendState",
116
+ "type": "uint8"
117
+ },
118
+ {
119
+ "internalType": "enum ISRHooks.ReceiveStates",
120
+ "name": "receiveState",
121
+ "type": "uint8"
122
+ },
123
+ {
124
+ "components": [
125
+ {
126
+ "internalType": "uint256",
127
+ "name": "tokenNumber",
128
+ "type": "uint256"
129
+ },
130
+ {
131
+ "internalType": "address",
132
+ "name": "ownerAddress",
133
+ "type": "address"
134
+ },
135
+ {
136
+ "internalType": "bytes",
137
+ "name": "imageDataCompressed",
138
+ "type": "bytes"
139
+ },
140
+ {
141
+ "internalType": "bytes",
142
+ "name": "soundDataCompressed",
143
+ "type": "bytes"
144
+ },
145
+ {
146
+ "internalType": "string",
147
+ "name": "ownerEnsName",
148
+ "type": "string"
149
+ }
150
+ ],
151
+ "internalType": "struct ISRHooks.TokenLiveData[]",
152
+ "name": "receivedTokensGeneral",
153
+ "type": "tuple[]"
154
+ },
155
+ {
156
+ "components": [
157
+ {
158
+ "internalType": "uint256",
159
+ "name": "tokenNumber",
160
+ "type": "uint256"
161
+ },
162
+ {
163
+ "internalType": "address",
164
+ "name": "ownerAddress",
165
+ "type": "address"
166
+ },
167
+ {
168
+ "internalType": "bytes",
169
+ "name": "imageDataCompressed",
170
+ "type": "bytes"
171
+ },
172
+ {
173
+ "internalType": "bytes",
174
+ "name": "soundDataCompressed",
175
+ "type": "bytes"
176
+ },
177
+ {
178
+ "internalType": "string",
179
+ "name": "ownerEnsName",
180
+ "type": "string"
181
+ }
182
+ ],
183
+ "internalType": "struct ISRHooks.TokenLiveData[]",
184
+ "name": "receivedTokensTo",
185
+ "type": "tuple[]"
186
+ },
187
+ {
188
+ "internalType": "uint256",
189
+ "name": "numSendGeneral",
190
+ "type": "uint256"
191
+ },
192
+ {
193
+ "internalType": "uint256",
194
+ "name": "numReceiveGeneral",
195
+ "type": "uint256"
196
+ },
197
+ {
198
+ "internalType": "uint256",
199
+ "name": "numSendingToMe",
200
+ "type": "uint256"
201
+ },
202
+ {
203
+ "internalType": "uint256",
204
+ "name": "usedBlockNumber",
205
+ "type": "uint256"
206
+ }
207
+ ],
208
+ "stateMutability": "view",
209
+ "type": "function"
210
+ },
211
+ {
212
+ "inputs": [
213
+ {
214
+ "internalType": "uint256",
215
+ "name": "tokenNumber",
216
+ "type": "uint256"
217
+ },
218
+ {
219
+ "internalType": "uint256",
220
+ "name": "slot",
221
+ "type": "uint256"
222
+ }
223
+ ],
224
+ "name": "getTokenMetadataAtSlot",
225
+ "outputs": [
226
+ {
227
+ "components": [
228
+ {
229
+ "internalType": "bytes",
230
+ "name": "imageDataCompressed",
231
+ "type": "bytes"
232
+ },
233
+ {
234
+ "internalType": "uint16",
235
+ "name": "imageVersion",
236
+ "type": "uint16"
237
+ },
238
+ {
239
+ "internalType": "bytes",
240
+ "name": "soundDataCompressed",
241
+ "type": "bytes"
242
+ },
243
+ {
244
+ "internalType": "uint16",
245
+ "name": "soundVersion",
246
+ "type": "uint16"
247
+ }
248
+ ],
249
+ "internalType": "struct ISRHooks.TokenMetadataView",
250
+ "name": "tokenMetadata",
251
+ "type": "tuple"
252
+ }
253
+ ],
254
+ "stateMutability": "view",
255
+ "type": "function"
256
+ },
257
+ {
258
+ "inputs": [
259
+ {
260
+ "internalType": "uint256",
261
+ "name": "tokenNumber",
262
+ "type": "uint256"
263
+ }
264
+ ],
265
+ "name": "getTokenState",
266
+ "outputs": [
267
+ {
268
+ "internalType": "enum ISRHooks.SendStates",
269
+ "name": "sendState",
270
+ "type": "uint8"
271
+ },
272
+ {
273
+ "internalType": "enum ISRHooks.ReceiveStates",
274
+ "name": "receiveState",
275
+ "type": "uint8"
276
+ },
277
+ {
278
+ "internalType": "uint16[]",
279
+ "name": "tokensSendingTo",
280
+ "type": "uint16[]"
281
+ },
282
+ {
283
+ "internalType": "uint16[]",
284
+ "name": "tokensReceivingFrom",
285
+ "type": "uint16[]"
286
+ },
287
+ {
288
+ "internalType": "uint256",
289
+ "name": "activeSlot",
290
+ "type": "uint256"
291
+ },
292
+ {
293
+ "components": [
294
+ {
295
+ "internalType": "bytes",
296
+ "name": "imageDataCompressed",
297
+ "type": "bytes"
298
+ },
299
+ {
300
+ "internalType": "uint16",
301
+ "name": "imageVersion",
302
+ "type": "uint16"
303
+ },
304
+ {
305
+ "internalType": "bytes",
306
+ "name": "soundDataCompressed",
307
+ "type": "bytes"
308
+ },
309
+ {
310
+ "internalType": "uint16",
311
+ "name": "soundVersion",
312
+ "type": "uint16"
313
+ }
314
+ ],
315
+ "internalType": "struct ISRHooks.TokenMetadataView",
316
+ "name": "activeSlotTokenMetadata",
317
+ "type": "tuple"
318
+ },
319
+ {
320
+ "internalType": "address",
321
+ "name": "ownerAddress",
322
+ "type": "address"
323
+ }
324
+ ],
325
+ "stateMutability": "view",
326
+ "type": "function"
327
+ },
328
+ {
329
+ "inputs": [
330
+ {
331
+ "internalType": "uint256",
332
+ "name": "tokenNumber",
333
+ "type": "uint256"
334
+ }
335
+ ],
336
+ "name": "getTokensSendingToToken",
337
+ "outputs": [
338
+ {
339
+ "internalType": "uint256[]",
340
+ "name": "tokensSendingTo",
341
+ "type": "uint256[]"
342
+ }
343
+ ],
344
+ "stateMutability": "view",
345
+ "type": "function"
346
+ },
347
+ {
348
+ "inputs": [
349
+ {
350
+ "internalType": "uint256",
351
+ "name": "tokenNumber",
352
+ "type": "uint256"
353
+ },
354
+ {
355
+ "internalType": "bool",
356
+ "name": "updateSendState",
357
+ "type": "bool"
358
+ },
359
+ {
360
+ "internalType": "enum ISRHooks.SendStates",
361
+ "name": "sendState",
362
+ "type": "uint8"
363
+ },
364
+ {
365
+ "internalType": "uint16[]",
366
+ "name": "tokensSendingTo",
367
+ "type": "uint16[]"
368
+ },
369
+ {
370
+ "internalType": "bool",
371
+ "name": "updateReceiveState",
372
+ "type": "bool"
373
+ },
374
+ {
375
+ "internalType": "enum ISRHooks.ReceiveStates",
376
+ "name": "receiveState",
377
+ "type": "uint8"
378
+ },
379
+ {
380
+ "internalType": "uint16[]",
381
+ "name": "tokensReceivingFrom",
382
+ "type": "uint16[]"
383
+ },
384
+ {
385
+ "internalType": "bool",
386
+ "name": "updateTokenMetadata",
387
+ "type": "bool"
388
+ },
389
+ {
390
+ "internalType": "uint256",
391
+ "name": "updatedActiveSlot",
392
+ "type": "uint256"
393
+ },
394
+ {
395
+ "components": [
396
+ {
397
+ "internalType": "bool",
398
+ "name": "updateImage",
399
+ "type": "bool"
400
+ },
401
+ {
402
+ "internalType": "bytes",
403
+ "name": "imageDataCompressed",
404
+ "type": "bytes"
405
+ },
406
+ {
407
+ "internalType": "bool",
408
+ "name": "updateSound",
409
+ "type": "bool"
410
+ },
411
+ {
412
+ "internalType": "bytes",
413
+ "name": "soundDataCompressed",
414
+ "type": "bytes"
415
+ }
416
+ ],
417
+ "internalType": "struct ISRHooks.TokenMetadataCalldata",
418
+ "name": "tokenMetadataCalldata",
419
+ "type": "tuple"
420
+ }
421
+ ],
422
+ "name": "updateTokenStateAndMetadata",
423
+ "outputs": [],
424
+ "stateMutability": "nonpayable",
425
+ "type": "function"
426
+ }
427
+ ],
428
+ "bytecode": "0x",
429
+ "deployedBytecode": "0x",
430
+ "linkReferences": {},
431
+ "deployedLinkReferences": {}
432
+ }
@@ -3,19 +3,6 @@
3
3
  "contractName": "ISeaDropShimForContract",
4
4
  "sourceName": "contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol",
5
5
  "abi": [
6
- {
7
- "anonymous": false,
8
- "inputs": [
9
- {
10
- "indexed": false,
11
- "internalType": "uint256",
12
- "name": "newLocalMaxSupply",
13
- "type": "uint256"
14
- }
15
- ],
16
- "name": "LocalMaxSupplyUpdated",
17
- "type": "event"
18
- },
19
6
  {
20
7
  "anonymous": false,
21
8
  "inputs": [
@@ -0,0 +1,94 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ISharedMinterTieredAllowV0",
4
+ "sourceName": "contracts/interfaces/v0.8.x/ISharedMinterTieredAllowV0.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "uint256",
10
+ "name": "projectId",
11
+ "type": "uint256"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "coreContract",
16
+ "type": "address"
17
+ }
18
+ ],
19
+ "name": "getAllowlistPriceInfo",
20
+ "outputs": [
21
+ {
22
+ "internalType": "bool",
23
+ "name": "isConfigured",
24
+ "type": "bool"
25
+ },
26
+ {
27
+ "internalType": "uint256",
28
+ "name": "tokenPriceInWei",
29
+ "type": "uint256"
30
+ },
31
+ {
32
+ "internalType": "string",
33
+ "name": "currencySymbol",
34
+ "type": "string"
35
+ },
36
+ {
37
+ "internalType": "address",
38
+ "name": "currencyAddress",
39
+ "type": "address"
40
+ }
41
+ ],
42
+ "stateMutability": "view",
43
+ "type": "function"
44
+ },
45
+ {
46
+ "inputs": [
47
+ {
48
+ "internalType": "uint256",
49
+ "name": "projectId",
50
+ "type": "uint256"
51
+ },
52
+ {
53
+ "internalType": "address",
54
+ "name": "coreContract",
55
+ "type": "address"
56
+ },
57
+ {
58
+ "internalType": "address",
59
+ "name": "wallet",
60
+ "type": "address"
61
+ }
62
+ ],
63
+ "name": "getPriceInfoForAddress",
64
+ "outputs": [
65
+ {
66
+ "internalType": "bool",
67
+ "name": "isConfigured",
68
+ "type": "bool"
69
+ },
70
+ {
71
+ "internalType": "uint256",
72
+ "name": "tokenPriceInWei",
73
+ "type": "uint256"
74
+ },
75
+ {
76
+ "internalType": "string",
77
+ "name": "currencySymbol",
78
+ "type": "string"
79
+ },
80
+ {
81
+ "internalType": "address",
82
+ "name": "currencyAddress",
83
+ "type": "address"
84
+ }
85
+ ],
86
+ "stateMutability": "view",
87
+ "type": "function"
88
+ }
89
+ ],
90
+ "bytecode": "0x",
91
+ "deployedBytecode": "0x",
92
+ "linkReferences": {},
93
+ "deployedLinkReferences": {}
94
+ }
@@ -0,0 +1,63 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ITransferHook",
4
+ "sourceName": "contracts/interfaces/v0.8.x/ITransferHook.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "coreContract",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "tokenId",
16
+ "type": "uint256"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "from",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "address",
25
+ "name": "to",
26
+ "type": "address"
27
+ },
28
+ {
29
+ "internalType": "address",
30
+ "name": "operator",
31
+ "type": "address"
32
+ }
33
+ ],
34
+ "name": "onTokenTransfer",
35
+ "outputs": [],
36
+ "stateMutability": "nonpayable",
37
+ "type": "function"
38
+ },
39
+ {
40
+ "inputs": [
41
+ {
42
+ "internalType": "bytes4",
43
+ "name": "interfaceId",
44
+ "type": "bytes4"
45
+ }
46
+ ],
47
+ "name": "supportsInterface",
48
+ "outputs": [
49
+ {
50
+ "internalType": "bool",
51
+ "name": "",
52
+ "type": "bool"
53
+ }
54
+ ],
55
+ "stateMutability": "view",
56
+ "type": "function"
57
+ }
58
+ ],
59
+ "bytecode": "0x",
60
+ "deployedBytecode": "0x",
61
+ "linkReferences": {},
62
+ "deployedLinkReferences": {}
63
+ }
@@ -3,8 +3,8 @@
3
3
  "contractName": "AuthLib",
4
4
  "sourceName": "contracts/libs/v0.8.x/AuthLib.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d3ebb8ac905ee72c3d7e475326522a9b564e853a022ee5f6c03f8d43ecb71d0864736f6c63430008160033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d3ebb8ac905ee72c3d7e475326522a9b564e853a022ee5f6c03f8d43ecb71d0864736f6c63430008160033",
6
+ "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220663062876e3f2ce767541c73d896a98af9170cb49f3d1ad4298de2de36442b1464736f6c63430008160033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220663062876e3f2ce767541c73d896a98af9170cb49f3d1ad4298de2de36442b1464736f6c63430008160033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -207,8 +207,8 @@
207
207
  "type": "function"
208
208
  }
209
209
  ],
210
- "bytecode": "0x610c4761003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100ae5760003560e01c80631c6d7fcd146100b35780632475d709146100db5780632e1daf90146100fb57806342e832e01461011057806375662f381461013b5780638161f0ab1461014e57806387630c1514610163578063a5fedafa14610176578063ba412189146100b3578063cc31a3311461018b578063e32551e71461019e578063f6670014146101b1575b600080fd5b6100c8600080516020610bd283398151915281565b6040519081526020015b60405180910390f35b6100ee6100e936600461098f565b6101d4565b6040516100d291906109f0565b6100c8600080516020610b9283398151915281565b61012361011e36600461098f565b6101e7565b6040516001600160a01b0390911681526020016100d2565b6100ee61014936600461098f565b61024c565b6100c8600080516020610bb283398151915281565b6100ee610171366004610a03565b610284565b6100c8600080516020610bf283398151915281565b6100c861019936600461098f565b6102dd565b6100ee6101ac366004610a43565b6102e8565b6101c46101bf36600461098f565b6102f3565b60405190151581526020016100d2565b60606101e1826001610284565b92915050565b6000806101f3836102ff565b9050600061020084610327565b905061020d816020610af3565b8210156102355760405162461bcd60e51b815260040161022c90610b14565b60405180910390fd5b60405160206040510160405260208282873c602081f35b606060008061025a846103ad565b91509150801561027e576102766102718584610284565b610425565b949350505050565b61027684835b60606000610291846102ff565b9050828110156102b35760405162461bcd60e51b815260040161022c90610b14565b60408051603f858403908101601f191682019092528181529250808460208501873c505092915050565b60006101e1826104e4565b60606101e1826105dd565b600080610276836103ad565b803b60008190036103225760405162461bcd60e51b815260040161022c90610b14565b919050565b600080610333836104e4565b9050600080516020610bd2833981519152810361035357602191506103a7565b600080516020610bb2833981519152810361037157602191506103a7565b600080516020610bf2833981519152810361038f57604891506103a7565b60405162461bcd60e51b815260040161022c90610b4b565b50919050565b60008060006103bb846104e4565b9050600080516020610bd283398151915281036103e757604292506103e084826108b3565b915061041f565b600080516020610bb28339815191528103610405576041925061041f565b600080516020610bf2833981519152810361038f57606892505b50915091565b60405181516020838101938184019201015b808410156104cb5783518060001a8060051c8061046a575060018681015185529581016002019593019092019150610437565b600781148360011a600701821881028218600201600185836001011a85601f1660081b01018088036020821860208311028218915060005b818101518a82015282018381106104a2579a84016002019a988301985050505050505050610437565b50601f1982820301825260008152602001604052919050565b6000806104f0836102ff565b90506104fe60016020610af3565b81101561051b5750600080516020610b9283398151915292915050565b6040516020604051016040526020600182863c8051600080516020610bd2833981519152811461059757600080516020610bb283398151915281146105ad577f2060486000396000513314601057fe5b60013614601957fe5b6000357fff000081146105c357600080516020610b9283398151915293506105d5565b600080516020610bd283398151915293506105d5565b600080516020610bb283398151915293506105d5565b600080516020610bf283398151915293505b505050919050565b606061075b565b818153600101919050565b51600081901a600182901a60081b1760029190911a60101b1790565b600082840393505b838110156106345782810151828201511860001a1590930292600101610613565b9392505050565b825b60208210610669578251610652601f836105e4565b5260209290920191601f199091019060210161063d565b811561063457825161067e60018403836105e4565b520160010192915050565b60006001830392505b61010782106106ca576106bc8360ff166106b760fd6106b78760081c60e001896105e4565b6105e4565b935061010682039150610692565b600782106106f7576106f08360ff166106b7600785036106b78760081c60e001896105e4565b9050610634565b6102768360ff166106b78560081c8560051b01876105e4565b8060021b6040510182815160e01c1860e01b8151188152505050565b61075382820361074e61073e846105ef565b639e3779b90260131c611fff1690565b610710565b600101919050565b5060405161800038823961800081016020830180600d8551820103826002015b81811015610868576000805b610790836105ef565b611fff639e3779b9820260131c16604051600282901b015160e01c870193506107bb87860382610710565b5082840391508484106107ce57506107f8565b600184019350611fff82116107f2576107e6836105ef565b81036107f257506107f8565b50610787565b838310610806575050610868565b6001830392508583111561082457610821878788860361063b565b96505b61083860098501600385016003850161060b565b9150610845878284610689565b96505061085d846108588684860161072c565b61072c565b91505080935061077b565b5050617fe061087d848485895186010361063b565b03925050506020820180820383525b8181116108a357617fe0810151815260200161088c565b5060008152602001604052919050565b6000600080516020610bf28339815191528214806108de5750600080516020610bb283398151915282145b156108eb575060006101e1565b600080516020610bd283398151915282146109185760405162461bcd60e51b815260040161022c90610b4b565b6000610923846102ff565b905061093160416001610af3565b8110156109425760009150506101e1565b604051602060405101604052600081526001604182873c8051801561096a576001935061096f565b600093505b50505092915050565b80356001600160a01b038116811461032257600080fd5b6000602082840312156109a157600080fd5b61063482610978565b6000815180845260005b818110156109d0576020818501810151868301820152016109b4565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061063460208301846109aa565b60008060408385031215610a1657600080fd5b610a1f83610978565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215610a5557600080fd5b81356001600160401b0380821115610a6c57600080fd5b818401915084601f830112610a8057600080fd5b813581811115610a9257610a92610a2d565b604051601f8201601f19908116603f01168101908382118183101715610aba57610aba610a2d565b81604052828152876020848701011115610ad357600080fd5b826020860160208301376000928101602001929092525095945050505050565b808201808211156101e157634e487b7160e01b600052601160045260246000fd5b6020808252601d908201527f436f6e7472616374417353746f726167653a2052656164204572726f72000000604082015260600190565b60208082526026908201527f436f6e7472616374417353746f726167653a20556e737570706f72746564205660408201526532b939b4b7b760d11b60608201526080019056fe554e4b4e4f574e5f56455253494f4e5f535452494e475f5f5f5f5f5f5f5f5f2042797465636f646553746f726167655f56312e302e305f5f5f5f5f5f5f5f5f2042797465636f646553746f726167655f56322e302e305f5f5f5f5f5f5f5f5f2042797465636f646553746f726167655f56302e302e305f5f5f5f5f5f5f5f5f20a26469706673582212204545d923c2f2c6c06f097de07e83f6050946db57b2c6e3ff25700dc6d332748d64736f6c63430008160033",
211
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100ae5760003560e01c80631c6d7fcd146100b35780632475d709146100db5780632e1daf90146100fb57806342e832e01461011057806375662f381461013b5780638161f0ab1461014e57806387630c1514610163578063a5fedafa14610176578063ba412189146100b3578063cc31a3311461018b578063e32551e71461019e578063f6670014146101b1575b600080fd5b6100c8600080516020610bd283398151915281565b6040519081526020015b60405180910390f35b6100ee6100e936600461098f565b6101d4565b6040516100d291906109f0565b6100c8600080516020610b9283398151915281565b61012361011e36600461098f565b6101e7565b6040516001600160a01b0390911681526020016100d2565b6100ee61014936600461098f565b61024c565b6100c8600080516020610bb283398151915281565b6100ee610171366004610a03565b610284565b6100c8600080516020610bf283398151915281565b6100c861019936600461098f565b6102dd565b6100ee6101ac366004610a43565b6102e8565b6101c46101bf36600461098f565b6102f3565b60405190151581526020016100d2565b60606101e1826001610284565b92915050565b6000806101f3836102ff565b9050600061020084610327565b905061020d816020610af3565b8210156102355760405162461bcd60e51b815260040161022c90610b14565b60405180910390fd5b60405160206040510160405260208282873c602081f35b606060008061025a846103ad565b91509150801561027e576102766102718584610284565b610425565b949350505050565b61027684835b60606000610291846102ff565b9050828110156102b35760405162461bcd60e51b815260040161022c90610b14565b60408051603f858403908101601f191682019092528181529250808460208501873c505092915050565b60006101e1826104e4565b60606101e1826105dd565b600080610276836103ad565b803b60008190036103225760405162461bcd60e51b815260040161022c90610b14565b919050565b600080610333836104e4565b9050600080516020610bd2833981519152810361035357602191506103a7565b600080516020610bb2833981519152810361037157602191506103a7565b600080516020610bf2833981519152810361038f57604891506103a7565b60405162461bcd60e51b815260040161022c90610b4b565b50919050565b60008060006103bb846104e4565b9050600080516020610bd283398151915281036103e757604292506103e084826108b3565b915061041f565b600080516020610bb28339815191528103610405576041925061041f565b600080516020610bf2833981519152810361038f57606892505b50915091565b60405181516020838101938184019201015b808410156104cb5783518060001a8060051c8061046a575060018681015185529581016002019593019092019150610437565b600781148360011a600701821881028218600201600185836001011a85601f1660081b01018088036020821860208311028218915060005b818101518a82015282018381106104a2579a84016002019a988301985050505050505050610437565b50601f1982820301825260008152602001604052919050565b6000806104f0836102ff565b90506104fe60016020610af3565b81101561051b5750600080516020610b9283398151915292915050565b6040516020604051016040526020600182863c8051600080516020610bd2833981519152811461059757600080516020610bb283398151915281146105ad577f2060486000396000513314601057fe5b60013614601957fe5b6000357fff000081146105c357600080516020610b9283398151915293506105d5565b600080516020610bd283398151915293506105d5565b600080516020610bb283398151915293506105d5565b600080516020610bf283398151915293505b505050919050565b606061075b565b818153600101919050565b51600081901a600182901a60081b1760029190911a60101b1790565b600082840393505b838110156106345782810151828201511860001a1590930292600101610613565b9392505050565b825b60208210610669578251610652601f836105e4565b5260209290920191601f199091019060210161063d565b811561063457825161067e60018403836105e4565b520160010192915050565b60006001830392505b61010782106106ca576106bc8360ff166106b760fd6106b78760081c60e001896105e4565b6105e4565b935061010682039150610692565b600782106106f7576106f08360ff166106b7600785036106b78760081c60e001896105e4565b9050610634565b6102768360ff166106b78560081c8560051b01876105e4565b8060021b6040510182815160e01c1860e01b8151188152505050565b61075382820361074e61073e846105ef565b639e3779b90260131c611fff1690565b610710565b600101919050565b5060405161800038823961800081016020830180600d8551820103826002015b81811015610868576000805b610790836105ef565b611fff639e3779b9820260131c16604051600282901b015160e01c870193506107bb87860382610710565b5082840391508484106107ce57506107f8565b600184019350611fff82116107f2576107e6836105ef565b81036107f257506107f8565b50610787565b838310610806575050610868565b6001830392508583111561082457610821878788860361063b565b96505b61083860098501600385016003850161060b565b9150610845878284610689565b96505061085d846108588684860161072c565b61072c565b91505080935061077b565b5050617fe061087d848485895186010361063b565b03925050506020820180820383525b8181116108a357617fe0810151815260200161088c565b5060008152602001604052919050565b6000600080516020610bf28339815191528214806108de5750600080516020610bb283398151915282145b156108eb575060006101e1565b600080516020610bd283398151915282146109185760405162461bcd60e51b815260040161022c90610b4b565b6000610923846102ff565b905061093160416001610af3565b8110156109425760009150506101e1565b604051602060405101604052600081526001604182873c8051801561096a576001935061096f565b600093505b50505092915050565b80356001600160a01b038116811461032257600080fd5b6000602082840312156109a157600080fd5b61063482610978565b6000815180845260005b818110156109d0576020818501810151868301820152016109b4565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061063460208301846109aa565b60008060408385031215610a1657600080fd5b610a1f83610978565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215610a5557600080fd5b81356001600160401b0380821115610a6c57600080fd5b818401915084601f830112610a8057600080fd5b813581811115610a9257610a92610a2d565b604051601f8201601f19908116603f01168101908382118183101715610aba57610aba610a2d565b81604052828152876020848701011115610ad357600080fd5b826020860160208301376000928101602001929092525095945050505050565b808201808211156101e157634e487b7160e01b600052601160045260246000fd5b6020808252601d908201527f436f6e7472616374417353746f726167653a2052656164204572726f72000000604082015260600190565b60208082526026908201527f436f6e7472616374417353746f726167653a20556e737570706f72746564205660408201526532b939b4b7b760d11b60608201526080019056fe554e4b4e4f574e5f56455253494f4e5f535452494e475f5f5f5f5f5f5f5f5f2042797465636f646553746f726167655f56312e302e305f5f5f5f5f5f5f5f5f2042797465636f646553746f726167655f56322e302e305f5f5f5f5f5f5f5f5f2042797465636f646553746f726167655f56302e302e305f5f5f5f5f5f5f5f5f20a26469706673582212204545d923c2f2c6c06f097de07e83f6050946db57b2c6e3ff25700dc6d332748d64736f6c63430008160033",
210
+ "bytecode": "0x610c4761003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100ae5760003560e01c80631c6d7fcd146100b35780632475d709146100db5780632e1daf90146100fb57806342e832e01461011057806375662f381461013b5780638161f0ab1461014e57806387630c1514610163578063a5fedafa14610176578063ba412189146100b3578063cc31a3311461018b578063e32551e71461019e578063f6670014146101b1575b600080fd5b6100c8600080516020610bd283398151915281565b6040519081526020015b60405180910390f35b6100ee6100e936600461098f565b6101d4565b6040516100d291906109f0565b6100c8600080516020610b9283398151915281565b61012361011e36600461098f565b6101e7565b6040516001600160a01b0390911681526020016100d2565b6100ee61014936600461098f565b61024c565b6100c8600080516020610bb283398151915281565b6100ee610171366004610a03565b610284565b6100c8600080516020610bf283398151915281565b6100c861019936600461098f565b6102dd565b6100ee6101ac366004610a43565b6102e8565b6101c46101bf36600461098f565b6102f3565b60405190151581526020016100d2565b60606101e1826001610284565b92915050565b6000806101f3836102ff565b9050600061020084610327565b905061020d816020610af3565b8210156102355760405162461bcd60e51b815260040161022c90610b14565b60405180910390fd5b60405160206040510160405260208282873c602081f35b606060008061025a846103ad565b91509150801561027e576102766102718584610284565b610425565b949350505050565b61027684835b60606000610291846102ff565b9050828110156102b35760405162461bcd60e51b815260040161022c90610b14565b60408051603f858403908101601f191682019092528181529250808460208501873c505092915050565b60006101e1826104e4565b60606101e1826105dd565b600080610276836103ad565b803b60008190036103225760405162461bcd60e51b815260040161022c90610b14565b919050565b600080610333836104e4565b9050600080516020610bd2833981519152810361035357602191506103a7565b600080516020610bb2833981519152810361037157602191506103a7565b600080516020610bf2833981519152810361038f57604891506103a7565b60405162461bcd60e51b815260040161022c90610b4b565b50919050565b60008060006103bb846104e4565b9050600080516020610bd283398151915281036103e757604292506103e084826108b3565b915061041f565b600080516020610bb28339815191528103610405576041925061041f565b600080516020610bf2833981519152810361038f57606892505b50915091565b60405181516020838101938184019201015b808410156104cb5783518060001a8060051c8061046a575060018681015185529581016002019593019092019150610437565b600781148360011a600701821881028218600201600185836001011a85601f1660081b01018088036020821860208311028218915060005b818101518a82015282018381106104a2579a84016002019a988301985050505050505050610437565b50601f1982820301825260008152602001604052919050565b6000806104f0836102ff565b90506104fe60016020610af3565b81101561051b5750600080516020610b9283398151915292915050565b6040516020604051016040526020600182863c8051600080516020610bd2833981519152811461059757600080516020610bb283398151915281146105ad577f2060486000396000513314601057fe5b60013614601957fe5b6000357fff000081146105c357600080516020610b9283398151915293506105d5565b600080516020610bd283398151915293506105d5565b600080516020610bb283398151915293506105d5565b600080516020610bf283398151915293505b505050919050565b606061075b565b818153600101919050565b51600081901a600182901a60081b1760029190911a60101b1790565b600082840393505b838110156106345782810151828201511860001a1590930292600101610613565b9392505050565b825b60208210610669578251610652601f836105e4565b5260209290920191601f199091019060210161063d565b811561063457825161067e60018403836105e4565b520160010192915050565b60006001830392505b61010782106106ca576106bc8360ff166106b760fd6106b78760081c60e001896105e4565b6105e4565b935061010682039150610692565b600782106106f7576106f08360ff166106b7600785036106b78760081c60e001896105e4565b9050610634565b6102768360ff166106b78560081c8560051b01876105e4565b8060021b6040510182815160e01c1860e01b8151188152505050565b61075382820361074e61073e846105ef565b639e3779b90260131c611fff1690565b610710565b600101919050565b5060405161800036823761800081016020830180600d8551820103826002015b81811015610868576000805b610790836105ef565b611fff639e3779b9820260131c16604051600282901b015160e01c870193506107bb87860382610710565b5082840391508484106107ce57506107f8565b600184019350611fff82116107f2576107e6836105ef565b81036107f257506107f8565b50610787565b838310610806575050610868565b6001830392508583111561082457610821878788860361063b565b96505b61083860098501600385016003850161060b565b9150610845878284610689565b96505061085d846108588684860161072c565b61072c565b91505080935061077b565b5050617fe061087d848485895186010361063b565b03925050506020820180820383525b8181116108a357617fe0810151815260200161088c565b5060008152602001604052919050565b6000600080516020610bf28339815191528214806108de5750600080516020610bb283398151915282145b156108eb575060006101e1565b600080516020610bd283398151915282146109185760405162461bcd60e51b815260040161022c90610b4b565b6000610923846102ff565b905061093160416001610af3565b8110156109425760009150506101e1565b604051602060405101604052600081526001604182873c8051801561096a576001935061096f565b600093505b50505092915050565b80356001600160a01b038116811461032257600080fd5b6000602082840312156109a157600080fd5b61063482610978565b6000815180845260005b818110156109d0576020818501810151868301820152016109b4565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061063460208301846109aa565b60008060408385031215610a1657600080fd5b610a1f83610978565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215610a5557600080fd5b81356001600160401b0380821115610a6c57600080fd5b818401915084601f830112610a8057600080fd5b813581811115610a9257610a92610a2d565b604051601f8201601f19908116603f01168101908382118183101715610aba57610aba610a2d565b81604052828152876020848701011115610ad357600080fd5b826020860160208301376000928101602001929092525095945050505050565b808201808211156101e157634e487b7160e01b600052601160045260246000fd5b6020808252601d908201527f436f6e7472616374417353746f726167653a2052656164204572726f72000000604082015260600190565b60208082526026908201527f436f6e7472616374417353746f726167653a20556e737570706f72746564205660408201526532b939b4b7b760d11b60608201526080019056fe554e4b4e4f574e5f56455253494f4e5f535452494e475f5f5f5f5f5f5f5f5f2042797465636f646553746f726167655f56312e302e305f5f5f5f5f5f5f5f5f2042797465636f646553746f726167655f56322e302e305f5f5f5f5f5f5f5f5f2042797465636f646553746f726167655f56302e302e305f5f5f5f5f5f5f5f5f20a26469706673582212202e4e5af2f27183da74f0cbf83cb67fa265f741dffef3f37e2d7ab1190377e5ef64736f6c63430008160033",
211
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100ae5760003560e01c80631c6d7fcd146100b35780632475d709146100db5780632e1daf90146100fb57806342e832e01461011057806375662f381461013b5780638161f0ab1461014e57806387630c1514610163578063a5fedafa14610176578063ba412189146100b3578063cc31a3311461018b578063e32551e71461019e578063f6670014146101b1575b600080fd5b6100c8600080516020610bd283398151915281565b6040519081526020015b60405180910390f35b6100ee6100e936600461098f565b6101d4565b6040516100d291906109f0565b6100c8600080516020610b9283398151915281565b61012361011e36600461098f565b6101e7565b6040516001600160a01b0390911681526020016100d2565b6100ee61014936600461098f565b61024c565b6100c8600080516020610bb283398151915281565b6100ee610171366004610a03565b610284565b6100c8600080516020610bf283398151915281565b6100c861019936600461098f565b6102dd565b6100ee6101ac366004610a43565b6102e8565b6101c46101bf36600461098f565b6102f3565b60405190151581526020016100d2565b60606101e1826001610284565b92915050565b6000806101f3836102ff565b9050600061020084610327565b905061020d816020610af3565b8210156102355760405162461bcd60e51b815260040161022c90610b14565b60405180910390fd5b60405160206040510160405260208282873c602081f35b606060008061025a846103ad565b91509150801561027e576102766102718584610284565b610425565b949350505050565b61027684835b60606000610291846102ff565b9050828110156102b35760405162461bcd60e51b815260040161022c90610b14565b60408051603f858403908101601f191682019092528181529250808460208501873c505092915050565b60006101e1826104e4565b60606101e1826105dd565b600080610276836103ad565b803b60008190036103225760405162461bcd60e51b815260040161022c90610b14565b919050565b600080610333836104e4565b9050600080516020610bd2833981519152810361035357602191506103a7565b600080516020610bb2833981519152810361037157602191506103a7565b600080516020610bf2833981519152810361038f57604891506103a7565b60405162461bcd60e51b815260040161022c90610b4b565b50919050565b60008060006103bb846104e4565b9050600080516020610bd283398151915281036103e757604292506103e084826108b3565b915061041f565b600080516020610bb28339815191528103610405576041925061041f565b600080516020610bf2833981519152810361038f57606892505b50915091565b60405181516020838101938184019201015b808410156104cb5783518060001a8060051c8061046a575060018681015185529581016002019593019092019150610437565b600781148360011a600701821881028218600201600185836001011a85601f1660081b01018088036020821860208311028218915060005b818101518a82015282018381106104a2579a84016002019a988301985050505050505050610437565b50601f1982820301825260008152602001604052919050565b6000806104f0836102ff565b90506104fe60016020610af3565b81101561051b5750600080516020610b9283398151915292915050565b6040516020604051016040526020600182863c8051600080516020610bd2833981519152811461059757600080516020610bb283398151915281146105ad577f2060486000396000513314601057fe5b60013614601957fe5b6000357fff000081146105c357600080516020610b9283398151915293506105d5565b600080516020610bd283398151915293506105d5565b600080516020610bb283398151915293506105d5565b600080516020610bf283398151915293505b505050919050565b606061075b565b818153600101919050565b51600081901a600182901a60081b1760029190911a60101b1790565b600082840393505b838110156106345782810151828201511860001a1590930292600101610613565b9392505050565b825b60208210610669578251610652601f836105e4565b5260209290920191601f199091019060210161063d565b811561063457825161067e60018403836105e4565b520160010192915050565b60006001830392505b61010782106106ca576106bc8360ff166106b760fd6106b78760081c60e001896105e4565b6105e4565b935061010682039150610692565b600782106106f7576106f08360ff166106b7600785036106b78760081c60e001896105e4565b9050610634565b6102768360ff166106b78560081c8560051b01876105e4565b8060021b6040510182815160e01c1860e01b8151188152505050565b61075382820361074e61073e846105ef565b639e3779b90260131c611fff1690565b610710565b600101919050565b5060405161800036823761800081016020830180600d8551820103826002015b81811015610868576000805b610790836105ef565b611fff639e3779b9820260131c16604051600282901b015160e01c870193506107bb87860382610710565b5082840391508484106107ce57506107f8565b600184019350611fff82116107f2576107e6836105ef565b81036107f257506107f8565b50610787565b838310610806575050610868565b6001830392508583111561082457610821878788860361063b565b96505b61083860098501600385016003850161060b565b9150610845878284610689565b96505061085d846108588684860161072c565b61072c565b91505080935061077b565b5050617fe061087d848485895186010361063b565b03925050506020820180820383525b8181116108a357617fe0810151815260200161088c565b5060008152602001604052919050565b6000600080516020610bf28339815191528214806108de5750600080516020610bb283398151915282145b156108eb575060006101e1565b600080516020610bd283398151915282146109185760405162461bcd60e51b815260040161022c90610b4b565b6000610923846102ff565b905061093160416001610af3565b8110156109425760009150506101e1565b604051602060405101604052600081526001604182873c8051801561096a576001935061096f565b600093505b50505092915050565b80356001600160a01b038116811461032257600080fd5b6000602082840312156109a157600080fd5b61063482610978565b6000815180845260005b818110156109d0576020818501810151868301820152016109b4565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061063460208301846109aa565b60008060408385031215610a1657600080fd5b610a1f83610978565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215610a5557600080fd5b81356001600160401b0380821115610a6c57600080fd5b818401915084601f830112610a8057600080fd5b813581811115610a9257610a92610a2d565b604051601f8201601f19908116603f01168101908382118183101715610aba57610aba610a2d565b81604052828152876020848701011115610ad357600080fd5b826020860160208301376000928101602001929092525095945050505050565b808201808211156101e157634e487b7160e01b600052601160045260246000fd5b6020808252601d908201527f436f6e7472616374417353746f726167653a2052656164204572726f72000000604082015260600190565b60208082526026908201527f436f6e7472616374417353746f726167653a20556e737570706f72746564205660408201526532b939b4b7b760d11b60608201526080019056fe554e4b4e4f574e5f56455253494f4e5f535452494e475f5f5f5f5f5f5f5f5f2042797465636f646553746f726167655f56312e302e305f5f5f5f5f5f5f5f5f2042797465636f646553746f726167655f56322e302e305f5f5f5f5f5f5f5f5f2042797465636f646553746f726167655f56302e302e305f5f5f5f5f5f5f5f5f20a26469706673582212202e4e5af2f27183da74f0cbf83cb67fa265f741dffef3f37e2d7ab1190377e5ef64736f6c63430008160033",
212
212
  "linkReferences": {},
213
213
  "deployedLinkReferences": {}
214
214
  }