@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,236 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MockPMPConfigureHook",
4
+ "sourceName": "contracts/mock/MockPMPConfigureHook.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "address",
12
+ "name": "coreContract",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "uint256",
18
+ "name": "tokenId",
19
+ "type": "uint256"
20
+ },
21
+ {
22
+ "components": [
23
+ {
24
+ "internalType": "string",
25
+ "name": "key",
26
+ "type": "string"
27
+ },
28
+ {
29
+ "internalType": "enum IPMPV0.ParamType",
30
+ "name": "configuredParamType",
31
+ "type": "uint8"
32
+ },
33
+ {
34
+ "internalType": "bytes32",
35
+ "name": "configuredValue",
36
+ "type": "bytes32"
37
+ },
38
+ {
39
+ "internalType": "bool",
40
+ "name": "configuringArtistString",
41
+ "type": "bool"
42
+ },
43
+ {
44
+ "internalType": "string",
45
+ "name": "configuredValueString",
46
+ "type": "string"
47
+ }
48
+ ],
49
+ "indexed": false,
50
+ "internalType": "struct IPMPV0.PMPInput",
51
+ "name": "pmpInput",
52
+ "type": "tuple"
53
+ }
54
+ ],
55
+ "name": "TokenPMPConfigured",
56
+ "type": "event"
57
+ },
58
+ {
59
+ "inputs": [],
60
+ "name": "lastConfiguredValue",
61
+ "outputs": [
62
+ {
63
+ "internalType": "bytes32",
64
+ "name": "",
65
+ "type": "bytes32"
66
+ }
67
+ ],
68
+ "stateMutability": "view",
69
+ "type": "function"
70
+ },
71
+ {
72
+ "inputs": [],
73
+ "name": "lastConfiguredValueString",
74
+ "outputs": [
75
+ {
76
+ "internalType": "string",
77
+ "name": "",
78
+ "type": "string"
79
+ }
80
+ ],
81
+ "stateMutability": "view",
82
+ "type": "function"
83
+ },
84
+ {
85
+ "inputs": [],
86
+ "name": "lastConfiguringArtistString",
87
+ "outputs": [
88
+ {
89
+ "internalType": "bool",
90
+ "name": "",
91
+ "type": "bool"
92
+ }
93
+ ],
94
+ "stateMutability": "view",
95
+ "type": "function"
96
+ },
97
+ {
98
+ "inputs": [],
99
+ "name": "lastCoreContract",
100
+ "outputs": [
101
+ {
102
+ "internalType": "address",
103
+ "name": "",
104
+ "type": "address"
105
+ }
106
+ ],
107
+ "stateMutability": "view",
108
+ "type": "function"
109
+ },
110
+ {
111
+ "inputs": [],
112
+ "name": "lastPmpKey",
113
+ "outputs": [
114
+ {
115
+ "internalType": "string",
116
+ "name": "",
117
+ "type": "string"
118
+ }
119
+ ],
120
+ "stateMutability": "view",
121
+ "type": "function"
122
+ },
123
+ {
124
+ "inputs": [],
125
+ "name": "lastTokenId",
126
+ "outputs": [
127
+ {
128
+ "internalType": "uint256",
129
+ "name": "",
130
+ "type": "uint256"
131
+ }
132
+ ],
133
+ "stateMutability": "view",
134
+ "type": "function"
135
+ },
136
+ {
137
+ "inputs": [
138
+ {
139
+ "internalType": "address",
140
+ "name": "coreContract",
141
+ "type": "address"
142
+ },
143
+ {
144
+ "internalType": "uint256",
145
+ "name": "tokenId",
146
+ "type": "uint256"
147
+ },
148
+ {
149
+ "components": [
150
+ {
151
+ "internalType": "string",
152
+ "name": "key",
153
+ "type": "string"
154
+ },
155
+ {
156
+ "internalType": "enum IPMPV0.ParamType",
157
+ "name": "configuredParamType",
158
+ "type": "uint8"
159
+ },
160
+ {
161
+ "internalType": "bytes32",
162
+ "name": "configuredValue",
163
+ "type": "bytes32"
164
+ },
165
+ {
166
+ "internalType": "bool",
167
+ "name": "configuringArtistString",
168
+ "type": "bool"
169
+ },
170
+ {
171
+ "internalType": "string",
172
+ "name": "configuredValueString",
173
+ "type": "string"
174
+ }
175
+ ],
176
+ "internalType": "struct IPMPV0.PMPInput",
177
+ "name": "pmpInput",
178
+ "type": "tuple"
179
+ }
180
+ ],
181
+ "name": "onTokenPMPConfigure",
182
+ "outputs": [],
183
+ "stateMutability": "nonpayable",
184
+ "type": "function"
185
+ },
186
+ {
187
+ "inputs": [
188
+ {
189
+ "internalType": "bool",
190
+ "name": "_shouldRevert",
191
+ "type": "bool"
192
+ }
193
+ ],
194
+ "name": "setShouldRevert",
195
+ "outputs": [],
196
+ "stateMutability": "nonpayable",
197
+ "type": "function"
198
+ },
199
+ {
200
+ "inputs": [],
201
+ "name": "shouldRevert",
202
+ "outputs": [
203
+ {
204
+ "internalType": "bool",
205
+ "name": "",
206
+ "type": "bool"
207
+ }
208
+ ],
209
+ "stateMutability": "view",
210
+ "type": "function"
211
+ },
212
+ {
213
+ "inputs": [
214
+ {
215
+ "internalType": "bytes4",
216
+ "name": "interfaceId",
217
+ "type": "bytes4"
218
+ }
219
+ ],
220
+ "name": "supportsInterface",
221
+ "outputs": [
222
+ {
223
+ "internalType": "bool",
224
+ "name": "",
225
+ "type": "bool"
226
+ }
227
+ ],
228
+ "stateMutability": "view",
229
+ "type": "function"
230
+ }
231
+ ],
232
+ "bytecode": "0x60806040526005805461ff001916905534801561001b57600080fd5b506107da8061002b6000396000f3fe608060405234801561001057600080fd5b506004361061008e5760003560e01c806301ffc9a7146100935780632af81d3a146100bb5780632fd82f2b146100c8578063507725b7146100dd578063677e7135146101085780636813d7871461011d57806377d8a39d1461014557806387f296641461015c578063d3072d8214610164578063f84ddf0b14610176575b600080fd5b6100a66100a1366004610369565b61017f565b60405190151581526020015b60405180910390f35b6005546100a69060ff1681565b6100d06101b6565b6040516100b291906103e0565b6000546100f0906001600160a01b031681565b6040516001600160a01b0390911681526020016100b2565b61011b6101163660046104d2565b610244565b005b61011b61012b3660046105be565b600580549115156101000261ff0019909216919091179055565b61014e60035481565b6040519081526020016100b2565b6100d061035c565b6005546100a690610100900460ff1681565b61014e60015481565b60006001600160e01b0319821663677e713560e01b14806101b057506301ffc9a760e01b6001600160e01b03198316145b92915050565b600280546101c3906105d9565b80601f01602080910402602001604051908101604052809291908181526020018280546101ef906105d9565b801561023c5780601f106102115761010080835404028352916020019161023c565b820191906000526020600020905b81548152906001019060200180831161021f57829003601f168201915b505050505081565b600080546001600160a01b0319166001600160a01b038516179055600182905580516002906102739082610663565b506040810151600355608081015160049061028e9082610663565b5060608101516005805460ff191691151591909117905560405182906001600160a01b038516907f979de810211e673a83a4a16a5c73e96c3cebadd4648f237c6dcbf8a5ea106ec2906102e2908590610722565b60405180910390a3600554610100900460ff16156103575760405162461bcd60e51b815260206004820152602860248201527f4d6f636b504d50436f6e666967757265486f6f6b3a20496e74656e74696f6e616044820152671b081c995d995c9d60c21b606482015260840160405180910390fd5b505050565b600480546101c3906105d9565b60006020828403121561037b57600080fd5b81356001600160e01b03198116811461039357600080fd5b9392505050565b6000815180845260005b818110156103c0576020818501810151868301820152016103a4565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610393602083018461039a565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b038111828210171561042b5761042b6103f3565b60405290565b600082601f83011261044257600080fd5b81356001600160401b038082111561045c5761045c6103f3565b604051601f8301601f19908116603f01168101908282118183101715610484576104846103f3565b8160405283815286602085880101111561049d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803580151581146104cd57600080fd5b919050565b6000806000606084860312156104e757600080fd5b83356001600160a01b03811681146104fe57600080fd5b92506020840135915060408401356001600160401b038082111561052157600080fd5b9085019060a0828803121561053557600080fd5b61053d610409565b82358281111561054c57600080fd5b61055889828601610431565b82525060208301356009811061056d57600080fd5b602082015260408381013590820152610588606084016104bd565b606082015260808301358281111561059f57600080fd5b6105ab89828601610431565b6080830152508093505050509250925092565b6000602082840312156105d057600080fd5b610393826104bd565b600181811c908216806105ed57607f821691505b60208210810361060d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610357576000816000526020600020601f850160051c8101602086101561063c5750805b601f850160051c820191505b8181101561065b57828155600101610648565b505050505050565b81516001600160401b0381111561067c5761067c6103f3565b6106908161068a84546105d9565b84610613565b602080601f8311600181146106c557600084156106ad5750858301515b600019600386901b1c1916600185901b17855561065b565b600085815260208120601f198616915b828110156106f4578886015182559484019460019091019084016106d5565b50858210156107125787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000825160a0602084015261073e60c084018261039a565b905060208401516009811061076357634e487b7160e01b600052602160045260246000fd5b80604085015250604084015160608401526060840151151560808401526080840151601f198483030160a085015261079b828261039a565b9594505050505056fea2646970667358221220d30052a59a24f8bc87cd3cff2aaeeaf2e8f11ea30d952f4e727d903bc18061a264736f6c63430008160033",
233
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061008e5760003560e01c806301ffc9a7146100935780632af81d3a146100bb5780632fd82f2b146100c8578063507725b7146100dd578063677e7135146101085780636813d7871461011d57806377d8a39d1461014557806387f296641461015c578063d3072d8214610164578063f84ddf0b14610176575b600080fd5b6100a66100a1366004610369565b61017f565b60405190151581526020015b60405180910390f35b6005546100a69060ff1681565b6100d06101b6565b6040516100b291906103e0565b6000546100f0906001600160a01b031681565b6040516001600160a01b0390911681526020016100b2565b61011b6101163660046104d2565b610244565b005b61011b61012b3660046105be565b600580549115156101000261ff0019909216919091179055565b61014e60035481565b6040519081526020016100b2565b6100d061035c565b6005546100a690610100900460ff1681565b61014e60015481565b60006001600160e01b0319821663677e713560e01b14806101b057506301ffc9a760e01b6001600160e01b03198316145b92915050565b600280546101c3906105d9565b80601f01602080910402602001604051908101604052809291908181526020018280546101ef906105d9565b801561023c5780601f106102115761010080835404028352916020019161023c565b820191906000526020600020905b81548152906001019060200180831161021f57829003601f168201915b505050505081565b600080546001600160a01b0319166001600160a01b038516179055600182905580516002906102739082610663565b506040810151600355608081015160049061028e9082610663565b5060608101516005805460ff191691151591909117905560405182906001600160a01b038516907f979de810211e673a83a4a16a5c73e96c3cebadd4648f237c6dcbf8a5ea106ec2906102e2908590610722565b60405180910390a3600554610100900460ff16156103575760405162461bcd60e51b815260206004820152602860248201527f4d6f636b504d50436f6e666967757265486f6f6b3a20496e74656e74696f6e616044820152671b081c995d995c9d60c21b606482015260840160405180910390fd5b505050565b600480546101c3906105d9565b60006020828403121561037b57600080fd5b81356001600160e01b03198116811461039357600080fd5b9392505050565b6000815180845260005b818110156103c0576020818501810151868301820152016103a4565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610393602083018461039a565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b038111828210171561042b5761042b6103f3565b60405290565b600082601f83011261044257600080fd5b81356001600160401b038082111561045c5761045c6103f3565b604051601f8301601f19908116603f01168101908282118183101715610484576104846103f3565b8160405283815286602085880101111561049d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803580151581146104cd57600080fd5b919050565b6000806000606084860312156104e757600080fd5b83356001600160a01b03811681146104fe57600080fd5b92506020840135915060408401356001600160401b038082111561052157600080fd5b9085019060a0828803121561053557600080fd5b61053d610409565b82358281111561054c57600080fd5b61055889828601610431565b82525060208301356009811061056d57600080fd5b602082015260408381013590820152610588606084016104bd565b606082015260808301358281111561059f57600080fd5b6105ab89828601610431565b6080830152508093505050509250925092565b6000602082840312156105d057600080fd5b610393826104bd565b600181811c908216806105ed57607f821691505b60208210810361060d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610357576000816000526020600020601f850160051c8101602086101561063c5750805b601f850160051c820191505b8181101561065b57828155600101610648565b505050505050565b81516001600160401b0381111561067c5761067c6103f3565b6106908161068a84546105d9565b84610613565b602080601f8311600181146106c557600084156106ad5750858301515b600019600386901b1c1916600185901b17855561065b565b600085815260208120601f198616915b828110156106f4578886015182559484019460019091019084016106d5565b50858210156107125787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000825160a0602084015261073e60c084018261039a565b905060208401516009811061076357634e487b7160e01b600052602160045260246000fd5b80604085015250604084015160608401526060840151151560808401526080840151601f198483030160a085015261079b828261039a565b9594505050505056fea2646970667358221220d30052a59a24f8bc87cd3cff2aaeeaf2e8f11ea30d952f4e727d903bc18061a264736f6c63430008160033",
234
+ "linkReferences": {},
235
+ "deployedLinkReferences": {}
236
+ }
@@ -32,8 +32,8 @@
32
32
  "type": "function"
33
33
  }
34
34
  ],
35
- "bytecode": "0x608060405234801561001057600080fd5b50610148806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c95bb9c814610030575b600080fd5b61004361003e3660046100d0565b610045565b005b60405163f889b3ed60e01b81526001600160a01b038481166004830152602482018490526044820183905285169063f889b3ed90606401600060405180830381600087803b15801561009657600080fd5b505af11580156100aa573d6000803e3d6000fd5b5050505050505050565b80356001600160a01b03811681146100cb57600080fd5b919050565b600080600080608085870312156100e657600080fd5b6100ef856100b4565b93506100fd602086016100b4565b9396939550505050604082013591606001359056fea26469706673582212202f34001118610dd8a60a5557a04268d0523eeed85727b5caf336faafdaeae8a764736f6c63430008130033",
36
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c95bb9c814610030575b600080fd5b61004361003e3660046100d0565b610045565b005b60405163f889b3ed60e01b81526001600160a01b038481166004830152602482018490526044820183905285169063f889b3ed90606401600060405180830381600087803b15801561009657600080fd5b505af11580156100aa573d6000803e3d6000fd5b5050505050505050565b80356001600160a01b03811681146100cb57600080fd5b919050565b600080600080608085870312156100e657600080fd5b6100ef856100b4565b93506100fd602086016100b4565b9396939550505050604082013591606001359056fea26469706673582212202f34001118610dd8a60a5557a04268d0523eeed85727b5caf336faafdaeae8a764736f6c63430008130033",
35
+ "bytecode": "0x608060405234801561001057600080fd5b50610148806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c95bb9c814610030575b600080fd5b61004361003e3660046100d0565b610045565b005b60405163f889b3ed60e01b81526001600160a01b038481166004830152602482018490526044820183905285169063f889b3ed90606401600060405180830381600087803b15801561009657600080fd5b505af11580156100aa573d6000803e3d6000fd5b5050505050505050565b80356001600160a01b03811681146100cb57600080fd5b919050565b600080600080608085870312156100e657600080fd5b6100ef856100b4565b93506100fd602086016100b4565b9396939550505050604082013591606001359056fea26469706673582212202b13862ac3f6da97d308a9d1df150b40baf4a97c029ad0c9721177200340af4964736f6c63430008130033",
36
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c95bb9c814610030575b600080fd5b61004361003e3660046100d0565b610045565b005b60405163f889b3ed60e01b81526001600160a01b038481166004830152602482018490526044820183905285169063f889b3ed90606401600060405180830381600087803b15801561009657600080fd5b505af11580156100aa573d6000803e3d6000fd5b5050505050505050565b80356001600160a01b03811681146100cb57600080fd5b919050565b600080600080608085870312156100e657600080fd5b6100ef856100b4565b93506100fd602086016100b4565b9396939550505050604082013591606001359056fea26469706673582212202b13862ac3f6da97d308a9d1df150b40baf4a97c029ad0c9721177200340af4964736f6c63430008130033",
37
37
  "linkReferences": {},
38
38
  "deployedLinkReferences": {}
39
39
  }
@@ -121,8 +121,8 @@
121
121
  "type": "function"
122
122
  }
123
123
  ],
124
- "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6104918061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100785760003560e01c8063471f23d11461007d578063715018a6146100925780638da5cb5b1461009a578063b628171a146100be578063b7bc7356146100cf578063e19133e2146100e2578063eaa76157146100f5578063f2fde38b14610108575b600080fd5b61009061008b3660046103ae565b61011b565b005b61009061018d565b6100a26101a1565b6040516001600160a01b03909116815260200160405180910390f35b6100906100cc3660046103ae565b50565b6100906100dd3660046103ae565b6101b0565b6001546100a2906001600160a01b031681565b6100906101033660046103c7565b6101e5565b6100906101163660046103c7565b610217565b600061012682610292565b60015460405161078f60e21b815260048101859052602481018390529192506001600160a01b031690611e3c906044015b600060405180830381600087803b15801561017157600080fd5b505af1158015610185573d6000803e3d6000fd5b505050505050565b6101956102ff565b61019f600061035e565b565b6000546001600160a01b031690565b60015460405161078f60e21b815260048101839052600060248201819052916001600160a01b031690611e3c90604401610157565b6101ed6102ff565b6101f561018d565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61021f6102ff565b6001600160a01b0381166102895760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6100cc8161035e565b60004282436102a260018261040d565b40836102af60c882610426565b6102ba906001610448565b6040805160208101969096528501939093526060840191909152608083015260a082015260c00160405160208183030381529060405280519060200120915050919050565b336103086101a1565b6001600160a01b03161461019f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610280565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156103c057600080fd5b5035919050565b6000602082840312156103d957600080fd5b81356001600160a01b03811681146103f057600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610420576104206103f7565b92915050565b60008261044357634e487b7160e01b600052601260045260246000fd5b500690565b80820180821115610420576104206103f756fea2646970667358221220eaed064c3e2f55bc7c582fd186775798889b2e697bac9231ed761e6898d711bb64736f6c63430008130033",
125
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100785760003560e01c8063471f23d11461007d578063715018a6146100925780638da5cb5b1461009a578063b628171a146100be578063b7bc7356146100cf578063e19133e2146100e2578063eaa76157146100f5578063f2fde38b14610108575b600080fd5b61009061008b3660046103ae565b61011b565b005b61009061018d565b6100a26101a1565b6040516001600160a01b03909116815260200160405180910390f35b6100906100cc3660046103ae565b50565b6100906100dd3660046103ae565b6101b0565b6001546100a2906001600160a01b031681565b6100906101033660046103c7565b6101e5565b6100906101163660046103c7565b610217565b600061012682610292565b60015460405161078f60e21b815260048101859052602481018390529192506001600160a01b031690611e3c906044015b600060405180830381600087803b15801561017157600080fd5b505af1158015610185573d6000803e3d6000fd5b505050505050565b6101956102ff565b61019f600061035e565b565b6000546001600160a01b031690565b60015460405161078f60e21b815260048101839052600060248201819052916001600160a01b031690611e3c90604401610157565b6101ed6102ff565b6101f561018d565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61021f6102ff565b6001600160a01b0381166102895760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6100cc8161035e565b60004282436102a260018261040d565b40836102af60c882610426565b6102ba906001610448565b6040805160208101969096528501939093526060840191909152608083015260a082015260c00160405160208183030381529060405280519060200120915050919050565b336103086101a1565b6001600160a01b03161461019f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610280565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156103c057600080fd5b5035919050565b6000602082840312156103d957600080fd5b81356001600160a01b03811681146103f057600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610420576104206103f7565b92915050565b60008261044357634e487b7160e01b600052601260045260246000fd5b500690565b80820180821115610420576104206103f756fea2646970667358221220eaed064c3e2f55bc7c582fd186775798889b2e697bac9231ed761e6898d711bb64736f6c63430008130033",
124
+ "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6104918061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100785760003560e01c8063471f23d11461007d578063715018a6146100925780638da5cb5b1461009a578063b628171a146100be578063b7bc7356146100cf578063e19133e2146100e2578063eaa76157146100f5578063f2fde38b14610108575b600080fd5b61009061008b3660046103ae565b61011b565b005b61009061018d565b6100a26101a1565b6040516001600160a01b03909116815260200160405180910390f35b6100906100cc3660046103ae565b50565b6100906100dd3660046103ae565b6101b0565b6001546100a2906001600160a01b031681565b6100906101033660046103c7565b6101e5565b6100906101163660046103c7565b610217565b600061012682610292565b60015460405161078f60e21b815260048101859052602481018390529192506001600160a01b031690611e3c906044015b600060405180830381600087803b15801561017157600080fd5b505af1158015610185573d6000803e3d6000fd5b505050505050565b6101956102ff565b61019f600061035e565b565b6000546001600160a01b031690565b60015460405161078f60e21b815260048101839052600060248201819052916001600160a01b031690611e3c90604401610157565b6101ed6102ff565b6101f561018d565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61021f6102ff565b6001600160a01b0381166102895760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6100cc8161035e565b60004282436102a260018261040d565b40836102af60c882610426565b6102ba906001610448565b6040805160208101969096528501939093526060840191909152608083015260a082015260c00160405160208183030381529060405280519060200120915050919050565b336103086101a1565b6001600160a01b03161461019f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610280565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156103c057600080fd5b5035919050565b6000602082840312156103d957600080fd5b81356001600160a01b03811681146103f057600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610420576104206103f7565b92915050565b60008261044357634e487b7160e01b600052601260045260246000fd5b500690565b80820180821115610420576104206103f756fea264697066735822122084896d3a2e48acb7afdbbd076c4a9e76624cdbc7d0e9549aa65c62fe7a38f9e664736f6c63430008130033",
125
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100785760003560e01c8063471f23d11461007d578063715018a6146100925780638da5cb5b1461009a578063b628171a146100be578063b7bc7356146100cf578063e19133e2146100e2578063eaa76157146100f5578063f2fde38b14610108575b600080fd5b61009061008b3660046103ae565b61011b565b005b61009061018d565b6100a26101a1565b6040516001600160a01b03909116815260200160405180910390f35b6100906100cc3660046103ae565b50565b6100906100dd3660046103ae565b6101b0565b6001546100a2906001600160a01b031681565b6100906101033660046103c7565b6101e5565b6100906101163660046103c7565b610217565b600061012682610292565b60015460405161078f60e21b815260048101859052602481018390529192506001600160a01b031690611e3c906044015b600060405180830381600087803b15801561017157600080fd5b505af1158015610185573d6000803e3d6000fd5b505050505050565b6101956102ff565b61019f600061035e565b565b6000546001600160a01b031690565b60015460405161078f60e21b815260048101839052600060248201819052916001600160a01b031690611e3c90604401610157565b6101ed6102ff565b6101f561018d565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61021f6102ff565b6001600160a01b0381166102895760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6100cc8161035e565b60004282436102a260018261040d565b40836102af60c882610426565b6102ba906001610448565b6040805160208101969096528501939093526060840191909152608083015260a082015260c00160405160208183030381529060405280519060200120915050919050565b336103086101a1565b6001600160a01b03161461019f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610280565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156103c057600080fd5b5035919050565b6000602082840312156103d957600080fd5b81356001600160a01b03811681146103f057600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610420576104206103f7565b92915050565b60008261044357634e487b7160e01b600052601260045260246000fd5b500690565b80820180821115610420576104206103f756fea264697066735822122084896d3a2e48acb7afdbbd076c4a9e76624cdbc7d0e9549aa65c62fe7a38f9e664736f6c63430008130033",
126
126
  "linkReferences": {},
127
127
  "deployedLinkReferences": {}
128
128
  }
@@ -222,8 +222,8 @@
222
222
  "type": "function"
223
223
  }
224
224
  ],
225
- "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6109798061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100a45760003560e01c806308aacdf1146100a95780633897bb42146100e1578063447aa1c51461011d57806359e4a2ad1461013257806366b92a0e14610145578063715018a6146101705780638da5cb5b14610178578063b628171a14610180578063e19133e214610193578063eaa76157146101a6578063eb037309146101b9578063f2fde38b146101cc575b600080fd5b6100cc6100b73660046107f5565b60036020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6101046100ef3660046107f5565b60026020526000908152604090205460a01b81565b6040516001600160a01b031990911681526020016100d8565b61013061012b366004610823565b6101df565b005b610130610140366004610847565b610239565b600454610158906001600160a01b031681565b6040516001600160a01b0390911681526020016100d8565b6101306102bf565b6101586102d3565b61013061018e3660046107f5565b6102e2565b600154610158906001600160a01b031681565b6101306101b4366004610823565b61043a565b6101306101c73660046107f5565b61046c565b6101306101da366004610823565b6104d8565b6101ef63447aa1c560e01b610551565b600480546001600160a01b0319166001600160a01b0383169081179091556040517f8efe01ac3eede6840252c9e2462d05448dc65a012877da2bcf1e32c06a161a3d90600090a250565b6004546001600160a01b031633146102965760405162461bcd60e51b815260206004820152601b60248201527a13db9b1e481a185cda14d9595914d95d1d195c90dbdb9d1c9858dd602a1b60448201526064015b60405180910390fd5b60009182526002602052604090912080546001600160601b03191660a09290921c919091179055565b6102c761061e565b6102d1600061067d565b565b6000546001600160a01b031690565b6001546001600160a01b031633146103315760405162461bcd60e51b815260206004820152601260248201527113db9b1e4818dbdc99481b585e4818d85b1b60721b604482015260640161028d565b6000600381610343620f4240856108b0565b815260208101919091526040016000205460ff161561037e575060008181526002602052604090205460a01b6001600160a01b03191661038a565b610387826106cd565b90505b60008190036103d55760405162461bcd60e51b815260206004820152601760248201527613db9b1e481b9bdb8b5e995c9bc81a185cda081cd95959604a1b604482015260640161028d565b60015460405161078f60e21b815260048101849052602481018390526001600160a01b0390911690611e3c90604401600060405180830381600087803b15801561041e57600080fd5b505af1158015610432573d6000803e3d6000fd5b505050505050565b61044261061e565b61044a6102bf565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6104758161073a565b600081815260036020908152604091829020805460ff8082161560ff199092168217909255835185815291161515918101919091527fede330a7b41e8a7cd3e273fa4093f4fb1ab8d9b0dd270a9931dc4e5035cf1d28910160405180910390a150565b6104e061061e565b6001600160a01b0381166105455760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161028d565b61054e8161067d565b50565b60015460405163230448b160e01b81523360048201523060248201526001600160e01b0319831660448201526001600160a01b039091169063230448b1906064016020604051808303816000875af11580156105b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d591906108c4565b61054e5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b604482015260640161028d565b336106276102d3565b6001600160a01b0316146102d15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161028d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60004282436106dd6001826108e6565b40836106ea60c8826108ff565b6106f5906001610913565b6040805160208101969096528501939093526060840191909152608083015260a082015260c00160405160208183030381529060405280519060200120915050919050565b60015460405163a47d29cb60e01b8152600481018390526001600160a01b039091169063a47d29cb90602401602060405180830381865afa158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a79190610926565b6001600160a01b0316336001600160a01b03161461054e5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b604482015260640161028d565b60006020828403121561080757600080fd5b5035919050565b6001600160a01b038116811461054e57600080fd5b60006020828403121561083557600080fd5b81356108408161080e565b9392505050565b6000806040838503121561085a57600080fd5b8235915060208301356001600160a01b03198116811461087957600080fd5b809150509250929050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000826108bf576108bf610884565b500490565b6000602082840312156108d657600080fd5b8151801515811461084057600080fd5b818103818111156108f9576108f961089a565b92915050565b60008261090e5761090e610884565b500690565b808201808211156108f9576108f961089a565b60006020828403121561093857600080fd5b81516108408161080e56fea26469706673582212208fbf96a70aacc08f3b4b76031d66a6a19dcb335e1f2b4653be1ebc446fe5965864736f6c63430008130033",
226
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a45760003560e01c806308aacdf1146100a95780633897bb42146100e1578063447aa1c51461011d57806359e4a2ad1461013257806366b92a0e14610145578063715018a6146101705780638da5cb5b14610178578063b628171a14610180578063e19133e214610193578063eaa76157146101a6578063eb037309146101b9578063f2fde38b146101cc575b600080fd5b6100cc6100b73660046107f5565b60036020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6101046100ef3660046107f5565b60026020526000908152604090205460a01b81565b6040516001600160a01b031990911681526020016100d8565b61013061012b366004610823565b6101df565b005b610130610140366004610847565b610239565b600454610158906001600160a01b031681565b6040516001600160a01b0390911681526020016100d8565b6101306102bf565b6101586102d3565b61013061018e3660046107f5565b6102e2565b600154610158906001600160a01b031681565b6101306101b4366004610823565b61043a565b6101306101c73660046107f5565b61046c565b6101306101da366004610823565b6104d8565b6101ef63447aa1c560e01b610551565b600480546001600160a01b0319166001600160a01b0383169081179091556040517f8efe01ac3eede6840252c9e2462d05448dc65a012877da2bcf1e32c06a161a3d90600090a250565b6004546001600160a01b031633146102965760405162461bcd60e51b815260206004820152601b60248201527a13db9b1e481a185cda14d9595914d95d1d195c90dbdb9d1c9858dd602a1b60448201526064015b60405180910390fd5b60009182526002602052604090912080546001600160601b03191660a09290921c919091179055565b6102c761061e565b6102d1600061067d565b565b6000546001600160a01b031690565b6001546001600160a01b031633146103315760405162461bcd60e51b815260206004820152601260248201527113db9b1e4818dbdc99481b585e4818d85b1b60721b604482015260640161028d565b6000600381610343620f4240856108b0565b815260208101919091526040016000205460ff161561037e575060008181526002602052604090205460a01b6001600160a01b03191661038a565b610387826106cd565b90505b60008190036103d55760405162461bcd60e51b815260206004820152601760248201527613db9b1e481b9bdb8b5e995c9bc81a185cda081cd95959604a1b604482015260640161028d565b60015460405161078f60e21b815260048101849052602481018390526001600160a01b0390911690611e3c90604401600060405180830381600087803b15801561041e57600080fd5b505af1158015610432573d6000803e3d6000fd5b505050505050565b61044261061e565b61044a6102bf565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6104758161073a565b600081815260036020908152604091829020805460ff8082161560ff199092168217909255835185815291161515918101919091527fede330a7b41e8a7cd3e273fa4093f4fb1ab8d9b0dd270a9931dc4e5035cf1d28910160405180910390a150565b6104e061061e565b6001600160a01b0381166105455760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161028d565b61054e8161067d565b50565b60015460405163230448b160e01b81523360048201523060248201526001600160e01b0319831660448201526001600160a01b039091169063230448b1906064016020604051808303816000875af11580156105b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d591906108c4565b61054e5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b604482015260640161028d565b336106276102d3565b6001600160a01b0316146102d15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161028d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60004282436106dd6001826108e6565b40836106ea60c8826108ff565b6106f5906001610913565b6040805160208101969096528501939093526060840191909152608083015260a082015260c00160405160208183030381529060405280519060200120915050919050565b60015460405163a47d29cb60e01b8152600481018390526001600160a01b039091169063a47d29cb90602401602060405180830381865afa158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a79190610926565b6001600160a01b0316336001600160a01b03161461054e5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b604482015260640161028d565b60006020828403121561080757600080fd5b5035919050565b6001600160a01b038116811461054e57600080fd5b60006020828403121561083557600080fd5b81356108408161080e565b9392505050565b6000806040838503121561085a57600080fd5b8235915060208301356001600160a01b03198116811461087957600080fd5b809150509250929050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000826108bf576108bf610884565b500490565b6000602082840312156108d657600080fd5b8151801515811461084057600080fd5b818103818111156108f9576108f961089a565b92915050565b60008261090e5761090e610884565b500690565b808201808211156108f9576108f961089a565b60006020828403121561093857600080fd5b81516108408161080e56fea26469706673582212208fbf96a70aacc08f3b4b76031d66a6a19dcb335e1f2b4653be1ebc446fe5965864736f6c63430008130033",
225
+ "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6109798061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100a45760003560e01c806308aacdf1146100a95780633897bb42146100e1578063447aa1c51461011d57806359e4a2ad1461013257806366b92a0e14610145578063715018a6146101705780638da5cb5b14610178578063b628171a14610180578063e19133e214610193578063eaa76157146101a6578063eb037309146101b9578063f2fde38b146101cc575b600080fd5b6100cc6100b73660046107f5565b60036020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6101046100ef3660046107f5565b60026020526000908152604090205460a01b81565b6040516001600160a01b031990911681526020016100d8565b61013061012b366004610823565b6101df565b005b610130610140366004610847565b610239565b600454610158906001600160a01b031681565b6040516001600160a01b0390911681526020016100d8565b6101306102bf565b6101586102d3565b61013061018e3660046107f5565b6102e2565b600154610158906001600160a01b031681565b6101306101b4366004610823565b61043a565b6101306101c73660046107f5565b61046c565b6101306101da366004610823565b6104d8565b6101ef63447aa1c560e01b610551565b600480546001600160a01b0319166001600160a01b0383169081179091556040517f8efe01ac3eede6840252c9e2462d05448dc65a012877da2bcf1e32c06a161a3d90600090a250565b6004546001600160a01b031633146102965760405162461bcd60e51b815260206004820152601b60248201527a13db9b1e481a185cda14d9595914d95d1d195c90dbdb9d1c9858dd602a1b60448201526064015b60405180910390fd5b60009182526002602052604090912080546001600160601b03191660a09290921c919091179055565b6102c761061e565b6102d1600061067d565b565b6000546001600160a01b031690565b6001546001600160a01b031633146103315760405162461bcd60e51b815260206004820152601260248201527113db9b1e4818dbdc99481b585e4818d85b1b60721b604482015260640161028d565b6000600381610343620f4240856108b0565b815260208101919091526040016000205460ff161561037e575060008181526002602052604090205460a01b6001600160a01b03191661038a565b610387826106cd565b90505b60008190036103d55760405162461bcd60e51b815260206004820152601760248201527613db9b1e481b9bdb8b5e995c9bc81a185cda081cd95959604a1b604482015260640161028d565b60015460405161078f60e21b815260048101849052602481018390526001600160a01b0390911690611e3c90604401600060405180830381600087803b15801561041e57600080fd5b505af1158015610432573d6000803e3d6000fd5b505050505050565b61044261061e565b61044a6102bf565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6104758161073a565b600081815260036020908152604091829020805460ff8082161560ff199092168217909255835185815291161515918101919091527fede330a7b41e8a7cd3e273fa4093f4fb1ab8d9b0dd270a9931dc4e5035cf1d28910160405180910390a150565b6104e061061e565b6001600160a01b0381166105455760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161028d565b61054e8161067d565b50565b60015460405163230448b160e01b81523360048201523060248201526001600160e01b0319831660448201526001600160a01b039091169063230448b1906064016020604051808303816000875af11580156105b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d591906108c4565b61054e5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b604482015260640161028d565b336106276102d3565b6001600160a01b0316146102d15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161028d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60004282436106dd6001826108e6565b40836106ea60c8826108ff565b6106f5906001610913565b6040805160208101969096528501939093526060840191909152608083015260a082015260c00160405160208183030381529060405280519060200120915050919050565b60015460405163a47d29cb60e01b8152600481018390526001600160a01b039091169063a47d29cb90602401602060405180830381865afa158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a79190610926565b6001600160a01b0316336001600160a01b03161461054e5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b604482015260640161028d565b60006020828403121561080757600080fd5b5035919050565b6001600160a01b038116811461054e57600080fd5b60006020828403121561083557600080fd5b81356108408161080e565b9392505050565b6000806040838503121561085a57600080fd5b8235915060208301356001600160a01b03198116811461087957600080fd5b809150509250929050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000826108bf576108bf610884565b500490565b6000602082840312156108d657600080fd5b8151801515811461084057600080fd5b818103818111156108f9576108f961089a565b92915050565b60008261090e5761090e610884565b500690565b808201808211156108f9576108f961089a565b60006020828403121561093857600080fd5b81516108408161080e56fea2646970667358221220681a4e1625f6b753977654ee3f9be8f851c0baff1213d2d60e085f6a2e97a6d564736f6c63430008130033",
226
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a45760003560e01c806308aacdf1146100a95780633897bb42146100e1578063447aa1c51461011d57806359e4a2ad1461013257806366b92a0e14610145578063715018a6146101705780638da5cb5b14610178578063b628171a14610180578063e19133e214610193578063eaa76157146101a6578063eb037309146101b9578063f2fde38b146101cc575b600080fd5b6100cc6100b73660046107f5565b60036020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6101046100ef3660046107f5565b60026020526000908152604090205460a01b81565b6040516001600160a01b031990911681526020016100d8565b61013061012b366004610823565b6101df565b005b610130610140366004610847565b610239565b600454610158906001600160a01b031681565b6040516001600160a01b0390911681526020016100d8565b6101306102bf565b6101586102d3565b61013061018e3660046107f5565b6102e2565b600154610158906001600160a01b031681565b6101306101b4366004610823565b61043a565b6101306101c73660046107f5565b61046c565b6101306101da366004610823565b6104d8565b6101ef63447aa1c560e01b610551565b600480546001600160a01b0319166001600160a01b0383169081179091556040517f8efe01ac3eede6840252c9e2462d05448dc65a012877da2bcf1e32c06a161a3d90600090a250565b6004546001600160a01b031633146102965760405162461bcd60e51b815260206004820152601b60248201527a13db9b1e481a185cda14d9595914d95d1d195c90dbdb9d1c9858dd602a1b60448201526064015b60405180910390fd5b60009182526002602052604090912080546001600160601b03191660a09290921c919091179055565b6102c761061e565b6102d1600061067d565b565b6000546001600160a01b031690565b6001546001600160a01b031633146103315760405162461bcd60e51b815260206004820152601260248201527113db9b1e4818dbdc99481b585e4818d85b1b60721b604482015260640161028d565b6000600381610343620f4240856108b0565b815260208101919091526040016000205460ff161561037e575060008181526002602052604090205460a01b6001600160a01b03191661038a565b610387826106cd565b90505b60008190036103d55760405162461bcd60e51b815260206004820152601760248201527613db9b1e481b9bdb8b5e995c9bc81a185cda081cd95959604a1b604482015260640161028d565b60015460405161078f60e21b815260048101849052602481018390526001600160a01b0390911690611e3c90604401600060405180830381600087803b15801561041e57600080fd5b505af1158015610432573d6000803e3d6000fd5b505050505050565b61044261061e565b61044a6102bf565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6104758161073a565b600081815260036020908152604091829020805460ff8082161560ff199092168217909255835185815291161515918101919091527fede330a7b41e8a7cd3e273fa4093f4fb1ab8d9b0dd270a9931dc4e5035cf1d28910160405180910390a150565b6104e061061e565b6001600160a01b0381166105455760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161028d565b61054e8161067d565b50565b60015460405163230448b160e01b81523360048201523060248201526001600160e01b0319831660448201526001600160a01b039091169063230448b1906064016020604051808303816000875af11580156105b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d591906108c4565b61054e5760405162461bcd60e51b815260206004820152601a60248201527913db9b1e4810dbdc994810591b5a5b9050d308185b1b1bddd95960321b604482015260640161028d565b336106276102d3565b6001600160a01b0316146102d15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161028d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60004282436106dd6001826108e6565b40836106ea60c8826108ff565b6106f5906001610913565b6040805160208101969096528501939093526060840191909152608083015260a082015260c00160405160208183030381529060405280519060200120915050919050565b60015460405163a47d29cb60e01b8152600481018390526001600160a01b039091169063a47d29cb90602401602060405180830381865afa158015610783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a79190610926565b6001600160a01b0316336001600160a01b03161461054e5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b604482015260640161028d565b60006020828403121561080757600080fd5b5035919050565b6001600160a01b038116811461054e57600080fd5b60006020828403121561083557600080fd5b81356108408161080e565b9392505050565b6000806040838503121561085a57600080fd5b8235915060208301356001600160a01b03198116811461087957600080fd5b809150509250929050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000826108bf576108bf610884565b500490565b6000602082840312156108d657600080fd5b8151801515811461084057600080fd5b818103818111156108f9576108f961089a565b92915050565b60008261090e5761090e610884565b500690565b808201808211156108f9576108f961089a565b60006020828403121561093857600080fd5b81516108408161080e56fea2646970667358221220681a4e1625f6b753977654ee3f9be8f851c0baff1213d2d60e085f6a2e97a6d564736f6c63430008130033",
227
227
  "linkReferences": {},
228
228
  "deployedLinkReferences": {}
229
229
  }
@@ -95,8 +95,8 @@
95
95
  "type": "function"
96
96
  }
97
97
  ],
98
- "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6104738061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063715018a6146100675780638da5cb5b14610071578063b628171a14610095578063e19133e2146100a8578063eaa76157146100bb578063f2fde38b146100ce575b600080fd5b61006f6100e1565b005b6100796100f5565b6040516001600160a01b03909116815260200160405180910390f35b61006f6100a3366004610390565b610104565b600154610079906001600160a01b031681565b61006f6100c93660046103a9565b6101c9565b61006f6100dc3660046103a9565b6101fb565b6100e9610274565b6100f360006102d3565b565b6000546001600160a01b031690565b6001546001600160a01b031633146101585760405162461bcd60e51b815260206004820152601260248201527113db9b1e4818dbdc99481b585e4818d85b1b60721b60448201526064015b60405180910390fd5b600061016382610323565b60015460405161078f60e21b815260048101859052602481018390529192506001600160a01b031690611e3c90604401600060405180830381600087803b1580156101ad57600080fd5b505af11580156101c1573d6000803e3d6000fd5b505050505050565b6101d1610274565b6101d96100e1565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b610203610274565b6001600160a01b0381166102685760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161014f565b610271816102d3565b50565b3361027d6100f5565b6001600160a01b0316146100f35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161014f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60004282436103336001826103ef565b408361034060c882610408565b61034b90600161042a565b6040805160208101969096528501939093526060840191909152608083015260a082015260c00160405160208183030381529060405280519060200120915050919050565b6000602082840312156103a257600080fd5b5035919050565b6000602082840312156103bb57600080fd5b81356001600160a01b03811681146103d257600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610402576104026103d9565b92915050565b60008261042557634e487b7160e01b600052601260045260246000fd5b500690565b80820180821115610402576104026103d956fea26469706673582212209566213cfb35a9c19c34bfd4d3772b00ae32a311e1f643fb5a187cddcd4ad9ed64736f6c63430008130033",
99
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c8063715018a6146100675780638da5cb5b14610071578063b628171a14610095578063e19133e2146100a8578063eaa76157146100bb578063f2fde38b146100ce575b600080fd5b61006f6100e1565b005b6100796100f5565b6040516001600160a01b03909116815260200160405180910390f35b61006f6100a3366004610390565b610104565b600154610079906001600160a01b031681565b61006f6100c93660046103a9565b6101c9565b61006f6100dc3660046103a9565b6101fb565b6100e9610274565b6100f360006102d3565b565b6000546001600160a01b031690565b6001546001600160a01b031633146101585760405162461bcd60e51b815260206004820152601260248201527113db9b1e4818dbdc99481b585e4818d85b1b60721b60448201526064015b60405180910390fd5b600061016382610323565b60015460405161078f60e21b815260048101859052602481018390529192506001600160a01b031690611e3c90604401600060405180830381600087803b1580156101ad57600080fd5b505af11580156101c1573d6000803e3d6000fd5b505050505050565b6101d1610274565b6101d96100e1565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b610203610274565b6001600160a01b0381166102685760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161014f565b610271816102d3565b50565b3361027d6100f5565b6001600160a01b0316146100f35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161014f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60004282436103336001826103ef565b408361034060c882610408565b61034b90600161042a565b6040805160208101969096528501939093526060840191909152608083015260a082015260c00160405160208183030381529060405280519060200120915050919050565b6000602082840312156103a257600080fd5b5035919050565b6000602082840312156103bb57600080fd5b81356001600160a01b03811681146103d257600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610402576104026103d9565b92915050565b60008261042557634e487b7160e01b600052601260045260246000fd5b500690565b80820180821115610402576104026103d956fea26469706673582212209566213cfb35a9c19c34bfd4d3772b00ae32a311e1f643fb5a187cddcd4ad9ed64736f6c63430008130033",
98
+ "bytecode": "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6104738061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063715018a6146100675780638da5cb5b14610071578063b628171a14610095578063e19133e2146100a8578063eaa76157146100bb578063f2fde38b146100ce575b600080fd5b61006f6100e1565b005b6100796100f5565b6040516001600160a01b03909116815260200160405180910390f35b61006f6100a3366004610390565b610104565b600154610079906001600160a01b031681565b61006f6100c93660046103a9565b6101c9565b61006f6100dc3660046103a9565b6101fb565b6100e9610274565b6100f360006102d3565b565b6000546001600160a01b031690565b6001546001600160a01b031633146101585760405162461bcd60e51b815260206004820152601260248201527113db9b1e4818dbdc99481b585e4818d85b1b60721b60448201526064015b60405180910390fd5b600061016382610323565b60015460405161078f60e21b815260048101859052602481018390529192506001600160a01b031690611e3c90604401600060405180830381600087803b1580156101ad57600080fd5b505af11580156101c1573d6000803e3d6000fd5b505050505050565b6101d1610274565b6101d96100e1565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b610203610274565b6001600160a01b0381166102685760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161014f565b610271816102d3565b50565b3361027d6100f5565b6001600160a01b0316146100f35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161014f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60004282436103336001826103ef565b408361034060c882610408565b61034b90600161042a565b6040805160208101969096528501939093526060840191909152608083015260a082015260c00160405160208183030381529060405280519060200120915050919050565b6000602082840312156103a257600080fd5b5035919050565b6000602082840312156103bb57600080fd5b81356001600160a01b03811681146103d257600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610402576104026103d9565b92915050565b60008261042557634e487b7160e01b600052601260045260246000fd5b500690565b80820180821115610402576104026103d956fea264697066735822122019ba206e0df91e7ff68994d026a3aa70936b620c436502dd9927fb40839e625464736f6c63430008130033",
99
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c8063715018a6146100675780638da5cb5b14610071578063b628171a14610095578063e19133e2146100a8578063eaa76157146100bb578063f2fde38b146100ce575b600080fd5b61006f6100e1565b005b6100796100f5565b6040516001600160a01b03909116815260200160405180910390f35b61006f6100a3366004610390565b610104565b600154610079906001600160a01b031681565b61006f6100c93660046103a9565b6101c9565b61006f6100dc3660046103a9565b6101fb565b6100e9610274565b6100f360006102d3565b565b6000546001600160a01b031690565b6001546001600160a01b031633146101585760405162461bcd60e51b815260206004820152601260248201527113db9b1e4818dbdc99481b585e4818d85b1b60721b60448201526064015b60405180910390fd5b600061016382610323565b60015460405161078f60e21b815260048101859052602481018390529192506001600160a01b031690611e3c90604401600060405180830381600087803b1580156101ad57600080fd5b505af11580156101c1573d6000803e3d6000fd5b505050505050565b6101d1610274565b6101d96100e1565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b610203610274565b6001600160a01b0381166102685760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161014f565b610271816102d3565b50565b3361027d6100f5565b6001600160a01b0316146100f35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161014f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60004282436103336001826103ef565b408361034060c882610408565b61034b90600161042a565b6040805160208101969096528501939093526060840191909152608083015260a082015260c00160405160208183030381529060405280519060200120915050919050565b6000602082840312156103a257600080fd5b5035919050565b6000602082840312156103bb57600080fd5b81356001600160a01b03811681146103d257600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610402576104026103d9565b92915050565b60008261042557634e487b7160e01b600052601260045260246000fd5b500690565b80820180821115610402576104026103d956fea264697066735822122019ba206e0df91e7ff68994d026a3aa70936b620c436502dd9927fb40839e625464736f6c63430008130033",
100
100
  "linkReferences": {},
101
101
  "deployedLinkReferences": {}
102
102
  }
@@ -240,8 +240,8 @@
240
240
  "type": "function"
241
241
  }
242
242
  ],
243
- "bytecode": "0x60a060405234801561001057600080fd5b5060405161089b38038061089b83398101604081905261002f9161006d565b6001600160a01b03811660808190526040517f2ad63d43bf15d4fb27447dac9430a7e357192317067d6a79f145ae0893867d2890600090a25061009d565b60006020828403121561007f57600080fd5b81516001600160a01b038116811461009657600080fd5b9392505050565b6080516107dc6100bf60003960008181610146015261054f01526107dc6000f3fe608060405234801561001057600080fd5b50600436106100785760003560e01c80638f2a62c31461007d5780639f8ac23f146100cb578063a6db8cb614610119578063b1aea8c91461012e578063b310c79214610141578063b628171a14610168578063dddceed11461017b578063eaedc4231461018e575b600080fd5b6100b661008b366004610683565b6001600160a01b03919091166000908152600160209081526040808320938352929052205460ff1690565b60405190151581526020015b60405180910390f35b6101016100d9366004610683565b6001600160a01b03918216600090815260026020908152604080832093835292905220541690565b6040516001600160a01b0390911681526020016100c2565b61012c610127366004610683565b6101de565b005b61012c61013c3660046106af565b610260565b6101017f000000000000000000000000000000000000000000000000000000000000000081565b61012c6101763660046106f1565b6102cf565b61012c61018936600461070a565b610400565b6101c561019c366004610683565b6001600160a01b0391909116600090815260208181526040808320938352929052205460a01b90565b6040516001600160a01b031990911681526020016100c2565b6101e88282610454565b6001600160a01b0382166000818152600160209081526040808320858452825291829020805460ff19811660ff91821615908117909255835194855291840185905216151582820152517f459a9692be7991c0a9003b1503f8bae163cd2c99f35c952bf5b7b8d47629f6069181900360600190a15050565b61026a8383610454565b6001600160a01b03838116600081815260026020908152604080832087845290915280822080546001600160a01b0319169486169485179055518592917f3a32d746deba4ebe76a81771454e46f19940f56a24b0594a42356bcea6ac841491a4505050565b3360006102db8361050f565b6001600160a01b03831660009081526001602090815260408083208484529091528120549192509060ff161561034057506001600160a01b03821660009081526020818152604080832086845290915290205460a01b6001600160a01b03191661034d565b61034a8385610524565b90505b600081900361039d5760405162461bcd60e51b815260206004820152601760248201527613db9b1e481b9bdb8b5e995c9bc81a185cda081cd95959604a1b60448201526064015b60405180910390fd5b60405161078f60e21b815260048101859052602481018290526001600160a01b03841690611e3c90604401600060405180830381600087803b1580156103e257600080fd5b505af11580156103f6573d6000803e3d6000fd5b5050505050505050565b600061040b8361050f565b905061041784826105f7565b506001600160a01b03929092166000908152602081815260408083209383529290522080546001600160601b03191660a09290921c919091179055565b60405163a47d29cb60e01b8152600481018290526001600160a01b0383169063a47d29cb90602401602060405180830381865afa158015610499573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bd919061074e565b6001600160a01b0316336001600160a01b03161461050b5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610394565b5050565b600061051e620f42408361076b565b92915050565b6040516001600160601b0319606084901b166020820152603481018290526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358fb597c90605401604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016105ad91815260200190565b6020604051808303816000875af11580156105cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f0919061078d565b9392505050565b6001600160a01b03828116600090815260026020908152604080832085845290915290205416331461050b5760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c79204861736820536565642053657474657220436f6e747261637400006044820152606401610394565b6001600160a01b038116811461068057600080fd5b50565b6000806040838503121561069657600080fd5b82356106a18161066b565b946020939093013593505050565b6000806000606084860312156106c457600080fd5b83356106cf8161066b565b92506020840135915060408401356106e68161066b565b809150509250925092565b60006020828403121561070357600080fd5b5035919050565b60008060006060848603121561071f57600080fd5b833561072a8161066b565b92506020840135915060408401356001600160a01b0319811681146106e657600080fd5b60006020828403121561076057600080fd5b81516105f08161066b565b60008261078857634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561079f57600080fd5b505191905056fea264697066735822122037f36cd005b7a80cf4c45386888c9e5b325433ed813d054688341b923dd1ee0964736f6c63430008130033",
244
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100785760003560e01c80638f2a62c31461007d5780639f8ac23f146100cb578063a6db8cb614610119578063b1aea8c91461012e578063b310c79214610141578063b628171a14610168578063dddceed11461017b578063eaedc4231461018e575b600080fd5b6100b661008b366004610683565b6001600160a01b03919091166000908152600160209081526040808320938352929052205460ff1690565b60405190151581526020015b60405180910390f35b6101016100d9366004610683565b6001600160a01b03918216600090815260026020908152604080832093835292905220541690565b6040516001600160a01b0390911681526020016100c2565b61012c610127366004610683565b6101de565b005b61012c61013c3660046106af565b610260565b6101017f000000000000000000000000000000000000000000000000000000000000000081565b61012c6101763660046106f1565b6102cf565b61012c61018936600461070a565b610400565b6101c561019c366004610683565b6001600160a01b0391909116600090815260208181526040808320938352929052205460a01b90565b6040516001600160a01b031990911681526020016100c2565b6101e88282610454565b6001600160a01b0382166000818152600160209081526040808320858452825291829020805460ff19811660ff91821615908117909255835194855291840185905216151582820152517f459a9692be7991c0a9003b1503f8bae163cd2c99f35c952bf5b7b8d47629f6069181900360600190a15050565b61026a8383610454565b6001600160a01b03838116600081815260026020908152604080832087845290915280822080546001600160a01b0319169486169485179055518592917f3a32d746deba4ebe76a81771454e46f19940f56a24b0594a42356bcea6ac841491a4505050565b3360006102db8361050f565b6001600160a01b03831660009081526001602090815260408083208484529091528120549192509060ff161561034057506001600160a01b03821660009081526020818152604080832086845290915290205460a01b6001600160a01b03191661034d565b61034a8385610524565b90505b600081900361039d5760405162461bcd60e51b815260206004820152601760248201527613db9b1e481b9bdb8b5e995c9bc81a185cda081cd95959604a1b60448201526064015b60405180910390fd5b60405161078f60e21b815260048101859052602481018290526001600160a01b03841690611e3c90604401600060405180830381600087803b1580156103e257600080fd5b505af11580156103f6573d6000803e3d6000fd5b5050505050505050565b600061040b8361050f565b905061041784826105f7565b506001600160a01b03929092166000908152602081815260408083209383529290522080546001600160601b03191660a09290921c919091179055565b60405163a47d29cb60e01b8152600481018290526001600160a01b0383169063a47d29cb90602401602060405180830381865afa158015610499573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bd919061074e565b6001600160a01b0316336001600160a01b03161461050b5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610394565b5050565b600061051e620f42408361076b565b92915050565b6040516001600160601b0319606084901b166020820152603481018290526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358fb597c90605401604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016105ad91815260200190565b6020604051808303816000875af11580156105cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f0919061078d565b9392505050565b6001600160a01b03828116600090815260026020908152604080832085845290915290205416331461050b5760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c79204861736820536565642053657474657220436f6e747261637400006044820152606401610394565b6001600160a01b038116811461068057600080fd5b50565b6000806040838503121561069657600080fd5b82356106a18161066b565b946020939093013593505050565b6000806000606084860312156106c457600080fd5b83356106cf8161066b565b92506020840135915060408401356106e68161066b565b809150509250925092565b60006020828403121561070357600080fd5b5035919050565b60008060006060848603121561071f57600080fd5b833561072a8161066b565b92506020840135915060408401356001600160a01b0319811681146106e657600080fd5b60006020828403121561076057600080fd5b81516105f08161066b565b60008261078857634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561079f57600080fd5b505191905056fea264697066735822122037f36cd005b7a80cf4c45386888c9e5b325433ed813d054688341b923dd1ee0964736f6c63430008130033",
243
+ "bytecode": "0x60a060405234801561001057600080fd5b5060405161089b38038061089b83398101604081905261002f9161006d565b6001600160a01b03811660808190526040517f2ad63d43bf15d4fb27447dac9430a7e357192317067d6a79f145ae0893867d2890600090a25061009d565b60006020828403121561007f57600080fd5b81516001600160a01b038116811461009657600080fd5b9392505050565b6080516107dc6100bf60003960008181610146015261054f01526107dc6000f3fe608060405234801561001057600080fd5b50600436106100785760003560e01c80638f2a62c31461007d5780639f8ac23f146100cb578063a6db8cb614610119578063b1aea8c91461012e578063b310c79214610141578063b628171a14610168578063dddceed11461017b578063eaedc4231461018e575b600080fd5b6100b661008b366004610683565b6001600160a01b03919091166000908152600160209081526040808320938352929052205460ff1690565b60405190151581526020015b60405180910390f35b6101016100d9366004610683565b6001600160a01b03918216600090815260026020908152604080832093835292905220541690565b6040516001600160a01b0390911681526020016100c2565b61012c610127366004610683565b6101de565b005b61012c61013c3660046106af565b610260565b6101017f000000000000000000000000000000000000000000000000000000000000000081565b61012c6101763660046106f1565b6102cf565b61012c61018936600461070a565b610400565b6101c561019c366004610683565b6001600160a01b0391909116600090815260208181526040808320938352929052205460a01b90565b6040516001600160a01b031990911681526020016100c2565b6101e88282610454565b6001600160a01b0382166000818152600160209081526040808320858452825291829020805460ff19811660ff91821615908117909255835194855291840185905216151582820152517f459a9692be7991c0a9003b1503f8bae163cd2c99f35c952bf5b7b8d47629f6069181900360600190a15050565b61026a8383610454565b6001600160a01b03838116600081815260026020908152604080832087845290915280822080546001600160a01b0319169486169485179055518592917f3a32d746deba4ebe76a81771454e46f19940f56a24b0594a42356bcea6ac841491a4505050565b3360006102db8361050f565b6001600160a01b03831660009081526001602090815260408083208484529091528120549192509060ff161561034057506001600160a01b03821660009081526020818152604080832086845290915290205460a01b6001600160a01b03191661034d565b61034a8385610524565b90505b600081900361039d5760405162461bcd60e51b815260206004820152601760248201527613db9b1e481b9bdb8b5e995c9bc81a185cda081cd95959604a1b60448201526064015b60405180910390fd5b60405161078f60e21b815260048101859052602481018290526001600160a01b03841690611e3c90604401600060405180830381600087803b1580156103e257600080fd5b505af11580156103f6573d6000803e3d6000fd5b5050505050505050565b600061040b8361050f565b905061041784826105f7565b506001600160a01b03929092166000908152602081815260408083209383529290522080546001600160601b03191660a09290921c919091179055565b60405163a47d29cb60e01b8152600481018290526001600160a01b0383169063a47d29cb90602401602060405180830381865afa158015610499573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bd919061074e565b6001600160a01b0316336001600160a01b03161461050b5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610394565b5050565b600061051e620f42408361076b565b92915050565b6040516001600160601b0319606084901b166020820152603481018290526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358fb597c90605401604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016105ad91815260200190565b6020604051808303816000875af11580156105cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f0919061078d565b9392505050565b6001600160a01b03828116600090815260026020908152604080832085845290915290205416331461050b5760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c79204861736820536565642053657474657220436f6e747261637400006044820152606401610394565b6001600160a01b038116811461068057600080fd5b50565b6000806040838503121561069657600080fd5b82356106a18161066b565b946020939093013593505050565b6000806000606084860312156106c457600080fd5b83356106cf8161066b565b92506020840135915060408401356106e68161066b565b809150509250925092565b60006020828403121561070357600080fd5b5035919050565b60008060006060848603121561071f57600080fd5b833561072a8161066b565b92506020840135915060408401356001600160a01b0319811681146106e657600080fd5b60006020828403121561076057600080fd5b81516105f08161066b565b60008261078857634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561079f57600080fd5b505191905056fea2646970667358221220ff7dcb586361ada8cbec0c58d78ec47205d64a2ff9ce40a5360c8c4d81d9624164736f6c63430008130033",
244
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100785760003560e01c80638f2a62c31461007d5780639f8ac23f146100cb578063a6db8cb614610119578063b1aea8c91461012e578063b310c79214610141578063b628171a14610168578063dddceed11461017b578063eaedc4231461018e575b600080fd5b6100b661008b366004610683565b6001600160a01b03919091166000908152600160209081526040808320938352929052205460ff1690565b60405190151581526020015b60405180910390f35b6101016100d9366004610683565b6001600160a01b03918216600090815260026020908152604080832093835292905220541690565b6040516001600160a01b0390911681526020016100c2565b61012c610127366004610683565b6101de565b005b61012c61013c3660046106af565b610260565b6101017f000000000000000000000000000000000000000000000000000000000000000081565b61012c6101763660046106f1565b6102cf565b61012c61018936600461070a565b610400565b6101c561019c366004610683565b6001600160a01b0391909116600090815260208181526040808320938352929052205460a01b90565b6040516001600160a01b031990911681526020016100c2565b6101e88282610454565b6001600160a01b0382166000818152600160209081526040808320858452825291829020805460ff19811660ff91821615908117909255835194855291840185905216151582820152517f459a9692be7991c0a9003b1503f8bae163cd2c99f35c952bf5b7b8d47629f6069181900360600190a15050565b61026a8383610454565b6001600160a01b03838116600081815260026020908152604080832087845290915280822080546001600160a01b0319169486169485179055518592917f3a32d746deba4ebe76a81771454e46f19940f56a24b0594a42356bcea6ac841491a4505050565b3360006102db8361050f565b6001600160a01b03831660009081526001602090815260408083208484529091528120549192509060ff161561034057506001600160a01b03821660009081526020818152604080832086845290915290205460a01b6001600160a01b03191661034d565b61034a8385610524565b90505b600081900361039d5760405162461bcd60e51b815260206004820152601760248201527613db9b1e481b9bdb8b5e995c9bc81a185cda081cd95959604a1b60448201526064015b60405180910390fd5b60405161078f60e21b815260048101859052602481018290526001600160a01b03841690611e3c90604401600060405180830381600087803b1580156103e257600080fd5b505af11580156103f6573d6000803e3d6000fd5b5050505050505050565b600061040b8361050f565b905061041784826105f7565b506001600160a01b03929092166000908152602081815260408083209383529290522080546001600160601b03191660a09290921c919091179055565b60405163a47d29cb60e01b8152600481018290526001600160a01b0383169063a47d29cb90602401602060405180830381865afa158015610499573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bd919061074e565b6001600160a01b0316336001600160a01b03161461050b5760405162461bcd60e51b815260206004820152600b60248201526a13db9b1e48105c9d1a5cdd60aa1b6044820152606401610394565b5050565b600061051e620f42408361076b565b92915050565b6040516001600160601b0319606084901b166020820152603481018290526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906358fb597c90605401604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016105ad91815260200190565b6020604051808303816000875af11580156105cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f0919061078d565b9392505050565b6001600160a01b03828116600090815260026020908152604080832085845290915290205416331461050b5760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c79204861736820536565642053657474657220436f6e747261637400006044820152606401610394565b6001600160a01b038116811461068057600080fd5b50565b6000806040838503121561069657600080fd5b82356106a18161066b565b946020939093013593505050565b6000806000606084860312156106c457600080fd5b83356106cf8161066b565b92506020840135915060408401356106e68161066b565b809150509250925092565b60006020828403121561070357600080fd5b5035919050565b60008060006060848603121561071f57600080fd5b833561072a8161066b565b92506020840135915060408401356001600160a01b0319811681146106e657600080fd5b60006020828403121561076057600080fd5b81516105f08161066b565b60008261078857634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561079f57600080fd5b505191905056fea2646970667358221220ff7dcb586361ada8cbec0c58d78ec47205d64a2ff9ce40a5360c8c4d81d9624164736f6c63430008130033",
245
245
  "linkReferences": {},
246
246
  "deployedLinkReferences": {}
247
247
  }