@artblocks/contracts 1.2.0 → 1.3.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 (219) hide show
  1. package/README.md +22 -38
  2. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  3. package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2.sol/BytecodeStorageReaderContractV2.json +201 -0
  4. package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2_Web3Call.sol/BytecodeStorageReaderContractV2_Web3Call.json +201 -0
  5. package/artifacts/contracts/BytecodeStorageReaders/UniversalBytecodeStorageReader.sol/UniversalBytecodeStorageReader.json +154 -0
  6. package/artifacts/contracts/BytecodeStorageV2Writer.sol/BytecodeStorageV2Writer.json +87 -0
  7. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +174 -55
  8. package/artifacts/contracts/GenArt721CoreV3_Curated.sol/GenArt721CoreV3_Curated.json +2493 -0
  9. package/artifacts/contracts/OwnedCreate2FactoryV0.sol/OwnedCreate2FactoryV0.json +311 -0
  10. package/artifacts/contracts/archive/GenArt721CoreV3.sol/GenArt721CoreV3.json +15 -2
  11. package/artifacts/contracts/archive/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +15 -2
  12. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
  13. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
  14. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
  15. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
  16. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
  17. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
  18. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
  19. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
  20. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV4.sol/MinterDALinV4.json +2 -2
  21. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
  22. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
  23. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
  24. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV4.sol/MinterHolderV4.json +2 -2
  25. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
  26. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
  27. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
  28. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
  29. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
  30. package/artifacts/contracts/archive/minter-suite/Minters/MinterPolyptych/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +37 -0
  31. package/artifacts/contracts/archive/minter-suite/Minters/MinterPolyptych/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
  32. package/artifacts/contracts/archive/minter-suite/Minters/MinterSEA/MinterSEAV0.sol/MinterSEAV0.json +2 -2
  33. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
  34. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
  35. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
  36. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
  37. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
  38. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
  39. package/artifacts/contracts/engine/V3/EngineFactoryV0.sol/EngineFactoryV0.json +20 -2
  40. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +48 -12
  41. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +76 -40
  42. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +15 -2
  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 +15 -2
  45. package/artifacts/contracts/engine/V3/forks/PROHIBITION/interfaces/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.sol/IGenArt721CoreContractV3_Engine_Flex_PROHIBITION.json +37 -0
  46. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +2 -2
  47. package/artifacts/contracts/generator/AddressChunks.sol/AddressChunks.json +10 -0
  48. package/artifacts/contracts/generator/GenArt721GeneratorV0.sol/GenArt721GeneratorV0.json +333 -0
  49. package/artifacts/contracts/generator/GenArt721GeneratorV0.sol/ILegacyGenArt721CoreV2_PBAB_Flex.json +47 -0
  50. package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReader.sol/IBytecodeStorageReader.json +7 -7
  51. package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol/IBytecodeStorageReaderV2.json +7 -7
  52. package/artifacts/contracts/interfaces/v0.8.x/IBytecodeStorageReader_Base.sol/IBytecodeStorageReader_Base.json +30 -0
  53. package/artifacts/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +13 -0
  54. package/artifacts/contracts/interfaces/v0.8.x/IDelegateRegistry.sol/IDelegateRegistry.json +820 -0
  55. package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +183 -0
  56. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +37 -0
  57. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +37 -0
  58. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +42 -0
  59. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +42 -0
  60. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.sol/IGenArt721CoreContractV3_Engine_Flex_PreV3p2.json +37 -0
  61. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine_PreV3p2.sol/IGenArt721CoreContractV3_Engine_PreV3p2.json +37 -0
  62. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreProjectScriptV0.sol/IGenArt721CoreProjectScriptV0.json +59 -0
  63. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreProjectScriptV1.sol/IGenArt721CoreProjectScriptV1.json +64 -0
  64. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreTokenHashProviderV0.sol/IGenArt721CoreTokenHashProviderV0.json +30 -0
  65. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721CoreTokenHashProviderV1.sol/IGenArt721CoreTokenHashProviderV1.json +30 -0
  66. package/artifacts/contracts/interfaces/v0.8.x/IGenArt721GeneratorV0.sol/IGenArt721GeneratorV0.json +63 -0
  67. package/artifacts/contracts/interfaces/v0.8.x/IOwnedCreate2FactoryV0.sol/IOwnedCreate2FactoryV0.json +74 -0
  68. package/artifacts/contracts/interfaces/v0.8.x/IPMPAugmentHook.sol/IPMPAugmentHook.json +83 -0
  69. package/artifacts/contracts/interfaces/v0.8.x/IPMPConfigureHook.sol/IPMPConfigureHook.json +80 -0
  70. package/artifacts/contracts/interfaces/v0.8.x/IPMPV0.sol/IPMPV0.json +402 -0
  71. package/artifacts/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol/ISeaDropShimForContract.json +37 -0
  72. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMinPriceV0.sol/ISharedMinterMinPriceV0.json +37 -0
  73. package/artifacts/contracts/interfaces/v0.8.x/IUniversalBytecodeStorageReader.sol/IUniversalBytecodeStorageReader.json +69 -0
  74. package/artifacts/contracts/interfaces/v0.8.x/IWeb3Call.sol/IWeb3Call.json +47 -0
  75. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ERC721SeaDropStructsErrorsAndEvents.sol/ERC721SeaDropStructsErrorsAndEvents.json +43 -0
  76. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/INonFungibleSeaDropToken.sol/INonFungibleSeaDropToken.json +715 -0
  77. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ISeaDrop.sol/ISeaDrop.json +1571 -0
  78. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ISeaDropTokenContractMetadata.sol/ISeaDropTokenContractMetadata.json +345 -0
  79. package/artifacts/contracts/interfaces/v0.8.x/integration-refs/OpenSea/SeaDropErrorsAndEvents.sol/SeaDropErrorsAndEvents.json +717 -0
  80. package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegateRegistry.sol/DelegateRegistry.json +846 -0
  81. package/artifacts/contracts/libs/integration-refs/delegation-registry/libraries/RegistryHashes.sol/RegistryHashes.json +10 -0
  82. package/artifacts/contracts/libs/integration-refs/delegation-registry/libraries/RegistryOps.sol/RegistryOps.json +10 -0
  83. package/artifacts/contracts/libs/integration-refs/delegation-registry/libraries/RegistryStorage.sol/RegistryStorage.json +10 -0
  84. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
  85. package/artifacts/contracts/libs/v0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
  86. package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +2 -2
  87. package/artifacts/contracts/libs/v0.8.x/ImmutableStringArray.sol/ImmutableStringArray.json +10 -0
  88. package/artifacts/contracts/libs/v0.8.x/JsonStatic.sol/JsonStatic.json +10 -0
  89. package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +9 -22
  90. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +2 -2
  91. package/artifacts/contracts/libs/v0.8.x/minter-libs/MinPriceLib.sol/MinPriceLib.json +24 -0
  92. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
  93. package/artifacts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol/RAMLib.json +2 -2
  94. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +2 -2
  95. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +2 -2
  96. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +2 -2
  97. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  98. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +2 -2
  99. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +2 -2
  100. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +2 -2
  101. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +2 -2
  102. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +2 -2
  103. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +2 -2
  104. package/artifacts/contracts/minter-suite/Minters/MinterMinPriceMerkleV0.sol/MinterMinPriceMerkleV0.json +664 -0
  105. package/artifacts/contracts/minter-suite/Minters/MinterMinPriceV0.sol/MinterMinPriceV0.json +387 -0
  106. package/artifacts/contracts/minter-suite/Minters/MinterRAMV0.sol/MinterRAMV0.json +2 -2
  107. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +2 -2
  108. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +2 -2
  109. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +2 -2
  110. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +2 -2
  111. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +2 -2
  112. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +2 -2
  113. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +2 -2
  114. package/artifacts/contracts/minter-suite/Minters/one-off/MinterSetPriceV5_SingleCore.sol/MinterSetPriceV5_SingleCore.json +2 -2
  115. package/artifacts/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol/SeaDropXArtBlocksShim.json +1206 -0
  116. package/artifacts/contracts/mock/BytecodeV1LibCallsMock.sol/BytecodeV1LibCallsMock.json +2 -2
  117. package/artifacts/contracts/mock/BytecodeV2LibCallsMock.sol/BytecodeV2LibCallsMock.json +2 -2
  118. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
  119. package/artifacts/contracts/mock/ERC20MockAltDecimals.sol/ERC20MockAltDecimals.json +318 -0
  120. package/artifacts/contracts/mock/ForceSendMock.sol/ForceSendMock.json +2 -2
  121. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +2 -2
  122. package/artifacts/contracts/mock/ImmutableStringArrayMock.sol/ImmutableStringArrayMock.json +69 -0
  123. package/artifacts/contracts/mock/MockAdminACLV0_PROHIBITION.sol/MockAdminACLV0Events_PROHIBITION.json +2 -2
  124. package/artifacts/contracts/mock/MockFileStore.sol/MockFileStore.json +35 -0
  125. package/artifacts/contracts/mock/MockPMPAugmentHook.sol/MockPMPAugmentHook.json +214 -0
  126. package/artifacts/contracts/mock/MockPMPConfigureHook.sol/MockPMPConfigureHook.json +236 -0
  127. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +2 -2
  128. package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
  129. package/artifacts/contracts/randomizer/deprecated/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +2 -2
  130. package/artifacts/contracts/randomizer/deprecated/RandomizerV2.sol/BasicRandomizerV2.json +2 -2
  131. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +2 -2
  132. package/artifacts/contracts/web3call/PMPV0.sol/PMPV0.json +629 -0
  133. package/artifacts/contracts/web3call/Web3Call.sol/Web3Call.json +66 -0
  134. package/artifacts/contracts/web3call/augment-hooks/AbstractPMPAugmentHook.sol/AbstractPMPAugmentHook.json +83 -0
  135. package/artifacts/contracts/web3call/augment-hooks/InjectBaseGasFee.sol/InjectBaseGasFee.json +83 -0
  136. package/artifacts/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol/IUniswapV2Pair.json +60 -0
  137. package/artifacts/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol/InjectChromieSquiggleFloorPrice.json +107 -0
  138. package/artifacts/contracts/web3call/augment-hooks/InjectIsNounsDaoMember.sol/InjectIsNounsDaoMember.json +96 -0
  139. package/artifacts/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol/InjectIsProjectFullyMinted.json +83 -0
  140. package/artifacts/contracts/web3call/augment-hooks/InjectPolyptychTokenHash.sol/InjectPolyptychTokenHash.json +141 -0
  141. package/artifacts/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol/InjectTokenHashSeed.json +99 -0
  142. package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwner.sol/InjectTokenOwner.json +99 -0
  143. package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol/InjectTokenOwnerEthBalance.json +83 -0
  144. package/artifacts/contracts/web3call/augment-hooks/InjectUSDCTotalSupply.sol/InjectUSDCTotalSupply.json +107 -0
  145. package/artifacts/contracts/web3call/configure-hooks/abstractPMPConfigureHook.sol/AbstractPMPConfigureHook.json +80 -0
  146. package/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2.sol +103 -0
  147. package/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2_Web3Call.sol +128 -0
  148. package/contracts/BytecodeStorageReaders/UniversalBytecodeStorageReader.sol +70 -0
  149. package/contracts/BytecodeStorageV2Writer.sol +69 -0
  150. package/contracts/DependencyRegistryV0.sol +296 -88
  151. package/contracts/GenArt721CoreV3_Curated.sol +133 -0
  152. package/contracts/OwnedCreate2FactoryV0.sol +173 -0
  153. package/contracts/engine/V3/EngineFactoryV0.sol +10 -2
  154. package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +139 -70
  155. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +148 -72
  156. package/contracts/generator/AddressChunks.sol +106 -0
  157. package/contracts/generator/GenArt721GeneratorV0.sol +1163 -0
  158. package/contracts/generator/scripty-support/Scripty.sol +5 -0
  159. package/contracts/interfaces/v0.8.x/IBytecodeStorageReader.sol +34 -36
  160. package/contracts/interfaces/v0.8.x/IBytecodeStorageReaderV2.sol +5 -3
  161. package/contracts/interfaces/v0.8.x/IBytecodeStorageReader_Base.sol +20 -0
  162. package/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol +5 -0
  163. package/contracts/interfaces/v0.8.x/IDelegateRegistry.sol +318 -0
  164. package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +96 -0
  165. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Base.sol +13 -2
  166. package/contracts/interfaces/v0.8.x/IGenArt721CoreContractV3_Engine.sol +3 -1
  167. package/contracts/interfaces/v0.8.x/IGenArt721CoreProjectScriptV0.sol +22 -0
  168. package/contracts/interfaces/v0.8.x/IGenArt721CoreProjectScriptV1.sol +23 -0
  169. package/contracts/interfaces/v0.8.x/IGenArt721CoreTokenHashProviderV0.sol +11 -0
  170. package/contracts/interfaces/v0.8.x/IGenArt721CoreTokenHashProviderV1.sol +9 -0
  171. package/contracts/interfaces/v0.8.x/IGenArt721GeneratorV0.sol +14 -0
  172. package/contracts/interfaces/v0.8.x/IOwnedCreate2FactoryV0.sol +40 -0
  173. package/contracts/interfaces/v0.8.x/IPMPAugmentHook.sol +31 -0
  174. package/contracts/interfaces/v0.8.x/IPMPConfigureHook.sol +25 -0
  175. package/contracts/interfaces/v0.8.x/IPMPV0.sol +224 -0
  176. package/contracts/interfaces/v0.8.x/ISeaDropShimForContract.sol +19 -0
  177. package/contracts/interfaces/v0.8.x/ISharedMinterMinPriceV0.sol +22 -0
  178. package/contracts/interfaces/v0.8.x/ISharedMinterRequired.sol +10 -4
  179. package/contracts/interfaces/v0.8.x/IUniversalBytecodeStorageReader.sol +33 -0
  180. package/contracts/interfaces/v0.8.x/IWeb3Call.sol +28 -0
  181. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ERC721SeaDropStructsErrorsAndEvents.sol +58 -0
  182. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/INonFungibleSeaDropToken.sol +186 -0
  183. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ISeaDrop.sol +337 -0
  184. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/ISeaDropTokenContractMetadata.sol +152 -0
  185. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/SeaDropErrorsAndEvents.sol +320 -0
  186. package/contracts/interfaces/v0.8.x/integration-refs/OpenSea/SeaDropStructs.sol +146 -0
  187. package/contracts/libs/integration-refs/delegation-registry/DelegateRegistry.sol +753 -0
  188. package/contracts/libs/integration-refs/delegation-registry/libraries/RegistryHashes.sol +359 -0
  189. package/contracts/libs/integration-refs/delegation-registry/libraries/RegistryOps.sol +31 -0
  190. package/contracts/libs/integration-refs/delegation-registry/libraries/RegistryStorage.sol +87 -0
  191. package/contracts/libs/v0.8.x/Bytes32Strings.sol +20 -0
  192. package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +14 -3
  193. package/contracts/libs/v0.8.x/ImmutableStringArray.sol +289 -0
  194. package/contracts/libs/v0.8.x/JsonStatic.sol +373 -0
  195. package/contracts/libs/v0.8.x/V3FlexLib.sol +16 -4
  196. package/contracts/libs/v0.8.x/minter-libs/MinPriceLib.sol +64 -0
  197. package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +107 -0
  198. package/contracts/minter-suite/Minters/MinterMinPriceMerkleV0.sol +765 -0
  199. package/contracts/minter-suite/Minters/MinterMinPriceV0.sol +462 -0
  200. package/contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol +869 -0
  201. package/contracts/mock/ERC20MockAltDecimals.sol +31 -0
  202. package/contracts/mock/ImmutableStringArrayMock.sol +47 -0
  203. package/contracts/mock/MockFileStore.sol +22 -0
  204. package/contracts/mock/MockPMPAugmentHook.sol +170 -0
  205. package/contracts/mock/MockPMPConfigureHook.sol +78 -0
  206. package/contracts/web3call/PMPV0.sol +1125 -0
  207. package/contracts/web3call/Web3Call.sol +25 -0
  208. package/contracts/web3call/augment-hooks/AbstractPMPAugmentHook.sol +46 -0
  209. package/contracts/web3call/augment-hooks/InjectBaseGasFee.sol +57 -0
  210. package/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol +103 -0
  211. package/contracts/web3call/augment-hooks/InjectIsNounsDaoMember.sol +66 -0
  212. package/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol +73 -0
  213. package/contracts/web3call/augment-hooks/InjectPolyptychTokenHash.sol +88 -0
  214. package/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol +62 -0
  215. package/contracts/web3call/augment-hooks/InjectTokenOwner.sol +60 -0
  216. package/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol +61 -0
  217. package/contracts/web3call/augment-hooks/InjectUSDCTotalSupply.sol +69 -0
  218. package/contracts/web3call/configure-hooks/abstractPMPConfigureHook.sol +41 -0
  219. package/package.json +23 -21
@@ -0,0 +1,1206 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "SeaDropXArtBlocksShim",
4
+ "sourceName": "contracts/minter-suite/Minters/one-off/SeaDropXArtBlocksShim.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "contract IMinterFilterV1",
10
+ "name": "minterFilter_",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "contract ISeaDrop",
15
+ "name": "allowedSeaDrop_",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "contract IGenArt721CoreContractV3_Base",
20
+ "name": "genArt721Core_",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "uint256",
25
+ "name": "projectId_",
26
+ "type": "uint256"
27
+ }
28
+ ],
29
+ "stateMutability": "nonpayable",
30
+ "type": "constructor"
31
+ },
32
+ {
33
+ "inputs": [
34
+ {
35
+ "internalType": "uint256",
36
+ "name": "newMaxSupply",
37
+ "type": "uint256"
38
+ }
39
+ ],
40
+ "name": "CannotExceedMaxSupplyOfUint64",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [
45
+ {
46
+ "internalType": "uint256",
47
+ "name": "basisPoints",
48
+ "type": "uint256"
49
+ }
50
+ ],
51
+ "name": "InvalidRoyaltyBasisPoints",
52
+ "type": "error"
53
+ },
54
+ {
55
+ "inputs": [
56
+ {
57
+ "internalType": "uint256",
58
+ "name": "total",
59
+ "type": "uint256"
60
+ },
61
+ {
62
+ "internalType": "uint256",
63
+ "name": "maxSupply",
64
+ "type": "uint256"
65
+ }
66
+ ],
67
+ "name": "MintQuantityExceedsMaxSupply",
68
+ "type": "error"
69
+ },
70
+ {
71
+ "inputs": [
72
+ {
73
+ "internalType": "uint256",
74
+ "name": "got",
75
+ "type": "uint256"
76
+ },
77
+ {
78
+ "internalType": "uint256",
79
+ "name": "totalMinted",
80
+ "type": "uint256"
81
+ }
82
+ ],
83
+ "name": "NewMaxSupplyCannotBeLessThenTotalMinted",
84
+ "type": "error"
85
+ },
86
+ {
87
+ "inputs": [],
88
+ "name": "OnlyAllowedSeaDrop",
89
+ "type": "error"
90
+ },
91
+ {
92
+ "inputs": [],
93
+ "name": "ProvenanceHashCannotBeSetAfterMintStarted",
94
+ "type": "error"
95
+ },
96
+ {
97
+ "inputs": [],
98
+ "name": "RoyaltyAddressCannotBeZeroAddress",
99
+ "type": "error"
100
+ },
101
+ {
102
+ "inputs": [],
103
+ "name": "SignersMismatch",
104
+ "type": "error"
105
+ },
106
+ {
107
+ "inputs": [],
108
+ "name": "TokenGatedMismatch",
109
+ "type": "error"
110
+ },
111
+ {
112
+ "anonymous": false,
113
+ "inputs": [
114
+ {
115
+ "indexed": false,
116
+ "internalType": "address[]",
117
+ "name": "allowedSeaDrop",
118
+ "type": "address[]"
119
+ }
120
+ ],
121
+ "name": "AllowedSeaDropUpdated",
122
+ "type": "event"
123
+ },
124
+ {
125
+ "anonymous": false,
126
+ "inputs": [
127
+ {
128
+ "indexed": false,
129
+ "internalType": "uint256",
130
+ "name": "_fromTokenId",
131
+ "type": "uint256"
132
+ },
133
+ {
134
+ "indexed": false,
135
+ "internalType": "uint256",
136
+ "name": "_toTokenId",
137
+ "type": "uint256"
138
+ }
139
+ ],
140
+ "name": "BatchMetadataUpdate",
141
+ "type": "event"
142
+ },
143
+ {
144
+ "anonymous": false,
145
+ "inputs": [
146
+ {
147
+ "indexed": false,
148
+ "internalType": "string",
149
+ "name": "newContractURI",
150
+ "type": "string"
151
+ }
152
+ ],
153
+ "name": "ContractURIUpdated",
154
+ "type": "event"
155
+ },
156
+ {
157
+ "anonymous": false,
158
+ "inputs": [
159
+ {
160
+ "indexed": false,
161
+ "internalType": "uint256",
162
+ "name": "newLocalMaxSupply",
163
+ "type": "uint256"
164
+ }
165
+ ],
166
+ "name": "LocalMaxSupplyUpdated",
167
+ "type": "event"
168
+ },
169
+ {
170
+ "anonymous": false,
171
+ "inputs": [
172
+ {
173
+ "indexed": false,
174
+ "internalType": "uint256",
175
+ "name": "newMaxSupply",
176
+ "type": "uint256"
177
+ }
178
+ ],
179
+ "name": "MaxSupplyUpdated",
180
+ "type": "event"
181
+ },
182
+ {
183
+ "anonymous": false,
184
+ "inputs": [
185
+ {
186
+ "indexed": true,
187
+ "internalType": "address",
188
+ "name": "previousOwner",
189
+ "type": "address"
190
+ },
191
+ {
192
+ "indexed": true,
193
+ "internalType": "address",
194
+ "name": "newOwner",
195
+ "type": "address"
196
+ }
197
+ ],
198
+ "name": "OwnershipTransferred",
199
+ "type": "event"
200
+ },
201
+ {
202
+ "anonymous": false,
203
+ "inputs": [
204
+ {
205
+ "indexed": false,
206
+ "internalType": "bytes32",
207
+ "name": "previousHash",
208
+ "type": "bytes32"
209
+ },
210
+ {
211
+ "indexed": false,
212
+ "internalType": "bytes32",
213
+ "name": "newHash",
214
+ "type": "bytes32"
215
+ }
216
+ ],
217
+ "name": "ProvenanceHashUpdated",
218
+ "type": "event"
219
+ },
220
+ {
221
+ "anonymous": false,
222
+ "inputs": [
223
+ {
224
+ "indexed": false,
225
+ "internalType": "address",
226
+ "name": "receiver",
227
+ "type": "address"
228
+ },
229
+ {
230
+ "indexed": false,
231
+ "internalType": "uint256",
232
+ "name": "bps",
233
+ "type": "uint256"
234
+ }
235
+ ],
236
+ "name": "RoyaltyInfoUpdated",
237
+ "type": "event"
238
+ },
239
+ {
240
+ "anonymous": false,
241
+ "inputs": [
242
+ {
243
+ "indexed": false,
244
+ "internalType": "address",
245
+ "name": "nftContract",
246
+ "type": "address"
247
+ }
248
+ ],
249
+ "name": "SeaDropShimForContract",
250
+ "type": "event"
251
+ },
252
+ {
253
+ "anonymous": false,
254
+ "inputs": [],
255
+ "name": "SeaDropTokenDeployed",
256
+ "type": "event"
257
+ },
258
+ {
259
+ "inputs": [],
260
+ "name": "allowedSeaDrop",
261
+ "outputs": [
262
+ {
263
+ "internalType": "contract ISeaDrop",
264
+ "name": "",
265
+ "type": "address"
266
+ }
267
+ ],
268
+ "stateMutability": "view",
269
+ "type": "function"
270
+ },
271
+ {
272
+ "inputs": [],
273
+ "name": "baseURI",
274
+ "outputs": [
275
+ {
276
+ "internalType": "string",
277
+ "name": "",
278
+ "type": "string"
279
+ }
280
+ ],
281
+ "stateMutability": "view",
282
+ "type": "function"
283
+ },
284
+ {
285
+ "inputs": [],
286
+ "name": "contractURI",
287
+ "outputs": [
288
+ {
289
+ "internalType": "string",
290
+ "name": "",
291
+ "type": "string"
292
+ }
293
+ ],
294
+ "stateMutability": "pure",
295
+ "type": "function"
296
+ },
297
+ {
298
+ "inputs": [],
299
+ "name": "genArt721Core",
300
+ "outputs": [
301
+ {
302
+ "internalType": "contract IGenArt721CoreContractV3_Base",
303
+ "name": "",
304
+ "type": "address"
305
+ }
306
+ ],
307
+ "stateMutability": "view",
308
+ "type": "function"
309
+ },
310
+ {
311
+ "inputs": [
312
+ {
313
+ "internalType": "address",
314
+ "name": "minter",
315
+ "type": "address"
316
+ }
317
+ ],
318
+ "name": "getMintStats",
319
+ "outputs": [
320
+ {
321
+ "internalType": "uint256",
322
+ "name": "minterNumMinted_",
323
+ "type": "uint256"
324
+ },
325
+ {
326
+ "internalType": "uint256",
327
+ "name": "currentTotalSupply",
328
+ "type": "uint256"
329
+ },
330
+ {
331
+ "internalType": "uint256",
332
+ "name": "maxSupply_",
333
+ "type": "uint256"
334
+ }
335
+ ],
336
+ "stateMutability": "view",
337
+ "type": "function"
338
+ },
339
+ {
340
+ "inputs": [],
341
+ "name": "localMaxSupply",
342
+ "outputs": [
343
+ {
344
+ "internalType": "uint256",
345
+ "name": "",
346
+ "type": "uint256"
347
+ }
348
+ ],
349
+ "stateMutability": "view",
350
+ "type": "function"
351
+ },
352
+ {
353
+ "inputs": [],
354
+ "name": "maxSupply",
355
+ "outputs": [
356
+ {
357
+ "internalType": "uint256",
358
+ "name": "",
359
+ "type": "uint256"
360
+ }
361
+ ],
362
+ "stateMutability": "view",
363
+ "type": "function"
364
+ },
365
+ {
366
+ "inputs": [
367
+ {
368
+ "internalType": "address",
369
+ "name": "minter",
370
+ "type": "address"
371
+ },
372
+ {
373
+ "internalType": "uint256",
374
+ "name": "quantity",
375
+ "type": "uint256"
376
+ }
377
+ ],
378
+ "name": "mintSeaDrop",
379
+ "outputs": [],
380
+ "stateMutability": "nonpayable",
381
+ "type": "function"
382
+ },
383
+ {
384
+ "inputs": [],
385
+ "name": "minterFilter",
386
+ "outputs": [
387
+ {
388
+ "internalType": "contract IMinterFilterV1",
389
+ "name": "",
390
+ "type": "address"
391
+ }
392
+ ],
393
+ "stateMutability": "view",
394
+ "type": "function"
395
+ },
396
+ {
397
+ "inputs": [],
398
+ "name": "minterFilterAddress",
399
+ "outputs": [
400
+ {
401
+ "internalType": "address",
402
+ "name": "",
403
+ "type": "address"
404
+ }
405
+ ],
406
+ "stateMutability": "view",
407
+ "type": "function"
408
+ },
409
+ {
410
+ "inputs": [
411
+ {
412
+ "internalType": "address",
413
+ "name": "",
414
+ "type": "address"
415
+ }
416
+ ],
417
+ "name": "minterNumMinted",
418
+ "outputs": [
419
+ {
420
+ "internalType": "uint256",
421
+ "name": "",
422
+ "type": "uint256"
423
+ }
424
+ ],
425
+ "stateMutability": "view",
426
+ "type": "function"
427
+ },
428
+ {
429
+ "inputs": [],
430
+ "name": "minterType",
431
+ "outputs": [
432
+ {
433
+ "internalType": "string",
434
+ "name": "",
435
+ "type": "string"
436
+ }
437
+ ],
438
+ "stateMutability": "view",
439
+ "type": "function"
440
+ },
441
+ {
442
+ "inputs": [
443
+ {
444
+ "components": [
445
+ {
446
+ "internalType": "uint256",
447
+ "name": "maxSupply",
448
+ "type": "uint256"
449
+ },
450
+ {
451
+ "internalType": "string",
452
+ "name": "baseURI",
453
+ "type": "string"
454
+ },
455
+ {
456
+ "internalType": "string",
457
+ "name": "contractURI",
458
+ "type": "string"
459
+ },
460
+ {
461
+ "internalType": "address",
462
+ "name": "seaDropImpl",
463
+ "type": "address"
464
+ },
465
+ {
466
+ "components": [
467
+ {
468
+ "internalType": "uint80",
469
+ "name": "mintPrice",
470
+ "type": "uint80"
471
+ },
472
+ {
473
+ "internalType": "uint48",
474
+ "name": "startTime",
475
+ "type": "uint48"
476
+ },
477
+ {
478
+ "internalType": "uint48",
479
+ "name": "endTime",
480
+ "type": "uint48"
481
+ },
482
+ {
483
+ "internalType": "uint16",
484
+ "name": "maxTotalMintableByWallet",
485
+ "type": "uint16"
486
+ },
487
+ {
488
+ "internalType": "uint16",
489
+ "name": "feeBps",
490
+ "type": "uint16"
491
+ },
492
+ {
493
+ "internalType": "bool",
494
+ "name": "restrictFeeRecipients",
495
+ "type": "bool"
496
+ }
497
+ ],
498
+ "internalType": "struct PublicDrop",
499
+ "name": "publicDrop",
500
+ "type": "tuple"
501
+ },
502
+ {
503
+ "internalType": "string",
504
+ "name": "dropURI",
505
+ "type": "string"
506
+ },
507
+ {
508
+ "components": [
509
+ {
510
+ "internalType": "bytes32",
511
+ "name": "merkleRoot",
512
+ "type": "bytes32"
513
+ },
514
+ {
515
+ "internalType": "string[]",
516
+ "name": "publicKeyURIs",
517
+ "type": "string[]"
518
+ },
519
+ {
520
+ "internalType": "string",
521
+ "name": "allowListURI",
522
+ "type": "string"
523
+ }
524
+ ],
525
+ "internalType": "struct AllowListData",
526
+ "name": "allowListData",
527
+ "type": "tuple"
528
+ },
529
+ {
530
+ "internalType": "address",
531
+ "name": "creatorPayoutAddress",
532
+ "type": "address"
533
+ },
534
+ {
535
+ "internalType": "bytes32",
536
+ "name": "provenanceHash",
537
+ "type": "bytes32"
538
+ },
539
+ {
540
+ "internalType": "address[]",
541
+ "name": "allowedFeeRecipients",
542
+ "type": "address[]"
543
+ },
544
+ {
545
+ "internalType": "address[]",
546
+ "name": "disallowedFeeRecipients",
547
+ "type": "address[]"
548
+ },
549
+ {
550
+ "internalType": "address[]",
551
+ "name": "allowedPayers",
552
+ "type": "address[]"
553
+ },
554
+ {
555
+ "internalType": "address[]",
556
+ "name": "disallowedPayers",
557
+ "type": "address[]"
558
+ },
559
+ {
560
+ "internalType": "address[]",
561
+ "name": "tokenGatedAllowedNftTokens",
562
+ "type": "address[]"
563
+ },
564
+ {
565
+ "components": [
566
+ {
567
+ "internalType": "uint80",
568
+ "name": "mintPrice",
569
+ "type": "uint80"
570
+ },
571
+ {
572
+ "internalType": "uint16",
573
+ "name": "maxTotalMintableByWallet",
574
+ "type": "uint16"
575
+ },
576
+ {
577
+ "internalType": "uint48",
578
+ "name": "startTime",
579
+ "type": "uint48"
580
+ },
581
+ {
582
+ "internalType": "uint48",
583
+ "name": "endTime",
584
+ "type": "uint48"
585
+ },
586
+ {
587
+ "internalType": "uint8",
588
+ "name": "dropStageIndex",
589
+ "type": "uint8"
590
+ },
591
+ {
592
+ "internalType": "uint32",
593
+ "name": "maxTokenSupplyForStage",
594
+ "type": "uint32"
595
+ },
596
+ {
597
+ "internalType": "uint16",
598
+ "name": "feeBps",
599
+ "type": "uint16"
600
+ },
601
+ {
602
+ "internalType": "bool",
603
+ "name": "restrictFeeRecipients",
604
+ "type": "bool"
605
+ }
606
+ ],
607
+ "internalType": "struct TokenGatedDropStage[]",
608
+ "name": "tokenGatedDropStages",
609
+ "type": "tuple[]"
610
+ },
611
+ {
612
+ "internalType": "address[]",
613
+ "name": "disallowedTokenGatedAllowedNftTokens",
614
+ "type": "address[]"
615
+ },
616
+ {
617
+ "internalType": "address[]",
618
+ "name": "signers",
619
+ "type": "address[]"
620
+ },
621
+ {
622
+ "components": [
623
+ {
624
+ "internalType": "uint80",
625
+ "name": "minMintPrice",
626
+ "type": "uint80"
627
+ },
628
+ {
629
+ "internalType": "uint24",
630
+ "name": "maxMaxTotalMintableByWallet",
631
+ "type": "uint24"
632
+ },
633
+ {
634
+ "internalType": "uint40",
635
+ "name": "minStartTime",
636
+ "type": "uint40"
637
+ },
638
+ {
639
+ "internalType": "uint40",
640
+ "name": "maxEndTime",
641
+ "type": "uint40"
642
+ },
643
+ {
644
+ "internalType": "uint40",
645
+ "name": "maxMaxTokenSupplyForStage",
646
+ "type": "uint40"
647
+ },
648
+ {
649
+ "internalType": "uint16",
650
+ "name": "minFeeBps",
651
+ "type": "uint16"
652
+ },
653
+ {
654
+ "internalType": "uint16",
655
+ "name": "maxFeeBps",
656
+ "type": "uint16"
657
+ }
658
+ ],
659
+ "internalType": "struct SignedMintValidationParams[]",
660
+ "name": "signedMintValidationParams",
661
+ "type": "tuple[]"
662
+ },
663
+ {
664
+ "internalType": "address[]",
665
+ "name": "disallowedSigners",
666
+ "type": "address[]"
667
+ }
668
+ ],
669
+ "internalType": "struct ERC721SeaDropStructsErrorsAndEvents.MultiConfigureStruct",
670
+ "name": "config",
671
+ "type": "tuple"
672
+ }
673
+ ],
674
+ "name": "multiConfigure",
675
+ "outputs": [],
676
+ "stateMutability": "nonpayable",
677
+ "type": "function"
678
+ },
679
+ {
680
+ "inputs": [],
681
+ "name": "owner",
682
+ "outputs": [
683
+ {
684
+ "internalType": "address",
685
+ "name": "",
686
+ "type": "address"
687
+ }
688
+ ],
689
+ "stateMutability": "view",
690
+ "type": "function"
691
+ },
692
+ {
693
+ "inputs": [],
694
+ "name": "projectId",
695
+ "outputs": [
696
+ {
697
+ "internalType": "uint256",
698
+ "name": "",
699
+ "type": "uint256"
700
+ }
701
+ ],
702
+ "stateMutability": "view",
703
+ "type": "function"
704
+ },
705
+ {
706
+ "inputs": [],
707
+ "name": "provenanceHash",
708
+ "outputs": [
709
+ {
710
+ "internalType": "bytes32",
711
+ "name": "",
712
+ "type": "bytes32"
713
+ }
714
+ ],
715
+ "stateMutability": "pure",
716
+ "type": "function"
717
+ },
718
+ {
719
+ "inputs": [],
720
+ "name": "renounceOwnership",
721
+ "outputs": [],
722
+ "stateMutability": "nonpayable",
723
+ "type": "function"
724
+ },
725
+ {
726
+ "inputs": [],
727
+ "name": "royaltyAddress",
728
+ "outputs": [
729
+ {
730
+ "internalType": "address",
731
+ "name": "",
732
+ "type": "address"
733
+ }
734
+ ],
735
+ "stateMutability": "view",
736
+ "type": "function"
737
+ },
738
+ {
739
+ "inputs": [],
740
+ "name": "royaltyBasisPoints",
741
+ "outputs": [
742
+ {
743
+ "internalType": "uint256",
744
+ "name": "",
745
+ "type": "uint256"
746
+ }
747
+ ],
748
+ "stateMutability": "view",
749
+ "type": "function"
750
+ },
751
+ {
752
+ "inputs": [
753
+ {
754
+ "internalType": "uint256",
755
+ "name": "tokenId",
756
+ "type": "uint256"
757
+ },
758
+ {
759
+ "internalType": "uint256",
760
+ "name": "salePrice",
761
+ "type": "uint256"
762
+ }
763
+ ],
764
+ "name": "royaltyInfo",
765
+ "outputs": [
766
+ {
767
+ "internalType": "address",
768
+ "name": "receiver",
769
+ "type": "address"
770
+ },
771
+ {
772
+ "internalType": "uint256",
773
+ "name": "royaltyAmount",
774
+ "type": "uint256"
775
+ }
776
+ ],
777
+ "stateMutability": "view",
778
+ "type": "function"
779
+ },
780
+ {
781
+ "inputs": [
782
+ {
783
+ "internalType": "string",
784
+ "name": "",
785
+ "type": "string"
786
+ }
787
+ ],
788
+ "name": "setBaseURI",
789
+ "outputs": [],
790
+ "stateMutability": "pure",
791
+ "type": "function"
792
+ },
793
+ {
794
+ "inputs": [
795
+ {
796
+ "internalType": "string",
797
+ "name": "",
798
+ "type": "string"
799
+ }
800
+ ],
801
+ "name": "setContractURI",
802
+ "outputs": [],
803
+ "stateMutability": "pure",
804
+ "type": "function"
805
+ },
806
+ {
807
+ "inputs": [
808
+ {
809
+ "internalType": "uint256",
810
+ "name": "newMaxSupply",
811
+ "type": "uint256"
812
+ }
813
+ ],
814
+ "name": "setMaxSupply",
815
+ "outputs": [],
816
+ "stateMutability": "nonpayable",
817
+ "type": "function"
818
+ },
819
+ {
820
+ "inputs": [
821
+ {
822
+ "internalType": "bytes32",
823
+ "name": "",
824
+ "type": "bytes32"
825
+ }
826
+ ],
827
+ "name": "setProvenanceHash",
828
+ "outputs": [],
829
+ "stateMutability": "pure",
830
+ "type": "function"
831
+ },
832
+ {
833
+ "inputs": [
834
+ {
835
+ "components": [
836
+ {
837
+ "internalType": "address",
838
+ "name": "royaltyAddress",
839
+ "type": "address"
840
+ },
841
+ {
842
+ "internalType": "uint96",
843
+ "name": "royaltyBps",
844
+ "type": "uint96"
845
+ }
846
+ ],
847
+ "internalType": "struct ISeaDropTokenContractMetadata.RoyaltyInfo",
848
+ "name": "",
849
+ "type": "tuple"
850
+ }
851
+ ],
852
+ "name": "setRoyaltyInfo",
853
+ "outputs": [],
854
+ "stateMutability": "pure",
855
+ "type": "function"
856
+ },
857
+ {
858
+ "inputs": [
859
+ {
860
+ "internalType": "bytes4",
861
+ "name": "interfaceId",
862
+ "type": "bytes4"
863
+ }
864
+ ],
865
+ "name": "supportsInterface",
866
+ "outputs": [
867
+ {
868
+ "internalType": "bool",
869
+ "name": "",
870
+ "type": "bool"
871
+ }
872
+ ],
873
+ "stateMutability": "view",
874
+ "type": "function"
875
+ },
876
+ {
877
+ "inputs": [],
878
+ "name": "syncOwnerToArtistAddress",
879
+ "outputs": [],
880
+ "stateMutability": "nonpayable",
881
+ "type": "function"
882
+ },
883
+ {
884
+ "inputs": [
885
+ {
886
+ "internalType": "address",
887
+ "name": "newOwner",
888
+ "type": "address"
889
+ }
890
+ ],
891
+ "name": "transferOwnership",
892
+ "outputs": [],
893
+ "stateMutability": "nonpayable",
894
+ "type": "function"
895
+ },
896
+ {
897
+ "inputs": [
898
+ {
899
+ "internalType": "address",
900
+ "name": "seaDropImpl",
901
+ "type": "address"
902
+ },
903
+ {
904
+ "components": [
905
+ {
906
+ "internalType": "bytes32",
907
+ "name": "merkleRoot",
908
+ "type": "bytes32"
909
+ },
910
+ {
911
+ "internalType": "string[]",
912
+ "name": "publicKeyURIs",
913
+ "type": "string[]"
914
+ },
915
+ {
916
+ "internalType": "string",
917
+ "name": "allowListURI",
918
+ "type": "string"
919
+ }
920
+ ],
921
+ "internalType": "struct AllowListData",
922
+ "name": "allowListData",
923
+ "type": "tuple"
924
+ }
925
+ ],
926
+ "name": "updateAllowList",
927
+ "outputs": [],
928
+ "stateMutability": "nonpayable",
929
+ "type": "function"
930
+ },
931
+ {
932
+ "inputs": [
933
+ {
934
+ "internalType": "address",
935
+ "name": "seaDropImpl",
936
+ "type": "address"
937
+ },
938
+ {
939
+ "internalType": "address",
940
+ "name": "feeRecipient",
941
+ "type": "address"
942
+ },
943
+ {
944
+ "internalType": "bool",
945
+ "name": "allowed",
946
+ "type": "bool"
947
+ }
948
+ ],
949
+ "name": "updateAllowedFeeRecipient",
950
+ "outputs": [],
951
+ "stateMutability": "nonpayable",
952
+ "type": "function"
953
+ },
954
+ {
955
+ "inputs": [
956
+ {
957
+ "internalType": "address[]",
958
+ "name": "",
959
+ "type": "address[]"
960
+ }
961
+ ],
962
+ "name": "updateAllowedSeaDrop",
963
+ "outputs": [],
964
+ "stateMutability": "pure",
965
+ "type": "function"
966
+ },
967
+ {
968
+ "inputs": [
969
+ {
970
+ "internalType": "address",
971
+ "name": "seaDropImpl",
972
+ "type": "address"
973
+ },
974
+ {
975
+ "internalType": "address",
976
+ "name": "payoutAddress",
977
+ "type": "address"
978
+ }
979
+ ],
980
+ "name": "updateCreatorPayoutAddress",
981
+ "outputs": [],
982
+ "stateMutability": "nonpayable",
983
+ "type": "function"
984
+ },
985
+ {
986
+ "inputs": [
987
+ {
988
+ "internalType": "address",
989
+ "name": "seaDropImpl",
990
+ "type": "address"
991
+ },
992
+ {
993
+ "internalType": "string",
994
+ "name": "dropURI",
995
+ "type": "string"
996
+ }
997
+ ],
998
+ "name": "updateDropURI",
999
+ "outputs": [],
1000
+ "stateMutability": "nonpayable",
1001
+ "type": "function"
1002
+ },
1003
+ {
1004
+ "inputs": [
1005
+ {
1006
+ "internalType": "address",
1007
+ "name": "seaDropImpl",
1008
+ "type": "address"
1009
+ },
1010
+ {
1011
+ "internalType": "address",
1012
+ "name": "payer",
1013
+ "type": "address"
1014
+ },
1015
+ {
1016
+ "internalType": "bool",
1017
+ "name": "allowed",
1018
+ "type": "bool"
1019
+ }
1020
+ ],
1021
+ "name": "updatePayer",
1022
+ "outputs": [],
1023
+ "stateMutability": "nonpayable",
1024
+ "type": "function"
1025
+ },
1026
+ {
1027
+ "inputs": [
1028
+ {
1029
+ "internalType": "address",
1030
+ "name": "seaDropImpl",
1031
+ "type": "address"
1032
+ },
1033
+ {
1034
+ "components": [
1035
+ {
1036
+ "internalType": "uint80",
1037
+ "name": "mintPrice",
1038
+ "type": "uint80"
1039
+ },
1040
+ {
1041
+ "internalType": "uint48",
1042
+ "name": "startTime",
1043
+ "type": "uint48"
1044
+ },
1045
+ {
1046
+ "internalType": "uint48",
1047
+ "name": "endTime",
1048
+ "type": "uint48"
1049
+ },
1050
+ {
1051
+ "internalType": "uint16",
1052
+ "name": "maxTotalMintableByWallet",
1053
+ "type": "uint16"
1054
+ },
1055
+ {
1056
+ "internalType": "uint16",
1057
+ "name": "feeBps",
1058
+ "type": "uint16"
1059
+ },
1060
+ {
1061
+ "internalType": "bool",
1062
+ "name": "restrictFeeRecipients",
1063
+ "type": "bool"
1064
+ }
1065
+ ],
1066
+ "internalType": "struct PublicDrop",
1067
+ "name": "publicDrop",
1068
+ "type": "tuple"
1069
+ }
1070
+ ],
1071
+ "name": "updatePublicDrop",
1072
+ "outputs": [],
1073
+ "stateMutability": "nonpayable",
1074
+ "type": "function"
1075
+ },
1076
+ {
1077
+ "inputs": [
1078
+ {
1079
+ "internalType": "address",
1080
+ "name": "seaDropImpl",
1081
+ "type": "address"
1082
+ },
1083
+ {
1084
+ "internalType": "address",
1085
+ "name": "signer",
1086
+ "type": "address"
1087
+ },
1088
+ {
1089
+ "components": [
1090
+ {
1091
+ "internalType": "uint80",
1092
+ "name": "minMintPrice",
1093
+ "type": "uint80"
1094
+ },
1095
+ {
1096
+ "internalType": "uint24",
1097
+ "name": "maxMaxTotalMintableByWallet",
1098
+ "type": "uint24"
1099
+ },
1100
+ {
1101
+ "internalType": "uint40",
1102
+ "name": "minStartTime",
1103
+ "type": "uint40"
1104
+ },
1105
+ {
1106
+ "internalType": "uint40",
1107
+ "name": "maxEndTime",
1108
+ "type": "uint40"
1109
+ },
1110
+ {
1111
+ "internalType": "uint40",
1112
+ "name": "maxMaxTokenSupplyForStage",
1113
+ "type": "uint40"
1114
+ },
1115
+ {
1116
+ "internalType": "uint16",
1117
+ "name": "minFeeBps",
1118
+ "type": "uint16"
1119
+ },
1120
+ {
1121
+ "internalType": "uint16",
1122
+ "name": "maxFeeBps",
1123
+ "type": "uint16"
1124
+ }
1125
+ ],
1126
+ "internalType": "struct SignedMintValidationParams",
1127
+ "name": "signedMintValidationParams",
1128
+ "type": "tuple"
1129
+ }
1130
+ ],
1131
+ "name": "updateSignedMintValidationParams",
1132
+ "outputs": [],
1133
+ "stateMutability": "nonpayable",
1134
+ "type": "function"
1135
+ },
1136
+ {
1137
+ "inputs": [
1138
+ {
1139
+ "internalType": "address",
1140
+ "name": "seaDropImpl",
1141
+ "type": "address"
1142
+ },
1143
+ {
1144
+ "internalType": "address",
1145
+ "name": "allowedNftToken",
1146
+ "type": "address"
1147
+ },
1148
+ {
1149
+ "components": [
1150
+ {
1151
+ "internalType": "uint80",
1152
+ "name": "mintPrice",
1153
+ "type": "uint80"
1154
+ },
1155
+ {
1156
+ "internalType": "uint16",
1157
+ "name": "maxTotalMintableByWallet",
1158
+ "type": "uint16"
1159
+ },
1160
+ {
1161
+ "internalType": "uint48",
1162
+ "name": "startTime",
1163
+ "type": "uint48"
1164
+ },
1165
+ {
1166
+ "internalType": "uint48",
1167
+ "name": "endTime",
1168
+ "type": "uint48"
1169
+ },
1170
+ {
1171
+ "internalType": "uint8",
1172
+ "name": "dropStageIndex",
1173
+ "type": "uint8"
1174
+ },
1175
+ {
1176
+ "internalType": "uint32",
1177
+ "name": "maxTokenSupplyForStage",
1178
+ "type": "uint32"
1179
+ },
1180
+ {
1181
+ "internalType": "uint16",
1182
+ "name": "feeBps",
1183
+ "type": "uint16"
1184
+ },
1185
+ {
1186
+ "internalType": "bool",
1187
+ "name": "restrictFeeRecipients",
1188
+ "type": "bool"
1189
+ }
1190
+ ],
1191
+ "internalType": "struct TokenGatedDropStage",
1192
+ "name": "dropStage",
1193
+ "type": "tuple"
1194
+ }
1195
+ ],
1196
+ "name": "updateTokenGatedDrop",
1197
+ "outputs": [],
1198
+ "stateMutability": "nonpayable",
1199
+ "type": "function"
1200
+ }
1201
+ ],
1202
+ "bytecode": "0x6101006040523480156200001257600080fd5b5060405162003542380380620035428339810160408190526200003591620001a9565b620000463362000140565b62000140565b600180556001600160a01b0384811660e05283811660a052821660c0819052608082905260405163a47d29cb60e01b815260048101839052620000d1919063a47d29cb90602401602060405180830381865afa158015620000ab573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000040919062000203565b6040517fd7aca75208b9be5ffc04c6a01922020ffd62b55e68e502e317f5344960279af890600090a16040516001600160a01b03831681527f4ab17a70e58926b534bd6e786ef71405882bfb6480a8e71f4c983412cf432a289060200160405180910390a1505050506200022a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114620001a657600080fd5b50565b60008060008060808587031215620001c057600080fd5b8451620001cd8162000190565b6020860151909450620001e08162000190565b6040860151909350620001f38162000190565b6060959095015193969295505050565b6000602082840312156200021657600080fd5b8151620002238162000190565b9392505050565b60805160a05160c05160e05161324b620002f7600039600081816101e90152818161047e0152610bea0152600081816104a7015281816106640152818161075a015281816108cc01528181610bbc01528181610cdd01528181611acd01528181611c9801528181611e740152611fa20152600081816103ad015281816105cf0152611d920152600081816102a101528181610727015281816108a201528181610b9601528181610cb401528181611aa401528181611c7201528181611e410152611f7c015261324b6000f3fe608060405234801561001057600080fd5b50600436106101b75760003560e01c806301ffc9a7146101bc57806308d94188146101e4578063099b6bfa146102185780630c59d1fc1461022d5780631b73593c146102445780632a55205a146102575780633680620d146102895780633fafa1271461029c57806342260b5d146102c357806344dae42c146102cb57806348697249146102de57806348a4c101146102e6578063511aa644146102f957806355f804b31461030c5780636074eb6c1461031f57806360c308b61461033f57806364869dad1461035257806366251b69146103655780636c0360eb146103785780636f8b44b01461038d578063715018a6146103a057806374fe600b146103a85780637a05bc82146103cf5780637bc2be76146103e2578063840e15d4146103f55780638da5cb5b14610423578063911f456b1461042b578063938e3d7b1461043e578063ad2f852a14610451578063c6ab67a314610459578063cb743ba814610461578063d5abeb0114610474578063dd85582f1461047c578063e19133e2146104a2578063e8a3d485146104c9578063e9d1e8ac146104d1578063f2fde38b14610505575b600080fd5b6101cf6101ca366004612089565b610518565b60405190151581526020015b60405180910390f35b61020b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516101db91906120b3565b61022b6102263660046120c7565b610585565b005b61023660035481565b6040519081526020016101db565b61022b6102523660046120f5565b6105a6565b61026a610265366004612136565b61063a565b604080516001600160a01b0390931683526020830191909152016101db565b61022b610297366004612158565b6106da565b6102367f000000000000000000000000000000000000000000000000000000000000000081565b610236610718565b61022b6102d93660046121ae565b610809565b61022b610893565b61022b6102f43660046121e4565b610946565b61022b6103073660046122ea565b6109bd565b61022b61031a3660046123ff565b6109fd565b61023661032d366004612440565b60026020526000908152604090205481565b61022b61034d36600461245d565b610a15565b61022b6103603660046124d1565b610a7f565b61022b6103733660046124fd565b610c67565b610380610ca5565b6040516101db919061254f565b61022b61039b3660046120c7565b610d59565b61022b610e46565b61020b7f000000000000000000000000000000000000000000000000000000000000000081565b61022b6103dd366004612582565b610e58565b61022b6103f03660046125d6565b610e98565b610408610403366004612440565b610ed8565b604080519384526020840192909252908201526060016101db565b61020b610f1a565b61022b61043936600461262b565b610f29565b61022b61044c3660046123ff565b611a7d565b61020b611a95565b610236611b4b565b61022b61046f3660046121e4565b611b65565b610236611ba5565b7f000000000000000000000000000000000000000000000000000000000000000061020b565b61020b7f000000000000000000000000000000000000000000000000000000000000000081565b610380611bbf565b6103806040518060400160405280601581526020017453656144726f7058417274426c6f636b735368696d60581b81525081565b61022b610513366004612440565b611bd9565b60006001600160e01b03198216630c487f4760e11b148061054957506001600160e01b03198216639c15441560e01b145b8061056457506001600160e01b0319821663152a902d60e11b145b8061057f57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60405162461bcd60e51b815260040161059d90612666565b60405180910390fd5b6105af33611c4f565b6105b882611d90565b6040516301308e6560e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906301308e659061060490849060040161277b565b600060405180830381600087803b15801561061e57600080fd5b505af1158015610632573d6000803e3d6000fd5b505050505050565b60405163152a902d60e11b8152600481018390526024810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632a55205a906044016040805180830381865afa1580156106aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ce9190612794565b915091505b9250929050565b6106e333611c4f565b6106ec82611d90565b60405163ebb4a55f60e01b81526001600160a01b0383169063ebb4a55f90610604908490600401612905565b60405163050efbbd60e11b81527f0000000000000000000000000000000000000000000000000000000000000000600482015260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630a1df77a9060240161016060405180830381865afa1580156107a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c6919061293d565b905080610120015161ffff168160e0015161ffff16826020015160ff1660646107ef9190612a2d565b6107f99190612a44565b6108039190612a44565b91505090565b60405162461bcd60e51b815260206004820152605360248201527f53656144726f7058417274426c6f636b735368696d3a20726f79616c7469657360448201527f206d75737420626520636f6e66696775726564206f6e207468652041727420426064820152721b1bd8dadcc818dbdc994818dbdb9d1c9858dd606a1b608482015260a40161059d565b60405163a47d29cb60e01b81527f00000000000000000000000000000000000000000000000000000000000000006004820152610944907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa15801561091b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093f9190612a57565b611de2565b565b61094f33611c4f565b61095883611d90565b604051638e7d1e4360e01b81526001600160a01b03841690638e7d1e43906109869085908590600401612a74565b600060405180830381600087803b1580156109a057600080fd5b505af11580156109b4573d6000803e3d6000fd5b50505050505050565b6109c633611c4f565b6109cf83611d90565b6040516309a7002f60e31b81526001600160a01b03841690634d380178906109869085908590600401612af9565b60405162461bcd60e51b815260040161059d90612b17565b60405162461bcd60e51b815260206004820152603960248201527f53656144726f7058417274426c6f636b735368696d3a20757064617465416c6c6044820152781bddd95914d958511c9bdc081b9bdd081cdd5c1c1bdc9d1959603a1b606482015260840161059d565b600260015403610ad15760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161059d565b6002600155610adf33611d90565b600080610aea611e32565b915091506000610afc82600354611eed565b905080610b098585612a44565b1115610b3d57610b198484612a44565b60405163384b48c560e21b815260048101919091526024810182905260440161059d565b5050506001600160a01b03821660009081526002602052604081208054839290610b68908490612a44565b90915550600090505b81811015610c5e576040516117cd60e21b81526001600160a01b0384811660048301527f000000000000000000000000000000000000000000000000000000000000000060248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af1158015610c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c559190612b8e565b50600101610b71565b50506001805550565b610c7033611c4f565b610c7982611d90565b60405163024e71b760e31b81526001600160a01b038316906312738db8906106049084906004016120b3565b604051632d9c020560e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632d9c020590602401600060405180830381865afa158015610d2c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d549190810190612ba7565b905090565b610d6233611c4f565b6000610d6c611e32565b91505080821115610e0a5760405162461bcd60e51b815260206004820152605c60248201527f53656144726f7058417274426c6f636b735368696d3a204f6e6c79206e65774d60448201527f6178537570706c79206c7465206d617820696e766f636174696f6e73206f6e2060648201527b1d1a1948105c9d08109b1bd8dadcc818dbdc994818dbdb9d1c9858dd60221b608482015260a40161059d565b60038290556040518281527f031a90d2fa92d7acf08a4e41932c34b6cc6b6592bd9159b837ecbcf3c0479fe69060200160405180910390a15050565b610e4e611f0e565b6109446000611de2565b610e6133611c4f565b610e6a83611d90565b60405163b957d0cb60e01b81526001600160a01b0384169063b957d0cb906109869085908590600401612c53565b610ea133611c4f565b610eaa83611d90565b604051637ecd591560e11b81526001600160a01b0384169063fd9ab22a906109869085908590600401612d39565b6001600160a01b03811660009081526002602052604081205490808080610efd611e32565b91509150819350610f1081600354611eed565b9496939550505050565b6000546001600160a01b031690565b610f3233611f6d565b803515610f8b576040516306f8b44b60e41b8152813560048201523090636f8b44b090602401600060405180830381600087803b158015610f7257600080fd5b505af1158015610f86573d6000803e3d6000fd5b505050505b610f986020820182612d57565b159050610fb75760405162461bcd60e51b815260040161059d90612b17565b610fc46040820182612d57565b159050610fe35760405162461bcd60e51b815260040161059d90612d9d565b610ff360c0820160a08301612e13565b65ffffffffffff1615158061101e575061101360e0820160c08301612e13565b65ffffffffffff1615155b1561108d5730631b73593c6110396080840160608501612440565b836080016040518363ffffffff1660e01b815260040161105a929190612e2e565b600060405180830381600087803b15801561107457600080fd5b505af1158015611088573d6000803e3d6000fd5b505050505b61109b610140820182612d57565b1590506111175730637a05bc826110b86080840160608501612440565b6110c6610140850185612d57565b6040518463ffffffff1660e01b81526004016110e493929190612e4b565b600060405180830381600087803b1580156110fe57600080fd5b505af1158015611112573d6000803e3d6000fd5b505050505b6000611127610160830183612e79565b35146111a15730633680620d6111436080840160608501612440565b611151610160850185612e79565b6040518363ffffffff1660e01b815260040161116e929190612e99565b600060405180830381600087803b15801561118857600080fd5b505af115801561119c573d6000803e3d6000fd5b505050505b60006111b56101a083016101808401612440565b6001600160a01b03161461124c57306366251b696111d96080840160608501612440565b6111eb6101a085016101808601612440565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b15801561123357600080fd5b505af1158015611247573d6000803e3d6000fd5b505050505b6101a08101351561126f5760405162461bcd60e51b815260040161059d90612666565b600061127f6101c0830183612ebd565b905011156113495760005b6112986101c0830183612ebd565b905081101561134757306348a4c1016112b76080850160608601612440565b6112c56101c0860186612ebd565b858181106112d5576112d5612f06565b90506020020160208101906112ea9190612440565b60016040518463ffffffff1660e01b815260040161130a93929190612f1c565b600060405180830381600087803b15801561132457600080fd5b505af1158015611338573d6000803e3d6000fd5b5050505080600101905061128a565b505b60006113596101e0830183612ebd565b905011156114235760005b6113726101e0830183612ebd565b905081101561142157306348a4c1016113916080850160608601612440565b61139f6101e0860186612ebd565b858181106113af576113af612f06565b90506020020160208101906113c49190612440565b60006040518463ffffffff1660e01b81526004016113e493929190612f1c565b600060405180830381600087803b1580156113fe57600080fd5b505af1158015611412573d6000803e3d6000fd5b50505050806001019050611364565b505b6000611433610200830183612ebd565b905011156114fd5760005b61144c610200830183612ebd565b90508110156114fb573063cb743ba861146b6080850160608601612440565b611479610200860186612ebd565b8581811061148957611489612f06565b905060200201602081019061149e9190612440565b60016040518463ffffffff1660e01b81526004016114be93929190612f1c565b600060405180830381600087803b1580156114d857600080fd5b505af11580156114ec573d6000803e3d6000fd5b5050505080600101905061143e565b505b600061150d610220830183612ebd565b905011156115d75760005b611526610220830183612ebd565b90508110156115d5573063cb743ba86115456080850160608601612440565b611553610220860186612ebd565b8581811061156357611563612f06565b90506020020160208101906115789190612440565b60006040518463ffffffff1660e01b815260040161159893929190612f1c565b600060405180830381600087803b1580156115b257600080fd5b505af11580156115c6573d6000803e3d6000fd5b50505050806001019050611518565b505b60006115e7610260830183612f40565b90501115611712576115fd610240820182612ebd565b905061160d610260830183612f40565b90501461162d5760405163b81aa63960e01b815260040160405180910390fd5b60005b61163e610260830183612f40565b90508110156117105730637bc2be7661165d6080850160608601612440565b61166b610240860186612ebd565b8581811061167b5761167b612f06565b90506020020160208101906116909190612440565b61169e610260870187612f40565b868181106116ae576116ae612f06565b905061010002016040518463ffffffff1660e01b81526004016116d393929190612f89565b600060405180830381600087803b1580156116ed57600080fd5b505af1158015611701573d6000803e3d6000fd5b50505050806001019050611630565b505b6000611722610280830183612ebd565b9050111561182d5760005b61173b610280830183612ebd565b905081101561182b576040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915230637bc2be7661179b6080860160608701612440565b6117a9610280870187612ebd565b868181106117b9576117b9612f06565b90506020020160208101906117ce9190612440565b846040518463ffffffff1660e01b81526004016117ed93929190612faf565b600060405180830381600087803b15801561180757600080fd5b505af115801561181b573d6000803e3d6000fd5b505050508160010191505061172d565b505b600061183d6102c0830183613065565b90501115611967576118536102a0820182612ebd565b90506118636102c0830183613065565b905014611883576040516374ef6df760e01b815260040160405180910390fd5b60005b6118946102c0830183613065565b9050811015611965573063511aa6446118b36080850160608601612440565b6118c16102a0860186612ebd565b858181106118d1576118d1612f06565b90506020020160208101906118e69190612440565b6118f46102c0870187613065565b8681811061190457611904612f06565b905060e002016040518463ffffffff1660e01b8152600401611928939291906130ad565b600060405180830381600087803b15801561194257600080fd5b505af1158015611956573d6000803e3d6000fd5b50505050806001019050611886565b505b60006119776102e0830183612ebd565b90501115611a7a5760005b6119906102e0830183612ebd565b9050811015611a78576040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091523063511aa6446119e86080860160608701612440565b6119f66102e0870187612ebd565b86818110611a0657611a06612f06565b9050602002016020810190611a1b9190612440565b846040518463ffffffff1660e01b8152600401611a3a93929190613166565b600060405180830381600087803b158015611a5457600080fd5b505af1158015611a68573d6000803e3d6000fd5b5050505081600101915050611982565b505b50565b60405162461bcd60e51b815260040161059d90612d9d565b60405163050efbbd60e11b81527f000000000000000000000000000000000000000000000000000000000000000060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630a1df77a9060240161016060405180830381865afa158015611b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b41919061293d565b6101400151905090565b600060405162461bcd60e51b815260040161059d90612666565b611b6e33611c4f565b611b7783611d90565b604051633f952e6560e11b81526001600160a01b03841690637f2a5cca906109869085908590600401612a74565b600080611bb0611e32565b91505061080381600354611eed565b606060405162461bcd60e51b815260040161059d90612d9d565b611be1611f0e565b6001600160a01b038116611c465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161059d565b611a7a81611de2565b6001600160a01b0381163014801590611d21575060405163a47d29cb60e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015611ce7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d0b9190612a57565b6001600160a01b0316816001600160a01b031614155b15611a7a5760405162461bcd60e51b815260206004820152604560248201526000805160206131f683398151915260448201527f617274697374206f722073656c66206d61792063616c6c20746869732066756e60648201526431ba34b7b760d91b608482015260a40161059d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614611a7a576040516315e26ff360e01b815260040160405180910390fd5b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b604051630ea5613f60e01b81527f0000000000000000000000000000000000000000000000000000000000000000600482015260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015611ebb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611edf919061318c565b509396929550919350505050565b6000811580611efb57508282115b611f055781611f07565b825b9392505050565b33611f17610f1a565b6001600160a01b0316146109445760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161059d565b60405163a47d29cb60e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015611ff1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120159190612a57565b6001600160a01b0316816001600160a01b031614611a7a5760405162461bcd60e51b815260206004820152603d60248201526000805160206131f683398151915260448201527f617274697374206d61792063616c6c20746869732066756e6374696f6e000000606482015260840161059d565b60006020828403121561209b57600080fd5b81356001600160e01b031981168114611f0757600080fd5b6001600160a01b0391909116815260200190565b6000602082840312156120d957600080fd5b5035919050565b6001600160a01b0381168114611a7a57600080fd5b60008082840360e081121561210957600080fd5b8335612114816120e0565b925060c0601f198201121561212857600080fd5b506020830190509250929050565b6000806040838503121561214957600080fd5b50508035926020909101359150565b6000806040838503121561216b57600080fd5b8235612176816120e0565b915060208301356001600160401b0381111561219157600080fd5b8301606081860312156121a357600080fd5b809150509250929050565b6000604082840312156121c057600080fd5b50919050565b8015158114611a7a57600080fd5b80356121df816121c6565b919050565b6000806000606084860312156121f957600080fd5b8335612204816120e0565b92506020840135612214816120e0565b91506040840135612224816121c6565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b03811182821017156122675761226761222f565b60405290565b60405161016081016001600160401b03811182821017156122675761226761222f565b80356001600160501b03811681146121df57600080fd5b803562ffffff811681146121df57600080fd5b803564ffffffffff811681146121df57600080fd5b61ffff81168114611a7a57600080fd5b80356121df816122cf565b600080600083850361012081121561230157600080fd5b843561230c816120e0565b9350602085013561231c816120e0565b925060e0603f198201121561233057600080fd5b50612339612245565b61234560408601612290565b8152612353606086016122a7565b6020820152612364608086016122ba565b604082015261237560a086016122ba565b606082015261238660c086016122ba565b608082015260e0850135612399816122cf565b60a08201526101008501356123ad816122cf565b60c082015292959194509192509050565b60008083601f8401126123d057600080fd5b5081356001600160401b038111156123e757600080fd5b6020830191508360208285010111156106d357600080fd5b6000806020838503121561241257600080fd5b82356001600160401b0381111561242857600080fd5b612434858286016123be565b90969095509350505050565b60006020828403121561245257600080fd5b8135611f07816120e0565b6000806020838503121561247057600080fd5b82356001600160401b038082111561248757600080fd5b818501915085601f83011261249b57600080fd5b8135818111156124aa57600080fd5b8660208260051b85010111156124bf57600080fd5b60209290920196919550909350505050565b600080604083850312156124e457600080fd5b82356124ef816120e0565b946020939093013593505050565b6000806040838503121561251057600080fd5b823561251b816120e0565b915060208301356121a3816120e0565b60005b8381101561254657818101518382015260200161252e565b50506000910152565b602081526000825180602084015261256e81604085016020870161252b565b601f01601f19169190910160400192915050565b60008060006040848603121561259757600080fd5b83356125a2816120e0565b925060208401356001600160401b038111156125bd57600080fd5b6125c9868287016123be565b9497909650939450505050565b60008060008385036101408112156125ed57600080fd5b84356125f8816120e0565b93506020850135612608816120e0565b9250610100603f198201121561261d57600080fd5b506040840190509250925092565b60006020828403121561263d57600080fd5b81356001600160401b0381111561265357600080fd5b82016103008185031215611f0757600080fd5b6020808252604c908201527f53656144726f7058417274426c6f636b735368696d3a2070726f76656e616e6360408201527f652068617368206e6f7420737570706f72746564206f6e2041727420426c6f6360608201526b6b7320636f6e74726163747360a01b608082015260a00190565b803565ffffffffffff811681146121df57600080fd5b6001600160501b036126ff82612290565b16825261270e602082016126d8565b65ffffffffffff80821660208501528061272a604085016126d8565b16604085015250506060810135612740816122cf565b61ffff908116606084015260808201359061275a826122cf565b16608083015260a081013561276e816121c6565b80151560a0840152505050565b60c0810161057f82846126ee565b80516121df816120e0565b600080604083850312156127a757600080fd5b82516127b2816120e0565b6020939093015192949293505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261280257600080fd5b83016020810192503590506001600160401b0381111561282157600080fd5b8036038213156106d357600080fd5b60006060830182358452602080840135601e1985360301811261285257600080fd5b84016020810190356001600160401b0381111561286e57600080fd5b8060051b80360383131561288157600080fd5b606060208901529381905260809387018401938290880160005b838110156128d557898703607f190182526128b683866127eb565b6128c18982846127c2565b98505050918501919085019060010161289b565b5050505050506128e860408401846127eb565b85830360408701526128fb8382846127c2565b9695505050505050565b602081526000611f076020830184612830565b60ff81168114611a7a57600080fd5b80516121df81612918565b80516121df816122cf565b6000610160828403121561295057600080fd5b61295861226d565b61296183612789565b815261296f60208401612927565b602082015261298060408401612789565b604082015261299160608401612927565b60608201526129a260808401612789565b60808201526129b360a08401612927565b60a08201526129c460c08401612789565b60c08201526129d560e08401612932565b60e08201526101006129e8818501612789565b908201526101206129fa848201612932565b90820152610140612a0c848201612789565b908201529392505050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761057f5761057f612a17565b8082018082111561057f5761057f612a17565b600060208284031215612a6957600080fd5b8151611f07816120e0565b6001600160a01b039290921682521515602082015260400190565b60018060501b03815116825262ffffff6020820151166020830152604081015164ffffffffff8082166040850152806060840151166060850152806080840151166080850152505060a081015161ffff80821660a08501528060c08401511660c085015250505050565b6001600160a01b03831681526101008101611f076020830184612a8f565b60208082526051908201527f53656144726f7058417274426c6f636b735368696d3a2062617365555249206d60408201527f75737420626520636f6e66696775726564206f6e207468652041727420426c6f60608201527018dadcc818dbdc994818dbdb9d1c9858dd607a1b608082015260a00190565b600060208284031215612ba057600080fd5b5051919050565b600060208284031215612bb957600080fd5b81516001600160401b0380821115612bd057600080fd5b818401915084601f830112612be457600080fd5b815181811115612bf657612bf661222f565b604051601f8201601f19908116603f01168101908382118183101715612c1e57612c1e61222f565b81604052828152876020848701011115612c3757600080fd5b612c4883602083016020880161252b565b979650505050505050565b602081526000612c676020830184866127c2565b949350505050565b803563ffffffff811681146121df57600080fd5b6001600160501b03612c9482612290565b1682526020810135612ca5816122cf565b61ffff166020830152612cba604082016126d8565b65ffffffffffff808216604085015280612cd6606085016126d8565b16606085015250506080810135612cec81612918565b60ff166080830152612d0060a08201612c6f565b63ffffffff1660a0830152612d1760c082016122df565b61ffff1660c0830152612d2c60e082016121d4565b80151560e0840152505050565b6001600160a01b03831681526101208101611f076020830184612c83565b6000808335601e19843603018112612d6e57600080fd5b8301803591506001600160401b03821115612d8857600080fd5b6020019150368190038213156106d357600080fd5b60208082526050908201527f53656144726f7058417274426c6f636b735368696d3a20636f6e74726163745560408201527f5249206e6f7420737570706f72746564206f6e207468652041727420426c6f6360608201526f1adcc818dbdc994818dbdb9d1c9858dd60821b608082015260a00190565b600060208284031215612e2557600080fd5b611f07826126d8565b6001600160a01b038316815260e08101611f0760208301846126ee565b6001600160a01b0384168152604060208201819052600090612e7090830184866127c2565b95945050505050565b60008235605e19833603018112612e8f57600080fd5b9190910192915050565b6001600160a01b0383168152604060208201819052600090612c6790830184612830565b6000808335601e19843603018112612ed457600080fd5b8301803591506001600160401b03821115612eee57600080fd5b6020019150600581901b36038213156106d357600080fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b039384168152919092166020820152901515604082015260600190565b6000808335601e19843603018112612f5757600080fd5b8301803591506001600160401b03821115612f7157600080fd5b6020019150600881901b36038213156106d357600080fd5b6001600160a01b038481168252831660208201526101408101612c676040830184612c83565b6001600160a01b038481168252831660208083019190915282516001600160501b03166040808401919091529083015161ffff166060808401919091529083015165ffffffffffff16608083015282015161014082019061301a60a084018265ffffffffffff169052565b50608083015160ff811660c08401525060a083015163ffffffff811660e08401525060c083015161ffff81166101008401525060e08301518015156101208401525b50949350505050565b6000808335601e1984360301811261307c57600080fd5b8301803591506001600160401b0382111561309657600080fd5b602001915060e0810236038213156106d357600080fd5b6001600160a01b0384811682528316602082015261012081016001600160501b036130d784612290565b16604083015262ffffff6130ed602085016122a7565b1660608301526130ff604084016122ba565b64ffffffffff80821660808501528061311a606087016122ba565b1660a08501528061312d608087016122ba565b1660c0850152505061314160a084016122df565b61ffff1660e083015261315660c084016122df565b61ffff811661010084015261305c565b6001600160a01b038481168252831660208201526101208101612c676040830184612a8f565b60008060008060008060c087890312156131a557600080fd5b865195506020870151945060408701516131be816121c6565b60608801519094506131cf816121c6565b608088015160a089015191945092506131e7816121c6565b80915050929550929550929556fe53656144726f7058417274426c6f636b735368696d3a204f6e6c792074686520a26469706673582212207d639f2a1ca8407347c0725112162bc8878f7b6090338c8973970c12f2d63f2b64736f6c63430008160033",
1203
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101b75760003560e01c806301ffc9a7146101bc57806308d94188146101e4578063099b6bfa146102185780630c59d1fc1461022d5780631b73593c146102445780632a55205a146102575780633680620d146102895780633fafa1271461029c57806342260b5d146102c357806344dae42c146102cb57806348697249146102de57806348a4c101146102e6578063511aa644146102f957806355f804b31461030c5780636074eb6c1461031f57806360c308b61461033f57806364869dad1461035257806366251b69146103655780636c0360eb146103785780636f8b44b01461038d578063715018a6146103a057806374fe600b146103a85780637a05bc82146103cf5780637bc2be76146103e2578063840e15d4146103f55780638da5cb5b14610423578063911f456b1461042b578063938e3d7b1461043e578063ad2f852a14610451578063c6ab67a314610459578063cb743ba814610461578063d5abeb0114610474578063dd85582f1461047c578063e19133e2146104a2578063e8a3d485146104c9578063e9d1e8ac146104d1578063f2fde38b14610505575b600080fd5b6101cf6101ca366004612089565b610518565b60405190151581526020015b60405180910390f35b61020b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516101db91906120b3565b61022b6102263660046120c7565b610585565b005b61023660035481565b6040519081526020016101db565b61022b6102523660046120f5565b6105a6565b61026a610265366004612136565b61063a565b604080516001600160a01b0390931683526020830191909152016101db565b61022b610297366004612158565b6106da565b6102367f000000000000000000000000000000000000000000000000000000000000000081565b610236610718565b61022b6102d93660046121ae565b610809565b61022b610893565b61022b6102f43660046121e4565b610946565b61022b6103073660046122ea565b6109bd565b61022b61031a3660046123ff565b6109fd565b61023661032d366004612440565b60026020526000908152604090205481565b61022b61034d36600461245d565b610a15565b61022b6103603660046124d1565b610a7f565b61022b6103733660046124fd565b610c67565b610380610ca5565b6040516101db919061254f565b61022b61039b3660046120c7565b610d59565b61022b610e46565b61020b7f000000000000000000000000000000000000000000000000000000000000000081565b61022b6103dd366004612582565b610e58565b61022b6103f03660046125d6565b610e98565b610408610403366004612440565b610ed8565b604080519384526020840192909252908201526060016101db565b61020b610f1a565b61022b61043936600461262b565b610f29565b61022b61044c3660046123ff565b611a7d565b61020b611a95565b610236611b4b565b61022b61046f3660046121e4565b611b65565b610236611ba5565b7f000000000000000000000000000000000000000000000000000000000000000061020b565b61020b7f000000000000000000000000000000000000000000000000000000000000000081565b610380611bbf565b6103806040518060400160405280601581526020017453656144726f7058417274426c6f636b735368696d60581b81525081565b61022b610513366004612440565b611bd9565b60006001600160e01b03198216630c487f4760e11b148061054957506001600160e01b03198216639c15441560e01b145b8061056457506001600160e01b0319821663152a902d60e11b145b8061057f57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60405162461bcd60e51b815260040161059d90612666565b60405180910390fd5b6105af33611c4f565b6105b882611d90565b6040516301308e6560e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906301308e659061060490849060040161277b565b600060405180830381600087803b15801561061e57600080fd5b505af1158015610632573d6000803e3d6000fd5b505050505050565b60405163152a902d60e11b8152600481018390526024810182905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632a55205a906044016040805180830381865afa1580156106aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ce9190612794565b915091505b9250929050565b6106e333611c4f565b6106ec82611d90565b60405163ebb4a55f60e01b81526001600160a01b0383169063ebb4a55f90610604908490600401612905565b60405163050efbbd60e11b81527f0000000000000000000000000000000000000000000000000000000000000000600482015260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630a1df77a9060240161016060405180830381865afa1580156107a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c6919061293d565b905080610120015161ffff168160e0015161ffff16826020015160ff1660646107ef9190612a2d565b6107f99190612a44565b6108039190612a44565b91505090565b60405162461bcd60e51b815260206004820152605360248201527f53656144726f7058417274426c6f636b735368696d3a20726f79616c7469657360448201527f206d75737420626520636f6e66696775726564206f6e207468652041727420426064820152721b1bd8dadcc818dbdc994818dbdb9d1c9858dd606a1b608482015260a40161059d565b60405163a47d29cb60e01b81527f00000000000000000000000000000000000000000000000000000000000000006004820152610944907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa15801561091b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093f9190612a57565b611de2565b565b61094f33611c4f565b61095883611d90565b604051638e7d1e4360e01b81526001600160a01b03841690638e7d1e43906109869085908590600401612a74565b600060405180830381600087803b1580156109a057600080fd5b505af11580156109b4573d6000803e3d6000fd5b50505050505050565b6109c633611c4f565b6109cf83611d90565b6040516309a7002f60e31b81526001600160a01b03841690634d380178906109869085908590600401612af9565b60405162461bcd60e51b815260040161059d90612b17565b60405162461bcd60e51b815260206004820152603960248201527f53656144726f7058417274426c6f636b735368696d3a20757064617465416c6c6044820152781bddd95914d958511c9bdc081b9bdd081cdd5c1c1bdc9d1959603a1b606482015260840161059d565b600260015403610ad15760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161059d565b6002600155610adf33611d90565b600080610aea611e32565b915091506000610afc82600354611eed565b905080610b098585612a44565b1115610b3d57610b198484612a44565b60405163384b48c560e21b815260048101919091526024810182905260440161059d565b5050506001600160a01b03821660009081526002602052604081208054839290610b68908490612a44565b90915550600090505b81811015610c5e576040516117cd60e21b81526001600160a01b0384811660048301527f000000000000000000000000000000000000000000000000000000000000000060248301527f0000000000000000000000000000000000000000000000000000000000000000811660448301523360648301527f00000000000000000000000000000000000000000000000000000000000000001690615f34906084016020604051808303816000875af1158015610c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c559190612b8e565b50600101610b71565b50506001805550565b610c7033611c4f565b610c7982611d90565b60405163024e71b760e31b81526001600160a01b038316906312738db8906106049084906004016120b3565b604051632d9c020560e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632d9c020590602401600060405180830381865afa158015610d2c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d549190810190612ba7565b905090565b610d6233611c4f565b6000610d6c611e32565b91505080821115610e0a5760405162461bcd60e51b815260206004820152605c60248201527f53656144726f7058417274426c6f636b735368696d3a204f6e6c79206e65774d60448201527f6178537570706c79206c7465206d617820696e766f636174696f6e73206f6e2060648201527b1d1a1948105c9d08109b1bd8dadcc818dbdc994818dbdb9d1c9858dd60221b608482015260a40161059d565b60038290556040518281527f031a90d2fa92d7acf08a4e41932c34b6cc6b6592bd9159b837ecbcf3c0479fe69060200160405180910390a15050565b610e4e611f0e565b6109446000611de2565b610e6133611c4f565b610e6a83611d90565b60405163b957d0cb60e01b81526001600160a01b0384169063b957d0cb906109869085908590600401612c53565b610ea133611c4f565b610eaa83611d90565b604051637ecd591560e11b81526001600160a01b0384169063fd9ab22a906109869085908590600401612d39565b6001600160a01b03811660009081526002602052604081205490808080610efd611e32565b91509150819350610f1081600354611eed565b9496939550505050565b6000546001600160a01b031690565b610f3233611f6d565b803515610f8b576040516306f8b44b60e41b8152813560048201523090636f8b44b090602401600060405180830381600087803b158015610f7257600080fd5b505af1158015610f86573d6000803e3d6000fd5b505050505b610f986020820182612d57565b159050610fb75760405162461bcd60e51b815260040161059d90612b17565b610fc46040820182612d57565b159050610fe35760405162461bcd60e51b815260040161059d90612d9d565b610ff360c0820160a08301612e13565b65ffffffffffff1615158061101e575061101360e0820160c08301612e13565b65ffffffffffff1615155b1561108d5730631b73593c6110396080840160608501612440565b836080016040518363ffffffff1660e01b815260040161105a929190612e2e565b600060405180830381600087803b15801561107457600080fd5b505af1158015611088573d6000803e3d6000fd5b505050505b61109b610140820182612d57565b1590506111175730637a05bc826110b86080840160608501612440565b6110c6610140850185612d57565b6040518463ffffffff1660e01b81526004016110e493929190612e4b565b600060405180830381600087803b1580156110fe57600080fd5b505af1158015611112573d6000803e3d6000fd5b505050505b6000611127610160830183612e79565b35146111a15730633680620d6111436080840160608501612440565b611151610160850185612e79565b6040518363ffffffff1660e01b815260040161116e929190612e99565b600060405180830381600087803b15801561118857600080fd5b505af115801561119c573d6000803e3d6000fd5b505050505b60006111b56101a083016101808401612440565b6001600160a01b03161461124c57306366251b696111d96080840160608501612440565b6111eb6101a085016101808601612440565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b15801561123357600080fd5b505af1158015611247573d6000803e3d6000fd5b505050505b6101a08101351561126f5760405162461bcd60e51b815260040161059d90612666565b600061127f6101c0830183612ebd565b905011156113495760005b6112986101c0830183612ebd565b905081101561134757306348a4c1016112b76080850160608601612440565b6112c56101c0860186612ebd565b858181106112d5576112d5612f06565b90506020020160208101906112ea9190612440565b60016040518463ffffffff1660e01b815260040161130a93929190612f1c565b600060405180830381600087803b15801561132457600080fd5b505af1158015611338573d6000803e3d6000fd5b5050505080600101905061128a565b505b60006113596101e0830183612ebd565b905011156114235760005b6113726101e0830183612ebd565b905081101561142157306348a4c1016113916080850160608601612440565b61139f6101e0860186612ebd565b858181106113af576113af612f06565b90506020020160208101906113c49190612440565b60006040518463ffffffff1660e01b81526004016113e493929190612f1c565b600060405180830381600087803b1580156113fe57600080fd5b505af1158015611412573d6000803e3d6000fd5b50505050806001019050611364565b505b6000611433610200830183612ebd565b905011156114fd5760005b61144c610200830183612ebd565b90508110156114fb573063cb743ba861146b6080850160608601612440565b611479610200860186612ebd565b8581811061148957611489612f06565b905060200201602081019061149e9190612440565b60016040518463ffffffff1660e01b81526004016114be93929190612f1c565b600060405180830381600087803b1580156114d857600080fd5b505af11580156114ec573d6000803e3d6000fd5b5050505080600101905061143e565b505b600061150d610220830183612ebd565b905011156115d75760005b611526610220830183612ebd565b90508110156115d5573063cb743ba86115456080850160608601612440565b611553610220860186612ebd565b8581811061156357611563612f06565b90506020020160208101906115789190612440565b60006040518463ffffffff1660e01b815260040161159893929190612f1c565b600060405180830381600087803b1580156115b257600080fd5b505af11580156115c6573d6000803e3d6000fd5b50505050806001019050611518565b505b60006115e7610260830183612f40565b90501115611712576115fd610240820182612ebd565b905061160d610260830183612f40565b90501461162d5760405163b81aa63960e01b815260040160405180910390fd5b60005b61163e610260830183612f40565b90508110156117105730637bc2be7661165d6080850160608601612440565b61166b610240860186612ebd565b8581811061167b5761167b612f06565b90506020020160208101906116909190612440565b61169e610260870187612f40565b868181106116ae576116ae612f06565b905061010002016040518463ffffffff1660e01b81526004016116d393929190612f89565b600060405180830381600087803b1580156116ed57600080fd5b505af1158015611701573d6000803e3d6000fd5b50505050806001019050611630565b505b6000611722610280830183612ebd565b9050111561182d5760005b61173b610280830183612ebd565b905081101561182b576040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915230637bc2be7661179b6080860160608701612440565b6117a9610280870187612ebd565b868181106117b9576117b9612f06565b90506020020160208101906117ce9190612440565b846040518463ffffffff1660e01b81526004016117ed93929190612faf565b600060405180830381600087803b15801561180757600080fd5b505af115801561181b573d6000803e3d6000fd5b505050508160010191505061172d565b505b600061183d6102c0830183613065565b90501115611967576118536102a0820182612ebd565b90506118636102c0830183613065565b905014611883576040516374ef6df760e01b815260040160405180910390fd5b60005b6118946102c0830183613065565b9050811015611965573063511aa6446118b36080850160608601612440565b6118c16102a0860186612ebd565b858181106118d1576118d1612f06565b90506020020160208101906118e69190612440565b6118f46102c0870187613065565b8681811061190457611904612f06565b905060e002016040518463ffffffff1660e01b8152600401611928939291906130ad565b600060405180830381600087803b15801561194257600080fd5b505af1158015611956573d6000803e3d6000fd5b50505050806001019050611886565b505b60006119776102e0830183612ebd565b90501115611a7a5760005b6119906102e0830183612ebd565b9050811015611a78576040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091523063511aa6446119e86080860160608701612440565b6119f66102e0870187612ebd565b86818110611a0657611a06612f06565b9050602002016020810190611a1b9190612440565b846040518463ffffffff1660e01b8152600401611a3a93929190613166565b600060405180830381600087803b158015611a5457600080fd5b505af1158015611a68573d6000803e3d6000fd5b5050505081600101915050611982565b505b50565b60405162461bcd60e51b815260040161059d90612d9d565b60405163050efbbd60e11b81527f000000000000000000000000000000000000000000000000000000000000000060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630a1df77a9060240161016060405180830381865afa158015611b1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b41919061293d565b6101400151905090565b600060405162461bcd60e51b815260040161059d90612666565b611b6e33611c4f565b611b7783611d90565b604051633f952e6560e11b81526001600160a01b03841690637f2a5cca906109869085908590600401612a74565b600080611bb0611e32565b91505061080381600354611eed565b606060405162461bcd60e51b815260040161059d90612d9d565b611be1611f0e565b6001600160a01b038116611c465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161059d565b611a7a81611de2565b6001600160a01b0381163014801590611d21575060405163a47d29cb60e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015611ce7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d0b9190612a57565b6001600160a01b0316816001600160a01b031614155b15611a7a5760405162461bcd60e51b815260206004820152604560248201526000805160206131f683398151915260448201527f617274697374206f722073656c66206d61792063616c6c20746869732066756e60648201526431ba34b7b760d91b608482015260a40161059d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614611a7a576040516315e26ff360e01b815260040160405180910390fd5b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b604051630ea5613f60e01b81527f0000000000000000000000000000000000000000000000000000000000000000600482015260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630ea5613f9060240160c060405180830381865afa158015611ebb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611edf919061318c565b509396929550919350505050565b6000811580611efb57508282115b611f055781611f07565b825b9392505050565b33611f17610f1a565b6001600160a01b0316146109445760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161059d565b60405163a47d29cb60e01b81527f000000000000000000000000000000000000000000000000000000000000000060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a47d29cb90602401602060405180830381865afa158015611ff1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120159190612a57565b6001600160a01b0316816001600160a01b031614611a7a5760405162461bcd60e51b815260206004820152603d60248201526000805160206131f683398151915260448201527f617274697374206d61792063616c6c20746869732066756e6374696f6e000000606482015260840161059d565b60006020828403121561209b57600080fd5b81356001600160e01b031981168114611f0757600080fd5b6001600160a01b0391909116815260200190565b6000602082840312156120d957600080fd5b5035919050565b6001600160a01b0381168114611a7a57600080fd5b60008082840360e081121561210957600080fd5b8335612114816120e0565b925060c0601f198201121561212857600080fd5b506020830190509250929050565b6000806040838503121561214957600080fd5b50508035926020909101359150565b6000806040838503121561216b57600080fd5b8235612176816120e0565b915060208301356001600160401b0381111561219157600080fd5b8301606081860312156121a357600080fd5b809150509250929050565b6000604082840312156121c057600080fd5b50919050565b8015158114611a7a57600080fd5b80356121df816121c6565b919050565b6000806000606084860312156121f957600080fd5b8335612204816120e0565b92506020840135612214816120e0565b91506040840135612224816121c6565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b03811182821017156122675761226761222f565b60405290565b60405161016081016001600160401b03811182821017156122675761226761222f565b80356001600160501b03811681146121df57600080fd5b803562ffffff811681146121df57600080fd5b803564ffffffffff811681146121df57600080fd5b61ffff81168114611a7a57600080fd5b80356121df816122cf565b600080600083850361012081121561230157600080fd5b843561230c816120e0565b9350602085013561231c816120e0565b925060e0603f198201121561233057600080fd5b50612339612245565b61234560408601612290565b8152612353606086016122a7565b6020820152612364608086016122ba565b604082015261237560a086016122ba565b606082015261238660c086016122ba565b608082015260e0850135612399816122cf565b60a08201526101008501356123ad816122cf565b60c082015292959194509192509050565b60008083601f8401126123d057600080fd5b5081356001600160401b038111156123e757600080fd5b6020830191508360208285010111156106d357600080fd5b6000806020838503121561241257600080fd5b82356001600160401b0381111561242857600080fd5b612434858286016123be565b90969095509350505050565b60006020828403121561245257600080fd5b8135611f07816120e0565b6000806020838503121561247057600080fd5b82356001600160401b038082111561248757600080fd5b818501915085601f83011261249b57600080fd5b8135818111156124aa57600080fd5b8660208260051b85010111156124bf57600080fd5b60209290920196919550909350505050565b600080604083850312156124e457600080fd5b82356124ef816120e0565b946020939093013593505050565b6000806040838503121561251057600080fd5b823561251b816120e0565b915060208301356121a3816120e0565b60005b8381101561254657818101518382015260200161252e565b50506000910152565b602081526000825180602084015261256e81604085016020870161252b565b601f01601f19169190910160400192915050565b60008060006040848603121561259757600080fd5b83356125a2816120e0565b925060208401356001600160401b038111156125bd57600080fd5b6125c9868287016123be565b9497909650939450505050565b60008060008385036101408112156125ed57600080fd5b84356125f8816120e0565b93506020850135612608816120e0565b9250610100603f198201121561261d57600080fd5b506040840190509250925092565b60006020828403121561263d57600080fd5b81356001600160401b0381111561265357600080fd5b82016103008185031215611f0757600080fd5b6020808252604c908201527f53656144726f7058417274426c6f636b735368696d3a2070726f76656e616e6360408201527f652068617368206e6f7420737570706f72746564206f6e2041727420426c6f6360608201526b6b7320636f6e74726163747360a01b608082015260a00190565b803565ffffffffffff811681146121df57600080fd5b6001600160501b036126ff82612290565b16825261270e602082016126d8565b65ffffffffffff80821660208501528061272a604085016126d8565b16604085015250506060810135612740816122cf565b61ffff908116606084015260808201359061275a826122cf565b16608083015260a081013561276e816121c6565b80151560a0840152505050565b60c0810161057f82846126ee565b80516121df816120e0565b600080604083850312156127a757600080fd5b82516127b2816120e0565b6020939093015192949293505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e1984360301811261280257600080fd5b83016020810192503590506001600160401b0381111561282157600080fd5b8036038213156106d357600080fd5b60006060830182358452602080840135601e1985360301811261285257600080fd5b84016020810190356001600160401b0381111561286e57600080fd5b8060051b80360383131561288157600080fd5b606060208901529381905260809387018401938290880160005b838110156128d557898703607f190182526128b683866127eb565b6128c18982846127c2565b98505050918501919085019060010161289b565b5050505050506128e860408401846127eb565b85830360408701526128fb8382846127c2565b9695505050505050565b602081526000611f076020830184612830565b60ff81168114611a7a57600080fd5b80516121df81612918565b80516121df816122cf565b6000610160828403121561295057600080fd5b61295861226d565b61296183612789565b815261296f60208401612927565b602082015261298060408401612789565b604082015261299160608401612927565b60608201526129a260808401612789565b60808201526129b360a08401612927565b60a08201526129c460c08401612789565b60c08201526129d560e08401612932565b60e08201526101006129e8818501612789565b908201526101206129fa848201612932565b90820152610140612a0c848201612789565b908201529392505050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761057f5761057f612a17565b8082018082111561057f5761057f612a17565b600060208284031215612a6957600080fd5b8151611f07816120e0565b6001600160a01b039290921682521515602082015260400190565b60018060501b03815116825262ffffff6020820151166020830152604081015164ffffffffff8082166040850152806060840151166060850152806080840151166080850152505060a081015161ffff80821660a08501528060c08401511660c085015250505050565b6001600160a01b03831681526101008101611f076020830184612a8f565b60208082526051908201527f53656144726f7058417274426c6f636b735368696d3a2062617365555249206d60408201527f75737420626520636f6e66696775726564206f6e207468652041727420426c6f60608201527018dadcc818dbdc994818dbdb9d1c9858dd607a1b608082015260a00190565b600060208284031215612ba057600080fd5b5051919050565b600060208284031215612bb957600080fd5b81516001600160401b0380821115612bd057600080fd5b818401915084601f830112612be457600080fd5b815181811115612bf657612bf661222f565b604051601f8201601f19908116603f01168101908382118183101715612c1e57612c1e61222f565b81604052828152876020848701011115612c3757600080fd5b612c4883602083016020880161252b565b979650505050505050565b602081526000612c676020830184866127c2565b949350505050565b803563ffffffff811681146121df57600080fd5b6001600160501b03612c9482612290565b1682526020810135612ca5816122cf565b61ffff166020830152612cba604082016126d8565b65ffffffffffff808216604085015280612cd6606085016126d8565b16606085015250506080810135612cec81612918565b60ff166080830152612d0060a08201612c6f565b63ffffffff1660a0830152612d1760c082016122df565b61ffff1660c0830152612d2c60e082016121d4565b80151560e0840152505050565b6001600160a01b03831681526101208101611f076020830184612c83565b6000808335601e19843603018112612d6e57600080fd5b8301803591506001600160401b03821115612d8857600080fd5b6020019150368190038213156106d357600080fd5b60208082526050908201527f53656144726f7058417274426c6f636b735368696d3a20636f6e74726163745560408201527f5249206e6f7420737570706f72746564206f6e207468652041727420426c6f6360608201526f1adcc818dbdc994818dbdb9d1c9858dd60821b608082015260a00190565b600060208284031215612e2557600080fd5b611f07826126d8565b6001600160a01b038316815260e08101611f0760208301846126ee565b6001600160a01b0384168152604060208201819052600090612e7090830184866127c2565b95945050505050565b60008235605e19833603018112612e8f57600080fd5b9190910192915050565b6001600160a01b0383168152604060208201819052600090612c6790830184612830565b6000808335601e19843603018112612ed457600080fd5b8301803591506001600160401b03821115612eee57600080fd5b6020019150600581901b36038213156106d357600080fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b039384168152919092166020820152901515604082015260600190565b6000808335601e19843603018112612f5757600080fd5b8301803591506001600160401b03821115612f7157600080fd5b6020019150600881901b36038213156106d357600080fd5b6001600160a01b038481168252831660208201526101408101612c676040830184612c83565b6001600160a01b038481168252831660208083019190915282516001600160501b03166040808401919091529083015161ffff166060808401919091529083015165ffffffffffff16608083015282015161014082019061301a60a084018265ffffffffffff169052565b50608083015160ff811660c08401525060a083015163ffffffff811660e08401525060c083015161ffff81166101008401525060e08301518015156101208401525b50949350505050565b6000808335601e1984360301811261307c57600080fd5b8301803591506001600160401b0382111561309657600080fd5b602001915060e0810236038213156106d357600080fd5b6001600160a01b0384811682528316602082015261012081016001600160501b036130d784612290565b16604083015262ffffff6130ed602085016122a7565b1660608301526130ff604084016122ba565b64ffffffffff80821660808501528061311a606087016122ba565b1660a08501528061312d608087016122ba565b1660c0850152505061314160a084016122df565b61ffff1660e083015261315660c084016122df565b61ffff811661010084015261305c565b6001600160a01b038481168252831660208201526101208101612c676040830184612a8f565b60008060008060008060c087890312156131a557600080fd5b865195506020870151945060408701516131be816121c6565b60608801519094506131cf816121c6565b608088015160a089015191945092506131e7816121c6565b80915050929550929550929556fe53656144726f7058417274426c6f636b735368696d3a204f6e6c792074686520a26469706673582212207d639f2a1ca8407347c0725112162bc8878f7b6090338c8973970c12f2d63f2b64736f6c63430008160033",
1204
+ "linkReferences": {},
1205
+ "deployedLinkReferences": {}
1206
+ }