@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
@@ -451,8 +451,8 @@
451
451
  "type": "function"
452
452
  }
453
453
  ],
454
- "bytecode": "0x60c0604052602060809081527f4d6f636b41646d696e41434c56304576656e74735f50524f4849424954494f4e60a0526000906200003e90826200010c565b503480156200004c57600080fd5b50600180546001600160a01b03191633179055620001d8565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200009057607f821691505b602082108103620000b157634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000107576000816000526020600020601f850160051c81016020861015620000e25750805b601f850160051c820191505b818110156200010357828155600101620000ee565b5050505b505050565b81516001600160401b0381111562000128576200012862000065565b62000140816200013984546200007b565b84620000b7565b602080601f8311600181146200017857600084156200015f5750858301515b600019600386901b1c1916600185901b17855562000103565b600085815260208120601f198616915b82811015620001a95788860151825594840194600190910190840162000188565b5085821015620001c85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c5980620001e86000396000f3fe608060405234801561001057600080fd5b50600436106100d05760003560e01c806301ffc9a7146100d557806305de62c01461010e57806329575f6a14610121578063377a7d1a14610141578063643596f914610156578063985d19681461016957806399c5cd721461017c578063a26e5b5d1461019f578063a8c4c7d3146101b2578063b70349c3146101c5578063bcc91a10146101e6578063bf485640146101f9578063c81a396e1461020c578063dd12090914610221578063e4d68fac14610234578063fea1819914610247575b600080fd5b6100f96100e33660046108c3565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6100f961011c3660046108fd565b61026a565b600154610134906001600160a01b031681565b6040516101059190610944565b61015461014f366004610958565b6102dd565b005b6100f96101643660046109df565b610375565b610154610177366004610a28565b610386565b6100f961018a366004610a45565b60036020526000908152604090205460ff1681565b6101546101ad3660046109df565b610406565b6100f96101c0366004610a5e565b6104f8565b6101d86101d3366004610aad565b6105e6565b604051908152602001610105565b6101546101f4366004610aad565b61062b565b6101d86102073660046109df565b6106b7565b61021461070d565b6040516101059190610ae6565b6100f961022f366004610aad565b61079b565b610154610242366004610aad565b6107c6565b6100f9610255366004610a45565b60026020526000908152604090205460ff1681565b6040516000906001600160e01b03198316906001600160a01b03861690600080516020610c04833981519152908490a36001546001600160a01b03858116911614806102d55750600260006102c08585886106b7565b815260208101919091526040016000205460ff165b949350505050565b6001546001600160a01b031633146103105760405162461bcd60e51b815260040161030790610b35565b60405180910390fd5b600180546001600160a01b038581166001600160a01b0319831681179093556040519116919082907f3f6845104f9728af7979eed8814320daba008953c8db93b9fe32602d1f34b475906103679087908790610b5e565b60405180910390a350505050565b6000600260006102c08686866106b7565b6001546001600160a01b031633146103b05760405162461bcd60e51b815260040161030790610b35565b806001600160a01b031663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103eb57600080fd5b505af11580156103ff573d6000803e3d6000fd5b5050505050565b610418333063a26e5b5d60e01b61026a565b61046e5760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920737570657241646d696e206f7220616c6c6f7765642063616c6c656044820152603960f91b6064820152608401610307565b600061047b8484846106b7565b600081815260026020908152604091829020805460ff8082161560ff19909216821790925592519216151582529192506001600160a01b03848116926001600160e01b0319871692918816917fbdc1f3f5e2cd6fc59a40b890c0c8d6a4e5d774619b69681feec9c771f3642d19910160405180910390a450505050565b6040516000906001600160e01b03198416906001600160a01b03871690600080516020610c04833981519152908490a38361053486828661026a565b806105dc57506003600061054887896105e6565b815260208101919091526040016000205460ff1680156105dc575060405163a47d29cb60e01b8152600481018490526001600160a01b03808816919083169063a47d29cb90602401602060405180830381865afa1580156105ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d19190610bac565b6001600160a01b0316145b9695505050505050565b6040516001600160601b0319606084811b8216602084015283901b16603482015260009060480160405160208183030381529060405280519060200120905092915050565b6001546001600160a01b031633146106555760405162461bcd60e51b815260040161030790610b35565b60405163f2fde38b60e01b81526001600160a01b0383169063f2fde38b90610681908490600401610944565b600060405180830381600087803b15801561069b57600080fd5b505af11580156106af573d6000803e3d6000fd5b505050505050565b6040516001600160601b0319606085811b821660208401526001600160e01b03198516603484015283901b166038820152600090604c016040516020818303038152906040528051906020012090509392505050565b6000805461071a90610bc9565b80601f016020809104026020016040519081016040528092919081815260200182805461074690610bc9565b80156107935780601f1061076857610100808354040283529160200191610793565b820191906000526020600020905b81548152906001019060200180831161077657829003601f168201915b505050505081565b6000600360006107ab85856105e6565b815260208101919091526040016000205460ff169392505050565b6107d83330633935a3eb60e21b61026a565b61081a5760405162461bcd60e51b815260206004820152601360248201527227b7363c9030b63637bbb2b21031b0b63632b960691b6044820152606401610307565b600061082683836105e6565b6000818152600260209081526040808320805460ff19811660ff91821615179091556003909252918290205491519293506001600160a01b0380861693908716927fbfadf94df9a8a44d297389bbbba3a5338a54be7dadb5834c9de34a6afcee4691926108999291161515815260200190565b60405180910390a3505050565b80356001600160e01b0319811681146108be57600080fd5b919050565b6000602082840312156108d557600080fd5b6108de826108a6565b9392505050565b6001600160a01b03811681146108fa57600080fd5b50565b60008060006060848603121561091257600080fd5b833561091d816108e5565b9250602084013561092d816108e5565b915061093b604085016108a6565b90509250925092565b6001600160a01b0391909116815260200190565b60008060006040848603121561096d57600080fd5b8335610978816108e5565b925060208401356001600160401b038082111561099457600080fd5b818601915086601f8301126109a857600080fd5b8135818111156109b757600080fd5b8760208260051b85010111156109cc57600080fd5b6020830194508093505050509250925092565b6000806000606084860312156109f457600080fd5b83356109ff816108e5565b9250610a0d602085016108a6565b91506040840135610a1d816108e5565b809150509250925092565b600060208284031215610a3a57600080fd5b81356108de816108e5565b600060208284031215610a5757600080fd5b5035919050565b60008060008060808587031215610a7457600080fd5b8435610a7f816108e5565b93506020850135610a8f816108e5565b9250610a9d604086016108a6565b9396929550929360600135925050565b60008060408385031215610ac057600080fd5b8235610acb816108e5565b91506020830135610adb816108e5565b809150509250929050565b60006020808352835180602085015260005b81811015610b1457858101830151858201604001528201610af8565b506000604082860101526040601f19601f8301168501019250505092915050565b6020808252600f908201526e27b7363c9039bab832b920b236b4b760891b604082015260600190565b60208082528181018390526000908460408401835b86811015610ba1578235610b86816108e5565b6001600160a01b031682529183019190830190600101610b73565b509695505050505050565b600060208284031215610bbe57600080fd5b81516108de816108e5565b600181811c90821680610bdd57607f821691505b602082108103610bfd57634e487b7160e01b600052602260045260246000fd5b5091905056fe8bba7e7533771f1392baaa34b45645d58b2f590461499be60fde1a073d1f8449a264697066735822122050fe5a99cc15c7ca837274431546c7acfcd633fe9b330c3a42f9610184f0703b64736f6c63430008160033",
455
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d05760003560e01c806301ffc9a7146100d557806305de62c01461010e57806329575f6a14610121578063377a7d1a14610141578063643596f914610156578063985d19681461016957806399c5cd721461017c578063a26e5b5d1461019f578063a8c4c7d3146101b2578063b70349c3146101c5578063bcc91a10146101e6578063bf485640146101f9578063c81a396e1461020c578063dd12090914610221578063e4d68fac14610234578063fea1819914610247575b600080fd5b6100f96100e33660046108c3565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6100f961011c3660046108fd565b61026a565b600154610134906001600160a01b031681565b6040516101059190610944565b61015461014f366004610958565b6102dd565b005b6100f96101643660046109df565b610375565b610154610177366004610a28565b610386565b6100f961018a366004610a45565b60036020526000908152604090205460ff1681565b6101546101ad3660046109df565b610406565b6100f96101c0366004610a5e565b6104f8565b6101d86101d3366004610aad565b6105e6565b604051908152602001610105565b6101546101f4366004610aad565b61062b565b6101d86102073660046109df565b6106b7565b61021461070d565b6040516101059190610ae6565b6100f961022f366004610aad565b61079b565b610154610242366004610aad565b6107c6565b6100f9610255366004610a45565b60026020526000908152604090205460ff1681565b6040516000906001600160e01b03198316906001600160a01b03861690600080516020610c04833981519152908490a36001546001600160a01b03858116911614806102d55750600260006102c08585886106b7565b815260208101919091526040016000205460ff165b949350505050565b6001546001600160a01b031633146103105760405162461bcd60e51b815260040161030790610b35565b60405180910390fd5b600180546001600160a01b038581166001600160a01b0319831681179093556040519116919082907f3f6845104f9728af7979eed8814320daba008953c8db93b9fe32602d1f34b475906103679087908790610b5e565b60405180910390a350505050565b6000600260006102c08686866106b7565b6001546001600160a01b031633146103b05760405162461bcd60e51b815260040161030790610b35565b806001600160a01b031663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103eb57600080fd5b505af11580156103ff573d6000803e3d6000fd5b5050505050565b610418333063a26e5b5d60e01b61026a565b61046e5760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920737570657241646d696e206f7220616c6c6f7765642063616c6c656044820152603960f91b6064820152608401610307565b600061047b8484846106b7565b600081815260026020908152604091829020805460ff8082161560ff19909216821790925592519216151582529192506001600160a01b03848116926001600160e01b0319871692918816917fbdc1f3f5e2cd6fc59a40b890c0c8d6a4e5d774619b69681feec9c771f3642d19910160405180910390a450505050565b6040516000906001600160e01b03198416906001600160a01b03871690600080516020610c04833981519152908490a38361053486828661026a565b806105dc57506003600061054887896105e6565b815260208101919091526040016000205460ff1680156105dc575060405163a47d29cb60e01b8152600481018490526001600160a01b03808816919083169063a47d29cb90602401602060405180830381865afa1580156105ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d19190610bac565b6001600160a01b0316145b9695505050505050565b6040516001600160601b0319606084811b8216602084015283901b16603482015260009060480160405160208183030381529060405280519060200120905092915050565b6001546001600160a01b031633146106555760405162461bcd60e51b815260040161030790610b35565b60405163f2fde38b60e01b81526001600160a01b0383169063f2fde38b90610681908490600401610944565b600060405180830381600087803b15801561069b57600080fd5b505af11580156106af573d6000803e3d6000fd5b505050505050565b6040516001600160601b0319606085811b821660208401526001600160e01b03198516603484015283901b166038820152600090604c016040516020818303038152906040528051906020012090509392505050565b6000805461071a90610bc9565b80601f016020809104026020016040519081016040528092919081815260200182805461074690610bc9565b80156107935780601f1061076857610100808354040283529160200191610793565b820191906000526020600020905b81548152906001019060200180831161077657829003601f168201915b505050505081565b6000600360006107ab85856105e6565b815260208101919091526040016000205460ff169392505050565b6107d83330633935a3eb60e21b61026a565b61081a5760405162461bcd60e51b815260206004820152601360248201527227b7363c9030b63637bbb2b21031b0b63632b960691b6044820152606401610307565b600061082683836105e6565b6000818152600260209081526040808320805460ff19811660ff91821615179091556003909252918290205491519293506001600160a01b0380861693908716927fbfadf94df9a8a44d297389bbbba3a5338a54be7dadb5834c9de34a6afcee4691926108999291161515815260200190565b60405180910390a3505050565b80356001600160e01b0319811681146108be57600080fd5b919050565b6000602082840312156108d557600080fd5b6108de826108a6565b9392505050565b6001600160a01b03811681146108fa57600080fd5b50565b60008060006060848603121561091257600080fd5b833561091d816108e5565b9250602084013561092d816108e5565b915061093b604085016108a6565b90509250925092565b6001600160a01b0391909116815260200190565b60008060006040848603121561096d57600080fd5b8335610978816108e5565b925060208401356001600160401b038082111561099457600080fd5b818601915086601f8301126109a857600080fd5b8135818111156109b757600080fd5b8760208260051b85010111156109cc57600080fd5b6020830194508093505050509250925092565b6000806000606084860312156109f457600080fd5b83356109ff816108e5565b9250610a0d602085016108a6565b91506040840135610a1d816108e5565b809150509250925092565b600060208284031215610a3a57600080fd5b81356108de816108e5565b600060208284031215610a5757600080fd5b5035919050565b60008060008060808587031215610a7457600080fd5b8435610a7f816108e5565b93506020850135610a8f816108e5565b9250610a9d604086016108a6565b9396929550929360600135925050565b60008060408385031215610ac057600080fd5b8235610acb816108e5565b91506020830135610adb816108e5565b809150509250929050565b60006020808352835180602085015260005b81811015610b1457858101830151858201604001528201610af8565b506000604082860101526040601f19601f8301168501019250505092915050565b6020808252600f908201526e27b7363c9039bab832b920b236b4b760891b604082015260600190565b60208082528181018390526000908460408401835b86811015610ba1578235610b86816108e5565b6001600160a01b031682529183019190830190600101610b73565b509695505050505050565b600060208284031215610bbe57600080fd5b81516108de816108e5565b600181811c90821680610bdd57607f821691505b602082108103610bfd57634e487b7160e01b600052602260045260246000fd5b5091905056fe8bba7e7533771f1392baaa34b45645d58b2f590461499be60fde1a073d1f8449a264697066735822122050fe5a99cc15c7ca837274431546c7acfcd633fe9b330c3a42f9610184f0703b64736f6c63430008160033",
454
+ "bytecode": "0x60c0604052602060809081527f4d6f636b41646d696e41434c56304576656e74735f50524f4849424954494f4e60a0526000906200003e90826200010c565b503480156200004c57600080fd5b50600180546001600160a01b03191633179055620001d8565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200009057607f821691505b602082108103620000b157634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000107576000816000526020600020601f850160051c81016020861015620000e25750805b601f850160051c820191505b818110156200010357828155600101620000ee565b5050505b505050565b81516001600160401b0381111562000128576200012862000065565b62000140816200013984546200007b565b84620000b7565b602080601f8311600181146200017857600084156200015f5750858301515b600019600386901b1c1916600185901b17855562000103565b600085815260208120601f198616915b82811015620001a95788860151825594840194600190910190840162000188565b5085821015620001c85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c5980620001e86000396000f3fe608060405234801561001057600080fd5b50600436106100d05760003560e01c806301ffc9a7146100d557806305de62c01461010e57806329575f6a14610121578063377a7d1a14610141578063643596f914610156578063985d19681461016957806399c5cd721461017c578063a26e5b5d1461019f578063a8c4c7d3146101b2578063b70349c3146101c5578063bcc91a10146101e6578063bf485640146101f9578063c81a396e1461020c578063dd12090914610221578063e4d68fac14610234578063fea1819914610247575b600080fd5b6100f96100e33660046108c3565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6100f961011c3660046108fd565b61026a565b600154610134906001600160a01b031681565b6040516101059190610944565b61015461014f366004610958565b6102dd565b005b6100f96101643660046109df565b610375565b610154610177366004610a28565b610386565b6100f961018a366004610a45565b60036020526000908152604090205460ff1681565b6101546101ad3660046109df565b610406565b6100f96101c0366004610a5e565b6104f8565b6101d86101d3366004610aad565b6105e6565b604051908152602001610105565b6101546101f4366004610aad565b61062b565b6101d86102073660046109df565b6106b7565b61021461070d565b6040516101059190610ae6565b6100f961022f366004610aad565b61079b565b610154610242366004610aad565b6107c6565b6100f9610255366004610a45565b60026020526000908152604090205460ff1681565b6040516000906001600160e01b03198316906001600160a01b03861690600080516020610c04833981519152908490a36001546001600160a01b03858116911614806102d55750600260006102c08585886106b7565b815260208101919091526040016000205460ff165b949350505050565b6001546001600160a01b031633146103105760405162461bcd60e51b815260040161030790610b35565b60405180910390fd5b600180546001600160a01b038581166001600160a01b0319831681179093556040519116919082907f3f6845104f9728af7979eed8814320daba008953c8db93b9fe32602d1f34b475906103679087908790610b5e565b60405180910390a350505050565b6000600260006102c08686866106b7565b6001546001600160a01b031633146103b05760405162461bcd60e51b815260040161030790610b35565b806001600160a01b031663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103eb57600080fd5b505af11580156103ff573d6000803e3d6000fd5b5050505050565b610418333063a26e5b5d60e01b61026a565b61046e5760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920737570657241646d696e206f7220616c6c6f7765642063616c6c656044820152603960f91b6064820152608401610307565b600061047b8484846106b7565b600081815260026020908152604091829020805460ff8082161560ff19909216821790925592519216151582529192506001600160a01b03848116926001600160e01b0319871692918816917fbdc1f3f5e2cd6fc59a40b890c0c8d6a4e5d774619b69681feec9c771f3642d19910160405180910390a450505050565b6040516000906001600160e01b03198416906001600160a01b03871690600080516020610c04833981519152908490a38361053486828661026a565b806105dc57506003600061054887896105e6565b815260208101919091526040016000205460ff1680156105dc575060405163a47d29cb60e01b8152600481018490526001600160a01b03808816919083169063a47d29cb90602401602060405180830381865afa1580156105ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d19190610bac565b6001600160a01b0316145b9695505050505050565b6040516001600160601b0319606084811b8216602084015283901b16603482015260009060480160405160208183030381529060405280519060200120905092915050565b6001546001600160a01b031633146106555760405162461bcd60e51b815260040161030790610b35565b60405163f2fde38b60e01b81526001600160a01b0383169063f2fde38b90610681908490600401610944565b600060405180830381600087803b15801561069b57600080fd5b505af11580156106af573d6000803e3d6000fd5b505050505050565b6040516001600160601b0319606085811b821660208401526001600160e01b03198516603484015283901b166038820152600090604c016040516020818303038152906040528051906020012090509392505050565b6000805461071a90610bc9565b80601f016020809104026020016040519081016040528092919081815260200182805461074690610bc9565b80156107935780601f1061076857610100808354040283529160200191610793565b820191906000526020600020905b81548152906001019060200180831161077657829003601f168201915b505050505081565b6000600360006107ab85856105e6565b815260208101919091526040016000205460ff169392505050565b6107d83330633935a3eb60e21b61026a565b61081a5760405162461bcd60e51b815260206004820152601360248201527227b7363c9030b63637bbb2b21031b0b63632b960691b6044820152606401610307565b600061082683836105e6565b6000818152600260209081526040808320805460ff19811660ff91821615179091556003909252918290205491519293506001600160a01b0380861693908716927fbfadf94df9a8a44d297389bbbba3a5338a54be7dadb5834c9de34a6afcee4691926108999291161515815260200190565b60405180910390a3505050565b80356001600160e01b0319811681146108be57600080fd5b919050565b6000602082840312156108d557600080fd5b6108de826108a6565b9392505050565b6001600160a01b03811681146108fa57600080fd5b50565b60008060006060848603121561091257600080fd5b833561091d816108e5565b9250602084013561092d816108e5565b915061093b604085016108a6565b90509250925092565b6001600160a01b0391909116815260200190565b60008060006040848603121561096d57600080fd5b8335610978816108e5565b925060208401356001600160401b038082111561099457600080fd5b818601915086601f8301126109a857600080fd5b8135818111156109b757600080fd5b8760208260051b85010111156109cc57600080fd5b6020830194508093505050509250925092565b6000806000606084860312156109f457600080fd5b83356109ff816108e5565b9250610a0d602085016108a6565b91506040840135610a1d816108e5565b809150509250925092565b600060208284031215610a3a57600080fd5b81356108de816108e5565b600060208284031215610a5757600080fd5b5035919050565b60008060008060808587031215610a7457600080fd5b8435610a7f816108e5565b93506020850135610a8f816108e5565b9250610a9d604086016108a6565b9396929550929360600135925050565b60008060408385031215610ac057600080fd5b8235610acb816108e5565b91506020830135610adb816108e5565b809150509250929050565b60006020808352835180602085015260005b81811015610b1457858101830151858201604001528201610af8565b506000604082860101526040601f19601f8301168501019250505092915050565b6020808252600f908201526e27b7363c9039bab832b920b236b4b760891b604082015260600190565b60208082528181018390526000908460408401835b86811015610ba1578235610b86816108e5565b6001600160a01b031682529183019190830190600101610b73565b509695505050505050565b600060208284031215610bbe57600080fd5b81516108de816108e5565b600181811c90821680610bdd57607f821691505b602082108103610bfd57634e487b7160e01b600052602260045260246000fd5b5091905056fe8bba7e7533771f1392baaa34b45645d58b2f590461499be60fde1a073d1f8449a264697066735822122046f806f621541afd06a4eb1f1cd7cccd76a9fd9ff483e3bcc774b83ce30f5e0364736f6c63430008160033",
455
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d05760003560e01c806301ffc9a7146100d557806305de62c01461010e57806329575f6a14610121578063377a7d1a14610141578063643596f914610156578063985d19681461016957806399c5cd721461017c578063a26e5b5d1461019f578063a8c4c7d3146101b2578063b70349c3146101c5578063bcc91a10146101e6578063bf485640146101f9578063c81a396e1461020c578063dd12090914610221578063e4d68fac14610234578063fea1819914610247575b600080fd5b6100f96100e33660046108c3565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6100f961011c3660046108fd565b61026a565b600154610134906001600160a01b031681565b6040516101059190610944565b61015461014f366004610958565b6102dd565b005b6100f96101643660046109df565b610375565b610154610177366004610a28565b610386565b6100f961018a366004610a45565b60036020526000908152604090205460ff1681565b6101546101ad3660046109df565b610406565b6100f96101c0366004610a5e565b6104f8565b6101d86101d3366004610aad565b6105e6565b604051908152602001610105565b6101546101f4366004610aad565b61062b565b6101d86102073660046109df565b6106b7565b61021461070d565b6040516101059190610ae6565b6100f961022f366004610aad565b61079b565b610154610242366004610aad565b6107c6565b6100f9610255366004610a45565b60026020526000908152604090205460ff1681565b6040516000906001600160e01b03198316906001600160a01b03861690600080516020610c04833981519152908490a36001546001600160a01b03858116911614806102d55750600260006102c08585886106b7565b815260208101919091526040016000205460ff165b949350505050565b6001546001600160a01b031633146103105760405162461bcd60e51b815260040161030790610b35565b60405180910390fd5b600180546001600160a01b038581166001600160a01b0319831681179093556040519116919082907f3f6845104f9728af7979eed8814320daba008953c8db93b9fe32602d1f34b475906103679087908790610b5e565b60405180910390a350505050565b6000600260006102c08686866106b7565b6001546001600160a01b031633146103b05760405162461bcd60e51b815260040161030790610b35565b806001600160a01b031663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103eb57600080fd5b505af11580156103ff573d6000803e3d6000fd5b5050505050565b610418333063a26e5b5d60e01b61026a565b61046e5760405162461bcd60e51b815260206004820152602160248201527f4f6e6c7920737570657241646d696e206f7220616c6c6f7765642063616c6c656044820152603960f91b6064820152608401610307565b600061047b8484846106b7565b600081815260026020908152604091829020805460ff8082161560ff19909216821790925592519216151582529192506001600160a01b03848116926001600160e01b0319871692918816917fbdc1f3f5e2cd6fc59a40b890c0c8d6a4e5d774619b69681feec9c771f3642d19910160405180910390a450505050565b6040516000906001600160e01b03198416906001600160a01b03871690600080516020610c04833981519152908490a38361053486828661026a565b806105dc57506003600061054887896105e6565b815260208101919091526040016000205460ff1680156105dc575060405163a47d29cb60e01b8152600481018490526001600160a01b03808816919083169063a47d29cb90602401602060405180830381865afa1580156105ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d19190610bac565b6001600160a01b0316145b9695505050505050565b6040516001600160601b0319606084811b8216602084015283901b16603482015260009060480160405160208183030381529060405280519060200120905092915050565b6001546001600160a01b031633146106555760405162461bcd60e51b815260040161030790610b35565b60405163f2fde38b60e01b81526001600160a01b0383169063f2fde38b90610681908490600401610944565b600060405180830381600087803b15801561069b57600080fd5b505af11580156106af573d6000803e3d6000fd5b505050505050565b6040516001600160601b0319606085811b821660208401526001600160e01b03198516603484015283901b166038820152600090604c016040516020818303038152906040528051906020012090509392505050565b6000805461071a90610bc9565b80601f016020809104026020016040519081016040528092919081815260200182805461074690610bc9565b80156107935780601f1061076857610100808354040283529160200191610793565b820191906000526020600020905b81548152906001019060200180831161077657829003601f168201915b505050505081565b6000600360006107ab85856105e6565b815260208101919091526040016000205460ff169392505050565b6107d83330633935a3eb60e21b61026a565b61081a5760405162461bcd60e51b815260206004820152601360248201527227b7363c9030b63637bbb2b21031b0b63632b960691b6044820152606401610307565b600061082683836105e6565b6000818152600260209081526040808320805460ff19811660ff91821615179091556003909252918290205491519293506001600160a01b0380861693908716927fbfadf94df9a8a44d297389bbbba3a5338a54be7dadb5834c9de34a6afcee4691926108999291161515815260200190565b60405180910390a3505050565b80356001600160e01b0319811681146108be57600080fd5b919050565b6000602082840312156108d557600080fd5b6108de826108a6565b9392505050565b6001600160a01b03811681146108fa57600080fd5b50565b60008060006060848603121561091257600080fd5b833561091d816108e5565b9250602084013561092d816108e5565b915061093b604085016108a6565b90509250925092565b6001600160a01b0391909116815260200190565b60008060006040848603121561096d57600080fd5b8335610978816108e5565b925060208401356001600160401b038082111561099457600080fd5b818601915086601f8301126109a857600080fd5b8135818111156109b757600080fd5b8760208260051b85010111156109cc57600080fd5b6020830194508093505050509250925092565b6000806000606084860312156109f457600080fd5b83356109ff816108e5565b9250610a0d602085016108a6565b91506040840135610a1d816108e5565b809150509250925092565b600060208284031215610a3a57600080fd5b81356108de816108e5565b600060208284031215610a5757600080fd5b5035919050565b60008060008060808587031215610a7457600080fd5b8435610a7f816108e5565b93506020850135610a8f816108e5565b9250610a9d604086016108a6565b9396929550929360600135925050565b60008060408385031215610ac057600080fd5b8235610acb816108e5565b91506020830135610adb816108e5565b809150509250929050565b60006020808352835180602085015260005b81811015610b1457858101830151858201604001528201610af8565b506000604082860101526040601f19601f8301168501019250505092915050565b6020808252600f908201526e27b7363c9039bab832b920b236b4b760891b604082015260600190565b60208082528181018390526000908460408401835b86811015610ba1578235610b86816108e5565b6001600160a01b031682529183019190830190600101610b73565b509695505050505050565b600060208284031215610bbe57600080fd5b81516108de816108e5565b600181811c90821680610bdd57607f821691505b602082108103610bfd57634e487b7160e01b600052602260045260246000fd5b5091905056fe8bba7e7533771f1392baaa34b45645d58b2f590461499be60fde1a073d1f8449a264697066735822122046f806f621541afd06a4eb1f1cd7cccd76a9fd9ff483e3bcc774b83ce30f5e0364736f6c63430008160033",
456
456
  "linkReferences": {},
457
457
  "deployedLinkReferences": {}
458
458
  }
@@ -0,0 +1,35 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MockFileStore",
4
+ "sourceName": "contracts/mock/MockFileStore.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "string",
10
+ "name": "name",
11
+ "type": "string"
12
+ },
13
+ {
14
+ "internalType": "bytes",
15
+ "name": "",
16
+ "type": "bytes"
17
+ }
18
+ ],
19
+ "name": "getContent",
20
+ "outputs": [
21
+ {
22
+ "internalType": "bytes",
23
+ "name": "script",
24
+ "type": "bytes"
25
+ }
26
+ ],
27
+ "stateMutability": "pure",
28
+ "type": "function"
29
+ }
30
+ ],
31
+ "bytecode": "0x608060405234801561001057600080fd5b50611ac5806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80632647c23d14610030575b600080fd5b61004361003e366004610143565b610059565b604051610050919061026c565b60405180910390f35b60606040518060400160405280601681526020017567756e7a6970536372697074732d302e302e312e6a7360501b81525060405160200161009a919061029f565b6040516020818303038152906040528051906020012084846040516020016100c39291906102bb565b6040516020818303038152906040528051906020012003610101576040518061180001604052806117c481526020016102cc6117c491399050610126565b83836040516020016101149291906102bb565b60405160208183030381529060405290505b9392505050565b634e487b7160e01b600052604160045260246000fd5b60008060006040848603121561015857600080fd5b83356001600160401b038082111561016f57600080fd5b818601915086601f83011261018357600080fd5b81358181111561019257600080fd5b602088818386010111156101a557600080fd5b8084019650819550808801359350828411156101c057600080fd5b838801935088601f8501126101d457600080fd5b83359150828211156101e8576101e861012d565b604051601f8301601f19908116603f011681019084821181831017156102105761021061012d565b816040528381528a8385880101111561022857600080fd5b838387018483013760008385830101528096505050505050509250925092565b60005b8381101561026357818101518382015260200161024b565b50506000910152565b602081526000825180602084015261028b816040850160208701610248565b601f01601f19169190910160400192915050565b600082516102b1818460208701610248565b9190910192915050565b818382376000910190815291905056fe496e567a5a53427a64484a70593351694f79676f4b54302b65335a686369423250565670626e513451584a7959586b7351543156615735304d545a42636e4a686553786650565670626e517a4d6b4679636d46354c484a795057356c647942324b4673774c4441734d4377774c4441734d4377774c4441734d5377784c4445734d5377794c4449734d6977794c444d734d79777a4c444d734e4377304c4451734e4377314c4455734e5377314c4441734d4377774c4442644b537875636a31755a586367646968624d4377774c4441734d4377784c4445734d6977794c444d734d7977304c4451734e5377314c4459734e6977334c4463734f4377344c446b734f5377784d4377784d4377784d5377784d5377784d6977784d6977784d7977784d7977774c4442644b537873636a31755a586367646968624d5459734d5463734d5467734d4377344c4463734f5377324c4445774c4455734d5445734e4377784d69777a4c44457a4c4449734d5451734d5377784e5630704c48527950575a31626d4e30615739754b48497362696c375a6d39794b485a68636942305057356c647942424b444d784b53786c505441375a54777a4d5473724b3255706446746c585431754b7a307850447879573255744d5630375a6d39794b485a68636942685057356c647942664b4852624d7a42644b53786c505445375a54777a4d4473724b3255705a6d39794b485a6863694231505852625a56303764547830573255724d5630374b7974314b5746626456303964533130573256645044773166475537636d563064584a7557335173595631394c475679505852794b484a794c4449704c476c7950575679577a42644c474e7950575679577a46644f326c79577a4934585430794e54677359334a624d6a5534585430794f44743259584967595849396448496f626e49734d436b736348493959584a624d4630735658493959584a624d563073635431755a5863675153677a4d6a63324f436b375a6d39794b4738394d44747650444d794e7a59344f79737262796c74505368764a6a517a4e6a6b774b54342b506a46384b47386d4d6a45344e445570504477784c4730394b47306d4e5449304d6a6770506a342b4d6e776f625359784d7a45774e796b38504449736254306f625359324d5459344d436b2b506a3430664368744a6a4d344e545570504477304c484662623130394b4368744a6a59314d6a67774b54342b506a68384b47306d4d6a55314b5477384f436b2b506a34784f335a68636942744c4738735244316d6457356a64476c76626968794c47347364436c375a6d39794b485a686369426c50584975624756755a33526f4c4745394d4378315057356c647942424b4734704f3245385a5473724b324570636c74685853596d4b79743157334a62595630744d563037646d467949476339626d56334945456f62696b375a6d39794b4745394d447468504734374b7974684b576462595630395a3174684c5446644b33566259533078585477384d54743259584967637a74705a6968304b58747a5057356c647942424b444538504734704f335a6863694270505445314c5734375a6d39794b4745394d447468504755374b7974684b576c6d4b484a62595630705a6d39794b485a686369426d5057453850445238636c74685853786f50573474636c74685853787350576462636c746858533078585373725044786f4c4863396248776f4d54773861436b744d547473504431334f79737262436c7a573346626246302b506a35705854316d66575673633255675a6d39794b484d39626d56334945456f5a536b73595430774f3245385a5473724b324570636c74685853596d4b484e62595630396356746e57334a62595630744d5630724b31302b506a34784e533179573246644b5474795a585231636d346763333073525431755a586367646967794f4467704f325a766369687650544137627a77784e4451374b7974764b555662623130394f44743259584967627a746d6233496f627a30784e445137627a77794e5459374b7974764b555662623130394f54743259584967627a746d6233496f627a30794e545937627a77794f4441374b7974764b555662623130394e7a743259584967627a746d6233496f627a30794f444137627a77794f4467374b7974764b555662623130394f4474325958496762797876636a31755a5863676469677a4d696b375a6d39794b4738394d44747650444d794f79737262796c76636c7476585430314f335a68636942764f335a686369426e636a31454b4555734f5377784b547432595849676558493952436876636977314c4445704c4649395a6e5675593352706232346f63696c375a6d39794b485a686369427550584a624d463073644430784f335138636935735a57356e644767374b7974304b584a626446302b6269596d4b473439636c743058536b37636d563064584a75494735394c4841395a6e5675593352706232346f636978754c48517065335a686369426c505734764f4877774f334a6c64485679626968795732566466484a625a537378585477384f436b2b506968754a6a63704a6e52394c4351395a6e5675593352706232346f636978754b58743259584967644431754c7a68384d4474795a585231636d346f636c743058587879573351724d56303850446838636c74304b7a4a64504477784e696b2b506968754a6a637066537833636a316d6457356a64476c76626968794b5874795a585231636d346f636973334b533834664442394c47317950575a31626d4e30615739754b484973626978304b58736f626a3039626e567362487838626a77774b53596d4b4734394d436b734b48513950573531624778386648512b636935735a57356e644767704a69596f644431794c6d786c626d643061436b37646d467949475539626d56334b484975516c6c5552564e66554556535830564d52553146546c51395054492f515470794c6b4a5a5645565458314246556c39465445564e52553555505430305031383664696b6f644331754b5474795a585231636d34675a53357a5a58516f6369357a64574a68636e4a68655368754c4851704b53786c66547432595849676548493957794a31626d56346347566a6447566b4945565052694973496d6c75646d467361575167596d78765932736764486c775a534973496d6c75646d467361575167624756755a33526f4c32787064475679595777694c434a70626e5a6862476c6b4947527063335268626d4e6c49697769633352795a57467449475a70626d6c7a6147566b49697769626d3867633352795a57467449476868626d52735a5849694c437769626d38675932467362474a68593273694c434a70626e5a6862476c6b494656555269303449475268644745694c434a6c654852795953426d615756735a43423062323867624739755a794973496d526864475567626d393049476c7549484a68626d646c494445354f4441744d6a41354f534973496d5a70624756755957316c49485276627942736232356e49697769633352795a57467449475a70626d6c7a61476c755a794973496d6c75646d467361575167656d6c7749475268644745695853783450575a31626d4e30615739754b484973626978304b587432595849675a5431755a58636752584a796233496f626e783865484a62636c30704f326c6d4b4755755932396b5a5431794c455679636d39794c6d4e6863485231636d56546447466a6131527959574e6c4a695a46636e4a766369356a5958423064584a6c5533526859327455636d466a5a53686c4c4867704c4346304b58526f636d393349475537636d563064584a75494756394c48707950575a31626d4e30615739754b484973626978304b587432595849675a5431794c6d786c626d6430614474705a6967685a5878386443596d6443356d4a695968644335734b584a6c6448567962694275664878755a586367646967774b5474325958496759543068626e78386443783150534630664878304c6d6b37644878384b485139653330704c473538664368755057356c647942324b4755714d796b704f335a686369426e50575a31626d4e30615739754b46597065335a686369425950573475624756755a33526f4f326c6d4b46592b57436c37646d467949474939626d56334948596f54574630614335745958676f57436f794c4659704b5474694c6e4e6c644368754b53787550574a396653787a505851755a6e78384d43787050585175634878384d43786d50585175596e78384d43786f5058517562437873505851755a4378335058517562537855505851756269784a505755714f44746b623374705a69676861436c37637a31774b484973615377784b54743259584967516a31774b484973615373784c444d704f326c6d4b476b7250544d7351696c705a696843505430784b5767395a334973624431356369783350546b73564430314f325673633255676157596f516a30394d696c37646d467949456339634368794c476b734d7a45704b7a49314e79785a5058416f636978704b7a45774c4445314b5373304c466339527974774b484973615373314c444d784b5373784f326b72505445304f325a766369683259584967517a31755a586367646968584b5378505057356c647942324b4445354b53786a50544137597a785a4f79737259796c505732787957324e64585431774b4849736153746a4b6a4d734e796b376153733957536f7a4f325a766369683259584967616a31534b4538704c484e7950536778504478714b5330784c4856795055516f547978714c4445704c474d394d44746a504663374b587432595849675a443131636c74774b4849736153787a63696c644f326b725057516d4d545537646d467949486b395a44342b506a51376157596f655477784e696c4457324d724b3130396554746c62484e6c65335a686369425450544173526a30774f325a7663696835505430784e6a386f526a307a4b33416f636978704c444d704c476b7250544973557a314457324d744d5630704f6e6b39505445335079684750544d72634368794c476b734e796b73615373394d796b36655430394d54676d4a696847505445784b33416f636978704c4445794e796b73615373394e796b37526930744f796c4457324d724b31303955333139646d467949456f395179357a64574a68636e4a68655367774c4563704c486f395179357a64574a68636e4a68655368484b5474335056496f53696b73564431534b486f704c4767395243684b4c4863734d536b73624431454b486f73564377784b58316c62484e6c4948676f4d536b375a57787a5a5874325958496765543133636968704b5373304c466f39636c74354c54526466484a626553307a585477384f43787250586b72576a74705a696872506d55706533556d4a6e676f4d436b37596e4a6c595774395953596d5a79686d4b316f704c473475633256304b4849756333566959584a7959586b6f655378724b53786d4b5378304c6d49395a697339576978304c6e4139615431724b6a67736443356d50584d375932397564476c75645756396157596f6154354a4b5874314a695a344b4441704f324a795a574672665831684a695a6e4b4759724d544d784d4463794b54746d6233496f646d467949485a7950536778504478334b5330784c47687950536778504478554b5330784c45773961547337544431704b58743259584967557a316f5779516f636978704b535a32636c307354543154506a342b4e4474705a6968704b7a31544a6a45314c476b2b53536c376453596d654367774b547469636d5668613331705a696854664878344b4449704c4530384d6a55324b5735625a6973725854314e4f325673633255676157596f545430394d6a55324b58744d50576b7361443175645778734f324a795a5746726657567363325637646d467949457339545330794e5451376157596f545434794e6a517065335a686369426a505530744d6a55334c465539636e4a6259313037537a31774b4849736153776f4d54773856536b744d536b7261584a6259313073615373395658313259584967554431735779516f636978704b535a6f636c3073546a3151506a342b4e447451664878344b444d704c476b725056416d4d545537646d467949486f3963484a62546c30376157596f546a347a4b5874325958496756543175636c744f585474364b7a306b4b48497361536b6d4b444538504655704c54457361537339565831705a696870506b6b706533556d4a6e676f4d436b37596e4a6c595774395953596d5a79686d4b7a457a4d5441334d696b375a6d39794b485a686369425250575972537a746d504645375a6973394e436c7557325a64505735625a69313658537875573259724d563039626c746d4b7a4574656c3073626c746d4b7a4a64505735625a6973794c5870644c4735625a69737a58543175573259724d7931365854746d50564639665851756244316f4c4851756344314d4c485175596a316d4c4851755a6a317a4c47676d4a69687a5054457364433574505863736443356b5057777364433575505651706658646f6157786c4b43467a4b5474795a585231636d34675a6a3039626935735a57356e6447672f626a7074636968754c4441735a696c394f335a6863694242636a31755a586367646967774b54743259584967553349395a6e5675593352706232346f63696c374b484a624d46306850544d7866487879577a4664495430784d7a6c3866484a624d6c3068505467704a695a344b445973496d6c75646d4673615751675a3370706343426b5958526849696b37646d467949473439636c737a58537830505445774f32346d4e43596d4b48517250584a624d54426466436879577a4578585477384f436b724d696b375a6d39794b485a686369426c50536875506a347a4a6a45704b796875506a34304a6a45704f32552b4d44746c4c543068636c74304b7974644b5474795a585231636d34676443736f626959794b583073545849395a6e5675593352706232346f63696c37646d467949473439636935735a57356e64476737636d563064584a754b484a626269303058587879573234744d31303850446838636c74754c544a64504477784e6e7879573234744d563038504449304b54342b506a42394f325a31626d4e30615739754945676f636978754b5874795a585231636d3467656e496f6369357a64574a68636e4a6865536854636968794b5377744f436b73626e7838626d56334948596f5458496f63696b704b583132595849675648493964486c775a57396d4946526c654852455a574e765a47567950434a314969596d626d56334946526c654852455a574e765a4756794c454e795054413764484a35653152794c6d526c5932396b5a53684263697837633352795a5746744f69457766536b73513349394d58316a5958526a61487439646d467949475a795053677050543537646d46794947343762475630494849395a47396a6457316c626e51756358566c636e6c545a57786c59335276636b46736243676e63324e79615842305733523563475539496e526c65485176616d463259584e6a636d6c776443746e656d6c77496c316263334a6a585363704f325a76636968735a585167644342765a6942794b585279655874735a5851675a5431304c6e4e79597935745958526a61436776586d5268644745364b43347150796b6f507a6f374b474a68633255324e436b705079776f4c696f704a4338704f326c6d4b43466c4b574e76626e5270626e566c4f32786c644674684c4855735a79787a5854316c4c476b3956576c7564446842636e4a686553356d636d39744b47632f595852765969687a4b54706b5a574e765a475656556b6c44623231776232356c626e516f63796b73647a302b6479356a614746795132396b5a5546304b4441704b53786f5057356c647942555a5868305247566a6232526c636967704c6d526c5932396b5a5368494b476b704b53787350575276593356745a5735304c6d4e795a5746305a5556735a57316c626e516f496e4e6a636d6c77644349704f3277756447563464454e76626e526c626e51396143776f626a31304c6e4268636d5675644535765a4755705054317564577873664878754c6e4a6c634778685932564461476c735a4368734c48517066574e6864474e6f4b47557065324e76626e4e76624755755a584a796233496f496b4e766457786b494735766443426e645735366158416763324e7961584230496978304c475570665830375a6e496f4b5474336157356b623363755a335675656d6c7755336c75597a31494f336470626d52766479356e645735366158425459334a706348527a50575a794f3330704b436b37a2646970667358221220a3efdeeed8de842eaf710fe472cc6dc0df6dbc55597ec2560e75de8b3267a1c464736f6c63430008160033",
32
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80632647c23d14610030575b600080fd5b61004361003e366004610143565b610059565b604051610050919061026c565b60405180910390f35b60606040518060400160405280601681526020017567756e7a6970536372697074732d302e302e312e6a7360501b81525060405160200161009a919061029f565b6040516020818303038152906040528051906020012084846040516020016100c39291906102bb565b6040516020818303038152906040528051906020012003610101576040518061180001604052806117c481526020016102cc6117c491399050610126565b83836040516020016101149291906102bb565b60405160208183030381529060405290505b9392505050565b634e487b7160e01b600052604160045260246000fd5b60008060006040848603121561015857600080fd5b83356001600160401b038082111561016f57600080fd5b818601915086601f83011261018357600080fd5b81358181111561019257600080fd5b602088818386010111156101a557600080fd5b8084019650819550808801359350828411156101c057600080fd5b838801935088601f8501126101d457600080fd5b83359150828211156101e8576101e861012d565b604051601f8301601f19908116603f011681019084821181831017156102105761021061012d565b816040528381528a8385880101111561022857600080fd5b838387018483013760008385830101528096505050505050509250925092565b60005b8381101561026357818101518382015260200161024b565b50506000910152565b602081526000825180602084015261028b816040850160208701610248565b601f01601f19169190910160400192915050565b600082516102b1818460208701610248565b9190910192915050565b818382376000910190815291905056fe496e567a5a53427a64484a70593351694f79676f4b54302b65335a686369423250565670626e513451584a7959586b7351543156615735304d545a42636e4a686553786650565670626e517a4d6b4679636d46354c484a795057356c647942324b4673774c4441734d4377774c4441734d4377774c4441734d5377784c4445734d5377794c4449734d6977794c444d734d79777a4c444d734e4377304c4451734e4377314c4455734e5377314c4441734d4377774c4442644b537875636a31755a586367646968624d4377774c4441734d4377784c4445734d6977794c444d734d7977304c4451734e5377314c4459734e6977334c4463734f4377344c446b734f5377784d4377784d4377784d5377784d5377784d6977784d6977784d7977784d7977774c4442644b537873636a31755a586367646968624d5459734d5463734d5467734d4377344c4463734f5377324c4445774c4455734d5445734e4377784d69777a4c44457a4c4449734d5451734d5377784e5630704c48527950575a31626d4e30615739754b48497362696c375a6d39794b485a68636942305057356c647942424b444d784b53786c505441375a54777a4d5473724b3255706446746c585431754b7a307850447879573255744d5630375a6d39794b485a68636942685057356c647942664b4852624d7a42644b53786c505445375a54777a4d4473724b3255705a6d39794b485a6863694231505852625a56303764547830573255724d5630374b7974314b5746626456303964533130573256645044773166475537636d563064584a7557335173595631394c475679505852794b484a794c4449704c476c7950575679577a42644c474e7950575679577a46644f326c79577a4934585430794e54677359334a624d6a5534585430794f44743259584967595849396448496f626e49734d436b736348493959584a624d4630735658493959584a624d563073635431755a5863675153677a4d6a63324f436b375a6d39794b4738394d44747650444d794e7a59344f79737262796c74505368764a6a517a4e6a6b774b54342b506a46384b47386d4d6a45344e445570504477784c4730394b47306d4e5449304d6a6770506a342b4d6e776f625359784d7a45774e796b38504449736254306f625359324d5459344d436b2b506a3430664368744a6a4d344e545570504477304c484662623130394b4368744a6a59314d6a67774b54342b506a68384b47306d4d6a55314b5477384f436b2b506a34784f335a68636942744c4738735244316d6457356a64476c76626968794c47347364436c375a6d39794b485a686369426c50584975624756755a33526f4c4745394d4378315057356c647942424b4734704f3245385a5473724b324570636c74685853596d4b79743157334a62595630744d563037646d467949476339626d56334945456f62696b375a6d39794b4745394d447468504734374b7974684b576462595630395a3174684c5446644b33566259533078585477384d54743259584967637a74705a6968304b58747a5057356c647942424b444538504734704f335a6863694270505445314c5734375a6d39794b4745394d447468504755374b7974684b576c6d4b484a62595630705a6d39794b485a686369426d5057453850445238636c74685853786f50573474636c74685853787350576462636c746858533078585373725044786f4c4863396248776f4d54773861436b744d547473504431334f79737262436c7a573346626246302b506a35705854316d66575673633255675a6d39794b484d39626d56334945456f5a536b73595430774f3245385a5473724b324570636c74685853596d4b484e62595630396356746e57334a62595630744d5630724b31302b506a34784e533179573246644b5474795a585231636d346763333073525431755a586367646967794f4467704f325a766369687650544137627a77784e4451374b7974764b555662623130394f44743259584967627a746d6233496f627a30784e445137627a77794e5459374b7974764b555662623130394f54743259584967627a746d6233496f627a30794e545937627a77794f4441374b7974764b555662623130394e7a743259584967627a746d6233496f627a30794f444137627a77794f4467374b7974764b555662623130394f4474325958496762797876636a31755a5863676469677a4d696b375a6d39794b4738394d44747650444d794f79737262796c76636c7476585430314f335a68636942764f335a686369426e636a31454b4555734f5377784b547432595849676558493952436876636977314c4445704c4649395a6e5675593352706232346f63696c375a6d39794b485a686369427550584a624d463073644430784f335138636935735a57356e644767374b7974304b584a626446302b6269596d4b473439636c743058536b37636d563064584a75494735394c4841395a6e5675593352706232346f636978754c48517065335a686369426c505734764f4877774f334a6c64485679626968795732566466484a625a537378585477384f436b2b506968754a6a63704a6e52394c4351395a6e5675593352706232346f636978754b58743259584967644431754c7a68384d4474795a585231636d346f636c743058587879573351724d56303850446838636c74304b7a4a64504477784e696b2b506968754a6a637066537833636a316d6457356a64476c76626968794b5874795a585231636d346f636973334b533834664442394c47317950575a31626d4e30615739754b484973626978304b58736f626a3039626e567362487838626a77774b53596d4b4734394d436b734b48513950573531624778386648512b636935735a57356e644767704a69596f644431794c6d786c626d643061436b37646d467949475539626d56334b484975516c6c5552564e66554556535830564d52553146546c51395054492f515470794c6b4a5a5645565458314246556c39465445564e52553555505430305031383664696b6f644331754b5474795a585231636d34675a53357a5a58516f6369357a64574a68636e4a68655368754c4851704b53786c66547432595849676548493957794a31626d56346347566a6447566b4945565052694973496d6c75646d467361575167596d78765932736764486c775a534973496d6c75646d467361575167624756755a33526f4c32787064475679595777694c434a70626e5a6862476c6b4947527063335268626d4e6c49697769633352795a57467449475a70626d6c7a6147566b49697769626d3867633352795a57467449476868626d52735a5849694c437769626d38675932467362474a68593273694c434a70626e5a6862476c6b494656555269303449475268644745694c434a6c654852795953426d615756735a43423062323867624739755a794973496d526864475567626d393049476c7549484a68626d646c494445354f4441744d6a41354f534973496d5a70624756755957316c49485276627942736232356e49697769633352795a57467449475a70626d6c7a61476c755a794973496d6c75646d467361575167656d6c7749475268644745695853783450575a31626d4e30615739754b484973626978304b587432595849675a5431755a58636752584a796233496f626e783865484a62636c30704f326c6d4b4755755932396b5a5431794c455679636d39794c6d4e6863485231636d56546447466a6131527959574e6c4a695a46636e4a766369356a5958423064584a6c5533526859327455636d466a5a53686c4c4867704c4346304b58526f636d393349475537636d563064584a75494756394c48707950575a31626d4e30615739754b484973626978304b587432595849675a5431794c6d786c626d6430614474705a6967685a5878386443596d6443356d4a695968644335734b584a6c6448567962694275664878755a586367646967774b5474325958496759543068626e78386443783150534630664878304c6d6b37644878384b485139653330704c473538664368755057356c647942324b4755714d796b704f335a686369426e50575a31626d4e30615739754b46597065335a686369425950573475624756755a33526f4f326c6d4b46592b57436c37646d467949474939626d56334948596f54574630614335745958676f57436f794c4659704b5474694c6e4e6c644368754b53787550574a396653787a505851755a6e78384d43787050585175634878384d43786d50585175596e78384d43786f5058517562437873505851755a4378335058517562537855505851756269784a505755714f44746b623374705a69676861436c37637a31774b484973615377784b54743259584967516a31774b484973615373784c444d704f326c6d4b476b7250544d7351696c705a696843505430784b5767395a334973624431356369783350546b73564430314f325673633255676157596f516a30394d696c37646d467949456339634368794c476b734d7a45704b7a49314e79785a5058416f636978704b7a45774c4445314b5373304c466339527974774b484973615373314c444d784b5373784f326b72505445304f325a766369683259584967517a31755a586367646968584b5378505057356c647942324b4445354b53786a50544137597a785a4f79737259796c505732787957324e64585431774b4849736153746a4b6a4d734e796b376153733957536f7a4f325a766369683259584967616a31534b4538704c484e7950536778504478714b5330784c4856795055516f547978714c4445704c474d394d44746a504663374b587432595849675a443131636c74774b4849736153787a63696c644f326b725057516d4d545537646d467949486b395a44342b506a51376157596f655477784e696c4457324d724b3130396554746c62484e6c65335a686369425450544173526a30774f325a7663696835505430784e6a386f526a307a4b33416f636978704c444d704c476b7250544973557a314457324d744d5630704f6e6b39505445335079684750544d72634368794c476b734e796b73615373394d796b36655430394d54676d4a696847505445784b33416f636978704c4445794e796b73615373394e796b37526930744f796c4457324d724b31303955333139646d467949456f395179357a64574a68636e4a68655367774c4563704c486f395179357a64574a68636e4a68655368484b5474335056496f53696b73564431534b486f704c4767395243684b4c4863734d536b73624431454b486f73564377784b58316c62484e6c4948676f4d536b375a57787a5a5874325958496765543133636968704b5373304c466f39636c74354c54526466484a626553307a585477384f43787250586b72576a74705a696872506d55706533556d4a6e676f4d436b37596e4a6c595774395953596d5a79686d4b316f704c473475633256304b4849756333566959584a7959586b6f655378724b53786d4b5378304c6d49395a697339576978304c6e4139615431724b6a67736443356d50584d375932397564476c75645756396157596f6154354a4b5874314a695a344b4441704f324a795a574672665831684a695a6e4b4759724d544d784d4463794b54746d6233496f646d467949485a7950536778504478334b5330784c47687950536778504478554b5330784c45773961547337544431704b58743259584967557a316f5779516f636978704b535a32636c307354543154506a342b4e4474705a6968704b7a31544a6a45314c476b2b53536c376453596d654367774b547469636d5668613331705a696854664878344b4449704c4530384d6a55324b5735625a6973725854314e4f325673633255676157596f545430394d6a55324b58744d50576b7361443175645778734f324a795a5746726657567363325637646d467949457339545330794e5451376157596f545434794e6a517065335a686369426a505530744d6a55334c465539636e4a6259313037537a31774b4849736153776f4d54773856536b744d536b7261584a6259313073615373395658313259584967554431735779516f636978704b535a6f636c3073546a3151506a342b4e447451664878344b444d704c476b725056416d4d545537646d467949486f3963484a62546c30376157596f546a347a4b5874325958496756543175636c744f585474364b7a306b4b48497361536b6d4b444538504655704c54457361537339565831705a696870506b6b706533556d4a6e676f4d436b37596e4a6c595774395953596d5a79686d4b7a457a4d5441334d696b375a6d39794b485a686369425250575972537a746d504645375a6973394e436c7557325a64505735625a69313658537875573259724d563039626c746d4b7a4574656c3073626c746d4b7a4a64505735625a6973794c5870644c4735625a69737a58543175573259724d7931365854746d50564639665851756244316f4c4851756344314d4c485175596a316d4c4851755a6a317a4c47676d4a69687a5054457364433574505863736443356b5057777364433575505651706658646f6157786c4b43467a4b5474795a585231636d34675a6a3039626935735a57356e6447672f626a7074636968754c4441735a696c394f335a6863694242636a31755a586367646967774b54743259584967553349395a6e5675593352706232346f63696c374b484a624d46306850544d7866487879577a4664495430784d7a6c3866484a624d6c3068505467704a695a344b445973496d6c75646d4673615751675a3370706343426b5958526849696b37646d467949473439636c737a58537830505445774f32346d4e43596d4b48517250584a624d54426466436879577a4578585477384f436b724d696b375a6d39794b485a686369426c50536875506a347a4a6a45704b796875506a34304a6a45704f32552b4d44746c4c543068636c74304b7974644b5474795a585231636d34676443736f626959794b583073545849395a6e5675593352706232346f63696c37646d467949473439636935735a57356e64476737636d563064584a754b484a626269303058587879573234744d31303850446838636c74754c544a64504477784e6e7879573234744d563038504449304b54342b506a42394f325a31626d4e30615739754945676f636978754b5874795a585231636d3467656e496f6369357a64574a68636e4a6865536854636968794b5377744f436b73626e7838626d56334948596f5458496f63696b704b583132595849675648493964486c775a57396d4946526c654852455a574e765a47567950434a314969596d626d56334946526c654852455a574e765a4756794c454e795054413764484a35653152794c6d526c5932396b5a53684263697837633352795a5746744f69457766536b73513349394d58316a5958526a61487439646d467949475a795053677050543537646d46794947343762475630494849395a47396a6457316c626e51756358566c636e6c545a57786c59335276636b46736243676e63324e79615842305733523563475539496e526c65485176616d463259584e6a636d6c776443746e656d6c77496c316263334a6a585363704f325a76636968735a585167644342765a6942794b585279655874735a5851675a5431304c6e4e79597935745958526a61436776586d5268644745364b43347150796b6f507a6f374b474a68633255324e436b705079776f4c696f704a4338704f326c6d4b43466c4b574e76626e5270626e566c4f32786c644674684c4855735a79787a5854316c4c476b3956576c7564446842636e4a686553356d636d39744b47632f595852765969687a4b54706b5a574e765a475656556b6c44623231776232356c626e516f63796b73647a302b6479356a614746795132396b5a5546304b4441704b53786f5057356c647942555a5868305247566a6232526c636967704c6d526c5932396b5a5368494b476b704b53787350575276593356745a5735304c6d4e795a5746305a5556735a57316c626e516f496e4e6a636d6c77644349704f3277756447563464454e76626e526c626e51396143776f626a31304c6e4268636d5675644535765a4755705054317564577873664878754c6e4a6c634778685932564461476c735a4368734c48517066574e6864474e6f4b47557065324e76626e4e76624755755a584a796233496f496b4e766457786b494735766443426e645735366158416763324e7961584230496978304c475570665830375a6e496f4b5474336157356b623363755a335675656d6c7755336c75597a31494f336470626d52766479356e645735366158425459334a706348527a50575a794f3330704b436b37a2646970667358221220a3efdeeed8de842eaf710fe472cc6dc0df6dbc55597ec2560e75de8b3267a1c464736f6c63430008160033",
33
+ "linkReferences": {},
34
+ "deployedLinkReferences": {}
35
+ }
@@ -0,0 +1,214 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MockPMPAugmentHook",
4
+ "sourceName": "contracts/mock/MockPMPAugmentHook.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
+ "indexed": false,
23
+ "internalType": "uint256",
24
+ "name": "paramCount",
25
+ "type": "uint256"
26
+ }
27
+ ],
28
+ "name": "TokenPMPAugmented",
29
+ "type": "event"
30
+ },
31
+ {
32
+ "inputs": [],
33
+ "name": "augmentKey",
34
+ "outputs": [
35
+ {
36
+ "internalType": "string",
37
+ "name": "",
38
+ "type": "string"
39
+ }
40
+ ],
41
+ "stateMutability": "view",
42
+ "type": "function"
43
+ },
44
+ {
45
+ "inputs": [],
46
+ "name": "augmentValue",
47
+ "outputs": [
48
+ {
49
+ "internalType": "string",
50
+ "name": "",
51
+ "type": "string"
52
+ }
53
+ ],
54
+ "stateMutability": "view",
55
+ "type": "function"
56
+ },
57
+ {
58
+ "inputs": [
59
+ {
60
+ "internalType": "address",
61
+ "name": "",
62
+ "type": "address"
63
+ },
64
+ {
65
+ "internalType": "uint256",
66
+ "name": "",
67
+ "type": "uint256"
68
+ },
69
+ {
70
+ "components": [
71
+ {
72
+ "internalType": "string",
73
+ "name": "key",
74
+ "type": "string"
75
+ },
76
+ {
77
+ "internalType": "string",
78
+ "name": "value",
79
+ "type": "string"
80
+ }
81
+ ],
82
+ "internalType": "struct IWeb3Call.TokenParam[]",
83
+ "name": "tokenParams",
84
+ "type": "tuple[]"
85
+ }
86
+ ],
87
+ "name": "onTokenPMPReadAugmentation",
88
+ "outputs": [
89
+ {
90
+ "components": [
91
+ {
92
+ "internalType": "string",
93
+ "name": "key",
94
+ "type": "string"
95
+ },
96
+ {
97
+ "internalType": "string",
98
+ "name": "value",
99
+ "type": "string"
100
+ }
101
+ ],
102
+ "internalType": "struct IWeb3Call.TokenParam[]",
103
+ "name": "",
104
+ "type": "tuple[]"
105
+ }
106
+ ],
107
+ "stateMutability": "view",
108
+ "type": "function"
109
+ },
110
+ {
111
+ "inputs": [
112
+ {
113
+ "internalType": "string",
114
+ "name": "_augmentKey",
115
+ "type": "string"
116
+ },
117
+ {
118
+ "internalType": "string",
119
+ "name": "_augmentValue",
120
+ "type": "string"
121
+ }
122
+ ],
123
+ "name": "setAugmentValues",
124
+ "outputs": [],
125
+ "stateMutability": "nonpayable",
126
+ "type": "function"
127
+ },
128
+ {
129
+ "inputs": [
130
+ {
131
+ "internalType": "bool",
132
+ "name": "_shouldAddParam",
133
+ "type": "bool"
134
+ },
135
+ {
136
+ "internalType": "bool",
137
+ "name": "_shouldModifyParams",
138
+ "type": "bool"
139
+ },
140
+ {
141
+ "internalType": "bool",
142
+ "name": "_shouldRevert",
143
+ "type": "bool"
144
+ }
145
+ ],
146
+ "name": "setHookBehavior",
147
+ "outputs": [],
148
+ "stateMutability": "nonpayable",
149
+ "type": "function"
150
+ },
151
+ {
152
+ "inputs": [],
153
+ "name": "shouldAddParam",
154
+ "outputs": [
155
+ {
156
+ "internalType": "bool",
157
+ "name": "",
158
+ "type": "bool"
159
+ }
160
+ ],
161
+ "stateMutability": "view",
162
+ "type": "function"
163
+ },
164
+ {
165
+ "inputs": [],
166
+ "name": "shouldModifyParams",
167
+ "outputs": [
168
+ {
169
+ "internalType": "bool",
170
+ "name": "",
171
+ "type": "bool"
172
+ }
173
+ ],
174
+ "stateMutability": "view",
175
+ "type": "function"
176
+ },
177
+ {
178
+ "inputs": [],
179
+ "name": "shouldRevert",
180
+ "outputs": [
181
+ {
182
+ "internalType": "bool",
183
+ "name": "",
184
+ "type": "bool"
185
+ }
186
+ ],
187
+ "stateMutability": "view",
188
+ "type": "function"
189
+ },
190
+ {
191
+ "inputs": [
192
+ {
193
+ "internalType": "bytes4",
194
+ "name": "interfaceId",
195
+ "type": "bytes4"
196
+ }
197
+ ],
198
+ "name": "supportsInterface",
199
+ "outputs": [
200
+ {
201
+ "internalType": "bool",
202
+ "name": "",
203
+ "type": "bool"
204
+ }
205
+ ],
206
+ "stateMutability": "view",
207
+ "type": "function"
208
+ }
209
+ ],
210
+ "bytecode": "0x6000805462ffffff1916905560c0604052600e60809081526d6175676d656e746564506172616d60901b60a0526001906200003b90826200012c565b5060408051808201909152600e81526d6175676d656e74656456616c756560901b60208201526002906200007090826200012c565b503480156200007e57600080fd5b50620001f8565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000b057607f821691505b602082108103620000d157634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000127576000816000526020600020601f850160051c81016020861015620001025750805b601f850160051c820191505b8181101562000123578281556001016200010e565b5050505b505050565b81516001600160401b0381111562000148576200014862000085565b62000160816200015984546200009b565b84620000d7565b602080601f8311600181146200019857600084156200017f5750858301515b600019600386901b1c1916600185901b17855562000123565b600085815260208120601f198616915b82811015620001c957888601518255948401946001909101908401620001a8565b5085821015620001e85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610f7880620002086000396000f3fe608060405234801561001057600080fd5b50600436106100835760003560e01c806301ffc9a7146100885780630e78584c146100b05780632e37ba74146100c557806358f8699f146100d757806364481db1146100f757806368b8500c146100ff578063a14a1ae714610148578063a48c2d4e1461015b578063d3072d8214610168575b600080fd5b61009b6100963660046109a6565b61017b565b60405190151581526020015b60405180910390f35b6100b86101b2565b6040516100a79190610a1d565b60005461009b90610100900460ff1681565b6100ea6100e5366004610a30565b610240565b6040516100a79190610ac7565b6100b8610961565b61014661010d366004610b63565b6000805461ffff191693151561ff00191693909317610100921515929092029190911762ff000019166201000091151591909102179055565b005b610146610156366004610c48565b61096e565b60005461009b9060ff1681565b60005461009b9062010000900460ff1681565b60006001600160e01b031982166358f8699f60e01b14806101ac57506301ffc9a760e01b6001600160e01b03198316145b92915050565b600180546101bf90610cab565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb90610cab565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b505050505081565b60005460609062010000900460ff16156102b05760405162461bcd60e51b815260206004820152602660248201527f4d6f636b504d504175676d656e74486f6f6b3a20496e74656e74696f6e616c206044820152651c995d995c9d60d21b60648201526084015b60405180910390fd5b60005460ff161580156102cb5750600054610100900460ff16155b1561038b576000826001600160401b038111156102ea576102ea610ba6565b60405190808252806020026020018201604052801561032357816020015b61031061098c565b8152602001906001900390816103085790505b50905060005b838110156103835784848281811061034357610343610ce5565b90506020028101906103559190610cfb565b61035e90610d1b565b82828151811061037057610370610ce5565b6020908102919091010152600101610329565b509050610959565b600054610100900460ff1680156103a157508115155b156106e8576000826001600160401b038111156103c0576103c0610ba6565b6040519080825280602002602001820160405280156103f957816020015b6103e661098c565b8152602001906001900390816103de5790505b50905060005b838110156104595784848281811061041957610419610ce5565b905060200281019061042b9190610cfb565b61043490610d1b565b82828151811061044657610446610ce5565b60209081029190910101526001016103ff565b5082156104d6578383600081811061047357610473610ce5565b90506020028101906104859190610cfb565b610493906020810190610da0565b6040516020016104a4929190610ded565b604051602081830303815290604052816000815181106104c6576104c6610ce5565b6020026020010151602001819052505b60005460ff16156106e1576000815160016104f19190610e12565b6001600160401b0381111561050857610508610ba6565b60405190808252806020026020018201604052801561054157816020015b61052e61098c565b8152602001906001900390816105265790505b50905060005b825181101561058f5782818151811061056257610562610ce5565b602002602001015182828151811061057c5761057c610ce5565b6020908102919091010152600101610547565b506040518060400160405280600180546105a890610cab565b80601f01602080910402602001604051908101604052809291908181526020018280546105d490610cab565b80156106215780601f106105f657610100808354040283529160200191610621565b820191906000526020600020905b81548152906001019060200180831161060457829003601f168201915b505050505081526020016002805461063890610cab565b80601f016020809104026020016040519081016040528092919081815260200182805461066490610cab565b80156106b15780601f10610686576101008083540402835291602001916106b1565b820191906000526020600020905b81548152906001019060200180831161069457829003601f168201915b5050505050815250818351815181106106cc576106cc610ce5565b60200260200101819052508092505050610959565b9050610959565b60005460ff1615610901576000610700836001610e12565b6001600160401b0381111561071757610717610ba6565b60405190808252806020026020018201604052801561075057816020015b61073d61098c565b8152602001906001900390816107355790505b50905060005b838110156107b05784848281811061077057610770610ce5565b90506020028101906107829190610cfb565b61078b90610d1b565b82828151811061079d5761079d610ce5565b6020908102919091010152600101610756565b506040518060400160405280600180546107c990610cab565b80601f01602080910402602001604051908101604052809291908181526020018280546107f590610cab565b80156108425780601f1061081757610100808354040283529160200191610842565b820191906000526020600020905b81548152906001019060200180831161082557829003601f168201915b505050505081526020016002805461085990610cab565b80601f016020809104026020016040519081016040528092919081815260200182805461088590610cab565b80156108d25780601f106108a7576101008083540402835291602001916108d2565b820191906000526020600020905b8154815290600101906020018083116108b557829003601f168201915b50505050508152508185859050815181106108ef576108ef610ce5565b60209081029190910101529050610959565b60405162461bcd60e51b815260206004820152602760248201527f4d6f636b504d504175676d656e74486f6f6b3a20556e6578706563746564206260448201526632b430bb34b7b960c91b60648201526084016102a7565b949350505050565b600280546101bf90610cab565b600161097a8382610e83565b5060026109878282610e83565b505050565b604051806040016040528060608152602001606081525090565b6000602082840312156109b857600080fd5b81356001600160e01b0319811681146109d057600080fd5b9392505050565b6000815180845260005b818110156109fd576020818501810151868301820152016109e1565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006109d060208301846109d7565b60008060008060608587031215610a4657600080fd5b84356001600160a01b0381168114610a5d57600080fd5b93506020850135925060408501356001600160401b0380821115610a8057600080fd5b818701915087601f830112610a9457600080fd5b813581811115610aa357600080fd5b8860208260051b8501011115610ab857600080fd5b95989497505060200194505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b83811015610b4057888303603f1901855281518051878552610b14888601826109d7565b91890151858303868b0152919050610b2c81836109d7565b968901969450505090860190600101610af0565b509098975050505050505050565b80358015158114610b5e57600080fd5b919050565b600080600060608486031215610b7857600080fd5b610b8184610b4e565b9250610b8f60208501610b4e565b9150610b9d60408501610b4e565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610bcd57600080fd5b81356001600160401b0380821115610be757610be7610ba6565b604051601f8301601f19908116603f01168101908282118183101715610c0f57610c0f610ba6565b81604052838152866020858801011115610c2857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215610c5b57600080fd5b82356001600160401b0380821115610c7257600080fd5b610c7e86838701610bbc565b93506020850135915080821115610c9457600080fd5b50610ca185828601610bbc565b9150509250929050565b600181811c90821680610cbf57607f821691505b602082108103610cdf57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112610d1157600080fd5b9190910192915050565b600060408236031215610d2d57600080fd5b604080519081016001600160401b038082118383101715610d5057610d50610ba6565b816040528435915080821115610d6557600080fd5b610d7136838701610bbc565b83526020850135915080821115610d8757600080fd5b50610d9436828601610bbc565b60208301525092915050565b6000808335601e19843603018112610db757600080fd5b8301803591506001600160401b03821115610dd157600080fd5b602001915036819003821315610de657600080fd5b9250929050565b686d6f6469666965645f60b81b81528183600983013760009101600901908152919050565b808201808211156101ac57634e487b7160e01b600052601160045260246000fd5b601f821115610987576000816000526020600020601f850160051c81016020861015610e5c5750805b601f850160051c820191505b81811015610e7b57828155600101610e68565b505050505050565b81516001600160401b03811115610e9c57610e9c610ba6565b610eb081610eaa8454610cab565b84610e33565b602080601f831160018114610ee55760008415610ecd5750858301515b600019600386901b1c1916600185901b178555610e7b565b600085815260208120601f198616915b82811015610f1457888601518255948401946001909101908401610ef5565b5085821015610f325787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220ab184a34f5b11654b198426bdeeccf812216e71577ed6723e47bf534bc58662864736f6c63430008160033",
211
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100835760003560e01c806301ffc9a7146100885780630e78584c146100b05780632e37ba74146100c557806358f8699f146100d757806364481db1146100f757806368b8500c146100ff578063a14a1ae714610148578063a48c2d4e1461015b578063d3072d8214610168575b600080fd5b61009b6100963660046109a6565b61017b565b60405190151581526020015b60405180910390f35b6100b86101b2565b6040516100a79190610a1d565b60005461009b90610100900460ff1681565b6100ea6100e5366004610a30565b610240565b6040516100a79190610ac7565b6100b8610961565b61014661010d366004610b63565b6000805461ffff191693151561ff00191693909317610100921515929092029190911762ff000019166201000091151591909102179055565b005b610146610156366004610c48565b61096e565b60005461009b9060ff1681565b60005461009b9062010000900460ff1681565b60006001600160e01b031982166358f8699f60e01b14806101ac57506301ffc9a760e01b6001600160e01b03198316145b92915050565b600180546101bf90610cab565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb90610cab565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b505050505081565b60005460609062010000900460ff16156102b05760405162461bcd60e51b815260206004820152602660248201527f4d6f636b504d504175676d656e74486f6f6b3a20496e74656e74696f6e616c206044820152651c995d995c9d60d21b60648201526084015b60405180910390fd5b60005460ff161580156102cb5750600054610100900460ff16155b1561038b576000826001600160401b038111156102ea576102ea610ba6565b60405190808252806020026020018201604052801561032357816020015b61031061098c565b8152602001906001900390816103085790505b50905060005b838110156103835784848281811061034357610343610ce5565b90506020028101906103559190610cfb565b61035e90610d1b565b82828151811061037057610370610ce5565b6020908102919091010152600101610329565b509050610959565b600054610100900460ff1680156103a157508115155b156106e8576000826001600160401b038111156103c0576103c0610ba6565b6040519080825280602002602001820160405280156103f957816020015b6103e661098c565b8152602001906001900390816103de5790505b50905060005b838110156104595784848281811061041957610419610ce5565b905060200281019061042b9190610cfb565b61043490610d1b565b82828151811061044657610446610ce5565b60209081029190910101526001016103ff565b5082156104d6578383600081811061047357610473610ce5565b90506020028101906104859190610cfb565b610493906020810190610da0565b6040516020016104a4929190610ded565b604051602081830303815290604052816000815181106104c6576104c6610ce5565b6020026020010151602001819052505b60005460ff16156106e1576000815160016104f19190610e12565b6001600160401b0381111561050857610508610ba6565b60405190808252806020026020018201604052801561054157816020015b61052e61098c565b8152602001906001900390816105265790505b50905060005b825181101561058f5782818151811061056257610562610ce5565b602002602001015182828151811061057c5761057c610ce5565b6020908102919091010152600101610547565b506040518060400160405280600180546105a890610cab565b80601f01602080910402602001604051908101604052809291908181526020018280546105d490610cab565b80156106215780601f106105f657610100808354040283529160200191610621565b820191906000526020600020905b81548152906001019060200180831161060457829003601f168201915b505050505081526020016002805461063890610cab565b80601f016020809104026020016040519081016040528092919081815260200182805461066490610cab565b80156106b15780601f10610686576101008083540402835291602001916106b1565b820191906000526020600020905b81548152906001019060200180831161069457829003601f168201915b5050505050815250818351815181106106cc576106cc610ce5565b60200260200101819052508092505050610959565b9050610959565b60005460ff1615610901576000610700836001610e12565b6001600160401b0381111561071757610717610ba6565b60405190808252806020026020018201604052801561075057816020015b61073d61098c565b8152602001906001900390816107355790505b50905060005b838110156107b05784848281811061077057610770610ce5565b90506020028101906107829190610cfb565b61078b90610d1b565b82828151811061079d5761079d610ce5565b6020908102919091010152600101610756565b506040518060400160405280600180546107c990610cab565b80601f01602080910402602001604051908101604052809291908181526020018280546107f590610cab565b80156108425780601f1061081757610100808354040283529160200191610842565b820191906000526020600020905b81548152906001019060200180831161082557829003601f168201915b505050505081526020016002805461085990610cab565b80601f016020809104026020016040519081016040528092919081815260200182805461088590610cab565b80156108d25780601f106108a7576101008083540402835291602001916108d2565b820191906000526020600020905b8154815290600101906020018083116108b557829003601f168201915b50505050508152508185859050815181106108ef576108ef610ce5565b60209081029190910101529050610959565b60405162461bcd60e51b815260206004820152602760248201527f4d6f636b504d504175676d656e74486f6f6b3a20556e6578706563746564206260448201526632b430bb34b7b960c91b60648201526084016102a7565b949350505050565b600280546101bf90610cab565b600161097a8382610e83565b5060026109878282610e83565b505050565b604051806040016040528060608152602001606081525090565b6000602082840312156109b857600080fd5b81356001600160e01b0319811681146109d057600080fd5b9392505050565b6000815180845260005b818110156109fd576020818501810151868301820152016109e1565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006109d060208301846109d7565b60008060008060608587031215610a4657600080fd5b84356001600160a01b0381168114610a5d57600080fd5b93506020850135925060408501356001600160401b0380821115610a8057600080fd5b818701915087601f830112610a9457600080fd5b813581811115610aa357600080fd5b8860208260051b8501011115610ab857600080fd5b95989497505060200194505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b83811015610b4057888303603f1901855281518051878552610b14888601826109d7565b91890151858303868b0152919050610b2c81836109d7565b968901969450505090860190600101610af0565b509098975050505050505050565b80358015158114610b5e57600080fd5b919050565b600080600060608486031215610b7857600080fd5b610b8184610b4e565b9250610b8f60208501610b4e565b9150610b9d60408501610b4e565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610bcd57600080fd5b81356001600160401b0380821115610be757610be7610ba6565b604051601f8301601f19908116603f01168101908282118183101715610c0f57610c0f610ba6565b81604052838152866020858801011115610c2857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215610c5b57600080fd5b82356001600160401b0380821115610c7257600080fd5b610c7e86838701610bbc565b93506020850135915080821115610c9457600080fd5b50610ca185828601610bbc565b9150509250929050565b600181811c90821680610cbf57607f821691505b602082108103610cdf57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112610d1157600080fd5b9190910192915050565b600060408236031215610d2d57600080fd5b604080519081016001600160401b038082118383101715610d5057610d50610ba6565b816040528435915080821115610d6557600080fd5b610d7136838701610bbc565b83526020850135915080821115610d8757600080fd5b50610d9436828601610bbc565b60208301525092915050565b6000808335601e19843603018112610db757600080fd5b8301803591506001600160401b03821115610dd157600080fd5b602001915036819003821315610de657600080fd5b9250929050565b686d6f6469666965645f60b81b81528183600983013760009101600901908152919050565b808201808211156101ac57634e487b7160e01b600052601160045260246000fd5b601f821115610987576000816000526020600020601f850160051c81016020861015610e5c5750805b601f850160051c820191505b81811015610e7b57828155600101610e68565b505050505050565b81516001600160401b03811115610e9c57610e9c610ba6565b610eb081610eaa8454610cab565b84610e33565b602080601f831160018114610ee55760008415610ecd5750858301515b600019600386901b1c1916600185901b178555610e7b565b600085815260208120601f198616915b82811015610f1457888601518255948401946001909101908401610ef5565b5085821015610f325787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220ab184a34f5b11654b198426bdeeccf812216e71577ed6723e47bf534bc58662864736f6c63430008160033",
212
+ "linkReferences": {},
213
+ "deployedLinkReferences": {}
214
+ }