@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
package/README.md CHANGED
@@ -23,10 +23,6 @@ Create a `.env` file by duplicating `.env.example` and populating all variables.
23
23
 
24
24
  `yarn compile`
25
25
 
26
- ### generate typescript contract bindings
27
-
28
- `yarn generate:typechain`
29
-
30
26
  ### run the tests
31
27
 
32
28
  `yarn test`
@@ -164,42 +160,21 @@ Core contracts use the versioning schema below:
164
160
  | :-----------------------: | :-----------------------: | :-----------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
165
161
  | AB Core V0 | V0 | 0-2 | `0x059EDD72Cd353dF5106D2B9cC5ab83a52287aC3a` |
166
162
  | AB Core V1 | V1 | 3-373 | `0xa7d8d9ef8D8Ce8992Df33D8b8CF4Aebabd5bD270` |
163
+ | AB Core V3 | V3 | 374-493 | `0x99a9B7c1116f9ceEB1652de04d5969CcE509B069` |
164
+ | AB Core V3.2 (current) | V3.2 | 494+ | `0xAB0000000000aa06f89B268D604a9c1C41524Ac6` |
167
165
  | Engine Cores (V2) | V2_PBAB | All V2 Engine | Various - see `deployments/engine/` directory [DEPLOYMENTS.md files](https://github.com/search?q=repo%3Aartblocks%2Fartblocks-contracts+path%3A*.md+path%3A**%2FDEPLOYMENTS.md&type=Code&ref=advsearch&l=&l=) |
168
166
  | Engine Partner Cores (V2) | V2_PRTNR | All V2 PRTNR | Various - see `deployments/engine/` directory [DEPLOYMENTS.md files](https://github.com/search?q=repo%3Aartblocks%2Fartblocks-contracts+path%3A*.md+path%3A**%2FDEPLOYMENTS.md&type=Code&ref=advsearch&l=&l=) |
169
- | AB Core V3 (current) | V3 | 374+ | `0x99a9B7c1116f9ceEB1652de04d5969CcE509B069` |
170
167
  | Engine_V3, Engine_V3_Flex | Engine_V3, Engine_V3_Flex | All V3 Engine | Various - see `deployments/engine/V3/` directory [DEPLOYMENTS.md](https://github.com/search?q=repo%3Aartblocks%2Fartblocks-contracts+path%3A*.md+path%3A**%2FDEPLOYMENTS.md&type=Code&ref=advsearch&l=&l=) files |
171
168
 
172
- > AB Core V3 [changelog here](./contracts/V3_CHANGELOG.md), and [performance metrics here](./contracts/V3_PERFORMANCE.md).
173
-
174
- ### Testnet Contracts
175
-
176
- The following represents the current set of flagship core contracts deployed on the Goerli testnet, and their active Minter Filters:
177
-
178
- - Art Blocks Artist Staging (Goerli):
179
-
180
- - V1 Core (deprecated): https://goerli.etherscan.io/address/0xDa62f67BE7194775A75BE91CBF9FEeDcC5776D4b
181
- - V3 Core: https://goerli.etherscan.io/address/0xB614C578062a62714c927CD8193F0b8Bfb90055C
182
-
183
- - Art Blocks Dev (Goerli):
184
- - V1 Core (deprecated): https://goerli.etherscan.io/address/0x1Bf03F29c4FEFFFe4eE26704aaA31d85c026aCE6
185
- - V3 Core: https://goerli.etherscan.io/address/0xF396C180bb2f92EE28535D23F5224A5b9425ceca
186
-
187
169
  ## Art Blocks Engine Core Contracts
188
170
 
189
171
  For deployed core contracts, see the deployment details in the `/deployments/engine/[V2|V3]/<engine-partner>/` directories. For V2 core contracts, archived source code is available in the `/posterity/engine/` directory.
190
172
 
191
173
  ## BytecodeStorageReader
192
174
 
193
- BytecodeStorageReader (currently on V1 version) is public library for reading from storage contracts. This library is intended to be deployed as a standalone contract, and provides all _read_ functionality by being used as an externally linked library within the Art Blocks ecosystem contracts that use contract storage for writes.
175
+ BytecodeStorageReader is public library for reading from storage contracts. This library is intended to be deployed as a standalone contract, and provides all _read_ functionality by being used as an externally linked library within the Art Blocks ecosystem contracts that use contract bytecode for writes.
194
176
 
195
- Given that it is an externally linked library with a shared public deployment, the deployment addresses for these shared deployments are referenced in our shared deployments `constants.ts` util (in the `BYTECODE_STORAGE_READER_LIBRARY_ADDRESSES` constant) so that they may be linked at time of deployment and are also linked here below for shared reference:
196
-
197
- - V1 `BytecodeStorageReader` (goerli): https://goerli.etherscan.io/address/0xB8B806A10d16cc80dB788552B54B3ECb4A2A3C3D#code
198
- - V1 `BytecodeStorageReader` (sepolia): https://sepolia.etherscan.io/address/0x7497909537cE00fDda93c12d5083D8647C593c67#code
199
- - V1 `BytecodeStorageReader` (mainnet): https://etherscan.io/address/0xf0585dF582A0ad119F1616FB82f3b449a98EeCd5#code
200
- - V1 `BytecodeStorageReader` (arbitrum-goerli): https://goerli.arbiscan.io/address/0x681861cD4fC92d70aE57745385065ef862954662#code
201
- - V1 `BytecodeStorageReader` (arbitrum): https://arbiscan.io/address/0xa07f47c30C262adcC263A4D44595972c50e04db7#code
202
- - V1 `BytecodeStorageReader` (arbitrum-sepolia): https://sepolia.arbiscan.io/address/0xb219C04128c9749b597c35D416b9988bEa9E1114#code
177
+ Versioned deployments of the BytecodeStorageReader library, as well as a UniversalBytecodeStorageReader contract maintained by Art Blocks, are summarized on the [Infrastructure Documentation](./INFRASTRUCTURE.md) page.
203
178
 
204
179
  ## Shared Randomizers
205
180
 
@@ -222,16 +197,25 @@ Each dependency is identified by a unique name and version (in the format "name@
222
197
 
223
198
  The contract allows for the overriding of project dependencies. This means that specific projects can use different versions of dependencies than what's stored on the core contract. The override is defined by the address of the core contract, the project ID, and the bytes32 representation of the dependency name and version.
224
199
 
225
- - `DependencyRegistry` (sepolia dev):
226
- - TransparentUpgradeableProxy https://sepolia.etherscan.io/address/0x5Fcc415BCFb164C5F826B5305274749BeB684e9b#code
227
- - V0 Implementation https://sepolia.etherscan.io/address/0x2B0EaC9FBdD487e09f3326BB616EeAD72ade9876#code
228
- - `DependencyRegistry` (sepolia staging):
229
- - TransparentUpgradeableProxy https://sepolia.etherscan.io/address/0xEFA7Ef074A6E90a99fba8bAd4dCf337ef298387f#code
230
- - V0 Implementation https://sepolia.etherscan.io/address/0x2B0EaC9FBdD487e09f3326BB616EeAD72ade9876#code
231
200
  - `DependencyRegistry` (mainnet)
232
- - TransparentUpgradeableProxy https://etherscan.io/address/0x37861f95882ACDba2cCD84F5bFc4598e2ECDDdAF#code
233
- - V0 Implementation https://etherscan.io/address/0x2d3f8D5c5294B7934aFBe4B901EEb5E7B48a4e97#code
234
- - AdminACLV0 https://etherscan.io/address/0x569cDfECFD848a02Ad3e74175a1A4a74484Ef944#code
201
+ - https://etherscan.io/address/0x37861f95882ACDba2cCD84F5bFc4598e2ECDDdAF#code
202
+ - `DependencyRegistry` (sepolia staging)
203
+ - https://sepolia.etherscan.io/address/0x5Fcc415BCFb164C5F826B5305274749BeB684e9b#code
204
+
205
+ ## GenArt721Generator
206
+
207
+ The GenArt721GeneratorV0 is an upgradeable contract that generates the HTML required to display Art Blocks artworks. It combines dependency scripts, project scripts, and token data to create the complete HTML for each token. The contract works in conjunction with the DependencyRegistry to retrieve project dependencies and ScriptyBuilder to generate the final HTML output.
208
+
209
+ Each token's HTML includes the necessary JavaScript dependencies (either loaded from a CDN or stored on-chain), a canvas element if required by the dependency, the project's core script, and token-specific data like the token ID and hash. The contract supports both base64-encoded data URIs and plain HTML output formats.
210
+
211
+ The contract handles backwards compatibility with different core contract versions and provides flexibility in how dependencies are loaded. It can retrieve scripts stored directly in contract bytecode using the UniversalBytecodeStorageReader, or load them from preferred CDN sources when available.
212
+
213
+ The contract currently supports most Art Blocks Flagship projects on mainnet.
214
+
215
+ - `OnChainGenerator` (mainnet)
216
+ - https://etherscan.io/address/0x953D288708bB771F969FCfD9BA0819eF506Ac718
217
+ - `OnChainGenerator` (sepolia staging)
218
+ - https://sepolia.etherscan.io/address/0xdC862938cA0a2D8dcabe5733C23e54ac7aAFFF27
235
219
 
236
220
  ## Splitter Factories
237
221
 
@@ -241,8 +241,8 @@
241
241
  "type": "function"
242
242
  }
243
243
  ],
244
- "bytecode": "0x60c0604052600a60809081526941646d696e41434c563160b01b60a0526000906200002b9082620000f9565b503480156200003957600080fd5b50600180546001600160a01b03191633179055620001c5565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200007d57607f821691505b6020821081036200009e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620000f4576000816000526020600020601f850160051c81016020861015620000cf5750805b601f850160051c820191505b81811015620000f057828155600101620000db565b5050505b505050565b81516001600160401b0381111562000115576200011562000052565b6200012d8162000126845462000068565b84620000a4565b602080601f8311600181146200016557600084156200014c5750858301515b600019600386901b1c1916600185901b178555620000f0565b600085815260208120601f198616915b82811015620001965788860151825594840194600190910190840162000175565b5085821015620001b55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610bc580620001d56000396000f3fe608060405234801561001057600080fd5b50600436106100995760003560e01c806301ffc9a71461009e57806305de62c0146100c657806329575f6a146100d9578063377a7d1a146100f9578063625e1b7d1461010e578063940ef80014610121578063985d196814610137578063ad35d2de1461014a578063bcc91a101461015d578063c81a396e14610170578063c94dca9a14610185575b600080fd5b6100b16100ac3660046108ad565b610198565b60405190151581526020015b60405180910390f35b6100b16100d43660046108df565b6101cf565b6001546100ec906001600160a01b031681565b6040516100bd9190610922565b61010c610107366004610936565b610225565b005b6100ec61011c3660046109bb565b6102bd565b6101296102ca565b6040519081526020016100bd565b61010c6101453660046109d4565b6102db565b61010c6101583660046109d4565b61035b565b61010c61016b3660046109ef565b610413565b610178610579565b6040516100bd9190610a22565b61010c6101933660046109d4565b610607565b60006001600160e01b03198216633001c1ef60e21b14806101c957506301ffc9a760e01b6001600160e01b03198316145b92915050565b6001546000906001600160a01b03908116908516036101f05750600161021e565b638911905560e01b6001600160e01b031983160161021a576102136002856106bc565b905061021e565b5060005b9392505050565b6001546001600160a01b031633146102585760405162461bcd60e51b815260040161024f90610a71565b60405180910390fd5b600180546001600160a01b038581166001600160a01b0319831681179093556040519116919082907f3f6845104f9728af7979eed8814320daba008953c8db93b9fe32602d1f34b475906102af9087908790610a9a565b60405180910390a350505050565b60006101c96002836106d1565b60006102d660026106dd565b905090565b6001546001600160a01b031633146103055760405162461bcd60e51b815260040161024f90610a71565b806001600160a01b031663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561034057600080fd5b505af1158015610354573d6000803e3d6000fd5b5050505050565b6001546001600160a01b031633146103855760405162461bcd60e51b815260040161024f90610a71565b6103906002826106e7565b6103dc5760405162461bcd60e51b815260206004820152601e60248201527f41646d696e41434c56313a20416c726561647920726567697374657265640000604482015260640161024f565b6040516001600160a01b038216907fcfa45e813a030b8a5edb7a194db400758a7838280a892097169e8bc310a6bc9390600090a250565b6001546001600160a01b0316331461043d5760405162461bcd60e51b815260040161024f90610a71565b6040516301ffc9a760e01b8152633001c1ef60e21b60048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac9190610ae6565b6105175760405162461bcd60e51b815260206004820152603660248201527f41646d696e41434c56313a206e65772061646d696e2041434c20646f6573206e60448201527506f7420737570706f7274204941646d696e41434c56360541b606482015260840161024f565b60405163f2fde38b60e01b81526001600160a01b0383169063f2fde38b90610543908490600401610922565b600060405180830381600087803b15801561055d57600080fd5b505af1158015610571573d6000803e3d6000fd5b505050505050565b6000805461058690610b08565b80601f01602080910402602001604051908101604052809291908181526020018280546105b290610b08565b80156105ff5780601f106105d4576101008083540402835291602001916105ff565b820191906000526020600020905b8154815290600101906020018083116105e257829003601f168201915b505050505081565b6001546001600160a01b031633146106315760405162461bcd60e51b815260040161024f90610a71565b61063c6002826106fc565b6106855760405162461bcd60e51b815260206004820152601a60248201527910591b5a5b9050d3158c4e88139bdd081c9959da5cdd195c995960321b604482015260640161024f565b6040516001600160a01b038216907ff1de73f684ba2cffe486a26456673d031647e0c7964095865ed8e159873edde290600090a250565b600061021e836001600160a01b038416610711565b600061021e8383610729565b60006101c9825490565b600061021e836001600160a01b038416610753565b600061021e836001600160a01b03841661079d565b60009081526001919091016020526040902054151590565b600082600001828154811061074057610740610b42565b9060005260206000200154905092915050565b600061075f8383610711565b610795575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556101c9565b5060006101c9565b600081815260018301602052604081205480156108865760006107c1600183610b58565b85549091506000906107d590600190610b58565b905081811461083a5760008660000182815481106107f5576107f5610b42565b906000526020600020015490508087600001848154811061081857610818610b42565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061084b5761084b610b79565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506101c9565b60009150506101c9565b80356001600160e01b0319811681146108a857600080fd5b919050565b6000602082840312156108bf57600080fd5b61021e82610890565b80356001600160a01b03811681146108a857600080fd5b6000806000606084860312156108f457600080fd5b6108fd846108c8565b925061090b602085016108c8565b915061091960408501610890565b90509250925092565b6001600160a01b0391909116815260200190565b60008060006040848603121561094b57600080fd5b610954846108c8565b925060208401356001600160401b038082111561097057600080fd5b818601915086601f83011261098457600080fd5b81358181111561099357600080fd5b8760208260051b85010111156109a857600080fd5b6020830194508093505050509250925092565b6000602082840312156109cd57600080fd5b5035919050565b6000602082840312156109e657600080fd5b61021e826108c8565b60008060408385031215610a0257600080fd5b610a0b836108c8565b9150610a19602084016108c8565b90509250929050565b60006020808352835180602085015260005b81811015610a5057858101830151858201604001528201610a34565b506000604082860101526040601f19601f8301168501019250505092915050565b6020808252600f908201526e27b7363c9039bab832b920b236b4b760891b604082015260600190565b60208082528181018390526000908460408401835b86811015610adb576001600160a01b03610ac8846108c8565b1682529183019190830190600101610aaf565b509695505050505050565b600060208284031215610af857600080fd5b8151801515811461021e57600080fd5b600181811c90821680610b1c57607f821691505b602082108103610b3c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b818103818111156101c957634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fdfea264697066735822122021c9dc9012b0dafb2ceec8d1e707fbfa80197a40ab68ad58df060f078acad5c264736f6c63430008160033",
245
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100995760003560e01c806301ffc9a71461009e57806305de62c0146100c657806329575f6a146100d9578063377a7d1a146100f9578063625e1b7d1461010e578063940ef80014610121578063985d196814610137578063ad35d2de1461014a578063bcc91a101461015d578063c81a396e14610170578063c94dca9a14610185575b600080fd5b6100b16100ac3660046108ad565b610198565b60405190151581526020015b60405180910390f35b6100b16100d43660046108df565b6101cf565b6001546100ec906001600160a01b031681565b6040516100bd9190610922565b61010c610107366004610936565b610225565b005b6100ec61011c3660046109bb565b6102bd565b6101296102ca565b6040519081526020016100bd565b61010c6101453660046109d4565b6102db565b61010c6101583660046109d4565b61035b565b61010c61016b3660046109ef565b610413565b610178610579565b6040516100bd9190610a22565b61010c6101933660046109d4565b610607565b60006001600160e01b03198216633001c1ef60e21b14806101c957506301ffc9a760e01b6001600160e01b03198316145b92915050565b6001546000906001600160a01b03908116908516036101f05750600161021e565b638911905560e01b6001600160e01b031983160161021a576102136002856106bc565b905061021e565b5060005b9392505050565b6001546001600160a01b031633146102585760405162461bcd60e51b815260040161024f90610a71565b60405180910390fd5b600180546001600160a01b038581166001600160a01b0319831681179093556040519116919082907f3f6845104f9728af7979eed8814320daba008953c8db93b9fe32602d1f34b475906102af9087908790610a9a565b60405180910390a350505050565b60006101c96002836106d1565b60006102d660026106dd565b905090565b6001546001600160a01b031633146103055760405162461bcd60e51b815260040161024f90610a71565b806001600160a01b031663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561034057600080fd5b505af1158015610354573d6000803e3d6000fd5b5050505050565b6001546001600160a01b031633146103855760405162461bcd60e51b815260040161024f90610a71565b6103906002826106e7565b6103dc5760405162461bcd60e51b815260206004820152601e60248201527f41646d696e41434c56313a20416c726561647920726567697374657265640000604482015260640161024f565b6040516001600160a01b038216907fcfa45e813a030b8a5edb7a194db400758a7838280a892097169e8bc310a6bc9390600090a250565b6001546001600160a01b0316331461043d5760405162461bcd60e51b815260040161024f90610a71565b6040516301ffc9a760e01b8152633001c1ef60e21b60048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac9190610ae6565b6105175760405162461bcd60e51b815260206004820152603660248201527f41646d696e41434c56313a206e65772061646d696e2041434c20646f6573206e60448201527506f7420737570706f7274204941646d696e41434c56360541b606482015260840161024f565b60405163f2fde38b60e01b81526001600160a01b0383169063f2fde38b90610543908490600401610922565b600060405180830381600087803b15801561055d57600080fd5b505af1158015610571573d6000803e3d6000fd5b505050505050565b6000805461058690610b08565b80601f01602080910402602001604051908101604052809291908181526020018280546105b290610b08565b80156105ff5780601f106105d4576101008083540402835291602001916105ff565b820191906000526020600020905b8154815290600101906020018083116105e257829003601f168201915b505050505081565b6001546001600160a01b031633146106315760405162461bcd60e51b815260040161024f90610a71565b61063c6002826106fc565b6106855760405162461bcd60e51b815260206004820152601a60248201527910591b5a5b9050d3158c4e88139bdd081c9959da5cdd195c995960321b604482015260640161024f565b6040516001600160a01b038216907ff1de73f684ba2cffe486a26456673d031647e0c7964095865ed8e159873edde290600090a250565b600061021e836001600160a01b038416610711565b600061021e8383610729565b60006101c9825490565b600061021e836001600160a01b038416610753565b600061021e836001600160a01b03841661079d565b60009081526001919091016020526040902054151590565b600082600001828154811061074057610740610b42565b9060005260206000200154905092915050565b600061075f8383610711565b610795575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556101c9565b5060006101c9565b600081815260018301602052604081205480156108865760006107c1600183610b58565b85549091506000906107d590600190610b58565b905081811461083a5760008660000182815481106107f5576107f5610b42565b906000526020600020015490508087600001848154811061081857610818610b42565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061084b5761084b610b79565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506101c9565b60009150506101c9565b80356001600160e01b0319811681146108a857600080fd5b919050565b6000602082840312156108bf57600080fd5b61021e82610890565b80356001600160a01b03811681146108a857600080fd5b6000806000606084860312156108f457600080fd5b6108fd846108c8565b925061090b602085016108c8565b915061091960408501610890565b90509250925092565b6001600160a01b0391909116815260200190565b60008060006040848603121561094b57600080fd5b610954846108c8565b925060208401356001600160401b038082111561097057600080fd5b818601915086601f83011261098457600080fd5b81358181111561099357600080fd5b8760208260051b85010111156109a857600080fd5b6020830194508093505050509250925092565b6000602082840312156109cd57600080fd5b5035919050565b6000602082840312156109e657600080fd5b61021e826108c8565b60008060408385031215610a0257600080fd5b610a0b836108c8565b9150610a19602084016108c8565b90509250929050565b60006020808352835180602085015260005b81811015610a5057858101830151858201604001528201610a34565b506000604082860101526040601f19601f8301168501019250505092915050565b6020808252600f908201526e27b7363c9039bab832b920b236b4b760891b604082015260600190565b60208082528181018390526000908460408401835b86811015610adb576001600160a01b03610ac8846108c8565b1682529183019190830190600101610aaf565b509695505050505050565b600060208284031215610af857600080fd5b8151801515811461021e57600080fd5b600181811c90821680610b1c57607f821691505b602082108103610b3c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b818103818111156101c957634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fdfea264697066735822122021c9dc9012b0dafb2ceec8d1e707fbfa80197a40ab68ad58df060f078acad5c264736f6c63430008160033",
244
+ "bytecode": "0x60c0604052600a60809081526941646d696e41434c563160b01b60a0526000906200002b9082620000f9565b503480156200003957600080fd5b50600180546001600160a01b03191633179055620001c5565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200007d57607f821691505b6020821081036200009e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620000f4576000816000526020600020601f850160051c81016020861015620000cf5750805b601f850160051c820191505b81811015620000f057828155600101620000db565b5050505b505050565b81516001600160401b0381111562000115576200011562000052565b6200012d8162000126845462000068565b84620000a4565b602080601f8311600181146200016557600084156200014c5750858301515b600019600386901b1c1916600185901b178555620000f0565b600085815260208120601f198616915b82811015620001965788860151825594840194600190910190840162000175565b5085821015620001b55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610bc580620001d56000396000f3fe608060405234801561001057600080fd5b50600436106100995760003560e01c806301ffc9a71461009e57806305de62c0146100c657806329575f6a146100d9578063377a7d1a146100f9578063625e1b7d1461010e578063940ef80014610121578063985d196814610137578063ad35d2de1461014a578063bcc91a101461015d578063c81a396e14610170578063c94dca9a14610185575b600080fd5b6100b16100ac3660046108ad565b610198565b60405190151581526020015b60405180910390f35b6100b16100d43660046108df565b6101cf565b6001546100ec906001600160a01b031681565b6040516100bd9190610922565b61010c610107366004610936565b610225565b005b6100ec61011c3660046109bb565b6102bd565b6101296102ca565b6040519081526020016100bd565b61010c6101453660046109d4565b6102db565b61010c6101583660046109d4565b61035b565b61010c61016b3660046109ef565b610413565b610178610579565b6040516100bd9190610a22565b61010c6101933660046109d4565b610607565b60006001600160e01b03198216633001c1ef60e21b14806101c957506301ffc9a760e01b6001600160e01b03198316145b92915050565b6001546000906001600160a01b03908116908516036101f05750600161021e565b638911905560e01b6001600160e01b031983160161021a576102136002856106bc565b905061021e565b5060005b9392505050565b6001546001600160a01b031633146102585760405162461bcd60e51b815260040161024f90610a71565b60405180910390fd5b600180546001600160a01b038581166001600160a01b0319831681179093556040519116919082907f3f6845104f9728af7979eed8814320daba008953c8db93b9fe32602d1f34b475906102af9087908790610a9a565b60405180910390a350505050565b60006101c96002836106d1565b60006102d660026106dd565b905090565b6001546001600160a01b031633146103055760405162461bcd60e51b815260040161024f90610a71565b806001600160a01b031663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561034057600080fd5b505af1158015610354573d6000803e3d6000fd5b5050505050565b6001546001600160a01b031633146103855760405162461bcd60e51b815260040161024f90610a71565b6103906002826106e7565b6103dc5760405162461bcd60e51b815260206004820152601e60248201527f41646d696e41434c56313a20416c726561647920726567697374657265640000604482015260640161024f565b6040516001600160a01b038216907fcfa45e813a030b8a5edb7a194db400758a7838280a892097169e8bc310a6bc9390600090a250565b6001546001600160a01b0316331461043d5760405162461bcd60e51b815260040161024f90610a71565b6040516301ffc9a760e01b8152633001c1ef60e21b60048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac9190610ae6565b6105175760405162461bcd60e51b815260206004820152603660248201527f41646d696e41434c56313a206e65772061646d696e2041434c20646f6573206e60448201527506f7420737570706f7274204941646d696e41434c56360541b606482015260840161024f565b60405163f2fde38b60e01b81526001600160a01b0383169063f2fde38b90610543908490600401610922565b600060405180830381600087803b15801561055d57600080fd5b505af1158015610571573d6000803e3d6000fd5b505050505050565b6000805461058690610b08565b80601f01602080910402602001604051908101604052809291908181526020018280546105b290610b08565b80156105ff5780601f106105d4576101008083540402835291602001916105ff565b820191906000526020600020905b8154815290600101906020018083116105e257829003601f168201915b505050505081565b6001546001600160a01b031633146106315760405162461bcd60e51b815260040161024f90610a71565b61063c6002826106fc565b6106855760405162461bcd60e51b815260206004820152601a60248201527910591b5a5b9050d3158c4e88139bdd081c9959da5cdd195c995960321b604482015260640161024f565b6040516001600160a01b038216907ff1de73f684ba2cffe486a26456673d031647e0c7964095865ed8e159873edde290600090a250565b600061021e836001600160a01b038416610711565b600061021e8383610729565b60006101c9825490565b600061021e836001600160a01b038416610753565b600061021e836001600160a01b03841661079d565b60009081526001919091016020526040902054151590565b600082600001828154811061074057610740610b42565b9060005260206000200154905092915050565b600061075f8383610711565b610795575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556101c9565b5060006101c9565b600081815260018301602052604081205480156108865760006107c1600183610b58565b85549091506000906107d590600190610b58565b905081811461083a5760008660000182815481106107f5576107f5610b42565b906000526020600020015490508087600001848154811061081857610818610b42565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061084b5761084b610b79565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506101c9565b60009150506101c9565b80356001600160e01b0319811681146108a857600080fd5b919050565b6000602082840312156108bf57600080fd5b61021e82610890565b80356001600160a01b03811681146108a857600080fd5b6000806000606084860312156108f457600080fd5b6108fd846108c8565b925061090b602085016108c8565b915061091960408501610890565b90509250925092565b6001600160a01b0391909116815260200190565b60008060006040848603121561094b57600080fd5b610954846108c8565b925060208401356001600160401b038082111561097057600080fd5b818601915086601f83011261098457600080fd5b81358181111561099357600080fd5b8760208260051b85010111156109a857600080fd5b6020830194508093505050509250925092565b6000602082840312156109cd57600080fd5b5035919050565b6000602082840312156109e657600080fd5b61021e826108c8565b60008060408385031215610a0257600080fd5b610a0b836108c8565b9150610a19602084016108c8565b90509250929050565b60006020808352835180602085015260005b81811015610a5057858101830151858201604001528201610a34565b506000604082860101526040601f19601f8301168501019250505092915050565b6020808252600f908201526e27b7363c9039bab832b920b236b4b760891b604082015260600190565b60208082528181018390526000908460408401835b86811015610adb576001600160a01b03610ac8846108c8565b1682529183019190830190600101610aaf565b509695505050505050565b600060208284031215610af857600080fd5b8151801515811461021e57600080fd5b600181811c90821680610b1c57607f821691505b602082108103610b3c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b818103818111156101c957634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fdfea26469706673582212207f235aa7318fe8fe82ea53d1b91b5a2728967962b62574a24ca96c00f94fe98464736f6c63430008160033",
245
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100995760003560e01c806301ffc9a71461009e57806305de62c0146100c657806329575f6a146100d9578063377a7d1a146100f9578063625e1b7d1461010e578063940ef80014610121578063985d196814610137578063ad35d2de1461014a578063bcc91a101461015d578063c81a396e14610170578063c94dca9a14610185575b600080fd5b6100b16100ac3660046108ad565b610198565b60405190151581526020015b60405180910390f35b6100b16100d43660046108df565b6101cf565b6001546100ec906001600160a01b031681565b6040516100bd9190610922565b61010c610107366004610936565b610225565b005b6100ec61011c3660046109bb565b6102bd565b6101296102ca565b6040519081526020016100bd565b61010c6101453660046109d4565b6102db565b61010c6101583660046109d4565b61035b565b61010c61016b3660046109ef565b610413565b610178610579565b6040516100bd9190610a22565b61010c6101933660046109d4565b610607565b60006001600160e01b03198216633001c1ef60e21b14806101c957506301ffc9a760e01b6001600160e01b03198316145b92915050565b6001546000906001600160a01b03908116908516036101f05750600161021e565b638911905560e01b6001600160e01b031983160161021a576102136002856106bc565b905061021e565b5060005b9392505050565b6001546001600160a01b031633146102585760405162461bcd60e51b815260040161024f90610a71565b60405180910390fd5b600180546001600160a01b038581166001600160a01b0319831681179093556040519116919082907f3f6845104f9728af7979eed8814320daba008953c8db93b9fe32602d1f34b475906102af9087908790610a9a565b60405180910390a350505050565b60006101c96002836106d1565b60006102d660026106dd565b905090565b6001546001600160a01b031633146103055760405162461bcd60e51b815260040161024f90610a71565b806001600160a01b031663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561034057600080fd5b505af1158015610354573d6000803e3d6000fd5b5050505050565b6001546001600160a01b031633146103855760405162461bcd60e51b815260040161024f90610a71565b6103906002826106e7565b6103dc5760405162461bcd60e51b815260206004820152601e60248201527f41646d696e41434c56313a20416c726561647920726567697374657265640000604482015260640161024f565b6040516001600160a01b038216907fcfa45e813a030b8a5edb7a194db400758a7838280a892097169e8bc310a6bc9390600090a250565b6001546001600160a01b0316331461043d5760405162461bcd60e51b815260040161024f90610a71565b6040516301ffc9a760e01b8152633001c1ef60e21b60048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac9190610ae6565b6105175760405162461bcd60e51b815260206004820152603660248201527f41646d696e41434c56313a206e65772061646d696e2041434c20646f6573206e60448201527506f7420737570706f7274204941646d696e41434c56360541b606482015260840161024f565b60405163f2fde38b60e01b81526001600160a01b0383169063f2fde38b90610543908490600401610922565b600060405180830381600087803b15801561055d57600080fd5b505af1158015610571573d6000803e3d6000fd5b505050505050565b6000805461058690610b08565b80601f01602080910402602001604051908101604052809291908181526020018280546105b290610b08565b80156105ff5780601f106105d4576101008083540402835291602001916105ff565b820191906000526020600020905b8154815290600101906020018083116105e257829003601f168201915b505050505081565b6001546001600160a01b031633146106315760405162461bcd60e51b815260040161024f90610a71565b61063c6002826106fc565b6106855760405162461bcd60e51b815260206004820152601a60248201527910591b5a5b9050d3158c4e88139bdd081c9959da5cdd195c995960321b604482015260640161024f565b6040516001600160a01b038216907ff1de73f684ba2cffe486a26456673d031647e0c7964095865ed8e159873edde290600090a250565b600061021e836001600160a01b038416610711565b600061021e8383610729565b60006101c9825490565b600061021e836001600160a01b038416610753565b600061021e836001600160a01b03841661079d565b60009081526001919091016020526040902054151590565b600082600001828154811061074057610740610b42565b9060005260206000200154905092915050565b600061075f8383610711565b610795575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556101c9565b5060006101c9565b600081815260018301602052604081205480156108865760006107c1600183610b58565b85549091506000906107d590600190610b58565b905081811461083a5760008660000182815481106107f5576107f5610b42565b906000526020600020015490508087600001848154811061081857610818610b42565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061084b5761084b610b79565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506101c9565b60009150506101c9565b80356001600160e01b0319811681146108a857600080fd5b919050565b6000602082840312156108bf57600080fd5b61021e82610890565b80356001600160a01b03811681146108a857600080fd5b6000806000606084860312156108f457600080fd5b6108fd846108c8565b925061090b602085016108c8565b915061091960408501610890565b90509250925092565b6001600160a01b0391909116815260200190565b60008060006040848603121561094b57600080fd5b610954846108c8565b925060208401356001600160401b038082111561097057600080fd5b818601915086601f83011261098457600080fd5b81358181111561099357600080fd5b8760208260051b85010111156109a857600080fd5b6020830194508093505050509250925092565b6000602082840312156109cd57600080fd5b5035919050565b6000602082840312156109e657600080fd5b61021e826108c8565b60008060408385031215610a0257600080fd5b610a0b836108c8565b9150610a19602084016108c8565b90509250929050565b60006020808352835180602085015260005b81811015610a5057858101830151858201604001528201610a34565b506000604082860101526040601f19601f8301168501019250505092915050565b6020808252600f908201526e27b7363c9039bab832b920b236b4b760891b604082015260600190565b60208082528181018390526000908460408401835b86811015610adb576001600160a01b03610ac8846108c8565b1682529183019190830190600101610aaf565b509695505050505050565b600060208284031215610af857600080fd5b8151801515811461021e57600080fd5b600181811c90821680610b1c57607f821691505b602082108103610b3c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b818103818111156101c957634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fdfea26469706673582212207f235aa7318fe8fe82ea53d1b91b5a2728967962b62574a24ca96c00f94fe98464736f6c63430008160033",
246
246
  "linkReferences": {},
247
247
  "deployedLinkReferences": {}
248
248
  }
@@ -0,0 +1,201 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "BytecodeStorageReaderContractV2",
4
+ "sourceName": "contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "VERSION",
9
+ "outputs": [
10
+ {
11
+ "internalType": "string",
12
+ "name": "",
13
+ "type": "string"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ },
19
+ {
20
+ "inputs": [
21
+ {
22
+ "internalType": "address",
23
+ "name": "_address",
24
+ "type": "address"
25
+ }
26
+ ],
27
+ "name": "getIsCompressedForBytecode",
28
+ "outputs": [
29
+ {
30
+ "internalType": "bool",
31
+ "name": "",
32
+ "type": "bool"
33
+ }
34
+ ],
35
+ "stateMutability": "view",
36
+ "type": "function"
37
+ },
38
+ {
39
+ "inputs": [
40
+ {
41
+ "internalType": "address",
42
+ "name": "address_",
43
+ "type": "address"
44
+ }
45
+ ],
46
+ "name": "getLibraryVersionForBytecode",
47
+ "outputs": [
48
+ {
49
+ "internalType": "bytes32",
50
+ "name": "",
51
+ "type": "bytes32"
52
+ }
53
+ ],
54
+ "stateMutability": "view",
55
+ "type": "function"
56
+ },
57
+ {
58
+ "inputs": [
59
+ {
60
+ "internalType": "address",
61
+ "name": "address_",
62
+ "type": "address"
63
+ }
64
+ ],
65
+ "name": "getWriterAddressForBytecode",
66
+ "outputs": [
67
+ {
68
+ "internalType": "address",
69
+ "name": "",
70
+ "type": "address"
71
+ }
72
+ ],
73
+ "stateMutability": "view",
74
+ "type": "function"
75
+ },
76
+ {
77
+ "inputs": [
78
+ {
79
+ "internalType": "address",
80
+ "name": "address_",
81
+ "type": "address"
82
+ },
83
+ {
84
+ "internalType": "uint256",
85
+ "name": "offset",
86
+ "type": "uint256"
87
+ }
88
+ ],
89
+ "name": "readBytesFromBytecode",
90
+ "outputs": [
91
+ {
92
+ "internalType": "bytes",
93
+ "name": "",
94
+ "type": "bytes"
95
+ }
96
+ ],
97
+ "stateMutability": "view",
98
+ "type": "function"
99
+ },
100
+ {
101
+ "inputs": [
102
+ {
103
+ "internalType": "address",
104
+ "name": "address_",
105
+ "type": "address"
106
+ }
107
+ ],
108
+ "name": "readBytesFromSSTORE2Bytecode",
109
+ "outputs": [
110
+ {
111
+ "internalType": "bytes",
112
+ "name": "",
113
+ "type": "bytes"
114
+ }
115
+ ],
116
+ "stateMutability": "view",
117
+ "type": "function"
118
+ },
119
+ {
120
+ "inputs": [
121
+ {
122
+ "internalType": "address",
123
+ "name": "address_",
124
+ "type": "address"
125
+ }
126
+ ],
127
+ "name": "readFromBytecode",
128
+ "outputs": [
129
+ {
130
+ "internalType": "string",
131
+ "name": "",
132
+ "type": "string"
133
+ }
134
+ ],
135
+ "stateMutability": "view",
136
+ "type": "function"
137
+ }
138
+ ],
139
+ "bytecode": "0x608060405234801561001057600080fd5b5061068e806100206000396000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c80632475d7091461007257806342e832e01461009b57806375662f38146100bb57806387630c15146100ce578063cc31a331146100e1578063f667001414610102578063ffa1ad7414610125575b600080fd5b610085610080366004610467565b610161565b60405161009291906104d4565b60405180910390f35b6100ae6100a9366004610467565b6101ef565b60405161009291906104e7565b6100856100c9366004610467565b610273565b6100856100dc3660046104fb565b6102b6565b6100f46100ef366004610467565b610347565b604051908152602001610092565b610115610110366004610467565b6103cb565b6040519015158152602001610092565b6100856040518060400160405280601f81526020017f42797465636f646553746f72616765526561646572436f6e747261637456320081525081565b604051632475d70960e01b815260609073__$a84cab3dc26412b6358fa38e3bc69cb812$__90632475d709906101a4906001600160a01b038616906004016104e7565b600060405180830381865af41580156101c1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101e991908101906105b0565b92915050565b604051630217419760e51b815260009073__$a84cab3dc26412b6358fa38e3bc69cb812$__906342e832e090610232906001600160a01b038616906004016104e7565b602060405180830381865af415801561024f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e99190610600565b604051630eacc5e760e31b815260609073__$a84cab3dc26412b6358fa38e3bc69cb812$__906375662f38906101a4906001600160a01b038616906004016104e7565b6040516387630c1560e01b81526001600160a01b03831660048201526024810182905260609073__$a84cab3dc26412b6358fa38e3bc69cb812$__906387630c1590604401600060405180830381865af4158015610318573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261034091908101906105b0565b9392505050565b60405163cc31a33160e01b815260009073__$a84cab3dc26412b6358fa38e3bc69cb812$__9063cc31a3319061038a906001600160a01b038616906004016104e7565b602060405180830381865af41580156103a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e9919061061d565b604051633d99c00560e21b815260009073__$a84cab3dc26412b6358fa38e3bc69cb812$__9063f66700149061040e906001600160a01b038616906004016104e7565b602060405180830381865af415801561042b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e99190610636565b6001600160a01b038116811461046457600080fd5b50565b60006020828403121561047957600080fd5b81356103408161044f565b60005b8381101561049f578181015183820152602001610487565b50506000910152565b600081518084526104c0816020860160208601610484565b601f01601f19169290920160200192915050565b60208152600061034060208301846104a8565b6001600160a01b0391909116815260200190565b6000806040838503121561050e57600080fd5b82356105198161044f565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b038084111561055757610557610527565b604051601f8501601f19908116603f0116810190828211818310171561057f5761057f610527565b8160405280935085815286868601111561059857600080fd5b6105a6866020830187610484565b5050509392505050565b6000602082840312156105c257600080fd5b81516001600160401b038111156105d857600080fd5b8201601f810184136105e957600080fd5b6105f88482516020840161053d565b949350505050565b60006020828403121561061257600080fd5b81516103408161044f565b60006020828403121561062f57600080fd5b5051919050565b60006020828403121561064857600080fd5b8151801515811461034057600080fdfea2646970667358221220ef0253bebe4c2f2d6891dd12a1a41ccb8f1ba55bea1074e97b068ddd256eebf064736f6c63430008160033",
140
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061006d5760003560e01c80632475d7091461007257806342e832e01461009b57806375662f38146100bb57806387630c15146100ce578063cc31a331146100e1578063f667001414610102578063ffa1ad7414610125575b600080fd5b610085610080366004610467565b610161565b60405161009291906104d4565b60405180910390f35b6100ae6100a9366004610467565b6101ef565b60405161009291906104e7565b6100856100c9366004610467565b610273565b6100856100dc3660046104fb565b6102b6565b6100f46100ef366004610467565b610347565b604051908152602001610092565b610115610110366004610467565b6103cb565b6040519015158152602001610092565b6100856040518060400160405280601f81526020017f42797465636f646553746f72616765526561646572436f6e747261637456320081525081565b604051632475d70960e01b815260609073__$a84cab3dc26412b6358fa38e3bc69cb812$__90632475d709906101a4906001600160a01b038616906004016104e7565b600060405180830381865af41580156101c1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101e991908101906105b0565b92915050565b604051630217419760e51b815260009073__$a84cab3dc26412b6358fa38e3bc69cb812$__906342e832e090610232906001600160a01b038616906004016104e7565b602060405180830381865af415801561024f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e99190610600565b604051630eacc5e760e31b815260609073__$a84cab3dc26412b6358fa38e3bc69cb812$__906375662f38906101a4906001600160a01b038616906004016104e7565b6040516387630c1560e01b81526001600160a01b03831660048201526024810182905260609073__$a84cab3dc26412b6358fa38e3bc69cb812$__906387630c1590604401600060405180830381865af4158015610318573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261034091908101906105b0565b9392505050565b60405163cc31a33160e01b815260009073__$a84cab3dc26412b6358fa38e3bc69cb812$__9063cc31a3319061038a906001600160a01b038616906004016104e7565b602060405180830381865af41580156103a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e9919061061d565b604051633d99c00560e21b815260009073__$a84cab3dc26412b6358fa38e3bc69cb812$__9063f66700149061040e906001600160a01b038616906004016104e7565b602060405180830381865af415801561042b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e99190610636565b6001600160a01b038116811461046457600080fd5b50565b60006020828403121561047957600080fd5b81356103408161044f565b60005b8381101561049f578181015183820152602001610487565b50506000910152565b600081518084526104c0816020860160208601610484565b601f01601f19169290920160200192915050565b60208152600061034060208301846104a8565b6001600160a01b0391909116815260200190565b6000806040838503121561050e57600080fd5b82356105198161044f565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b038084111561055757610557610527565b604051601f8501601f19908116603f0116810190828211818310171561057f5761057f610527565b8160405280935085815286868601111561059857600080fd5b6105a6866020830187610484565b5050509392505050565b6000602082840312156105c257600080fd5b81516001600160401b038111156105d857600080fd5b8201601f810184136105e957600080fd5b6105f88482516020840161053d565b949350505050565b60006020828403121561061257600080fd5b81516103408161044f565b60006020828403121561062f57600080fd5b5051919050565b60006020828403121561064857600080fd5b8151801515811461034057600080fdfea2646970667358221220ef0253bebe4c2f2d6891dd12a1a41ccb8f1ba55bea1074e97b068ddd256eebf064736f6c63430008160033",
141
+ "linkReferences": {
142
+ "contracts/libs/v0.8.x/BytecodeStorageV2.sol": {
143
+ "BytecodeStorageReader": [
144
+ {
145
+ "length": 20,
146
+ "start": 403
147
+ },
148
+ {
149
+ "length": 20,
150
+ "start": 545
151
+ },
152
+ {
153
+ "length": 20,
154
+ "start": 677
155
+ },
156
+ {
157
+ "length": 20,
158
+ "start": 766
159
+ },
160
+ {
161
+ "length": 20,
162
+ "start": 889
163
+ },
164
+ {
165
+ "length": 20,
166
+ "start": 1021
167
+ }
168
+ ]
169
+ }
170
+ },
171
+ "deployedLinkReferences": {
172
+ "contracts/libs/v0.8.x/BytecodeStorageV2.sol": {
173
+ "BytecodeStorageReader": [
174
+ {
175
+ "length": 20,
176
+ "start": 371
177
+ },
178
+ {
179
+ "length": 20,
180
+ "start": 513
181
+ },
182
+ {
183
+ "length": 20,
184
+ "start": 645
185
+ },
186
+ {
187
+ "length": 20,
188
+ "start": 734
189
+ },
190
+ {
191
+ "length": 20,
192
+ "start": 857
193
+ },
194
+ {
195
+ "length": 20,
196
+ "start": 989
197
+ }
198
+ ]
199
+ }
200
+ }
201
+ }
@@ -0,0 +1,201 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "BytecodeStorageReaderContractV2_Web3Call",
4
+ "sourceName": "contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2_Web3Call.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "VERSION",
9
+ "outputs": [
10
+ {
11
+ "internalType": "string",
12
+ "name": "",
13
+ "type": "string"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ },
19
+ {
20
+ "inputs": [
21
+ {
22
+ "internalType": "address",
23
+ "name": "_address",
24
+ "type": "address"
25
+ }
26
+ ],
27
+ "name": "getIsCompressedForBytecode",
28
+ "outputs": [
29
+ {
30
+ "internalType": "bool",
31
+ "name": "",
32
+ "type": "bool"
33
+ }
34
+ ],
35
+ "stateMutability": "view",
36
+ "type": "function"
37
+ },
38
+ {
39
+ "inputs": [
40
+ {
41
+ "internalType": "address",
42
+ "name": "address_",
43
+ "type": "address"
44
+ }
45
+ ],
46
+ "name": "getLibraryVersionForBytecode",
47
+ "outputs": [
48
+ {
49
+ "internalType": "bytes32",
50
+ "name": "",
51
+ "type": "bytes32"
52
+ }
53
+ ],
54
+ "stateMutability": "view",
55
+ "type": "function"
56
+ },
57
+ {
58
+ "inputs": [
59
+ {
60
+ "internalType": "address",
61
+ "name": "address_",
62
+ "type": "address"
63
+ }
64
+ ],
65
+ "name": "getWriterAddressForBytecode",
66
+ "outputs": [
67
+ {
68
+ "internalType": "address",
69
+ "name": "",
70
+ "type": "address"
71
+ }
72
+ ],
73
+ "stateMutability": "view",
74
+ "type": "function"
75
+ },
76
+ {
77
+ "inputs": [
78
+ {
79
+ "internalType": "address",
80
+ "name": "address_",
81
+ "type": "address"
82
+ },
83
+ {
84
+ "internalType": "uint256",
85
+ "name": "offset",
86
+ "type": "uint256"
87
+ }
88
+ ],
89
+ "name": "readBytesFromBytecode",
90
+ "outputs": [
91
+ {
92
+ "internalType": "bytes",
93
+ "name": "",
94
+ "type": "bytes"
95
+ }
96
+ ],
97
+ "stateMutability": "view",
98
+ "type": "function"
99
+ },
100
+ {
101
+ "inputs": [
102
+ {
103
+ "internalType": "address",
104
+ "name": "address_",
105
+ "type": "address"
106
+ }
107
+ ],
108
+ "name": "readBytesFromSSTORE2Bytecode",
109
+ "outputs": [
110
+ {
111
+ "internalType": "bytes",
112
+ "name": "",
113
+ "type": "bytes"
114
+ }
115
+ ],
116
+ "stateMutability": "view",
117
+ "type": "function"
118
+ },
119
+ {
120
+ "inputs": [
121
+ {
122
+ "internalType": "address",
123
+ "name": "address_",
124
+ "type": "address"
125
+ }
126
+ ],
127
+ "name": "readFromBytecode",
128
+ "outputs": [
129
+ {
130
+ "internalType": "string",
131
+ "name": "",
132
+ "type": "string"
133
+ }
134
+ ],
135
+ "stateMutability": "view",
136
+ "type": "function"
137
+ }
138
+ ],
139
+ "bytecode": "0x608060405234801561001057600080fd5b5061087f806100206000396000f3fe608060405234801561001057600080fd5b506004361061006d5760003560e01c80632475d7091461007257806342e832e01461009b57806375662f38146100bb57806387630c15146100ce578063cc31a331146100e1578063f667001414610102578063ffa1ad7414610125575b600080fd5b610085610080366004610630565b61012d565b604051610092919061069d565b60405180910390f35b6100ae6100a9366004610630565b6101bb565b60405161009291906106b0565b6100856100c9366004610630565b61023f565b6100856100dc3660046106c4565b61038a565b6100f46100ef366004610630565b61041b565b604051908152602001610092565b610115610110366004610630565b61049f565b6040519015158152602001610092565b610085610523565b604051632475d70960e01b815260609073__$a84cab3dc26412b6358fa38e3bc69cb812$__90632475d70990610170906001600160a01b038616906004016106b0565b600060405180830381865af415801561018d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101b59190810190610779565b92915050565b604051630217419760e51b815260009073__$a84cab3dc26412b6358fa38e3bc69cb812$__906342e832e0906101fe906001600160a01b038616906004016106b0565b602060405180830381865af415801561021b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b591906107c9565b604051630eacc5e760e31b815260609073__$a84cab3dc26412b6358fa38e3bc69cb812$__906375662f3890610282906001600160a01b038616906004016106b0565b600060405180830381865af49250505080156102c057506040513d6000823e601f3d908101601f191682016040526102bd9190810190610779565b60015b6101b5576102d58263c2b4f41160e01b61053f565b15610309575050604080518082019091526013815272237765623363616c6c5f636f6e74726163742360681b602082015290565b60405162461bcd60e51b815260206004820152604660248201527f42797465636f646553746f72616765526561646572436f6e747261637456325f60448201527f5765623343616c6c3a204661696c656420746f20726561642066726f6d2062796064820152657465636f646560d01b608482015260a40160405180910390fd5b6040516387630c1560e01b81526001600160a01b03831660048201526024810182905260609073__$a84cab3dc26412b6358fa38e3bc69cb812$__906387630c1590604401600060405180830381865af41580156103ec573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104149190810190610779565b9392505050565b60405163cc31a33160e01b815260009073__$a84cab3dc26412b6358fa38e3bc69cb812$__9063cc31a3319061045e906001600160a01b038616906004016106b0565b602060405180830381865af415801561047b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b591906107e6565b604051633d99c00560e21b815260009073__$a84cab3dc26412b6358fa38e3bc69cb812$__9063f6670014906104e2906001600160a01b038616906004016106b0565b602060405180830381865af41580156104ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b591906107ff565b6040518060600160405280602881526020016108226028913981565b600061054a8361055b565b80156104145750610414838361058e565b600061056e826301ffc9a760e01b61058e565b80156101b55750610587826001600160e01b031961058e565b1592915050565b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180516001600160e01b03166301ffc9a760e01b178152825192935060009283928392909183918a617530fa92503d91506000519050828015610601575060208210155b801561060d5750600081115b979650505050505050565b6001600160a01b038116811461062d57600080fd5b50565b60006020828403121561064257600080fd5b813561041481610618565b60005b83811015610668578181015183820152602001610650565b50506000910152565b6000815180845261068981602086016020860161064d565b601f01601f19169290920160200192915050565b6020815260006104146020830184610671565b6001600160a01b0391909116815260200190565b600080604083850312156106d757600080fd5b82356106e281610618565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b0380841115610720576107206106f0565b604051601f8501601f19908116603f01168101908282118183101715610748576107486106f0565b8160405280935085815286868601111561076157600080fd5b61076f86602083018761064d565b5050509392505050565b60006020828403121561078b57600080fd5b81516001600160401b038111156107a157600080fd5b8201601f810184136107b257600080fd5b6107c184825160208401610706565b949350505050565b6000602082840312156107db57600080fd5b815161041481610618565b6000602082840312156107f857600080fd5b5051919050565b60006020828403121561081157600080fd5b8151801515811461041457600080fdfe42797465636f646553746f72616765526561646572436f6e747261637456325f5765623343616c6ca264697066735822122039a5c52bfda6cefa2c8b077cae02c86b40915a5078b3e55370d25e7f35511a1164736f6c63430008160033",
140
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061006d5760003560e01c80632475d7091461007257806342e832e01461009b57806375662f38146100bb57806387630c15146100ce578063cc31a331146100e1578063f667001414610102578063ffa1ad7414610125575b600080fd5b610085610080366004610630565b61012d565b604051610092919061069d565b60405180910390f35b6100ae6100a9366004610630565b6101bb565b60405161009291906106b0565b6100856100c9366004610630565b61023f565b6100856100dc3660046106c4565b61038a565b6100f46100ef366004610630565b61041b565b604051908152602001610092565b610115610110366004610630565b61049f565b6040519015158152602001610092565b610085610523565b604051632475d70960e01b815260609073__$a84cab3dc26412b6358fa38e3bc69cb812$__90632475d70990610170906001600160a01b038616906004016106b0565b600060405180830381865af415801561018d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101b59190810190610779565b92915050565b604051630217419760e51b815260009073__$a84cab3dc26412b6358fa38e3bc69cb812$__906342e832e0906101fe906001600160a01b038616906004016106b0565b602060405180830381865af415801561021b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b591906107c9565b604051630eacc5e760e31b815260609073__$a84cab3dc26412b6358fa38e3bc69cb812$__906375662f3890610282906001600160a01b038616906004016106b0565b600060405180830381865af49250505080156102c057506040513d6000823e601f3d908101601f191682016040526102bd9190810190610779565b60015b6101b5576102d58263c2b4f41160e01b61053f565b15610309575050604080518082019091526013815272237765623363616c6c5f636f6e74726163742360681b602082015290565b60405162461bcd60e51b815260206004820152604660248201527f42797465636f646553746f72616765526561646572436f6e747261637456325f60448201527f5765623343616c6c3a204661696c656420746f20726561642066726f6d2062796064820152657465636f646560d01b608482015260a40160405180910390fd5b6040516387630c1560e01b81526001600160a01b03831660048201526024810182905260609073__$a84cab3dc26412b6358fa38e3bc69cb812$__906387630c1590604401600060405180830381865af41580156103ec573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104149190810190610779565b9392505050565b60405163cc31a33160e01b815260009073__$a84cab3dc26412b6358fa38e3bc69cb812$__9063cc31a3319061045e906001600160a01b038616906004016106b0565b602060405180830381865af415801561047b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b591906107e6565b604051633d99c00560e21b815260009073__$a84cab3dc26412b6358fa38e3bc69cb812$__9063f6670014906104e2906001600160a01b038616906004016106b0565b602060405180830381865af41580156104ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b591906107ff565b6040518060600160405280602881526020016108226028913981565b600061054a8361055b565b80156104145750610414838361058e565b600061056e826301ffc9a760e01b61058e565b80156101b55750610587826001600160e01b031961058e565b1592915050565b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180516001600160e01b03166301ffc9a760e01b178152825192935060009283928392909183918a617530fa92503d91506000519050828015610601575060208210155b801561060d5750600081115b979650505050505050565b6001600160a01b038116811461062d57600080fd5b50565b60006020828403121561064257600080fd5b813561041481610618565b60005b83811015610668578181015183820152602001610650565b50506000910152565b6000815180845261068981602086016020860161064d565b601f01601f19169290920160200192915050565b6020815260006104146020830184610671565b6001600160a01b0391909116815260200190565b600080604083850312156106d757600080fd5b82356106e281610618565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b0380841115610720576107206106f0565b604051601f8501601f19908116603f01168101908282118183101715610748576107486106f0565b8160405280935085815286868601111561076157600080fd5b61076f86602083018761064d565b5050509392505050565b60006020828403121561078b57600080fd5b81516001600160401b038111156107a157600080fd5b8201601f810184136107b257600080fd5b6107c184825160208401610706565b949350505050565b6000602082840312156107db57600080fd5b815161041481610618565b6000602082840312156107f857600080fd5b5051919050565b60006020828403121561081157600080fd5b8151801515811461041457600080fdfe42797465636f646553746f72616765526561646572436f6e747261637456325f5765623343616c6ca264697066735822122039a5c52bfda6cefa2c8b077cae02c86b40915a5078b3e55370d25e7f35511a1164736f6c63430008160033",
141
+ "linkReferences": {
142
+ "contracts/libs/v0.8.x/BytecodeStorageV2.sol": {
143
+ "BytecodeStorageReader": [
144
+ {
145
+ "length": 20,
146
+ "start": 351
147
+ },
148
+ {
149
+ "length": 20,
150
+ "start": 493
151
+ },
152
+ {
153
+ "length": 20,
154
+ "start": 625
155
+ },
156
+ {
157
+ "length": 20,
158
+ "start": 978
159
+ },
160
+ {
161
+ "length": 20,
162
+ "start": 1101
163
+ },
164
+ {
165
+ "length": 20,
166
+ "start": 1233
167
+ }
168
+ ]
169
+ }
170
+ },
171
+ "deployedLinkReferences": {
172
+ "contracts/libs/v0.8.x/BytecodeStorageV2.sol": {
173
+ "BytecodeStorageReader": [
174
+ {
175
+ "length": 20,
176
+ "start": 319
177
+ },
178
+ {
179
+ "length": 20,
180
+ "start": 461
181
+ },
182
+ {
183
+ "length": 20,
184
+ "start": 593
185
+ },
186
+ {
187
+ "length": 20,
188
+ "start": 946
189
+ },
190
+ {
191
+ "length": 20,
192
+ "start": 1069
193
+ },
194
+ {
195
+ "length": 20,
196
+ "start": 1201
197
+ }
198
+ ]
199
+ }
200
+ }
201
+ }