From 184d2390021535909e74be2b1322af585a70764f Mon Sep 17 00:00:00 2001 From: ilpepepig Date: Fri, 23 Aug 2024 11:27:11 -0300 Subject: [PATCH 1/8] feat: bump solidity 0.8.22 --- contracts/core/Allo.md | 2 +- contracts/core/Allo.sol | 2 +- contracts/core/Anchor.md | 2 +- contracts/core/Anchor.sol | 2 +- contracts/core/Registry.md | 2 +- contracts/core/Registry.sol | 2 +- contracts/core/interfaces/IAllo.sol | 2 +- contracts/core/interfaces/IBaseStrategy.sol | 2 +- contracts/core/interfaces/IStrategy.sol | 2 +- contracts/core/libraries/Clone.sol | 2 +- contracts/core/libraries/Errors.sol | 2 +- contracts/core/libraries/Metadata.sol | 2 +- contracts/core/libraries/Native.sol | 2 +- contracts/core/libraries/QFHelper.sol | 2 +- contracts/core/libraries/QVHelper.sol | 2 +- contracts/core/libraries/Transfer.sol | 2 +- contracts/extensions/EASGatingExtension.sol | 2 +- contracts/extensions/NFTGatingExtension.sol | 2 +- contracts/extensions/TokenGatingExtension.sol | 2 +- contracts/extensions/contracts/MilestonesExtension.sol | 2 +- contracts/extensions/contracts/RecipientsExtension.sol | 2 +- contracts/extensions/interfaces/IMilestonesExtension.sol | 2 +- contracts/extensions/interfaces/IRecipientsExtension.sol | 2 +- contracts/factories/ContractFactory.sol | 2 +- contracts/factories/DGLFactory.sol | 2 +- contracts/factories/DVMDTFactory.sol | 2 +- contracts/migration/AlloV1ToV2ProfileMigration.sol | 2 +- contracts/strategies/BaseStrategy.sol | 2 +- contracts/strategies/CoreBaseStrategy.sol | 2 +- contracts/strategies/DirectAllocation.sol | 2 +- contracts/strategies/DonationVotingOffchain.sol | 2 +- contracts/strategies/DonationVotingOnchain.sol | 2 +- contracts/strategies/EasyRPGF.sol | 2 +- contracts/strategies/QVImpactStream.sol | 2 +- contracts/strategies/QVSimple.sol | 2 +- contracts/strategies/README.md | 2 +- contracts/strategies/RFPSimple.sol | 2 +- .../_poc/direct-grants-simple/DirectGrantsSimpleStrategy.sol | 2 +- contracts/strategies/_poc/direct-grants-simple/README.md | 2 +- .../DonationVotingCustomRegistryStrategy.sol | 2 +- .../donation-voting-custom-registry/SimpleProjectRegistry.sol | 2 +- .../strategies/_poc/donation-voting/DonationVotingStrategy.sol | 2 +- contracts/strategies/_poc/hedgey/HedgeyRFPCommitteeStrategy.sol | 2 +- .../strategies/_poc/micro-grants/MicroGrantsBaseStrategy.sol | 2 +- .../strategies/_poc/micro-grants/MicroGrantsGovStrategy.sol | 2 +- .../strategies/_poc/micro-grants/MicroGrantsHatsStrategy.sol | 2 +- contracts/strategies/_poc/micro-grants/MicroGrantsStrategy.sol | 2 +- contracts/strategies/_poc/micro-grants/README.md | 2 +- .../strategies/_poc/micro-grants/interfaces/UniversalGov.sol | 2 +- .../_poc/proportional-payout/ProportionalPayoutStrategy.sol | 2 +- .../strategies/_poc/qv-governance/QVGovernanceERC20Votes.sol | 2 +- contracts/strategies/_poc/qv-hackathon/HackathonQVStrategy.sol | 2 +- contracts/strategies/_poc/qv-hackathon/SchemaResolver.sol | 2 +- .../strategies/_poc/qv-impact-stream/QVImpactStreamStrategy.sol | 2 +- contracts/strategies/_poc/qv-impact-stream/README.md | 2 +- contracts/strategies/_poc/qv-nft-tiered/QVNftTieredStrategy.sol | 2 +- contracts/strategies/_poc/sablier-v2/LockupDynamicStrategy.sol | 2 +- contracts/strategies/_poc/sablier-v2/LockupLinearStrategy.sol | 2 +- contracts/strategies/_poc/sqf-superfluid/RecipientSuperApp.sol | 2 +- .../strategies/_poc/sqf-superfluid/RecipientSuperAppFactory.sol | 2 +- .../strategies/_poc/sqf-superfluid/SQFSuperFluidStrategy.sol | 2 +- contracts/strategies/_poc/wrapped-voting-nftmint/NFT.sol | 2 +- contracts/strategies/_poc/wrapped-voting-nftmint/NFTFactory.sol | 2 +- .../wrapped-voting-nftmint/WrappedVotingNftMintStrategy.sol | 2 +- contracts/strategies/direct-grants-lite/DirectGrantsLite.sol | 2 +- contracts/strategies/direct-grants-lite/README.md | 2 +- .../DonationVotingMerkleDistributionBaseStrategy.sol | 2 +- contracts/strategies/donation-voting-merkle-base/IDAI.sol | 2 +- .../DonationVotingMerkleDistributionDirectTransferStrategy.sol | 2 +- .../README.md | 2 +- .../DonationVotingMerkleDistributionVaultStrategy.sol | 2 +- .../donation-voting-merkle-distribution-vault/README.md | 2 +- contracts/strategies/easy-rpgf/EasyRPGFStrategy.sol | 2 +- contracts/strategies/qv-base/QVBaseStrategy.sol | 2 +- contracts/strategies/qv-base/README.md | 2 +- contracts/strategies/qv-simple/QVSimpleStrategy.sol | 2 +- contracts/strategies/qv-simple/README.md | 2 +- contracts/strategies/rfp-committee/README.md | 2 +- contracts/strategies/rfp-committee/RFPCommitteeStrategy.sol | 2 +- contracts/strategies/rfp-simple/README.md | 2 +- contracts/strategies/rfp-simple/RFPSimpleStrategy.sol | 2 +- era.hardhat.config.ts | 2 +- foundry.toml | 2 +- hardhat.config.ts | 2 +- test/foundry/core/Allo.t.sol | 2 +- test/foundry/core/AlloUnit.t.sol | 2 +- test/foundry/core/Anchor.t.sol | 2 +- test/foundry/core/QFHelper.t.sol | 2 +- test/foundry/core/QVHelper.t.sol | 2 +- test/foundry/core/Registry.t.sol | 2 +- test/foundry/extensions/BaseGatingExtension.sol | 2 +- test/foundry/extensions/EASGatingExtension.t.sol | 2 +- test/foundry/extensions/MilestonesExtension.t.sol | 2 +- test/foundry/extensions/NFTGatingExtension.t.sol | 2 +- test/foundry/extensions/RecipientsExtension.t.sol | 2 +- test/foundry/extensions/TokenGatingExtension.t.sol | 2 +- test/foundry/factory/ContractFactory.t.sol | 2 +- test/foundry/fuzz/QVSimpleStrategyFuzz.t.sol | 2 +- test/foundry/integration/Allo.t.sol | 2 +- test/foundry/integration/DirectAllocation.t.sol | 2 +- test/foundry/integration/DonationVotingOffchain.t.sol | 2 +- test/foundry/integration/DonationVotingOnchain.t.sol | 2 +- test/foundry/integration/EasyRPGF.t.sol | 2 +- test/foundry/integration/IBiconomyForwarder.sol | 2 +- test/foundry/integration/IOwnable.sol | 2 +- test/foundry/integration/ITransparentUpgradeableProxy.sol | 2 +- test/foundry/integration/IntegrationBase.sol | 2 +- test/foundry/integration/QVImpactStream.t.sol | 2 +- test/foundry/integration/QVSimple.t.sol | 2 +- test/foundry/integration/RFPSimple.t.sol | 2 +- test/foundry/shared/Accounts.sol | 2 +- test/foundry/shared/AlloSetup.sol | 2 +- test/foundry/shared/EventSetup.sol | 2 +- test/foundry/shared/RegistrySetup.sol | 2 +- test/foundry/shared/StrategySetup.sol | 2 +- test/foundry/shared/Time.sol | 2 +- test/foundry/strategies/BaseStrategy.t.sol | 2 +- test/foundry/strategies/CoreBaseStrategy.t.sol | 2 +- test/foundry/strategies/DirectAllocation.t.sol | 2 +- test/foundry/strategies/DirectGrantsLite.t.sol | 2 +- test/foundry/strategies/DirectGrantsSimpleStrategy.t.sol | 2 +- .../strategies/DonationVotingCustomRegistryStrategy.t.sol | 2 +- .../strategies/DonationVotingMerkleDistributionBase.t.sol | 2 +- ...DonationVotingMerkleDistributionDirectTransferStrategy.t.sol | 2 +- .../DonationVotingMerkleDistributionVaultStrategy.t.sol | 2 +- test/foundry/strategies/DonationVotingStrategy.t.sol | 2 +- test/foundry/strategies/HackathonQVStrategy.t.sol | 2 +- test/foundry/strategies/MicroGrantsBaseStrategy.t.sol | 2 +- test/foundry/strategies/MicroGrantsGovStrategy.t.sol | 2 +- test/foundry/strategies/MicroGrantsHatsStrategy.t.sol | 2 +- test/foundry/strategies/MicroGrantsStrategy.t.sol | 2 +- test/foundry/strategies/ProportionalPayoutStrategy.t.sol | 2 +- test/foundry/strategies/QVBaseStrategy.t.sol | 2 +- test/foundry/strategies/QVGovernanceERC20Votes.t.sol | 2 +- test/foundry/strategies/QVImpactStream.t.sol | 2 +- test/foundry/strategies/QVImpactStreamStrategyTest.t.sol | 2 +- test/foundry/strategies/QVNftTieredStrategy.t.sol | 2 +- test/foundry/strategies/QVSimpleStrategy.t.sol | 2 +- test/foundry/strategies/RFPCommitteeStrategy.t.sol | 2 +- test/foundry/strategies/RFPSimpleStrategy.t.sol | 2 +- test/foundry/strategies/SQFSuperFluidStrategy.t.sol | 2 +- test/foundry/strategies/SimpleProjectRegistry.t.sol | 2 +- test/foundry/strategies/WrappedVotingNftMintStrategy.t.sol | 2 +- test/foundry/strategies/hedgey/HedgeyRFPCommitteeStrategy.t.sol | 2 +- test/foundry/strategies/hedgey/HedgeySetup.sol | 2 +- test/foundry/strategies/sablier-v2/LockupBase.t.sol | 2 +- test/foundry/strategies/sablier-v2/LockupDynamicStrategy.t.sol | 2 +- test/foundry/strategies/sablier-v2/LockupLinearStrategy.t.sol | 2 +- test/utils/DonationVotingMerkleDistributionBaseMock.sol | 2 +- test/utils/GasHelpers.sol | 2 +- test/utils/MockAllo.sol | 2 +- test/utils/MockBaseStrategy.sol | 2 +- test/utils/MockEAS.sol | 2 +- test/utils/MockERC20.sol | 2 +- test/utils/MockERC20Permit.sol | 2 +- test/utils/MockERC20PermitDAI.sol | 2 +- test/utils/MockERC20Vote.sol | 2 +- test/utils/MockERC721.sol | 2 +- test/utils/MockGatingExtension.sol | 2 +- test/utils/MockHats.sol | 2 +- test/utils/MockMicroGrantsBaseStrategy.sol | 2 +- test/utils/MockPassportDecoder.sol | 2 +- test/utils/MockQFHelper.sol | 2 +- test/utils/MockQVHelper.sol | 2 +- test/utils/MockRevertingReceiver.sol | 2 +- test/utils/MockStrategy.sol | 2 +- test/utils/MockStrategyMilestonesExtension.sol | 2 +- test/utils/MockStrategyRecipientsExtension.sol | 2 +- test/utils/MockUniversalGov.sol | 2 +- test/utils/QVBaseStrategyTestMock.sol | 2 +- test/utils/TestUtilities.sol | 2 +- 171 files changed, 171 insertions(+), 171 deletions(-) diff --git a/contracts/core/Allo.md b/contracts/core/Allo.md index a7da43a16..174a5b04e 100644 --- a/contracts/core/Allo.md +++ b/contracts/core/Allo.md @@ -167,7 +167,7 @@ sequenceDiagram ## Smart Contract Overview * **License:** The contract is licensed under the AGPL-3.0-only license. -* **Solidity Version:** The contract is written in Solidity version 0.8.19. +* **Solidity Version:** The contract is written in Solidity version 0.8.22. * **Inheritance:** The contract inherits from several other contracts: `Initializable`, `Ownable`, `AccessControl`, `IAllo`, `Native`, and `Transfer`. ### Storage Variables diff --git a/contracts/core/Allo.sol b/contracts/core/Allo.sol index 6e029df96..6758ba9ad 100644 --- a/contracts/core/Allo.sol +++ b/contracts/core/Allo.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import "solady/auth/Ownable.sol"; diff --git a/contracts/core/Anchor.md b/contracts/core/Anchor.md index cac9d09e6..7e2704b30 100644 --- a/contracts/core/Anchor.md +++ b/contracts/core/Anchor.md @@ -19,7 +19,7 @@ The `Anchor` contract serves as a crucial utility within the Allo ecosystem, fac ## Smart Contract Overview * **License:** The `Anchor` contract is licensed under the AGPL-3.0-only license, promoting the use of open-source software. -* **Solidity Version:** Developed using Solidity version 0.8.19, harnessing the latest advancements in Ethereum smart contract technology. +* **Solidity Version:** Developed using Solidity version 0.8.22, harnessing the latest advancements in Ethereum smart contract technology. ### Storage Variables diff --git a/contracts/core/Anchor.sol b/contracts/core/Anchor.sol index f5f0864d8..ce4b83fb0 100644 --- a/contracts/core/Anchor.sol +++ b/contracts/core/Anchor.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import "openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol"; import "openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol"; diff --git a/contracts/core/Registry.md b/contracts/core/Registry.md index 20a09ae74..2b7b89f49 100644 --- a/contracts/core/Registry.md +++ b/contracts/core/Registry.md @@ -102,7 +102,7 @@ sequenceDiagram ## Smart Contract Overview * **License:** The `Registry` contract adheres to the MIT License, promoting permissive open-source usage. -* **Solidity Version:** Developed using Solidity version 0.8.19, harnessing the latest advancements in Ethereum smart contract technology. +* **Solidity Version:** Developed using Solidity version 0.8.22, harnessing the latest advancements in Ethereum smart contract technology. * **External Libraries:** The contract incorporates the `AccessControl` and `CREATE3` external libraries, enhancing access control and facilitating contract deployment. * **Interfaces:** The contract utilizes the `IRegistry` interface for communication with external components. diff --git a/contracts/core/Registry.sol b/contracts/core/Registry.sol index 405196bb1..a076a40c3 100644 --- a/contracts/core/Registry.sol +++ b/contracts/core/Registry.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import "openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol"; diff --git a/contracts/core/interfaces/IAllo.sol b/contracts/core/interfaces/IAllo.sol index e74f8c793..56573c052 100644 --- a/contracts/core/interfaces/IAllo.sol +++ b/contracts/core/interfaces/IAllo.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; // Interfaces import {IRegistry} from "./IRegistry.sol"; diff --git a/contracts/core/interfaces/IBaseStrategy.sol b/contracts/core/interfaces/IBaseStrategy.sol index 74644125a..1c26d96e0 100644 --- a/contracts/core/interfaces/IBaseStrategy.sol +++ b/contracts/core/interfaces/IBaseStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {IAllo} from "./IAllo.sol"; diff --git a/contracts/core/interfaces/IStrategy.sol b/contracts/core/interfaces/IStrategy.sol index 0e2ed5425..96e2bc563 100644 --- a/contracts/core/interfaces/IStrategy.sol +++ b/contracts/core/interfaces/IStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; // Interfaces import {IAllo} from "./IAllo.sol"; diff --git a/contracts/core/libraries/Clone.sol b/contracts/core/libraries/Clone.sol index afc3b3f89..ee47a6ea5 100644 --- a/contracts/core/libraries/Clone.sol +++ b/contracts/core/libraries/Clone.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import "openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol"; diff --git a/contracts/core/libraries/Errors.sol b/contracts/core/libraries/Errors.sol index 8c7353827..b7b6bac9a 100644 --- a/contracts/core/libraries/Errors.sol +++ b/contracts/core/libraries/Errors.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣗⠀⠀⠀⢸⣿⣿⣿⡯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ // ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣗⠀⠀⠀⢸⣿⣿⣿⡯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/contracts/core/libraries/Metadata.sol b/contracts/core/libraries/Metadata.sol index 7c0d28cdb..f2449a2c4 100644 --- a/contracts/core/libraries/Metadata.sol +++ b/contracts/core/libraries/Metadata.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣗⠀⠀⠀⢸⣿⣿⣿⡯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ // ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣗⠀⠀⠀⢸⣿⣿⣿⡯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/contracts/core/libraries/Native.sol b/contracts/core/libraries/Native.sol index 53ea991f6..bc33213e9 100644 --- a/contracts/core/libraries/Native.sol +++ b/contracts/core/libraries/Native.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣗⠀⠀⠀⢸⣿⣿⣿⡯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ // ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣗⠀⠀⠀⢸⣿⣿⣿⡯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/contracts/core/libraries/QFHelper.sol b/contracts/core/libraries/QFHelper.sol index 3837748cd..babffc8ec 100644 --- a/contracts/core/libraries/QFHelper.sol +++ b/contracts/core/libraries/QFHelper.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity 0.8.19; +pragma solidity 0.8.22; import "solady/utils/FixedPointMathLib.sol"; diff --git a/contracts/core/libraries/QVHelper.sol b/contracts/core/libraries/QVHelper.sol index 05f57d86e..67d2cd2bd 100644 --- a/contracts/core/libraries/QVHelper.sol +++ b/contracts/core/libraries/QVHelper.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity 0.8.19; +pragma solidity 0.8.22; import "solady/utils/FixedPointMathLib.sol"; diff --git a/contracts/core/libraries/Transfer.sol b/contracts/core/libraries/Transfer.sol index 0f50f6b25..f5d845bc3 100644 --- a/contracts/core/libraries/Transfer.sol +++ b/contracts/core/libraries/Transfer.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import {SafeTransferLib} from "solady/utils/SafeTransferLib.sol"; diff --git a/contracts/extensions/EASGatingExtension.sol b/contracts/extensions/EASGatingExtension.sol index 50ead14e7..8ba708d61 100644 --- a/contracts/extensions/EASGatingExtension.sol +++ b/contracts/extensions/EASGatingExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; /// External Libraries import {IEAS, Attestation} from "eas-contracts/IEAS.sol"; diff --git a/contracts/extensions/NFTGatingExtension.sol b/contracts/extensions/NFTGatingExtension.sol index 9f4d6e394..824dd1679 100644 --- a/contracts/extensions/NFTGatingExtension.sol +++ b/contracts/extensions/NFTGatingExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; /// External Libraries import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; diff --git a/contracts/extensions/TokenGatingExtension.sol b/contracts/extensions/TokenGatingExtension.sol index 99d6277c3..d98456872 100644 --- a/contracts/extensions/TokenGatingExtension.sol +++ b/contracts/extensions/TokenGatingExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; /// External Libraries import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/contracts/extensions/contracts/MilestonesExtension.sol b/contracts/extensions/contracts/MilestonesExtension.sol index 3ad37e9f1..db6b23400 100644 --- a/contracts/extensions/contracts/MilestonesExtension.sol +++ b/contracts/extensions/contracts/MilestonesExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // Interfaces import {IMilestonesExtension} from "../interfaces/IMilestonesExtension.sol"; diff --git a/contracts/extensions/contracts/RecipientsExtension.sol b/contracts/extensions/contracts/RecipientsExtension.sol index 9263f8f46..334f8a314 100644 --- a/contracts/extensions/contracts/RecipientsExtension.sol +++ b/contracts/extensions/contracts/RecipientsExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {IRecipientsExtension} from "../interfaces/IRecipientsExtension.sol"; import {IRegistry} from "../../core/interfaces/IRegistry.sol"; diff --git a/contracts/extensions/interfaces/IMilestonesExtension.sol b/contracts/extensions/interfaces/IMilestonesExtension.sol index 8fd5a80ab..934106b82 100644 --- a/contracts/extensions/interfaces/IMilestonesExtension.sol +++ b/contracts/extensions/interfaces/IMilestonesExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {Metadata} from "../../core/libraries/Metadata.sol"; diff --git a/contracts/extensions/interfaces/IRecipientsExtension.sol b/contracts/extensions/interfaces/IRecipientsExtension.sol index f925797e6..613d1f19a 100644 --- a/contracts/extensions/interfaces/IRecipientsExtension.sol +++ b/contracts/extensions/interfaces/IRecipientsExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {Metadata} from "../../core/libraries/Metadata.sol"; diff --git a/contracts/factories/ContractFactory.sol b/contracts/factories/ContractFactory.sol index f7c911a76..b29174992 100644 --- a/contracts/factories/ContractFactory.sol +++ b/contracts/factories/ContractFactory.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External import {CREATE3} from "solady/utils/CREATE3.sol"; diff --git a/contracts/factories/DGLFactory.sol b/contracts/factories/DGLFactory.sol index cdbfe3bac..daaae7be6 100644 --- a/contracts/factories/DGLFactory.sol +++ b/contracts/factories/DGLFactory.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import "solady/auth/Ownable.sol"; diff --git a/contracts/factories/DVMDTFactory.sol b/contracts/factories/DVMDTFactory.sol index 8d86cd7b7..80e1f66bb 100644 --- a/contracts/factories/DVMDTFactory.sol +++ b/contracts/factories/DVMDTFactory.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import "solady/auth/Ownable.sol"; diff --git a/contracts/migration/AlloV1ToV2ProfileMigration.sol b/contracts/migration/AlloV1ToV2ProfileMigration.sol index 4a360e5f3..b3cce74ad 100644 --- a/contracts/migration/AlloV1ToV2ProfileMigration.sol +++ b/contracts/migration/AlloV1ToV2ProfileMigration.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // Core Contracts import {Metadata} from "../core/libraries/Metadata.sol"; diff --git a/contracts/strategies/BaseStrategy.sol b/contracts/strategies/BaseStrategy.sol index 6d6ced165..3920000a1 100644 --- a/contracts/strategies/BaseStrategy.sol +++ b/contracts/strategies/BaseStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; // Interfaces import "../core/interfaces/IStrategy.sol"; diff --git a/contracts/strategies/CoreBaseStrategy.sol b/contracts/strategies/CoreBaseStrategy.sol index 089e0c70b..59a8165cc 100644 --- a/contracts/strategies/CoreBaseStrategy.sol +++ b/contracts/strategies/CoreBaseStrategy.sol @@ -1,5 +1,5 @@ /// SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; /// Interfaces import "../core/interfaces/IBaseStrategy.sol"; diff --git a/contracts/strategies/DirectAllocation.sol b/contracts/strategies/DirectAllocation.sol index d757140a0..d6c624e02 100644 --- a/contracts/strategies/DirectAllocation.sol +++ b/contracts/strategies/DirectAllocation.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {CoreBaseStrategy} from "./CoreBaseStrategy.sol"; diff --git a/contracts/strategies/DonationVotingOffchain.sol b/contracts/strategies/DonationVotingOffchain.sol index 2ec309402..c25d34ca9 100644 --- a/contracts/strategies/DonationVotingOffchain.sol +++ b/contracts/strategies/DonationVotingOffchain.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {SafeTransferLib} from "solady/utils/SafeTransferLib.sol"; // Interfaces diff --git a/contracts/strategies/DonationVotingOnchain.sol b/contracts/strategies/DonationVotingOnchain.sol index 5a33f77bc..0653487ae 100644 --- a/contracts/strategies/DonationVotingOnchain.sol +++ b/contracts/strategies/DonationVotingOnchain.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {SafeTransferLib} from "solady/utils/SafeTransferLib.sol"; // Interfaces diff --git a/contracts/strategies/EasyRPGF.sol b/contracts/strategies/EasyRPGF.sol index c39dabcf8..260719002 100644 --- a/contracts/strategies/EasyRPGF.sol +++ b/contracts/strategies/EasyRPGF.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // Interfaces import {IAllo} from "contracts/core/interfaces/IAllo.sol"; diff --git a/contracts/strategies/QVImpactStream.sol b/contracts/strategies/QVImpactStream.sol index c070a80e5..9055c5092 100644 --- a/contracts/strategies/QVImpactStream.sol +++ b/contracts/strategies/QVImpactStream.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/contracts/strategies/QVSimple.sol b/contracts/strategies/QVSimple.sol index bd7f666e8..d9b9842be 100644 --- a/contracts/strategies/QVSimple.sol +++ b/contracts/strategies/QVSimple.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // Interfaces import {IAllo} from "contracts/core/interfaces/IAllo.sol"; diff --git a/contracts/strategies/README.md b/contracts/strategies/README.md index 4316e53c2..b5d4813b3 100644 --- a/contracts/strategies/README.md +++ b/contracts/strategies/README.md @@ -17,7 +17,7 @@ The `BaseStrategy` contract serves as a foundational building block within the A ## Smart Contract Overview * **License:** The `BaseStrategy` contract adheres to the AGPL-3.0-only License, promoting open-source usage with specific terms. -* **Solidity Version:** Developed using Solidity version 0.8.19, leveraging the latest Ethereum smart contract advancements. +* **Solidity Version:** Developed using Solidity version 0.8.22, leveraging the latest Ethereum smart contract advancements. * **External Libraries:** Imports `Transfer` library from the Allo core for optimized token transfers. * **Interfaces:** Implements the `IStrategy` interface, facilitating interaction with external components. diff --git a/contracts/strategies/RFPSimple.sol b/contracts/strategies/RFPSimple.sol index aad80bc59..5dd6018dd 100644 --- a/contracts/strategies/RFPSimple.sol +++ b/contracts/strategies/RFPSimple.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // Interfaces import {IAllo} from "../core/interfaces/IAllo.sol"; diff --git a/contracts/strategies/_poc/direct-grants-simple/DirectGrantsSimpleStrategy.sol b/contracts/strategies/_poc/direct-grants-simple/DirectGrantsSimpleStrategy.sol index bd183dd43..581a0b313 100644 --- a/contracts/strategies/_poc/direct-grants-simple/DirectGrantsSimpleStrategy.sol +++ b/contracts/strategies/_poc/direct-grants-simple/DirectGrantsSimpleStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import {ReentrancyGuard} from "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol"; diff --git a/contracts/strategies/_poc/direct-grants-simple/README.md b/contracts/strategies/_poc/direct-grants-simple/README.md index e272163c0..3e91327ac 100644 --- a/contracts/strategies/_poc/direct-grants-simple/README.md +++ b/contracts/strategies/_poc/direct-grants-simple/README.md @@ -61,7 +61,7 @@ sequenceDiagram ## Smart Contract Overview - **License:** The `DirectGrantsSimpleStrategy` contract operates under the AGPL-3.0-only License, fostering open-source usage under specific terms. -- **Solidity Version:** Developed using Solidity version 0.8.19, capitalizing on the latest Ethereum smart contract functionalities. +- **Solidity Version:** Developed using Solidity version 0.8.22, capitalizing on the latest Ethereum smart contract functionalities. - **External Libraries:** Utilizes the `ReentrancyGuard` library from the OpenZeppelin contracts to prevent reentrant attacks. - **Interfaces:** Inherits from the `BaseStrategy` contract, extending its functionalities for direct grant allocation strategies. - **Internal Libraries:** Imports the `Metadata` library from the Allo core for metadata management. diff --git a/contracts/strategies/_poc/donation-voting-custom-registry/DonationVotingCustomRegistryStrategy.sol b/contracts/strategies/_poc/donation-voting-custom-registry/DonationVotingCustomRegistryStrategy.sol index 225cf1a11..667658be4 100644 --- a/contracts/strategies/_poc/donation-voting-custom-registry/DonationVotingCustomRegistryStrategy.sol +++ b/contracts/strategies/_poc/donation-voting-custom-registry/DonationVotingCustomRegistryStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // Core Contracts import {DonationVotingStrategy} from "../donation-voting/DonationVotingStrategy.sol"; diff --git a/contracts/strategies/_poc/donation-voting-custom-registry/SimpleProjectRegistry.sol b/contracts/strategies/_poc/donation-voting-custom-registry/SimpleProjectRegistry.sol index b491c03ed..0abfef5e3 100644 --- a/contracts/strategies/_poc/donation-voting-custom-registry/SimpleProjectRegistry.sol +++ b/contracts/strategies/_poc/donation-voting-custom-registry/SimpleProjectRegistry.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; /** * Simple Project Registry diff --git a/contracts/strategies/_poc/donation-voting/DonationVotingStrategy.sol b/contracts/strategies/_poc/donation-voting/DonationVotingStrategy.sol index 09264e0d8..58a646774 100644 --- a/contracts/strategies/_poc/donation-voting/DonationVotingStrategy.sol +++ b/contracts/strategies/_poc/donation-voting/DonationVotingStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import {ReentrancyGuard} from "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol"; diff --git a/contracts/strategies/_poc/hedgey/HedgeyRFPCommitteeStrategy.sol b/contracts/strategies/_poc/hedgey/HedgeyRFPCommitteeStrategy.sol index 7075b92ca..042b60828 100644 --- a/contracts/strategies/_poc/hedgey/HedgeyRFPCommitteeStrategy.sol +++ b/contracts/strategies/_poc/hedgey/HedgeyRFPCommitteeStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // Core Contracts import {RFPCommitteeStrategy} from "../../rfp-committee/RFPCommitteeStrategy.sol"; diff --git a/contracts/strategies/_poc/micro-grants/MicroGrantsBaseStrategy.sol b/contracts/strategies/_poc/micro-grants/MicroGrantsBaseStrategy.sol index e34150e60..471fe1555 100644 --- a/contracts/strategies/_poc/micro-grants/MicroGrantsBaseStrategy.sol +++ b/contracts/strategies/_poc/micro-grants/MicroGrantsBaseStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import {ReentrancyGuard} from "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol"; diff --git a/contracts/strategies/_poc/micro-grants/MicroGrantsGovStrategy.sol b/contracts/strategies/_poc/micro-grants/MicroGrantsGovStrategy.sol index ae30d95f8..fcf296b13 100644 --- a/contracts/strategies/_poc/micro-grants/MicroGrantsGovStrategy.sol +++ b/contracts/strategies/_poc/micro-grants/MicroGrantsGovStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // Interfaces import {UniversalGov} from "./interfaces/UniversalGov.sol"; diff --git a/contracts/strategies/_poc/micro-grants/MicroGrantsHatsStrategy.sol b/contracts/strategies/_poc/micro-grants/MicroGrantsHatsStrategy.sol index 093c1612b..dda2d60c5 100644 --- a/contracts/strategies/_poc/micro-grants/MicroGrantsHatsStrategy.sol +++ b/contracts/strategies/_poc/micro-grants/MicroGrantsHatsStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import {IHats} from "hats-protocol/Interfaces/IHats.sol"; diff --git a/contracts/strategies/_poc/micro-grants/MicroGrantsStrategy.sol b/contracts/strategies/_poc/micro-grants/MicroGrantsStrategy.sol index cf974677d..70c69a756 100644 --- a/contracts/strategies/_poc/micro-grants/MicroGrantsStrategy.sol +++ b/contracts/strategies/_poc/micro-grants/MicroGrantsStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // Internal Libraries import {MicroGrantsBaseStrategy} from "./MicroGrantsBaseStrategy.sol"; diff --git a/contracts/strategies/_poc/micro-grants/README.md b/contracts/strategies/_poc/micro-grants/README.md index 1f86e6b69..dbd5167f2 100644 --- a/contracts/strategies/_poc/micro-grants/README.md +++ b/contracts/strategies/_poc/micro-grants/README.md @@ -64,7 +64,7 @@ sequenceDiagram ## Smart Contract Overview - **License:** The `RFPSimpleStrategy` contract operates under the AGPL-3.0-only License, fostering open-source usage under specific terms. -- **Solidity Version:** Developed using Solidity version 0.8.19, capitalizing on the latest Ethereum smart contract functionalities. +- **Solidity Version:** Developed using Solidity version 0.8.22, capitalizing on the latest Ethereum smart contract functionalities. - **External Libraries:** Utilizes the `ReentrancyGuard` library from the OpenZeppelin contracts to prevent reentrant attacks. - **Interfaces:** Imports interfaces from the Allo core and external libraries. - **Internal Libraries:** Imports the `Metadata` library from the Allo core for metadata management. diff --git a/contracts/strategies/_poc/micro-grants/interfaces/UniversalGov.sol b/contracts/strategies/_poc/micro-grants/interfaces/UniversalGov.sol index d14f14109..ee5be15d8 100644 --- a/contracts/strategies/_poc/micro-grants/interfaces/UniversalGov.sol +++ b/contracts/strategies/_poc/micro-grants/interfaces/UniversalGov.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; interface UniversalGov { function getPriorVotes(address _account, uint256 _blockNumber) external view returns (uint96); diff --git a/contracts/strategies/_poc/proportional-payout/ProportionalPayoutStrategy.sol b/contracts/strategies/_poc/proportional-payout/ProportionalPayoutStrategy.sol index b2ced1172..dc734d5c3 100644 --- a/contracts/strategies/_poc/proportional-payout/ProportionalPayoutStrategy.sol +++ b/contracts/strategies/_poc/proportional-payout/ProportionalPayoutStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {ERC721} from "solady/tokens/ERC721.sol"; import {IAllo} from "./../../../core/interfaces/IAllo.sol"; diff --git a/contracts/strategies/_poc/qv-governance/QVGovernanceERC20Votes.sol b/contracts/strategies/_poc/qv-governance/QVGovernanceERC20Votes.sol index 3fd0d3b6e..56adf8956 100644 --- a/contracts/strategies/_poc/qv-governance/QVGovernanceERC20Votes.sol +++ b/contracts/strategies/_poc/qv-governance/QVGovernanceERC20Votes.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import "openzeppelin-contracts/contracts/governance/utils/IVotes.sol"; diff --git a/contracts/strategies/_poc/qv-hackathon/HackathonQVStrategy.sol b/contracts/strategies/_poc/qv-hackathon/HackathonQVStrategy.sol index e56ffae81..7ebce1370 100644 --- a/contracts/strategies/_poc/qv-hackathon/HackathonQVStrategy.sol +++ b/contracts/strategies/_poc/qv-hackathon/HackathonQVStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import {ERC721} from "solady/tokens/ERC721.sol"; diff --git a/contracts/strategies/_poc/qv-hackathon/SchemaResolver.sol b/contracts/strategies/_poc/qv-hackathon/SchemaResolver.sol index b65e10df3..2e6586325 100644 --- a/contracts/strategies/_poc/qv-hackathon/SchemaResolver.sol +++ b/contracts/strategies/_poc/qv-hackathon/SchemaResolver.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity 0.8.22; // Code sourced from: https://github.com/ethereum-attestation-service/eas-contracts/blob/b50148418ea930426084e5e0508159b590ee6202/contracts/resolver/SchemaResolver.sol // Changes made: diff --git a/contracts/strategies/_poc/qv-impact-stream/QVImpactStreamStrategy.sol b/contracts/strategies/_poc/qv-impact-stream/QVImpactStreamStrategy.sol index 526f6de35..66cc2a61a 100644 --- a/contracts/strategies/_poc/qv-impact-stream/QVImpactStreamStrategy.sol +++ b/contracts/strategies/_poc/qv-impact-stream/QVImpactStreamStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import {Multicall} from "openzeppelin-contracts/contracts/utils/Multicall.sol"; diff --git a/contracts/strategies/_poc/qv-impact-stream/README.md b/contracts/strategies/_poc/qv-impact-stream/README.md index a526c0190..cad663656 100644 --- a/contracts/strategies/_poc/qv-impact-stream/README.md +++ b/contracts/strategies/_poc/qv-impact-stream/README.md @@ -35,7 +35,7 @@ sequenceDiagram ## Contract Overview * **License:** The `QVSimpleStrategy` contract adheres to the AGPL-3.0-only License, promoting open-source usage with specific terms. -* **Solidity Version:** Developed using Solidity version 0.8.19, leveraging the latest Ethereum smart contract advancements. +* **Solidity Version:** Developed using Solidity version 0.8.22, leveraging the latest Ethereum smart contract advancements. * **Inheritance:** Inherits from the `QVBaseStrategy` contract, inheriting and expanding core strategy functionalities. ### InitializeParamsSimple diff --git a/contracts/strategies/_poc/qv-nft-tiered/QVNftTieredStrategy.sol b/contracts/strategies/_poc/qv-nft-tiered/QVNftTieredStrategy.sol index fa1f5289c..c41c4df8d 100644 --- a/contracts/strategies/_poc/qv-nft-tiered/QVNftTieredStrategy.sol +++ b/contracts/strategies/_poc/qv-nft-tiered/QVNftTieredStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import {ERC721} from "solady/tokens/ERC721.sol"; diff --git a/contracts/strategies/_poc/sablier-v2/LockupDynamicStrategy.sol b/contracts/strategies/_poc/sablier-v2/LockupDynamicStrategy.sol index cf230730c..ba2e55839 100644 --- a/contracts/strategies/_poc/sablier-v2/LockupDynamicStrategy.sol +++ b/contracts/strategies/_poc/sablier-v2/LockupDynamicStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {ReentrancyGuard} from "@openzeppelin/contracts/security/ReentrancyGuard.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/contracts/strategies/_poc/sablier-v2/LockupLinearStrategy.sol b/contracts/strategies/_poc/sablier-v2/LockupLinearStrategy.sol index 5f5eac7d5..c712219f8 100644 --- a/contracts/strategies/_poc/sablier-v2/LockupLinearStrategy.sol +++ b/contracts/strategies/_poc/sablier-v2/LockupLinearStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {ReentrancyGuard} from "@openzeppelin/contracts/security/ReentrancyGuard.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/contracts/strategies/_poc/sqf-superfluid/RecipientSuperApp.sol b/contracts/strategies/_poc/sqf-superfluid/RecipientSuperApp.sol index e6ee94a6f..6c1055b16 100644 --- a/contracts/strategies/_poc/sqf-superfluid/RecipientSuperApp.sol +++ b/contracts/strategies/_poc/sqf-superfluid/RecipientSuperApp.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import { ISuperfluid, diff --git a/contracts/strategies/_poc/sqf-superfluid/RecipientSuperAppFactory.sol b/contracts/strategies/_poc/sqf-superfluid/RecipientSuperAppFactory.sol index 96cc014bc..0966944dc 100644 --- a/contracts/strategies/_poc/sqf-superfluid/RecipientSuperAppFactory.sol +++ b/contracts/strategies/_poc/sqf-superfluid/RecipientSuperAppFactory.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity 0.8.22; import { ISuperfluid, diff --git a/contracts/strategies/_poc/sqf-superfluid/SQFSuperFluidStrategy.sol b/contracts/strategies/_poc/sqf-superfluid/SQFSuperFluidStrategy.sol index c75bf44a2..486d2b726 100644 --- a/contracts/strategies/_poc/sqf-superfluid/SQFSuperFluidStrategy.sol +++ b/contracts/strategies/_poc/sqf-superfluid/SQFSuperFluidStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import {ReentrancyGuard} from "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol"; diff --git a/contracts/strategies/_poc/wrapped-voting-nftmint/NFT.sol b/contracts/strategies/_poc/wrapped-voting-nftmint/NFT.sol index 89641adb2..53df38bb9 100644 --- a/contracts/strategies/_poc/wrapped-voting-nftmint/NFT.sol +++ b/contracts/strategies/_poc/wrapped-voting-nftmint/NFT.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {ERC721} from "solady/tokens/ERC721.sol"; import "openzeppelin-contracts/contracts/utils/Strings.sol"; diff --git a/contracts/strategies/_poc/wrapped-voting-nftmint/NFTFactory.sol b/contracts/strategies/_poc/wrapped-voting-nftmint/NFTFactory.sol index 42cf07028..d3d7c8936 100644 --- a/contracts/strategies/_poc/wrapped-voting-nftmint/NFTFactory.sol +++ b/contracts/strategies/_poc/wrapped-voting-nftmint/NFTFactory.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import "./NFT.sol"; diff --git a/contracts/strategies/_poc/wrapped-voting-nftmint/WrappedVotingNftMintStrategy.sol b/contracts/strategies/_poc/wrapped-voting-nftmint/WrappedVotingNftMintStrategy.sol index f9f5edc92..6a42b5f63 100644 --- a/contracts/strategies/_poc/wrapped-voting-nftmint/WrappedVotingNftMintStrategy.sol +++ b/contracts/strategies/_poc/wrapped-voting-nftmint/WrappedVotingNftMintStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import {ReentrancyGuard} from "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol"; diff --git a/contracts/strategies/direct-grants-lite/DirectGrantsLite.sol b/contracts/strategies/direct-grants-lite/DirectGrantsLite.sol index f104cce91..ac8389e51 100644 --- a/contracts/strategies/direct-grants-lite/DirectGrantsLite.sol +++ b/contracts/strategies/direct-grants-lite/DirectGrantsLite.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import {Multicall} from "openzeppelin-contracts/contracts/utils/Multicall.sol"; diff --git a/contracts/strategies/direct-grants-lite/README.md b/contracts/strategies/direct-grants-lite/README.md index 797f4f688..1156d5a4a 100644 --- a/contracts/strategies/direct-grants-lite/README.md +++ b/contracts/strategies/direct-grants-lite/README.md @@ -46,7 +46,7 @@ sequenceDiagram ## Smart Contract Overview - **License:** The `DirectGrantsLiteStrategy` contract adheres to the AGPL-3.0-only License, promoting open-source usage with specific terms. -- **Solidity Version:** Developed using Solidity version 0.8.19, leveraging the latest Ethereum smart contract advancements. +- **Solidity Version:** Developed using Solidity version 0.8.22, leveraging the latest Ethereum smart contract advancements. - **External Libraries:** Utilizes the `Multicall` library from OpenZeppelin. - **Interfaces:** Interfaces with the `IAllo` and `IRegistry` components for external communication. - **Inheritance:** Inherits from the `Native`, `BaseStrategy` and `Multicall` contracts, inheriting and expanding core strategy functionalities. diff --git a/contracts/strategies/donation-voting-merkle-base/DonationVotingMerkleDistributionBaseStrategy.sol b/contracts/strategies/donation-voting-merkle-base/DonationVotingMerkleDistributionBaseStrategy.sol index ef579dbbb..ee26768cf 100644 --- a/contracts/strategies/donation-voting-merkle-base/DonationVotingMerkleDistributionBaseStrategy.sol +++ b/contracts/strategies/donation-voting-merkle-base/DonationVotingMerkleDistributionBaseStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import {ISignatureTransfer} from "permit2/ISignatureTransfer.sol"; diff --git a/contracts/strategies/donation-voting-merkle-base/IDAI.sol b/contracts/strategies/donation-voting-merkle-base/IDAI.sol index 8eab34db6..4c1381311 100644 --- a/contracts/strategies/donation-voting-merkle-base/IDAI.sol +++ b/contracts/strategies/donation-voting-merkle-base/IDAI.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; interface IDAI { function permit( diff --git a/contracts/strategies/donation-voting-merkle-distribution-direct-transfer/DonationVotingMerkleDistributionDirectTransferStrategy.sol b/contracts/strategies/donation-voting-merkle-distribution-direct-transfer/DonationVotingMerkleDistributionDirectTransferStrategy.sol index dd72b1a1f..d15482f72 100644 --- a/contracts/strategies/donation-voting-merkle-distribution-direct-transfer/DonationVotingMerkleDistributionDirectTransferStrategy.sol +++ b/contracts/strategies/donation-voting-merkle-distribution-direct-transfer/DonationVotingMerkleDistributionDirectTransferStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {ISignatureTransfer} from "permit2/ISignatureTransfer.sol"; import {DonationVotingMerkleDistributionBaseStrategy} from diff --git a/contracts/strategies/donation-voting-merkle-distribution-direct-transfer/README.md b/contracts/strategies/donation-voting-merkle-distribution-direct-transfer/README.md index ed1b01891..824e616e9 100644 --- a/contracts/strategies/donation-voting-merkle-distribution-direct-transfer/README.md +++ b/contracts/strategies/donation-voting-merkle-distribution-direct-transfer/README.md @@ -59,7 +59,7 @@ sequenceDiagram ## Smart Contract Overview * **License:** The `DonationVotingMerkleDistributionDirectTransferStrategy` contract adheres to the AGPL-3.0-only License, promoting open-source usage with specific terms. -* **Solidity Version:** Developed using Solidity version 0.8.19, leveraging the latest Ethereum smart contract advancements. +* **Solidity Version:** Developed using Solidity version 0.8.22, leveraging the latest Ethereum smart contract advancements. * **External Libraries:** Utilizes the `MerkleProof`, `ReentrancyGuard`, `Multicall` libraries from OpenZeppelin for enhanced security, efficiency, and reentrancy protection, `SafeTransferLib` from Solady and `ISignatureTransfer` from Uniswap permit2. * **Interfaces:** Interfaces with the `IAllo` and `IRegistry` components for external communication. * **Inheritance:** Inherits from the `BaseStrategy` contract, inheriting and expanding core strategy functionalities. diff --git a/contracts/strategies/donation-voting-merkle-distribution-vault/DonationVotingMerkleDistributionVaultStrategy.sol b/contracts/strategies/donation-voting-merkle-distribution-vault/DonationVotingMerkleDistributionVaultStrategy.sol index 3ac22f3af..60119b494 100644 --- a/contracts/strategies/donation-voting-merkle-distribution-vault/DonationVotingMerkleDistributionVaultStrategy.sol +++ b/contracts/strategies/donation-voting-merkle-distribution-vault/DonationVotingMerkleDistributionVaultStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {ISignatureTransfer} from "permit2/ISignatureTransfer.sol"; import {DonationVotingMerkleDistributionBaseStrategy} from diff --git a/contracts/strategies/donation-voting-merkle-distribution-vault/README.md b/contracts/strategies/donation-voting-merkle-distribution-vault/README.md index 7f9a74580..305878a60 100644 --- a/contracts/strategies/donation-voting-merkle-distribution-vault/README.md +++ b/contracts/strategies/donation-voting-merkle-distribution-vault/README.md @@ -62,7 +62,7 @@ sequenceDiagram ## Smart Contract Overview * **License:** The `DonationVotingMerkleDistributionVaultStrategy` contract adheres to the AGPL-3.0-only License, promoting open-source usage with specific terms. -* **Solidity Version:** Developed using Solidity version 0.8.19, leveraging the latest Ethereum smart contract advancements. +* **Solidity Version:** Developed using Solidity version 0.8.22, leveraging the latest Ethereum smart contract advancements. * **External Libraries:** Utilizes the `MerkleProof`, `ReentrancyGuard`, `Multicall` libraries from OpenZeppelin for enhanced security, efficiency, and reentrancy protection, `SafeTransferLib` from Solady and `ISignatureTransfer` from Uniswap permit2. * **Interfaces:** Interfaces with the `IAllo` and `IRegistry` components for external communication. * **Inheritance:** Inherits from the `BaseStrategy` contract, inheriting and expanding core strategy functionalities. diff --git a/contracts/strategies/easy-rpgf/EasyRPGFStrategy.sol b/contracts/strategies/easy-rpgf/EasyRPGFStrategy.sol index e12c5d9c2..246214b68 100644 --- a/contracts/strategies/easy-rpgf/EasyRPGFStrategy.sol +++ b/contracts/strategies/easy-rpgf/EasyRPGFStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {BaseStrategy} from "../BaseStrategy.sol"; import {IAllo} from "../../core/interfaces/IAllo.sol"; diff --git a/contracts/strategies/qv-base/QVBaseStrategy.sol b/contracts/strategies/qv-base/QVBaseStrategy.sol index ddb73cdd1..86b00f0c4 100644 --- a/contracts/strategies/qv-base/QVBaseStrategy.sol +++ b/contracts/strategies/qv-base/QVBaseStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // Interfaces import {IAllo} from "../../core/interfaces/IAllo.sol"; diff --git a/contracts/strategies/qv-base/README.md b/contracts/strategies/qv-base/README.md index 521ae2b6e..648378dff 100644 --- a/contracts/strategies/qv-base/README.md +++ b/contracts/strategies/qv-base/README.md @@ -54,7 +54,7 @@ sequenceDiagram ## Smart Contract Overview * **License:** The `QVBaseStrategy` contract adheres to the AGPL-3.0-only License, promoting open-source usage with specific terms. -* **Solidity Version:** Developed using Solidity version 0.8.19, leveraging the latest Ethereum smart contract advancements. +* **Solidity Version:** Developed using Solidity version 0.8.22, leveraging the latest Ethereum smart contract advancements. * **Internal Libraries:** Utilizes the `Metadata` library. * **Interfaces:** Interfaces with the `IAllo` and `IRegistry` components for external communication. * **Inheritance:** Inherits from the `BaseStrategy` contract, inheriting and expanding core strategy functionalities. diff --git a/contracts/strategies/qv-simple/QVSimpleStrategy.sol b/contracts/strategies/qv-simple/QVSimpleStrategy.sol index 178e0b891..e52757de4 100644 --- a/contracts/strategies/qv-simple/QVSimpleStrategy.sol +++ b/contracts/strategies/qv-simple/QVSimpleStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import {Multicall} from "openzeppelin-contracts/contracts/utils/Multicall.sol"; diff --git a/contracts/strategies/qv-simple/README.md b/contracts/strategies/qv-simple/README.md index 0851cbadb..13802e0c9 100644 --- a/contracts/strategies/qv-simple/README.md +++ b/contracts/strategies/qv-simple/README.md @@ -27,7 +27,7 @@ The `QVSimpleStrategy` is a Solidity smart contract that extends the `QVBaseStra ## Contract Overview * **License:** The `QVSimpleStrategy` contract adheres to the AGPL-3.0-only License, promoting open-source usage with specific terms. -* **Solidity Version:** Developed using Solidity version 0.8.19, leveraging the latest Ethereum smart contract advancements. +* **Solidity Version:** Developed using Solidity version 0.8.22, leveraging the latest Ethereum smart contract advancements. * **Inheritance:** Inherits from the `QVBaseStrategy` contract, inheriting and expanding core strategy functionalities. ## Structs and Enums diff --git a/contracts/strategies/rfp-committee/README.md b/contracts/strategies/rfp-committee/README.md index 127689cc6..035174f56 100644 --- a/contracts/strategies/rfp-committee/README.md +++ b/contracts/strategies/rfp-committee/README.md @@ -48,7 +48,7 @@ sequenceDiagram ## Smart Contract Overview - **License:** The `RFPCommitteeStrategy` contract operates under the AGPL-3.0-only License. -- **Solidity Version:** Developed using Solidity version 0.8.19. +- **Solidity Version:** Developed using Solidity version 0.8.22. - **Inheritance:** Inherits functionality from the `RFPSimpleStrategy` contract. - **Events:** Introduces an additional event `Voted` to signal committee member votes. - **Storage Variables:** Adds new storage variables for voting and threshold management. diff --git a/contracts/strategies/rfp-committee/RFPCommitteeStrategy.sol b/contracts/strategies/rfp-committee/RFPCommitteeStrategy.sol index c2d79f82f..b8a9b2743 100644 --- a/contracts/strategies/rfp-committee/RFPCommitteeStrategy.sol +++ b/contracts/strategies/rfp-committee/RFPCommitteeStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // Core Contracts import {RFPSimpleStrategy} from "../rfp-simple/RFPSimpleStrategy.sol"; diff --git a/contracts/strategies/rfp-simple/README.md b/contracts/strategies/rfp-simple/README.md index 2b01dbdba..eaaedea86 100644 --- a/contracts/strategies/rfp-simple/README.md +++ b/contracts/strategies/rfp-simple/README.md @@ -55,7 +55,7 @@ sequenceDiagram ## Smart Contract Overview - **License:** The `RFPSimpleStrategy` contract operates under the AGPL-3.0-only License, fostering open-source usage under specific terms. -- **Solidity Version:** Developed using Solidity version 0.8.19, capitalizing on the latest Ethereum smart contract functionalities. +- **Solidity Version:** Developed using Solidity version 0.8.22, capitalizing on the latest Ethereum smart contract functionalities. - **External Libraries:** Utilizes the `ReentrancyGuard` library from the OpenZeppelin contracts to prevent reentrant attacks. - **Interfaces:** Imports interfaces from the Allo core and external libraries. - **Internal Libraries:** Imports the `Metadata` library from the Allo core for metadata management. diff --git a/contracts/strategies/rfp-simple/RFPSimpleStrategy.sol b/contracts/strategies/rfp-simple/RFPSimpleStrategy.sol index b94a9e641..194de7a24 100644 --- a/contracts/strategies/rfp-simple/RFPSimpleStrategy.sol +++ b/contracts/strategies/rfp-simple/RFPSimpleStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; // External Libraries import {ReentrancyGuard} from "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol"; diff --git a/era.hardhat.config.ts b/era.hardhat.config.ts index ccfa3888d..5a3977c5f 100644 --- a/era.hardhat.config.ts +++ b/era.hardhat.config.ts @@ -59,7 +59,7 @@ const abiExporter = [ */ const config: HardhatUserConfig = { solidity: { - version: "0.8.19", + version: "0.8.22", settings: { optimizer: { enabled: true, diff --git a/foundry.toml b/foundry.toml index 9f876126c..e96ae2c28 100644 --- a/foundry.toml +++ b/foundry.toml @@ -1,6 +1,6 @@ # Default Profile [profile.default] -solc-version = "0.8.19" +solc-version = "0.8.22" optimizer = true optimizer-runs = 1_000 src = 'contracts' diff --git a/hardhat.config.ts b/hardhat.config.ts index 70ec1930e..0191d4bcc 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -142,7 +142,7 @@ const config: HardhatUserConfig = { apiSecret: DEFENDER_TEAM_API_SECRET_KEY, }, solidity: { - version: "0.8.19", + version: "0.8.22", settings: { optimizer: { enabled: true, diff --git a/test/foundry/core/Allo.t.sol b/test/foundry/core/Allo.t.sol index a1ed78217..3cd949c36 100644 --- a/test/foundry/core/Allo.t.sol +++ b/test/foundry/core/Allo.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/core/AlloUnit.t.sol b/test/foundry/core/AlloUnit.t.sol index 6bd8e21e8..0486e982f 100644 --- a/test/foundry/core/AlloUnit.t.sol +++ b/test/foundry/core/AlloUnit.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {Test} from "forge-std/Test.sol"; diff --git a/test/foundry/core/Anchor.t.sol b/test/foundry/core/Anchor.t.sol index c7ef5bb73..7e216fd86 100644 --- a/test/foundry/core/Anchor.t.sol +++ b/test/foundry/core/Anchor.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; import {Anchor} from "../../../contracts/core/Anchor.sol"; diff --git a/test/foundry/core/QFHelper.t.sol b/test/foundry/core/QFHelper.t.sol index 5e6bfe595..7c332a236 100644 --- a/test/foundry/core/QFHelper.t.sol +++ b/test/foundry/core/QFHelper.t.sol @@ -1,5 +1,5 @@ /// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; /// import forge-std/Test.sol import "forge-std/Test.sol"; diff --git a/test/foundry/core/QVHelper.t.sol b/test/foundry/core/QVHelper.t.sol index c57ba5b52..6a0115774 100644 --- a/test/foundry/core/QVHelper.t.sol +++ b/test/foundry/core/QVHelper.t.sol @@ -1,5 +1,5 @@ /// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; /// import forge-std/Test.sol import "forge-std/Test.sol"; diff --git a/test/foundry/core/Registry.t.sol b/test/foundry/core/Registry.t.sol index a1b189682..5ad018e45 100644 --- a/test/foundry/core/Registry.t.sol +++ b/test/foundry/core/Registry.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; import "../shared/RegistrySetup.sol"; diff --git a/test/foundry/extensions/BaseGatingExtension.sol b/test/foundry/extensions/BaseGatingExtension.sol index 0e2a49742..ad18e6778 100644 --- a/test/foundry/extensions/BaseGatingExtension.sol +++ b/test/foundry/extensions/BaseGatingExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/extensions/EASGatingExtension.t.sol b/test/foundry/extensions/EASGatingExtension.t.sol index e22216acd..712fcaee7 100644 --- a/test/foundry/extensions/EASGatingExtension.t.sol +++ b/test/foundry/extensions/EASGatingExtension.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/extensions/MilestonesExtension.t.sol b/test/foundry/extensions/MilestonesExtension.t.sol index 8b5ed4382..dacbdab4a 100644 --- a/test/foundry/extensions/MilestonesExtension.t.sol +++ b/test/foundry/extensions/MilestonesExtension.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {StdStorage, Test, console, stdStorage} from "forge-std/Test.sol"; import {MockStrategyMilestonesExtension} from "../../utils/MockStrategyMilestonesExtension.sol"; diff --git a/test/foundry/extensions/NFTGatingExtension.t.sol b/test/foundry/extensions/NFTGatingExtension.t.sol index f258a2348..b87339389 100644 --- a/test/foundry/extensions/NFTGatingExtension.t.sol +++ b/test/foundry/extensions/NFTGatingExtension.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/extensions/RecipientsExtension.t.sol b/test/foundry/extensions/RecipientsExtension.t.sol index 5b57c8107..0e1b8ff22 100644 --- a/test/foundry/extensions/RecipientsExtension.t.sol +++ b/test/foundry/extensions/RecipientsExtension.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {Test, console} from "forge-std/Test.sol"; import {MockStrategyRecipientsExtension} from "../../utils/MockStrategyRecipientsExtension.sol"; diff --git a/test/foundry/extensions/TokenGatingExtension.t.sol b/test/foundry/extensions/TokenGatingExtension.t.sol index e6b4374c2..f221133d5 100644 --- a/test/foundry/extensions/TokenGatingExtension.t.sol +++ b/test/foundry/extensions/TokenGatingExtension.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/factory/ContractFactory.t.sol b/test/foundry/factory/ContractFactory.t.sol index 9d9e0fdaf..75f0be024 100644 --- a/test/foundry/factory/ContractFactory.t.sol +++ b/test/foundry/factory/ContractFactory.t.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/fuzz/QVSimpleStrategyFuzz.t.sol b/test/foundry/fuzz/QVSimpleStrategyFuzz.t.sol index 314130598..8d67834ae 100644 --- a/test/foundry/fuzz/QVSimpleStrategyFuzz.t.sol +++ b/test/foundry/fuzz/QVSimpleStrategyFuzz.t.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; // Interfaces import {IAllo} from "../../../contracts/core/interfaces/IAllo.sol"; diff --git a/test/foundry/integration/Allo.t.sol b/test/foundry/integration/Allo.t.sol index 301f0fab0..8f2381e93 100644 --- a/test/foundry/integration/Allo.t.sol +++ b/test/foundry/integration/Allo.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {IAllo} from "contracts/core/interfaces/IAllo.sol"; import {Metadata} from "contracts/core/Registry.sol"; diff --git a/test/foundry/integration/DirectAllocation.t.sol b/test/foundry/integration/DirectAllocation.t.sol index ded6a8d19..c659f863a 100644 --- a/test/foundry/integration/DirectAllocation.t.sol +++ b/test/foundry/integration/DirectAllocation.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {IAllo} from "contracts/core/interfaces/IAllo.sol"; import {Metadata} from "contracts/core/Registry.sol"; diff --git a/test/foundry/integration/DonationVotingOffchain.t.sol b/test/foundry/integration/DonationVotingOffchain.t.sol index b0c935bbd..b0c91640b 100644 --- a/test/foundry/integration/DonationVotingOffchain.t.sol +++ b/test/foundry/integration/DonationVotingOffchain.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {IAllo} from "contracts/core/interfaces/IAllo.sol"; import {Metadata} from "contracts/core/Registry.sol"; diff --git a/test/foundry/integration/DonationVotingOnchain.t.sol b/test/foundry/integration/DonationVotingOnchain.t.sol index 57270233d..9baee6ef0 100644 --- a/test/foundry/integration/DonationVotingOnchain.t.sol +++ b/test/foundry/integration/DonationVotingOnchain.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {IAllo} from "contracts/core/interfaces/IAllo.sol"; import {Metadata} from "contracts/core/Registry.sol"; diff --git a/test/foundry/integration/EasyRPGF.t.sol b/test/foundry/integration/EasyRPGF.t.sol index 5317d6d08..334ed06f2 100644 --- a/test/foundry/integration/EasyRPGF.t.sol +++ b/test/foundry/integration/EasyRPGF.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {IAllo} from "contracts/core/interfaces/IAllo.sol"; import {Metadata} from "contracts/core/Registry.sol"; diff --git a/test/foundry/integration/IBiconomyForwarder.sol b/test/foundry/integration/IBiconomyForwarder.sol index 1108cca2d..0a6a0f861 100644 --- a/test/foundry/integration/IBiconomyForwarder.sol +++ b/test/foundry/integration/IBiconomyForwarder.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; interface IBiconomyForwarder { struct ERC20ForwardRequest { diff --git a/test/foundry/integration/IOwnable.sol b/test/foundry/integration/IOwnable.sol index 94564d826..a93fae739 100644 --- a/test/foundry/integration/IOwnable.sol +++ b/test/foundry/integration/IOwnable.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity 0.8.22; interface IOwnable { function owner() external view returns (address); diff --git a/test/foundry/integration/ITransparentUpgradeableProxy.sol b/test/foundry/integration/ITransparentUpgradeableProxy.sol index 3c04d5579..488d3247e 100644 --- a/test/foundry/integration/ITransparentUpgradeableProxy.sol +++ b/test/foundry/integration/ITransparentUpgradeableProxy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity 0.8.22; interface ITransparentUpgradeableProxy { function admin() external view returns (address); diff --git a/test/foundry/integration/IntegrationBase.sol b/test/foundry/integration/IntegrationBase.sol index 8476718a7..3880bcda2 100644 --- a/test/foundry/integration/IntegrationBase.sol +++ b/test/foundry/integration/IntegrationBase.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {Test} from "forge-std/Test.sol"; import {Allo, IAllo} from "contracts/core/Allo.sol"; diff --git a/test/foundry/integration/QVImpactStream.t.sol b/test/foundry/integration/QVImpactStream.t.sol index c95af9311..737bb57cf 100644 --- a/test/foundry/integration/QVImpactStream.t.sol +++ b/test/foundry/integration/QVImpactStream.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {Test} from "forge-std/Test.sol"; import {Allo} from "contracts/core/Allo.sol"; diff --git a/test/foundry/integration/QVSimple.t.sol b/test/foundry/integration/QVSimple.t.sol index b02e487b9..f1ee98c70 100644 --- a/test/foundry/integration/QVSimple.t.sol +++ b/test/foundry/integration/QVSimple.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {IAllo} from "contracts/core/interfaces/IAllo.sol"; import {Metadata} from "contracts/core/Registry.sol"; diff --git a/test/foundry/integration/RFPSimple.t.sol b/test/foundry/integration/RFPSimple.t.sol index 48ea56289..184351365 100644 --- a/test/foundry/integration/RFPSimple.t.sol +++ b/test/foundry/integration/RFPSimple.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {IAllo} from "contracts/core/interfaces/IAllo.sol"; import {Metadata} from "contracts/core/Registry.sol"; diff --git a/test/foundry/shared/Accounts.sol b/test/foundry/shared/Accounts.sol index ee0ffc5e3..e80f99236 100644 --- a/test/foundry/shared/Accounts.sol +++ b/test/foundry/shared/Accounts.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/StdCheats.sol"; diff --git a/test/foundry/shared/AlloSetup.sol b/test/foundry/shared/AlloSetup.sol index 86d59dc7a..d2450ad3b 100644 --- a/test/foundry/shared/AlloSetup.sol +++ b/test/foundry/shared/AlloSetup.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/shared/EventSetup.sol b/test/foundry/shared/EventSetup.sol index bf5567bdf..cd5f131e3 100644 --- a/test/foundry/shared/EventSetup.sol +++ b/test/foundry/shared/EventSetup.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; contract EventSetup { event Initialized(address allo, bytes32 profileId, uint256 poolId, bytes data); diff --git a/test/foundry/shared/RegistrySetup.sol b/test/foundry/shared/RegistrySetup.sol index 777ccc679..fd39ae1a6 100644 --- a/test/foundry/shared/RegistrySetup.sol +++ b/test/foundry/shared/RegistrySetup.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/shared/StrategySetup.sol b/test/foundry/shared/StrategySetup.sol index abc8270a8..304bc4ca1 100644 --- a/test/foundry/shared/StrategySetup.sol +++ b/test/foundry/shared/StrategySetup.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; import "forge-std/console.sol"; diff --git a/test/foundry/shared/Time.sol b/test/foundry/shared/Time.sol index d73ded160..1968735bf 100644 --- a/test/foundry/shared/Time.sol +++ b/test/foundry/shared/Time.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/StdCheats.sol"; diff --git a/test/foundry/strategies/BaseStrategy.t.sol b/test/foundry/strategies/BaseStrategy.t.sol index 43e435183..9b6efc22d 100644 --- a/test/foundry/strategies/BaseStrategy.t.sol +++ b/test/foundry/strategies/BaseStrategy.t.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/CoreBaseStrategy.t.sol b/test/foundry/strategies/CoreBaseStrategy.t.sol index a0f360601..e21ea8ace 100644 --- a/test/foundry/strategies/CoreBaseStrategy.t.sol +++ b/test/foundry/strategies/CoreBaseStrategy.t.sol @@ -1,4 +1,4 @@ -pragma solidity 0.8.19; +pragma solidity 0.8.22; import "forge-std/Test.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/test/foundry/strategies/DirectAllocation.t.sol b/test/foundry/strategies/DirectAllocation.t.sol index d5216934e..05cc3e5d1 100644 --- a/test/foundry/strategies/DirectAllocation.t.sol +++ b/test/foundry/strategies/DirectAllocation.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {Test} from "forge-std/Test.sol"; import {DirectAllocationStrategy} from "../../../contracts/strategies/DirectAllocation.sol"; diff --git a/test/foundry/strategies/DirectGrantsLite.t.sol b/test/foundry/strategies/DirectGrantsLite.t.sol index e3977d933..36fb36713 100644 --- a/test/foundry/strategies/DirectGrantsLite.t.sol +++ b/test/foundry/strategies/DirectGrantsLite.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: AGPL-3.0-only -// pragma solidity ^0.8.19; +// pragma solidity ^0.8.22; // // Test contracts // import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/DirectGrantsSimpleStrategy.t.sol b/test/foundry/strategies/DirectGrantsSimpleStrategy.t.sol index e19d8aff8..d47c0cb28 100644 --- a/test/foundry/strategies/DirectGrantsSimpleStrategy.t.sol +++ b/test/foundry/strategies/DirectGrantsSimpleStrategy.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/DonationVotingCustomRegistryStrategy.t.sol b/test/foundry/strategies/DonationVotingCustomRegistryStrategy.t.sol index 4decbd34e..5bdce77eb 100644 --- a/test/foundry/strategies/DonationVotingCustomRegistryStrategy.t.sol +++ b/test/foundry/strategies/DonationVotingCustomRegistryStrategy.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/DonationVotingMerkleDistributionBase.t.sol b/test/foundry/strategies/DonationVotingMerkleDistributionBase.t.sol index c5585e4db..baae32844 100644 --- a/test/foundry/strategies/DonationVotingMerkleDistributionBase.t.sol +++ b/test/foundry/strategies/DonationVotingMerkleDistributionBase.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: AGPL-3.0-only -// pragma solidity ^0.8.19; +// pragma solidity ^0.8.22; // // Test contracts // import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/DonationVotingMerkleDistributionDirectTransferStrategy.t.sol b/test/foundry/strategies/DonationVotingMerkleDistributionDirectTransferStrategy.t.sol index 2d87c3042..aa523e5e7 100644 --- a/test/foundry/strategies/DonationVotingMerkleDistributionDirectTransferStrategy.t.sol +++ b/test/foundry/strategies/DonationVotingMerkleDistributionDirectTransferStrategy.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: AGPL-3.0-only -// pragma solidity ^0.8.19; +// pragma solidity ^0.8.22; // // Test contracts // import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/DonationVotingMerkleDistributionVaultStrategy.t.sol b/test/foundry/strategies/DonationVotingMerkleDistributionVaultStrategy.t.sol index 5b81ce54d..ace9b63b0 100644 --- a/test/foundry/strategies/DonationVotingMerkleDistributionVaultStrategy.t.sol +++ b/test/foundry/strategies/DonationVotingMerkleDistributionVaultStrategy.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: AGPL-3.0-only -// pragma solidity ^0.8.19; +// pragma solidity ^0.8.22; // // Test contracts // import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/DonationVotingStrategy.t.sol b/test/foundry/strategies/DonationVotingStrategy.t.sol index 6231759cf..fca7d3fdd 100644 --- a/test/foundry/strategies/DonationVotingStrategy.t.sol +++ b/test/foundry/strategies/DonationVotingStrategy.t.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/HackathonQVStrategy.t.sol b/test/foundry/strategies/HackathonQVStrategy.t.sol index 70b32004c..f2ac3150a 100644 --- a/test/foundry/strategies/HackathonQVStrategy.t.sol +++ b/test/foundry/strategies/HackathonQVStrategy.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/MicroGrantsBaseStrategy.t.sol b/test/foundry/strategies/MicroGrantsBaseStrategy.t.sol index 79c67241f..50ddd593d 100644 --- a/test/foundry/strategies/MicroGrantsBaseStrategy.t.sol +++ b/test/foundry/strategies/MicroGrantsBaseStrategy.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -// pragma solidity ^0.8.19; +// pragma solidity ^0.8.22; // import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/MicroGrantsGovStrategy.t.sol b/test/foundry/strategies/MicroGrantsGovStrategy.t.sol index be8203ccb..87558a138 100644 --- a/test/foundry/strategies/MicroGrantsGovStrategy.t.sol +++ b/test/foundry/strategies/MicroGrantsGovStrategy.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -// pragma solidity ^0.8.19; +// pragma solidity ^0.8.22; // import {IStrategy} from "../../../contracts/core/interfaces/IStrategy.sol"; diff --git a/test/foundry/strategies/MicroGrantsHatsStrategy.t.sol b/test/foundry/strategies/MicroGrantsHatsStrategy.t.sol index dcf08392d..011d4bfa4 100644 --- a/test/foundry/strategies/MicroGrantsHatsStrategy.t.sol +++ b/test/foundry/strategies/MicroGrantsHatsStrategy.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -// pragma solidity ^0.8.19; +// pragma solidity ^0.8.22; // import {IStrategy} from "../../../contracts/core/interfaces/IStrategy.sol"; diff --git a/test/foundry/strategies/MicroGrantsStrategy.t.sol b/test/foundry/strategies/MicroGrantsStrategy.t.sol index 866bd5a55..12eab1e8d 100644 --- a/test/foundry/strategies/MicroGrantsStrategy.t.sol +++ b/test/foundry/strategies/MicroGrantsStrategy.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -// pragma solidity ^0.8.19; +// pragma solidity ^0.8.22; // import {IStrategy} from "../../../contracts/core/interfaces/IStrategy.sol"; diff --git a/test/foundry/strategies/ProportionalPayoutStrategy.t.sol b/test/foundry/strategies/ProportionalPayoutStrategy.t.sol index b49efad1d..54eb5eed4 100644 --- a/test/foundry/strategies/ProportionalPayoutStrategy.t.sol +++ b/test/foundry/strategies/ProportionalPayoutStrategy.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -// pragma solidity ^0.8.19; +// pragma solidity ^0.8.22; // import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/QVBaseStrategy.t.sol b/test/foundry/strategies/QVBaseStrategy.t.sol index e451cd678..4c7ba9dac 100644 --- a/test/foundry/strategies/QVBaseStrategy.t.sol +++ b/test/foundry/strategies/QVBaseStrategy.t.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/QVGovernanceERC20Votes.t.sol b/test/foundry/strategies/QVGovernanceERC20Votes.t.sol index 4be5cae2a..49e73c657 100644 --- a/test/foundry/strategies/QVGovernanceERC20Votes.t.sol +++ b/test/foundry/strategies/QVGovernanceERC20Votes.t.sol @@ -1,5 +1,5 @@ // SPDX-License Identifier: MIT -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; // Interfaces import {IStrategy} from "../../../contracts/core/interfaces/IStrategy.sol"; diff --git a/test/foundry/strategies/QVImpactStream.t.sol b/test/foundry/strategies/QVImpactStream.t.sol index 718cdd9c6..0139a6a7b 100644 --- a/test/foundry/strategies/QVImpactStream.t.sol +++ b/test/foundry/strategies/QVImpactStream.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/test/foundry/strategies/QVImpactStreamStrategyTest.t.sol b/test/foundry/strategies/QVImpactStreamStrategyTest.t.sol index 86a17df86..7c98781b5 100644 --- a/test/foundry/strategies/QVImpactStreamStrategyTest.t.sol +++ b/test/foundry/strategies/QVImpactStreamStrategyTest.t.sol @@ -1,4 +1,4 @@ -// pragma solidity ^0.8.19; +// pragma solidity ^0.8.22; // import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/QVNftTieredStrategy.t.sol b/test/foundry/strategies/QVNftTieredStrategy.t.sol index 08873936c..39b122375 100644 --- a/test/foundry/strategies/QVNftTieredStrategy.t.sol +++ b/test/foundry/strategies/QVNftTieredStrategy.t.sol @@ -1,5 +1,5 @@ // SPDX-License Identifier: MIT -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; // Interfaces import {IStrategy} from "../../../contracts/core/interfaces/IStrategy.sol"; diff --git a/test/foundry/strategies/QVSimpleStrategy.t.sol b/test/foundry/strategies/QVSimpleStrategy.t.sol index fc6708053..1fbb022ce 100644 --- a/test/foundry/strategies/QVSimpleStrategy.t.sol +++ b/test/foundry/strategies/QVSimpleStrategy.t.sol @@ -1,5 +1,5 @@ // SPDX-License Identifier: MIT -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; // Interfaces import {QVBaseStrategy} from "../../../contracts/strategies/qv-base/QVBaseStrategy.sol"; diff --git a/test/foundry/strategies/RFPCommitteeStrategy.t.sol b/test/foundry/strategies/RFPCommitteeStrategy.t.sol index 92d5b2042..41ee56fee 100644 --- a/test/foundry/strategies/RFPCommitteeStrategy.t.sol +++ b/test/foundry/strategies/RFPCommitteeStrategy.t.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/RFPSimpleStrategy.t.sol b/test/foundry/strategies/RFPSimpleStrategy.t.sol index 9ddf46b08..4a7505e9d 100644 --- a/test/foundry/strategies/RFPSimpleStrategy.t.sol +++ b/test/foundry/strategies/RFPSimpleStrategy.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0-or-later -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/SQFSuperFluidStrategy.t.sol b/test/foundry/strategies/SQFSuperFluidStrategy.t.sol index a09e81642..31493b611 100644 --- a/test/foundry/strategies/SQFSuperFluidStrategy.t.sol +++ b/test/foundry/strategies/SQFSuperFluidStrategy.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -// pragma solidity ^0.8.19; +// pragma solidity ^0.8.22; // import {SQFSuperFluidStrategy} from "../../../contracts/strategies/_poc/sqf-superfluid/SQFSuperFluidStrategy.sol"; // import {RecipientSuperApp} from "../../../contracts/strategies/_poc/sqf-superfluid/RecipientSuperApp.sol"; diff --git a/test/foundry/strategies/SimpleProjectRegistry.t.sol b/test/foundry/strategies/SimpleProjectRegistry.t.sol index db29fbb08..fbad0ac62 100644 --- a/test/foundry/strategies/SimpleProjectRegistry.t.sol +++ b/test/foundry/strategies/SimpleProjectRegistry.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/WrappedVotingNftMintStrategy.t.sol b/test/foundry/strategies/WrappedVotingNftMintStrategy.t.sol index c13cc7d28..eb8d4f1e7 100644 --- a/test/foundry/strategies/WrappedVotingNftMintStrategy.t.sol +++ b/test/foundry/strategies/WrappedVotingNftMintStrategy.t.sol @@ -1,4 +1,4 @@ -// pragma solidity ^0.8.19; +// pragma solidity ^0.8.22; // import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/hedgey/HedgeyRFPCommitteeStrategy.t.sol b/test/foundry/strategies/hedgey/HedgeyRFPCommitteeStrategy.t.sol index ccc11a198..3ea99fb5e 100644 --- a/test/foundry/strategies/hedgey/HedgeyRFPCommitteeStrategy.t.sol +++ b/test/foundry/strategies/hedgey/HedgeyRFPCommitteeStrategy.t.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/hedgey/HedgeySetup.sol b/test/foundry/strategies/hedgey/HedgeySetup.sol index 709191f61..873e1f3a5 100644 --- a/test/foundry/strategies/hedgey/HedgeySetup.sol +++ b/test/foundry/strategies/hedgey/HedgeySetup.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/sablier-v2/LockupBase.t.sol b/test/foundry/strategies/sablier-v2/LockupBase.t.sol index 21e25f2b1..ed3db54bb 100644 --- a/test/foundry/strategies/sablier-v2/LockupBase.t.sol +++ b/test/foundry/strategies/sablier-v2/LockupBase.t.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {Broker} from "@sablier/v2-core/src/types/DataTypes.sol"; import {UD60x18} from "@sablier/v2-core/src/types/Math.sol"; diff --git a/test/foundry/strategies/sablier-v2/LockupDynamicStrategy.t.sol b/test/foundry/strategies/sablier-v2/LockupDynamicStrategy.t.sol index 708b22f77..2655ef5f6 100644 --- a/test/foundry/strategies/sablier-v2/LockupDynamicStrategy.t.sol +++ b/test/foundry/strategies/sablier-v2/LockupDynamicStrategy.t.sol @@ -1,4 +1,4 @@ -// pragma solidity ^0.8.19; +// pragma solidity ^0.8.22; // import {ISablierV2LockupDynamic} from "@sablier/v2-core/src/interfaces/ISablierV2LockupDynamic.sol"; // import {Broker, LockupDynamic} from "@sablier/v2-core/src/types/DataTypes.sol"; diff --git a/test/foundry/strategies/sablier-v2/LockupLinearStrategy.t.sol b/test/foundry/strategies/sablier-v2/LockupLinearStrategy.t.sol index b9d32204a..b7a6071bf 100644 --- a/test/foundry/strategies/sablier-v2/LockupLinearStrategy.t.sol +++ b/test/foundry/strategies/sablier-v2/LockupLinearStrategy.t.sol @@ -1,4 +1,4 @@ -// pragma solidity ^0.8.19; +// pragma solidity ^0.8.22; // import {ISablierV2LockupLinear} from "@sablier/v2-core/src/interfaces/ISablierV2LockupLinear.sol"; // import {Broker, LockupLinear} from "@sablier/v2-core/src/types/DataTypes.sol"; diff --git a/test/utils/DonationVotingMerkleDistributionBaseMock.sol b/test/utils/DonationVotingMerkleDistributionBaseMock.sol index 5109944da..889ceca42 100644 --- a/test/utils/DonationVotingMerkleDistributionBaseMock.sol +++ b/test/utils/DonationVotingMerkleDistributionBaseMock.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {ISignatureTransfer} from "permit2/ISignatureTransfer.sol"; import {DonationVotingMerkleDistributionBaseStrategy} from diff --git a/test/utils/GasHelpers.sol b/test/utils/GasHelpers.sol index 3855ed3a8..a1c058c29 100644 --- a/test/utils/GasHelpers.sol +++ b/test/utils/GasHelpers.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.19; +pragma solidity 0.8.22; import "forge-std/Test.sol"; diff --git a/test/utils/MockAllo.sol b/test/utils/MockAllo.sol index 5bae25480..df90f3422 100644 --- a/test/utils/MockAllo.sol +++ b/test/utils/MockAllo.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {Allo} from "../../contracts/core/Allo.sol"; diff --git a/test/utils/MockBaseStrategy.sol b/test/utils/MockBaseStrategy.sol index e10256a04..a15b32307 100644 --- a/test/utils/MockBaseStrategy.sol +++ b/test/utils/MockBaseStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import "../../contracts/strategies/CoreBaseStrategy.sol"; diff --git a/test/utils/MockEAS.sol b/test/utils/MockEAS.sol index c79660dbe..c5782dd6c 100644 --- a/test/utils/MockEAS.sol +++ b/test/utils/MockEAS.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import { Attestation, AttestationRequest, AttestationRequestData, IEAS, RevocationRequest diff --git a/test/utils/MockERC20.sol b/test/utils/MockERC20.sol index b7601e044..570845282 100644 --- a/test/utils/MockERC20.sol +++ b/test/utils/MockERC20.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {ERC20} from "solady/tokens/ERC20.sol"; diff --git a/test/utils/MockERC20Permit.sol b/test/utils/MockERC20Permit.sol index 7c4602d59..2d95aa52c 100644 --- a/test/utils/MockERC20Permit.sol +++ b/test/utils/MockERC20Permit.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol"; diff --git a/test/utils/MockERC20PermitDAI.sol b/test/utils/MockERC20PermitDAI.sol index a05b566e8..579970780 100644 --- a/test/utils/MockERC20PermitDAI.sol +++ b/test/utils/MockERC20PermitDAI.sol @@ -2,7 +2,7 @@ /// dai.sol -- Dai Stablecoin ERC-20 Token -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; contract MockERC20PermitDAI { // --- EIP712 niceties --- diff --git a/test/utils/MockERC20Vote.sol b/test/utils/MockERC20Vote.sol index e35edf80d..3a5a735c0 100644 --- a/test/utils/MockERC20Vote.sol +++ b/test/utils/MockERC20Vote.sol @@ -1,5 +1,5 @@ //SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {MockERC20} from "./MockERC20.sol"; diff --git a/test/utils/MockERC721.sol b/test/utils/MockERC721.sol index 3bcb9a13b..6f4271643 100644 --- a/test/utils/MockERC721.sol +++ b/test/utils/MockERC721.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {ERC721} from "solady/tokens/ERC721.sol"; import {LibString} from "solady/utils/LibString.sol"; diff --git a/test/utils/MockGatingExtension.sol b/test/utils/MockGatingExtension.sol index 423e21f6a..853d4af1d 100644 --- a/test/utils/MockGatingExtension.sol +++ b/test/utils/MockGatingExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {CoreBaseStrategy} from "../../contracts/strategies/CoreBaseStrategy.sol"; import {EASGatingExtension} from "../../contracts/extensions/EASGatingExtension.sol"; diff --git a/test/utils/MockHats.sol b/test/utils/MockHats.sol index bdbc400cc..6dc8cf894 100644 --- a/test/utils/MockHats.sol +++ b/test/utils/MockHats.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0-or-later -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; contract MockHats { mapping(address => bool) public hats; diff --git a/test/utils/MockMicroGrantsBaseStrategy.sol b/test/utils/MockMicroGrantsBaseStrategy.sol index b2a8ba48e..98b4e2efc 100644 --- a/test/utils/MockMicroGrantsBaseStrategy.sol +++ b/test/utils/MockMicroGrantsBaseStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0-or-later -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {MicroGrantsBaseStrategy} from "../../contracts/strategies/_poc/micro-grants/MicroGrantsBaseStrategy.sol"; diff --git a/test/utils/MockPassportDecoder.sol b/test/utils/MockPassportDecoder.sol index f9f314b68..2c3c24493 100644 --- a/test/utils/MockPassportDecoder.sol +++ b/test/utils/MockPassportDecoder.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; contract MockPassportDecoder { struct Score { diff --git a/test/utils/MockQFHelper.sol b/test/utils/MockQFHelper.sol index 1da7a5d51..bc2a29a24 100644 --- a/test/utils/MockQFHelper.sol +++ b/test/utils/MockQFHelper.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "contracts/core/libraries/QFHelper.sol"; diff --git a/test/utils/MockQVHelper.sol b/test/utils/MockQVHelper.sol index 507ec8b2e..f0846a416 100644 --- a/test/utils/MockQVHelper.sol +++ b/test/utils/MockQVHelper.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "contracts/core/libraries/QVHelper.sol"; diff --git a/test/utils/MockRevertingReceiver.sol b/test/utils/MockRevertingReceiver.sol index fd536cfd4..7cce002c2 100644 --- a/test/utils/MockRevertingReceiver.sol +++ b/test/utils/MockRevertingReceiver.sol @@ -1,6 +1,6 @@ // SPDX-License_Identifier: MIT -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; contract MockRevertingReceiver { receive() external payable { diff --git a/test/utils/MockStrategy.sol b/test/utils/MockStrategy.sol index 7f1e4d767..f0e6b4594 100644 --- a/test/utils/MockStrategy.sol +++ b/test/utils/MockStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import "contracts/strategies/CoreBaseStrategy.sol"; diff --git a/test/utils/MockStrategyMilestonesExtension.sol b/test/utils/MockStrategyMilestonesExtension.sol index dabd675fb..dd37f0251 100644 --- a/test/utils/MockStrategyMilestonesExtension.sol +++ b/test/utils/MockStrategyMilestonesExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {CoreBaseStrategy} from "../../contracts/strategies/CoreBaseStrategy.sol"; import {MilestonesExtension} from "../../contracts/extensions/contracts/MilestonesExtension.sol"; diff --git a/test/utils/MockStrategyRecipientsExtension.sol b/test/utils/MockStrategyRecipientsExtension.sol index 9a3921e2c..0532be979 100644 --- a/test/utils/MockStrategyRecipientsExtension.sol +++ b/test/utils/MockStrategyRecipientsExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; import {CoreBaseStrategy} from "../../contracts/strategies/CoreBaseStrategy.sol"; import {RecipientsExtension} from "../../contracts/extensions/contracts/RecipientsExtension.sol"; diff --git a/test/utils/MockUniversalGov.sol b/test/utils/MockUniversalGov.sol index dc60f78e2..96bce7f1e 100644 --- a/test/utils/MockUniversalGov.sol +++ b/test/utils/MockUniversalGov.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity 0.8.22; contract MockUniversalGov { mapping(address => uint256) public gov; diff --git a/test/utils/QVBaseStrategyTestMock.sol b/test/utils/QVBaseStrategyTestMock.sol index c21d6bff5..74f21d568 100644 --- a/test/utils/QVBaseStrategyTestMock.sol +++ b/test/utils/QVBaseStrategyTestMock.sol @@ -1,5 +1,5 @@ // SPDX-License Identifier: MIT -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {QVBaseStrategy} from "../../contracts/strategies/qv-base/QVBaseStrategy.sol"; diff --git a/test/utils/TestUtilities.sol b/test/utils/TestUtilities.sol index bebd52a4e..d1b215045 100644 --- a/test/utils/TestUtilities.sol +++ b/test/utils/TestUtilities.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.19; +pragma solidity ^0.8.22; import {Anchor} from "../../contracts/core/Anchor.sol"; From f4dfcaadf42283ec65c64b7b8e2432274945d698 Mon Sep 17 00:00:00 2001 From: ilpepepig Date: Sat, 24 Aug 2024 15:33:13 -0300 Subject: [PATCH 2/8] refactor: support ^0.8.19 but use 0.8.22 --- contracts/core/Allo.sol | 2 +- contracts/core/Anchor.sol | 2 +- contracts/core/Registry.sol | 2 +- contracts/core/interfaces/IAllo.sol | 2 +- contracts/core/interfaces/IBaseStrategy.sol | 2 +- contracts/core/interfaces/IStrategy.sol | 2 +- contracts/core/libraries/Clone.sol | 2 +- contracts/core/libraries/Errors.sol | 2 +- contracts/core/libraries/Metadata.sol | 2 +- contracts/core/libraries/Native.sol | 2 +- contracts/core/libraries/QFHelper.sol | 2 +- contracts/core/libraries/QVHelper.sol | 2 +- contracts/core/libraries/Transfer.sol | 2 +- contracts/extensions/EASGatingExtension.sol | 2 +- contracts/extensions/NFTGatingExtension.sol | 2 +- contracts/extensions/TokenGatingExtension.sol | 2 +- contracts/extensions/contracts/MilestonesExtension.sol | 2 +- contracts/extensions/contracts/RecipientsExtension.sol | 2 +- contracts/extensions/interfaces/IMilestonesExtension.sol | 2 +- contracts/extensions/interfaces/IRecipientsExtension.sol | 2 +- contracts/factories/ContractFactory.sol | 2 +- contracts/factories/DGLFactory.sol | 2 +- contracts/factories/DVMDTFactory.sol | 2 +- contracts/migration/AlloV1ToV2ProfileMigration.sol | 2 +- contracts/strategies/BaseStrategy.sol | 2 +- contracts/strategies/CoreBaseStrategy.sol | 2 +- contracts/strategies/DirectAllocation.sol | 2 +- contracts/strategies/DonationVotingOffchain.sol | 2 +- contracts/strategies/DonationVotingOnchain.sol | 2 +- contracts/strategies/EasyRPGF.sol | 2 +- contracts/strategies/QVImpactStream.sol | 2 +- contracts/strategies/QVSimple.sol | 2 +- contracts/strategies/RFPSimple.sol | 2 +- .../_poc/direct-grants-simple/DirectGrantsSimpleStrategy.sol | 2 +- .../DonationVotingCustomRegistryStrategy.sol | 2 +- .../donation-voting-custom-registry/SimpleProjectRegistry.sol | 2 +- .../strategies/_poc/donation-voting/DonationVotingStrategy.sol | 2 +- contracts/strategies/_poc/hedgey/HedgeyRFPCommitteeStrategy.sol | 2 +- .../strategies/_poc/micro-grants/MicroGrantsBaseStrategy.sol | 2 +- .../strategies/_poc/micro-grants/MicroGrantsGovStrategy.sol | 2 +- .../strategies/_poc/micro-grants/MicroGrantsHatsStrategy.sol | 2 +- contracts/strategies/_poc/micro-grants/MicroGrantsStrategy.sol | 2 +- contracts/strategies/_poc/micro-grants/README.md | 2 +- .../strategies/_poc/micro-grants/interfaces/UniversalGov.sol | 2 +- .../_poc/proportional-payout/ProportionalPayoutStrategy.sol | 2 +- .../strategies/_poc/qv-governance/QVGovernanceERC20Votes.sol | 2 +- contracts/strategies/_poc/qv-hackathon/HackathonQVStrategy.sol | 2 +- contracts/strategies/_poc/qv-hackathon/SchemaResolver.sol | 2 +- .../strategies/_poc/qv-impact-stream/QVImpactStreamStrategy.sol | 2 +- contracts/strategies/_poc/qv-nft-tiered/QVNftTieredStrategy.sol | 2 +- contracts/strategies/_poc/sablier-v2/LockupDynamicStrategy.sol | 2 +- contracts/strategies/_poc/sablier-v2/LockupLinearStrategy.sol | 2 +- contracts/strategies/_poc/sqf-superfluid/RecipientSuperApp.sol | 2 +- .../strategies/_poc/sqf-superfluid/RecipientSuperAppFactory.sol | 2 +- .../strategies/_poc/sqf-superfluid/SQFSuperFluidStrategy.sol | 2 +- contracts/strategies/_poc/wrapped-voting-nftmint/NFT.sol | 2 +- contracts/strategies/_poc/wrapped-voting-nftmint/NFTFactory.sol | 2 +- .../wrapped-voting-nftmint/WrappedVotingNftMintStrategy.sol | 2 +- contracts/strategies/direct-grants-lite/DirectGrantsLite.sol | 2 +- .../DonationVotingMerkleDistributionBaseStrategy.sol | 2 +- contracts/strategies/donation-voting-merkle-base/IDAI.sol | 2 +- .../DonationVotingMerkleDistributionDirectTransferStrategy.sol | 2 +- .../DonationVotingMerkleDistributionVaultStrategy.sol | 2 +- contracts/strategies/easy-rpgf/EasyRPGFStrategy.sol | 2 +- contracts/strategies/qv-base/QVBaseStrategy.sol | 2 +- contracts/strategies/qv-simple/QVSimpleStrategy.sol | 2 +- contracts/strategies/rfp-committee/RFPCommitteeStrategy.sol | 2 +- contracts/strategies/rfp-simple/RFPSimpleStrategy.sol | 2 +- test/foundry/core/Allo.t.sol | 2 +- test/foundry/core/AlloUnit.t.sol | 2 +- test/foundry/core/Anchor.t.sol | 2 +- test/foundry/core/QFHelper.t.sol | 2 +- test/foundry/core/QVHelper.t.sol | 2 +- test/foundry/core/Registry.t.sol | 2 +- test/foundry/extensions/BaseGatingExtension.sol | 2 +- test/foundry/extensions/EASGatingExtension.t.sol | 2 +- test/foundry/extensions/MilestonesExtension.t.sol | 2 +- test/foundry/extensions/NFTGatingExtension.t.sol | 2 +- test/foundry/extensions/RecipientsExtension.t.sol | 2 +- test/foundry/extensions/TokenGatingExtension.t.sol | 2 +- test/foundry/factory/ContractFactory.t.sol | 2 +- test/foundry/fuzz/QVSimpleStrategyFuzz.t.sol | 2 +- test/foundry/integration/Allo.t.sol | 2 +- test/foundry/integration/DirectAllocation.t.sol | 2 +- test/foundry/integration/DonationVotingOffchain.t.sol | 2 +- test/foundry/integration/DonationVotingOnchain.t.sol | 2 +- test/foundry/integration/EasyRPGF.t.sol | 2 +- test/foundry/integration/IBiconomyForwarder.sol | 2 +- test/foundry/integration/IOwnable.sol | 2 +- test/foundry/integration/ITransparentUpgradeableProxy.sol | 2 +- test/foundry/integration/IntegrationBase.sol | 2 +- test/foundry/integration/QVImpactStream.t.sol | 2 +- test/foundry/integration/QVSimple.t.sol | 2 +- test/foundry/integration/RFPSimple.t.sol | 2 +- test/foundry/shared/Accounts.sol | 2 +- test/foundry/shared/AlloSetup.sol | 2 +- test/foundry/shared/EventSetup.sol | 2 +- test/foundry/shared/RegistrySetup.sol | 2 +- test/foundry/shared/StrategySetup.sol | 2 +- test/foundry/shared/Time.sol | 2 +- test/foundry/strategies/BaseStrategy.t.sol | 2 +- test/foundry/strategies/CoreBaseStrategy.t.sol | 2 +- test/foundry/strategies/DirectAllocation.t.sol | 2 +- test/foundry/strategies/DirectGrantsLite.t.sol | 2 +- test/foundry/strategies/DirectGrantsSimpleStrategy.t.sol | 2 +- .../strategies/DonationVotingCustomRegistryStrategy.t.sol | 2 +- .../strategies/DonationVotingMerkleDistributionBase.t.sol | 2 +- ...DonationVotingMerkleDistributionDirectTransferStrategy.t.sol | 2 +- .../DonationVotingMerkleDistributionVaultStrategy.t.sol | 2 +- test/foundry/strategies/DonationVotingStrategy.t.sol | 2 +- test/foundry/strategies/HackathonQVStrategy.t.sol | 2 +- test/foundry/strategies/MicroGrantsBaseStrategy.t.sol | 2 +- test/foundry/strategies/MicroGrantsGovStrategy.t.sol | 2 +- test/foundry/strategies/MicroGrantsHatsStrategy.t.sol | 2 +- test/foundry/strategies/MicroGrantsStrategy.t.sol | 2 +- test/foundry/strategies/ProportionalPayoutStrategy.t.sol | 2 +- test/foundry/strategies/QVBaseStrategy.t.sol | 2 +- test/foundry/strategies/QVGovernanceERC20Votes.t.sol | 2 +- test/foundry/strategies/QVImpactStreamStrategyTest.t.sol | 2 +- test/foundry/strategies/QVNftTieredStrategy.t.sol | 2 +- test/foundry/strategies/QVSimpleStrategy.t.sol | 2 +- test/foundry/strategies/RFPCommitteeStrategy.t.sol | 2 +- test/foundry/strategies/RFPSimpleStrategy.t.sol | 2 +- test/foundry/strategies/SQFSuperFluidStrategy.t.sol | 2 +- test/foundry/strategies/SimpleProjectRegistry.t.sol | 2 +- test/foundry/strategies/WrappedVotingNftMintStrategy.t.sol | 2 +- test/foundry/strategies/hedgey/HedgeyRFPCommitteeStrategy.t.sol | 2 +- test/foundry/strategies/hedgey/HedgeySetup.sol | 2 +- test/foundry/strategies/sablier-v2/LockupBase.t.sol | 2 +- test/foundry/strategies/sablier-v2/LockupDynamicStrategy.t.sol | 2 +- test/foundry/strategies/sablier-v2/LockupLinearStrategy.t.sol | 2 +- test/utils/DonationVotingMerkleDistributionBaseMock.sol | 2 +- test/utils/GasHelpers.sol | 2 +- test/utils/MockAllo.sol | 2 +- test/utils/MockBaseStrategy.sol | 2 +- test/utils/MockEAS.sol | 2 +- test/utils/MockERC20.sol | 2 +- test/utils/MockERC20Permit.sol | 2 +- test/utils/MockERC20PermitDAI.sol | 2 +- test/utils/MockERC20Vote.sol | 2 +- test/utils/MockERC721.sol | 2 +- test/utils/MockGatingExtension.sol | 2 +- test/utils/MockHats.sol | 2 +- test/utils/MockMicroGrantsBaseStrategy.sol | 2 +- test/utils/MockPassportDecoder.sol | 2 +- test/utils/MockQFHelper.sol | 2 +- test/utils/MockQVHelper.sol | 2 +- test/utils/MockRevertingReceiver.sol | 2 +- test/utils/MockStrategy.sol | 2 +- test/utils/MockStrategyMilestonesExtension.sol | 2 +- test/utils/MockStrategyRecipientsExtension.sol | 2 +- test/utils/MockUniversalGov.sol | 2 +- test/utils/QVBaseStrategyTestMock.sol | 2 +- test/utils/TestUtilities.sol | 2 +- 154 files changed, 154 insertions(+), 154 deletions(-) diff --git a/contracts/core/Allo.sol b/contracts/core/Allo.sol index 6758ba9ad..2e3d162a9 100644 --- a/contracts/core/Allo.sol +++ b/contracts/core/Allo.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import "solady/auth/Ownable.sol"; diff --git a/contracts/core/Anchor.sol b/contracts/core/Anchor.sol index ce4b83fb0..d31655b71 100644 --- a/contracts/core/Anchor.sol +++ b/contracts/core/Anchor.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import "openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol"; import "openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol"; diff --git a/contracts/core/Registry.sol b/contracts/core/Registry.sol index a076a40c3..6daf450c5 100644 --- a/contracts/core/Registry.sol +++ b/contracts/core/Registry.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import "openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol"; diff --git a/contracts/core/interfaces/IAllo.sol b/contracts/core/interfaces/IAllo.sol index 56573c052..e74f8c793 100644 --- a/contracts/core/interfaces/IAllo.sol +++ b/contracts/core/interfaces/IAllo.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; // Interfaces import {IRegistry} from "./IRegistry.sol"; diff --git a/contracts/core/interfaces/IBaseStrategy.sol b/contracts/core/interfaces/IBaseStrategy.sol index 1c26d96e0..92eddbf2e 100644 --- a/contracts/core/interfaces/IBaseStrategy.sol +++ b/contracts/core/interfaces/IBaseStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {IAllo} from "./IAllo.sol"; diff --git a/contracts/core/interfaces/IStrategy.sol b/contracts/core/interfaces/IStrategy.sol index 96e2bc563..0e2ed5425 100644 --- a/contracts/core/interfaces/IStrategy.sol +++ b/contracts/core/interfaces/IStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; // Interfaces import {IAllo} from "./IAllo.sol"; diff --git a/contracts/core/libraries/Clone.sol b/contracts/core/libraries/Clone.sol index ee47a6ea5..eeabf95e1 100644 --- a/contracts/core/libraries/Clone.sol +++ b/contracts/core/libraries/Clone.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import "openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol"; diff --git a/contracts/core/libraries/Errors.sol b/contracts/core/libraries/Errors.sol index b7b6bac9a..fe4d2b3c7 100644 --- a/contracts/core/libraries/Errors.sol +++ b/contracts/core/libraries/Errors.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣗⠀⠀⠀⢸⣿⣿⣿⡯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ // ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣗⠀⠀⠀⢸⣿⣿⣿⡯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/contracts/core/libraries/Metadata.sol b/contracts/core/libraries/Metadata.sol index f2449a2c4..2bcee3c42 100644 --- a/contracts/core/libraries/Metadata.sol +++ b/contracts/core/libraries/Metadata.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣗⠀⠀⠀⢸⣿⣿⣿⡯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ // ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣗⠀⠀⠀⢸⣿⣿⣿⡯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/contracts/core/libraries/Native.sol b/contracts/core/libraries/Native.sol index bc33213e9..59240a9bd 100644 --- a/contracts/core/libraries/Native.sol +++ b/contracts/core/libraries/Native.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣗⠀⠀⠀⢸⣿⣿⣿⡯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ // ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣗⠀⠀⠀⢸⣿⣿⣿⡯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/contracts/core/libraries/QFHelper.sol b/contracts/core/libraries/QFHelper.sol index babffc8ec..819c1f56f 100644 --- a/contracts/core/libraries/QFHelper.sol +++ b/contracts/core/libraries/QFHelper.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import "solady/utils/FixedPointMathLib.sol"; diff --git a/contracts/core/libraries/QVHelper.sol b/contracts/core/libraries/QVHelper.sol index 67d2cd2bd..89953f946 100644 --- a/contracts/core/libraries/QVHelper.sol +++ b/contracts/core/libraries/QVHelper.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import "solady/utils/FixedPointMathLib.sol"; diff --git a/contracts/core/libraries/Transfer.sol b/contracts/core/libraries/Transfer.sol index f5d845bc3..2fce0db0c 100644 --- a/contracts/core/libraries/Transfer.sol +++ b/contracts/core/libraries/Transfer.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import {SafeTransferLib} from "solady/utils/SafeTransferLib.sol"; diff --git a/contracts/extensions/EASGatingExtension.sol b/contracts/extensions/EASGatingExtension.sol index 8ba708d61..c6350a8e1 100644 --- a/contracts/extensions/EASGatingExtension.sol +++ b/contracts/extensions/EASGatingExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; /// External Libraries import {IEAS, Attestation} from "eas-contracts/IEAS.sol"; diff --git a/contracts/extensions/NFTGatingExtension.sol b/contracts/extensions/NFTGatingExtension.sol index 824dd1679..1bc4b15ba 100644 --- a/contracts/extensions/NFTGatingExtension.sol +++ b/contracts/extensions/NFTGatingExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; /// External Libraries import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; diff --git a/contracts/extensions/TokenGatingExtension.sol b/contracts/extensions/TokenGatingExtension.sol index d98456872..b068f008a 100644 --- a/contracts/extensions/TokenGatingExtension.sol +++ b/contracts/extensions/TokenGatingExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; /// External Libraries import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/contracts/extensions/contracts/MilestonesExtension.sol b/contracts/extensions/contracts/MilestonesExtension.sol index db6b23400..72019172e 100644 --- a/contracts/extensions/contracts/MilestonesExtension.sol +++ b/contracts/extensions/contracts/MilestonesExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // Interfaces import {IMilestonesExtension} from "../interfaces/IMilestonesExtension.sol"; diff --git a/contracts/extensions/contracts/RecipientsExtension.sol b/contracts/extensions/contracts/RecipientsExtension.sol index 334f8a314..e0a5bed6d 100644 --- a/contracts/extensions/contracts/RecipientsExtension.sol +++ b/contracts/extensions/contracts/RecipientsExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {IRecipientsExtension} from "../interfaces/IRecipientsExtension.sol"; import {IRegistry} from "../../core/interfaces/IRegistry.sol"; diff --git a/contracts/extensions/interfaces/IMilestonesExtension.sol b/contracts/extensions/interfaces/IMilestonesExtension.sol index 934106b82..0c4368e08 100644 --- a/contracts/extensions/interfaces/IMilestonesExtension.sol +++ b/contracts/extensions/interfaces/IMilestonesExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {Metadata} from "../../core/libraries/Metadata.sol"; diff --git a/contracts/extensions/interfaces/IRecipientsExtension.sol b/contracts/extensions/interfaces/IRecipientsExtension.sol index 613d1f19a..3723dadaa 100644 --- a/contracts/extensions/interfaces/IRecipientsExtension.sol +++ b/contracts/extensions/interfaces/IRecipientsExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {Metadata} from "../../core/libraries/Metadata.sol"; diff --git a/contracts/factories/ContractFactory.sol b/contracts/factories/ContractFactory.sol index b29174992..e823db367 100644 --- a/contracts/factories/ContractFactory.sol +++ b/contracts/factories/ContractFactory.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External import {CREATE3} from "solady/utils/CREATE3.sol"; diff --git a/contracts/factories/DGLFactory.sol b/contracts/factories/DGLFactory.sol index daaae7be6..ce8329874 100644 --- a/contracts/factories/DGLFactory.sol +++ b/contracts/factories/DGLFactory.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import "solady/auth/Ownable.sol"; diff --git a/contracts/factories/DVMDTFactory.sol b/contracts/factories/DVMDTFactory.sol index 80e1f66bb..ec3344d83 100644 --- a/contracts/factories/DVMDTFactory.sol +++ b/contracts/factories/DVMDTFactory.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import "solady/auth/Ownable.sol"; diff --git a/contracts/migration/AlloV1ToV2ProfileMigration.sol b/contracts/migration/AlloV1ToV2ProfileMigration.sol index b3cce74ad..664b93e7d 100644 --- a/contracts/migration/AlloV1ToV2ProfileMigration.sol +++ b/contracts/migration/AlloV1ToV2ProfileMigration.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // Core Contracts import {Metadata} from "../core/libraries/Metadata.sol"; diff --git a/contracts/strategies/BaseStrategy.sol b/contracts/strategies/BaseStrategy.sol index 3920000a1..6d6ced165 100644 --- a/contracts/strategies/BaseStrategy.sol +++ b/contracts/strategies/BaseStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; // Interfaces import "../core/interfaces/IStrategy.sol"; diff --git a/contracts/strategies/CoreBaseStrategy.sol b/contracts/strategies/CoreBaseStrategy.sol index 59a8165cc..0d2835799 100644 --- a/contracts/strategies/CoreBaseStrategy.sol +++ b/contracts/strategies/CoreBaseStrategy.sol @@ -1,5 +1,5 @@ /// SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; /// Interfaces import "../core/interfaces/IBaseStrategy.sol"; diff --git a/contracts/strategies/DirectAllocation.sol b/contracts/strategies/DirectAllocation.sol index d6c624e02..e3f150ca9 100644 --- a/contracts/strategies/DirectAllocation.sol +++ b/contracts/strategies/DirectAllocation.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {CoreBaseStrategy} from "./CoreBaseStrategy.sol"; diff --git a/contracts/strategies/DonationVotingOffchain.sol b/contracts/strategies/DonationVotingOffchain.sol index c25d34ca9..ec48c2a5d 100644 --- a/contracts/strategies/DonationVotingOffchain.sol +++ b/contracts/strategies/DonationVotingOffchain.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {SafeTransferLib} from "solady/utils/SafeTransferLib.sol"; // Interfaces diff --git a/contracts/strategies/DonationVotingOnchain.sol b/contracts/strategies/DonationVotingOnchain.sol index 0653487ae..f9d77f1d5 100644 --- a/contracts/strategies/DonationVotingOnchain.sol +++ b/contracts/strategies/DonationVotingOnchain.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {SafeTransferLib} from "solady/utils/SafeTransferLib.sol"; // Interfaces diff --git a/contracts/strategies/EasyRPGF.sol b/contracts/strategies/EasyRPGF.sol index 260719002..c24b42352 100644 --- a/contracts/strategies/EasyRPGF.sol +++ b/contracts/strategies/EasyRPGF.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // Interfaces import {IAllo} from "contracts/core/interfaces/IAllo.sol"; diff --git a/contracts/strategies/QVImpactStream.sol b/contracts/strategies/QVImpactStream.sol index 9055c5092..9756fb597 100644 --- a/contracts/strategies/QVImpactStream.sol +++ b/contracts/strategies/QVImpactStream.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/contracts/strategies/QVSimple.sol b/contracts/strategies/QVSimple.sol index d9b9842be..15d61e079 100644 --- a/contracts/strategies/QVSimple.sol +++ b/contracts/strategies/QVSimple.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // Interfaces import {IAllo} from "contracts/core/interfaces/IAllo.sol"; diff --git a/contracts/strategies/RFPSimple.sol b/contracts/strategies/RFPSimple.sol index 5dd6018dd..d30a27cf4 100644 --- a/contracts/strategies/RFPSimple.sol +++ b/contracts/strategies/RFPSimple.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // Interfaces import {IAllo} from "../core/interfaces/IAllo.sol"; diff --git a/contracts/strategies/_poc/direct-grants-simple/DirectGrantsSimpleStrategy.sol b/contracts/strategies/_poc/direct-grants-simple/DirectGrantsSimpleStrategy.sol index 581a0b313..23bf033d0 100644 --- a/contracts/strategies/_poc/direct-grants-simple/DirectGrantsSimpleStrategy.sol +++ b/contracts/strategies/_poc/direct-grants-simple/DirectGrantsSimpleStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import {ReentrancyGuard} from "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol"; diff --git a/contracts/strategies/_poc/donation-voting-custom-registry/DonationVotingCustomRegistryStrategy.sol b/contracts/strategies/_poc/donation-voting-custom-registry/DonationVotingCustomRegistryStrategy.sol index 667658be4..7d4d46d25 100644 --- a/contracts/strategies/_poc/donation-voting-custom-registry/DonationVotingCustomRegistryStrategy.sol +++ b/contracts/strategies/_poc/donation-voting-custom-registry/DonationVotingCustomRegistryStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // Core Contracts import {DonationVotingStrategy} from "../donation-voting/DonationVotingStrategy.sol"; diff --git a/contracts/strategies/_poc/donation-voting-custom-registry/SimpleProjectRegistry.sol b/contracts/strategies/_poc/donation-voting-custom-registry/SimpleProjectRegistry.sol index 0abfef5e3..9374f1437 100644 --- a/contracts/strategies/_poc/donation-voting-custom-registry/SimpleProjectRegistry.sol +++ b/contracts/strategies/_poc/donation-voting-custom-registry/SimpleProjectRegistry.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; /** * Simple Project Registry diff --git a/contracts/strategies/_poc/donation-voting/DonationVotingStrategy.sol b/contracts/strategies/_poc/donation-voting/DonationVotingStrategy.sol index 58a646774..9782d3d70 100644 --- a/contracts/strategies/_poc/donation-voting/DonationVotingStrategy.sol +++ b/contracts/strategies/_poc/donation-voting/DonationVotingStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import {ReentrancyGuard} from "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol"; diff --git a/contracts/strategies/_poc/hedgey/HedgeyRFPCommitteeStrategy.sol b/contracts/strategies/_poc/hedgey/HedgeyRFPCommitteeStrategy.sol index 042b60828..3dbb12541 100644 --- a/contracts/strategies/_poc/hedgey/HedgeyRFPCommitteeStrategy.sol +++ b/contracts/strategies/_poc/hedgey/HedgeyRFPCommitteeStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // Core Contracts import {RFPCommitteeStrategy} from "../../rfp-committee/RFPCommitteeStrategy.sol"; diff --git a/contracts/strategies/_poc/micro-grants/MicroGrantsBaseStrategy.sol b/contracts/strategies/_poc/micro-grants/MicroGrantsBaseStrategy.sol index 471fe1555..fb1e2e356 100644 --- a/contracts/strategies/_poc/micro-grants/MicroGrantsBaseStrategy.sol +++ b/contracts/strategies/_poc/micro-grants/MicroGrantsBaseStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import {ReentrancyGuard} from "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol"; diff --git a/contracts/strategies/_poc/micro-grants/MicroGrantsGovStrategy.sol b/contracts/strategies/_poc/micro-grants/MicroGrantsGovStrategy.sol index fcf296b13..2dbc71273 100644 --- a/contracts/strategies/_poc/micro-grants/MicroGrantsGovStrategy.sol +++ b/contracts/strategies/_poc/micro-grants/MicroGrantsGovStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // Interfaces import {UniversalGov} from "./interfaces/UniversalGov.sol"; diff --git a/contracts/strategies/_poc/micro-grants/MicroGrantsHatsStrategy.sol b/contracts/strategies/_poc/micro-grants/MicroGrantsHatsStrategy.sol index dda2d60c5..6841f0258 100644 --- a/contracts/strategies/_poc/micro-grants/MicroGrantsHatsStrategy.sol +++ b/contracts/strategies/_poc/micro-grants/MicroGrantsHatsStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import {IHats} from "hats-protocol/Interfaces/IHats.sol"; diff --git a/contracts/strategies/_poc/micro-grants/MicroGrantsStrategy.sol b/contracts/strategies/_poc/micro-grants/MicroGrantsStrategy.sol index 70c69a756..e97608733 100644 --- a/contracts/strategies/_poc/micro-grants/MicroGrantsStrategy.sol +++ b/contracts/strategies/_poc/micro-grants/MicroGrantsStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // Internal Libraries import {MicroGrantsBaseStrategy} from "./MicroGrantsBaseStrategy.sol"; diff --git a/contracts/strategies/_poc/micro-grants/README.md b/contracts/strategies/_poc/micro-grants/README.md index dbd5167f2..cf7d31de6 100644 --- a/contracts/strategies/_poc/micro-grants/README.md +++ b/contracts/strategies/_poc/micro-grants/README.md @@ -64,7 +64,7 @@ sequenceDiagram ## Smart Contract Overview - **License:** The `RFPSimpleStrategy` contract operates under the AGPL-3.0-only License, fostering open-source usage under specific terms. -- **Solidity Version:** Developed using Solidity version 0.8.22, capitalizing on the latest Ethereum smart contract functionalities. +- **Solidity Version:** Developed using Solidity version ^0.8.19, capitalizing on the latest Ethereum smart contract functionalities. - **External Libraries:** Utilizes the `ReentrancyGuard` library from the OpenZeppelin contracts to prevent reentrant attacks. - **Interfaces:** Imports interfaces from the Allo core and external libraries. - **Internal Libraries:** Imports the `Metadata` library from the Allo core for metadata management. diff --git a/contracts/strategies/_poc/micro-grants/interfaces/UniversalGov.sol b/contracts/strategies/_poc/micro-grants/interfaces/UniversalGov.sol index ee5be15d8..9299e454b 100644 --- a/contracts/strategies/_poc/micro-grants/interfaces/UniversalGov.sol +++ b/contracts/strategies/_poc/micro-grants/interfaces/UniversalGov.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; interface UniversalGov { function getPriorVotes(address _account, uint256 _blockNumber) external view returns (uint96); diff --git a/contracts/strategies/_poc/proportional-payout/ProportionalPayoutStrategy.sol b/contracts/strategies/_poc/proportional-payout/ProportionalPayoutStrategy.sol index dc734d5c3..ae30f2bac 100644 --- a/contracts/strategies/_poc/proportional-payout/ProportionalPayoutStrategy.sol +++ b/contracts/strategies/_poc/proportional-payout/ProportionalPayoutStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {ERC721} from "solady/tokens/ERC721.sol"; import {IAllo} from "./../../../core/interfaces/IAllo.sol"; diff --git a/contracts/strategies/_poc/qv-governance/QVGovernanceERC20Votes.sol b/contracts/strategies/_poc/qv-governance/QVGovernanceERC20Votes.sol index 56adf8956..ddea78add 100644 --- a/contracts/strategies/_poc/qv-governance/QVGovernanceERC20Votes.sol +++ b/contracts/strategies/_poc/qv-governance/QVGovernanceERC20Votes.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.199; // External Libraries import "openzeppelin-contracts/contracts/governance/utils/IVotes.sol"; diff --git a/contracts/strategies/_poc/qv-hackathon/HackathonQVStrategy.sol b/contracts/strategies/_poc/qv-hackathon/HackathonQVStrategy.sol index 7ebce1370..3ab8e115f 100644 --- a/contracts/strategies/_poc/qv-hackathon/HackathonQVStrategy.sol +++ b/contracts/strategies/_poc/qv-hackathon/HackathonQVStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import {ERC721} from "solady/tokens/ERC721.sol"; diff --git a/contracts/strategies/_poc/qv-hackathon/SchemaResolver.sol b/contracts/strategies/_poc/qv-hackathon/SchemaResolver.sol index 2e6586325..e00021ad1 100644 --- a/contracts/strategies/_poc/qv-hackathon/SchemaResolver.sol +++ b/contracts/strategies/_poc/qv-hackathon/SchemaResolver.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // Code sourced from: https://github.com/ethereum-attestation-service/eas-contracts/blob/b50148418ea930426084e5e0508159b590ee6202/contracts/resolver/SchemaResolver.sol // Changes made: diff --git a/contracts/strategies/_poc/qv-impact-stream/QVImpactStreamStrategy.sol b/contracts/strategies/_poc/qv-impact-stream/QVImpactStreamStrategy.sol index 66cc2a61a..8af77f3cb 100644 --- a/contracts/strategies/_poc/qv-impact-stream/QVImpactStreamStrategy.sol +++ b/contracts/strategies/_poc/qv-impact-stream/QVImpactStreamStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import {Multicall} from "openzeppelin-contracts/contracts/utils/Multicall.sol"; diff --git a/contracts/strategies/_poc/qv-nft-tiered/QVNftTieredStrategy.sol b/contracts/strategies/_poc/qv-nft-tiered/QVNftTieredStrategy.sol index c41c4df8d..a17f543ee 100644 --- a/contracts/strategies/_poc/qv-nft-tiered/QVNftTieredStrategy.sol +++ b/contracts/strategies/_poc/qv-nft-tiered/QVNftTieredStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import {ERC721} from "solady/tokens/ERC721.sol"; diff --git a/contracts/strategies/_poc/sablier-v2/LockupDynamicStrategy.sol b/contracts/strategies/_poc/sablier-v2/LockupDynamicStrategy.sol index ba2e55839..773db9ef4 100644 --- a/contracts/strategies/_poc/sablier-v2/LockupDynamicStrategy.sol +++ b/contracts/strategies/_poc/sablier-v2/LockupDynamicStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {ReentrancyGuard} from "@openzeppelin/contracts/security/ReentrancyGuard.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/contracts/strategies/_poc/sablier-v2/LockupLinearStrategy.sol b/contracts/strategies/_poc/sablier-v2/LockupLinearStrategy.sol index c712219f8..4140f1fd3 100644 --- a/contracts/strategies/_poc/sablier-v2/LockupLinearStrategy.sol +++ b/contracts/strategies/_poc/sablier-v2/LockupLinearStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {ReentrancyGuard} from "@openzeppelin/contracts/security/ReentrancyGuard.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/contracts/strategies/_poc/sqf-superfluid/RecipientSuperApp.sol b/contracts/strategies/_poc/sqf-superfluid/RecipientSuperApp.sol index 6c1055b16..f9a204926 100644 --- a/contracts/strategies/_poc/sqf-superfluid/RecipientSuperApp.sol +++ b/contracts/strategies/_poc/sqf-superfluid/RecipientSuperApp.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import { ISuperfluid, diff --git a/contracts/strategies/_poc/sqf-superfluid/RecipientSuperAppFactory.sol b/contracts/strategies/_poc/sqf-superfluid/RecipientSuperAppFactory.sol index 0966944dc..d387d9706 100644 --- a/contracts/strategies/_poc/sqf-superfluid/RecipientSuperAppFactory.sol +++ b/contracts/strategies/_poc/sqf-superfluid/RecipientSuperAppFactory.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import { ISuperfluid, diff --git a/contracts/strategies/_poc/sqf-superfluid/SQFSuperFluidStrategy.sol b/contracts/strategies/_poc/sqf-superfluid/SQFSuperFluidStrategy.sol index 486d2b726..9e07f8229 100644 --- a/contracts/strategies/_poc/sqf-superfluid/SQFSuperFluidStrategy.sol +++ b/contracts/strategies/_poc/sqf-superfluid/SQFSuperFluidStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import {ReentrancyGuard} from "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol"; diff --git a/contracts/strategies/_poc/wrapped-voting-nftmint/NFT.sol b/contracts/strategies/_poc/wrapped-voting-nftmint/NFT.sol index 53df38bb9..7552de05b 100644 --- a/contracts/strategies/_poc/wrapped-voting-nftmint/NFT.sol +++ b/contracts/strategies/_poc/wrapped-voting-nftmint/NFT.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {ERC721} from "solady/tokens/ERC721.sol"; import "openzeppelin-contracts/contracts/utils/Strings.sol"; diff --git a/contracts/strategies/_poc/wrapped-voting-nftmint/NFTFactory.sol b/contracts/strategies/_poc/wrapped-voting-nftmint/NFTFactory.sol index d3d7c8936..ade4d28eb 100644 --- a/contracts/strategies/_poc/wrapped-voting-nftmint/NFTFactory.sol +++ b/contracts/strategies/_poc/wrapped-voting-nftmint/NFTFactory.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import "./NFT.sol"; diff --git a/contracts/strategies/_poc/wrapped-voting-nftmint/WrappedVotingNftMintStrategy.sol b/contracts/strategies/_poc/wrapped-voting-nftmint/WrappedVotingNftMintStrategy.sol index 6a42b5f63..b9f6dfd86 100644 --- a/contracts/strategies/_poc/wrapped-voting-nftmint/WrappedVotingNftMintStrategy.sol +++ b/contracts/strategies/_poc/wrapped-voting-nftmint/WrappedVotingNftMintStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import {ReentrancyGuard} from "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol"; diff --git a/contracts/strategies/direct-grants-lite/DirectGrantsLite.sol b/contracts/strategies/direct-grants-lite/DirectGrantsLite.sol index ac8389e51..9fecf4bd3 100644 --- a/contracts/strategies/direct-grants-lite/DirectGrantsLite.sol +++ b/contracts/strategies/direct-grants-lite/DirectGrantsLite.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import {Multicall} from "openzeppelin-contracts/contracts/utils/Multicall.sol"; diff --git a/contracts/strategies/donation-voting-merkle-base/DonationVotingMerkleDistributionBaseStrategy.sol b/contracts/strategies/donation-voting-merkle-base/DonationVotingMerkleDistributionBaseStrategy.sol index ee26768cf..a74724868 100644 --- a/contracts/strategies/donation-voting-merkle-base/DonationVotingMerkleDistributionBaseStrategy.sol +++ b/contracts/strategies/donation-voting-merkle-base/DonationVotingMerkleDistributionBaseStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import {ISignatureTransfer} from "permit2/ISignatureTransfer.sol"; diff --git a/contracts/strategies/donation-voting-merkle-base/IDAI.sol b/contracts/strategies/donation-voting-merkle-base/IDAI.sol index 4c1381311..8eab34db6 100644 --- a/contracts/strategies/donation-voting-merkle-base/IDAI.sol +++ b/contracts/strategies/donation-voting-merkle-base/IDAI.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; interface IDAI { function permit( diff --git a/contracts/strategies/donation-voting-merkle-distribution-direct-transfer/DonationVotingMerkleDistributionDirectTransferStrategy.sol b/contracts/strategies/donation-voting-merkle-distribution-direct-transfer/DonationVotingMerkleDistributionDirectTransferStrategy.sol index d15482f72..a573746b0 100644 --- a/contracts/strategies/donation-voting-merkle-distribution-direct-transfer/DonationVotingMerkleDistributionDirectTransferStrategy.sol +++ b/contracts/strategies/donation-voting-merkle-distribution-direct-transfer/DonationVotingMerkleDistributionDirectTransferStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {ISignatureTransfer} from "permit2/ISignatureTransfer.sol"; import {DonationVotingMerkleDistributionBaseStrategy} from diff --git a/contracts/strategies/donation-voting-merkle-distribution-vault/DonationVotingMerkleDistributionVaultStrategy.sol b/contracts/strategies/donation-voting-merkle-distribution-vault/DonationVotingMerkleDistributionVaultStrategy.sol index 60119b494..c47e9b1b2 100644 --- a/contracts/strategies/donation-voting-merkle-distribution-vault/DonationVotingMerkleDistributionVaultStrategy.sol +++ b/contracts/strategies/donation-voting-merkle-distribution-vault/DonationVotingMerkleDistributionVaultStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {ISignatureTransfer} from "permit2/ISignatureTransfer.sol"; import {DonationVotingMerkleDistributionBaseStrategy} from diff --git a/contracts/strategies/easy-rpgf/EasyRPGFStrategy.sol b/contracts/strategies/easy-rpgf/EasyRPGFStrategy.sol index 246214b68..e12c5d9c2 100644 --- a/contracts/strategies/easy-rpgf/EasyRPGFStrategy.sol +++ b/contracts/strategies/easy-rpgf/EasyRPGFStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {BaseStrategy} from "../BaseStrategy.sol"; import {IAllo} from "../../core/interfaces/IAllo.sol"; diff --git a/contracts/strategies/qv-base/QVBaseStrategy.sol b/contracts/strategies/qv-base/QVBaseStrategy.sol index 86b00f0c4..d3c8b8c97 100644 --- a/contracts/strategies/qv-base/QVBaseStrategy.sol +++ b/contracts/strategies/qv-base/QVBaseStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // Interfaces import {IAllo} from "../../core/interfaces/IAllo.sol"; diff --git a/contracts/strategies/qv-simple/QVSimpleStrategy.sol b/contracts/strategies/qv-simple/QVSimpleStrategy.sol index e52757de4..59ed965f7 100644 --- a/contracts/strategies/qv-simple/QVSimpleStrategy.sol +++ b/contracts/strategies/qv-simple/QVSimpleStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import {Multicall} from "openzeppelin-contracts/contracts/utils/Multicall.sol"; diff --git a/contracts/strategies/rfp-committee/RFPCommitteeStrategy.sol b/contracts/strategies/rfp-committee/RFPCommitteeStrategy.sol index b8a9b2743..1131f9a07 100644 --- a/contracts/strategies/rfp-committee/RFPCommitteeStrategy.sol +++ b/contracts/strategies/rfp-committee/RFPCommitteeStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // Core Contracts import {RFPSimpleStrategy} from "../rfp-simple/RFPSimpleStrategy.sol"; diff --git a/contracts/strategies/rfp-simple/RFPSimpleStrategy.sol b/contracts/strategies/rfp-simple/RFPSimpleStrategy.sol index 194de7a24..0dbdc0fc2 100644 --- a/contracts/strategies/rfp-simple/RFPSimpleStrategy.sol +++ b/contracts/strategies/rfp-simple/RFPSimpleStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; // External Libraries import {ReentrancyGuard} from "openzeppelin-contracts/contracts/security/ReentrancyGuard.sol"; diff --git a/test/foundry/core/Allo.t.sol b/test/foundry/core/Allo.t.sol index 3cd949c36..a1ed78217 100644 --- a/test/foundry/core/Allo.t.sol +++ b/test/foundry/core/Allo.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/core/AlloUnit.t.sol b/test/foundry/core/AlloUnit.t.sol index 0486e982f..6bd8e21e8 100644 --- a/test/foundry/core/AlloUnit.t.sol +++ b/test/foundry/core/AlloUnit.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {Test} from "forge-std/Test.sol"; diff --git a/test/foundry/core/Anchor.t.sol b/test/foundry/core/Anchor.t.sol index 7e216fd86..c7ef5bb73 100644 --- a/test/foundry/core/Anchor.t.sol +++ b/test/foundry/core/Anchor.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; import {Anchor} from "../../../contracts/core/Anchor.sol"; diff --git a/test/foundry/core/QFHelper.t.sol b/test/foundry/core/QFHelper.t.sol index 7c332a236..5e6bfe595 100644 --- a/test/foundry/core/QFHelper.t.sol +++ b/test/foundry/core/QFHelper.t.sol @@ -1,5 +1,5 @@ /// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; /// import forge-std/Test.sol import "forge-std/Test.sol"; diff --git a/test/foundry/core/QVHelper.t.sol b/test/foundry/core/QVHelper.t.sol index 6a0115774..c57ba5b52 100644 --- a/test/foundry/core/QVHelper.t.sol +++ b/test/foundry/core/QVHelper.t.sol @@ -1,5 +1,5 @@ /// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; /// import forge-std/Test.sol import "forge-std/Test.sol"; diff --git a/test/foundry/core/Registry.t.sol b/test/foundry/core/Registry.t.sol index 5ad018e45..a1b189682 100644 --- a/test/foundry/core/Registry.t.sol +++ b/test/foundry/core/Registry.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; import "../shared/RegistrySetup.sol"; diff --git a/test/foundry/extensions/BaseGatingExtension.sol b/test/foundry/extensions/BaseGatingExtension.sol index ad18e6778..e4db04f4b 100644 --- a/test/foundry/extensions/BaseGatingExtension.sol +++ b/test/foundry/extensions/BaseGatingExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/extensions/EASGatingExtension.t.sol b/test/foundry/extensions/EASGatingExtension.t.sol index 712fcaee7..67e3545ce 100644 --- a/test/foundry/extensions/EASGatingExtension.t.sol +++ b/test/foundry/extensions/EASGatingExtension.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/extensions/MilestonesExtension.t.sol b/test/foundry/extensions/MilestonesExtension.t.sol index dacbdab4a..8b5ed4382 100644 --- a/test/foundry/extensions/MilestonesExtension.t.sol +++ b/test/foundry/extensions/MilestonesExtension.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {StdStorage, Test, console, stdStorage} from "forge-std/Test.sol"; import {MockStrategyMilestonesExtension} from "../../utils/MockStrategyMilestonesExtension.sol"; diff --git a/test/foundry/extensions/NFTGatingExtension.t.sol b/test/foundry/extensions/NFTGatingExtension.t.sol index b87339389..18a2775c9 100644 --- a/test/foundry/extensions/NFTGatingExtension.t.sol +++ b/test/foundry/extensions/NFTGatingExtension.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/extensions/RecipientsExtension.t.sol b/test/foundry/extensions/RecipientsExtension.t.sol index 0e1b8ff22..5b57c8107 100644 --- a/test/foundry/extensions/RecipientsExtension.t.sol +++ b/test/foundry/extensions/RecipientsExtension.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {Test, console} from "forge-std/Test.sol"; import {MockStrategyRecipientsExtension} from "../../utils/MockStrategyRecipientsExtension.sol"; diff --git a/test/foundry/extensions/TokenGatingExtension.t.sol b/test/foundry/extensions/TokenGatingExtension.t.sol index f221133d5..63d4b8b5a 100644 --- a/test/foundry/extensions/TokenGatingExtension.t.sol +++ b/test/foundry/extensions/TokenGatingExtension.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/factory/ContractFactory.t.sol b/test/foundry/factory/ContractFactory.t.sol index 75f0be024..9d9e0fdaf 100644 --- a/test/foundry/factory/ContractFactory.t.sol +++ b/test/foundry/factory/ContractFactory.t.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/fuzz/QVSimpleStrategyFuzz.t.sol b/test/foundry/fuzz/QVSimpleStrategyFuzz.t.sol index 8d67834ae..314130598 100644 --- a/test/foundry/fuzz/QVSimpleStrategyFuzz.t.sol +++ b/test/foundry/fuzz/QVSimpleStrategyFuzz.t.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; // Interfaces import {IAllo} from "../../../contracts/core/interfaces/IAllo.sol"; diff --git a/test/foundry/integration/Allo.t.sol b/test/foundry/integration/Allo.t.sol index 8f2381e93..301f0fab0 100644 --- a/test/foundry/integration/Allo.t.sol +++ b/test/foundry/integration/Allo.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {IAllo} from "contracts/core/interfaces/IAllo.sol"; import {Metadata} from "contracts/core/Registry.sol"; diff --git a/test/foundry/integration/DirectAllocation.t.sol b/test/foundry/integration/DirectAllocation.t.sol index c659f863a..ded6a8d19 100644 --- a/test/foundry/integration/DirectAllocation.t.sol +++ b/test/foundry/integration/DirectAllocation.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {IAllo} from "contracts/core/interfaces/IAllo.sol"; import {Metadata} from "contracts/core/Registry.sol"; diff --git a/test/foundry/integration/DonationVotingOffchain.t.sol b/test/foundry/integration/DonationVotingOffchain.t.sol index b0c91640b..8f37eb6d9 100644 --- a/test/foundry/integration/DonationVotingOffchain.t.sol +++ b/test/foundry/integration/DonationVotingOffchain.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {IAllo} from "contracts/core/interfaces/IAllo.sol"; import {Metadata} from "contracts/core/Registry.sol"; diff --git a/test/foundry/integration/DonationVotingOnchain.t.sol b/test/foundry/integration/DonationVotingOnchain.t.sol index 9baee6ef0..3f49fcbf7 100644 --- a/test/foundry/integration/DonationVotingOnchain.t.sol +++ b/test/foundry/integration/DonationVotingOnchain.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {IAllo} from "contracts/core/interfaces/IAllo.sol"; import {Metadata} from "contracts/core/Registry.sol"; diff --git a/test/foundry/integration/EasyRPGF.t.sol b/test/foundry/integration/EasyRPGF.t.sol index 334ed06f2..5317d6d08 100644 --- a/test/foundry/integration/EasyRPGF.t.sol +++ b/test/foundry/integration/EasyRPGF.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {IAllo} from "contracts/core/interfaces/IAllo.sol"; import {Metadata} from "contracts/core/Registry.sol"; diff --git a/test/foundry/integration/IBiconomyForwarder.sol b/test/foundry/integration/IBiconomyForwarder.sol index 0a6a0f861..e0d19fe8e 100644 --- a/test/foundry/integration/IBiconomyForwarder.sol +++ b/test/foundry/integration/IBiconomyForwarder.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; interface IBiconomyForwarder { struct ERC20ForwardRequest { diff --git a/test/foundry/integration/IOwnable.sol b/test/foundry/integration/IOwnable.sol index a93fae739..b8e705a2e 100644 --- a/test/foundry/integration/IOwnable.sol +++ b/test/foundry/integration/IOwnable.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.22; +pragma solidity ^0.8.19; interface IOwnable { function owner() external view returns (address); diff --git a/test/foundry/integration/ITransparentUpgradeableProxy.sol b/test/foundry/integration/ITransparentUpgradeableProxy.sol index 488d3247e..fe46c5fb1 100644 --- a/test/foundry/integration/ITransparentUpgradeableProxy.sol +++ b/test/foundry/integration/ITransparentUpgradeableProxy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.22; +pragma solidity ^0.8.19; interface ITransparentUpgradeableProxy { function admin() external view returns (address); diff --git a/test/foundry/integration/IntegrationBase.sol b/test/foundry/integration/IntegrationBase.sol index 3880bcda2..8476718a7 100644 --- a/test/foundry/integration/IntegrationBase.sol +++ b/test/foundry/integration/IntegrationBase.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {Test} from "forge-std/Test.sol"; import {Allo, IAllo} from "contracts/core/Allo.sol"; diff --git a/test/foundry/integration/QVImpactStream.t.sol b/test/foundry/integration/QVImpactStream.t.sol index 737bb57cf..e76ee9691 100644 --- a/test/foundry/integration/QVImpactStream.t.sol +++ b/test/foundry/integration/QVImpactStream.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {Test} from "forge-std/Test.sol"; import {Allo} from "contracts/core/Allo.sol"; diff --git a/test/foundry/integration/QVSimple.t.sol b/test/foundry/integration/QVSimple.t.sol index f1ee98c70..b02e487b9 100644 --- a/test/foundry/integration/QVSimple.t.sol +++ b/test/foundry/integration/QVSimple.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {IAllo} from "contracts/core/interfaces/IAllo.sol"; import {Metadata} from "contracts/core/Registry.sol"; diff --git a/test/foundry/integration/RFPSimple.t.sol b/test/foundry/integration/RFPSimple.t.sol index 184351365..48ea56289 100644 --- a/test/foundry/integration/RFPSimple.t.sol +++ b/test/foundry/integration/RFPSimple.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {IAllo} from "contracts/core/interfaces/IAllo.sol"; import {Metadata} from "contracts/core/Registry.sol"; diff --git a/test/foundry/shared/Accounts.sol b/test/foundry/shared/Accounts.sol index e80f99236..ee0ffc5e3 100644 --- a/test/foundry/shared/Accounts.sol +++ b/test/foundry/shared/Accounts.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/StdCheats.sol"; diff --git a/test/foundry/shared/AlloSetup.sol b/test/foundry/shared/AlloSetup.sol index d2450ad3b..86d59dc7a 100644 --- a/test/foundry/shared/AlloSetup.sol +++ b/test/foundry/shared/AlloSetup.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/shared/EventSetup.sol b/test/foundry/shared/EventSetup.sol index cd5f131e3..bf5567bdf 100644 --- a/test/foundry/shared/EventSetup.sol +++ b/test/foundry/shared/EventSetup.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; contract EventSetup { event Initialized(address allo, bytes32 profileId, uint256 poolId, bytes data); diff --git a/test/foundry/shared/RegistrySetup.sol b/test/foundry/shared/RegistrySetup.sol index fd39ae1a6..777ccc679 100644 --- a/test/foundry/shared/RegistrySetup.sol +++ b/test/foundry/shared/RegistrySetup.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/shared/StrategySetup.sol b/test/foundry/shared/StrategySetup.sol index 304bc4ca1..abc8270a8 100644 --- a/test/foundry/shared/StrategySetup.sol +++ b/test/foundry/shared/StrategySetup.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; import "forge-std/console.sol"; diff --git a/test/foundry/shared/Time.sol b/test/foundry/shared/Time.sol index 1968735bf..d73ded160 100644 --- a/test/foundry/shared/Time.sol +++ b/test/foundry/shared/Time.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/StdCheats.sol"; diff --git a/test/foundry/strategies/BaseStrategy.t.sol b/test/foundry/strategies/BaseStrategy.t.sol index 9b6efc22d..43e435183 100644 --- a/test/foundry/strategies/BaseStrategy.t.sol +++ b/test/foundry/strategies/BaseStrategy.t.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/CoreBaseStrategy.t.sol b/test/foundry/strategies/CoreBaseStrategy.t.sol index e21ea8ace..ff688039d 100644 --- a/test/foundry/strategies/CoreBaseStrategy.t.sol +++ b/test/foundry/strategies/CoreBaseStrategy.t.sol @@ -1,4 +1,4 @@ -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/test/foundry/strategies/DirectAllocation.t.sol b/test/foundry/strategies/DirectAllocation.t.sol index 05cc3e5d1..4941cfb96 100644 --- a/test/foundry/strategies/DirectAllocation.t.sol +++ b/test/foundry/strategies/DirectAllocation.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {Test} from "forge-std/Test.sol"; import {DirectAllocationStrategy} from "../../../contracts/strategies/DirectAllocation.sol"; diff --git a/test/foundry/strategies/DirectGrantsLite.t.sol b/test/foundry/strategies/DirectGrantsLite.t.sol index 36fb36713..e3977d933 100644 --- a/test/foundry/strategies/DirectGrantsLite.t.sol +++ b/test/foundry/strategies/DirectGrantsLite.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: AGPL-3.0-only -// pragma solidity ^0.8.22; +// pragma solidity ^0.8.19; // // Test contracts // import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/DirectGrantsSimpleStrategy.t.sol b/test/foundry/strategies/DirectGrantsSimpleStrategy.t.sol index d47c0cb28..e19d8aff8 100644 --- a/test/foundry/strategies/DirectGrantsSimpleStrategy.t.sol +++ b/test/foundry/strategies/DirectGrantsSimpleStrategy.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/DonationVotingCustomRegistryStrategy.t.sol b/test/foundry/strategies/DonationVotingCustomRegistryStrategy.t.sol index 5bdce77eb..4decbd34e 100644 --- a/test/foundry/strategies/DonationVotingCustomRegistryStrategy.t.sol +++ b/test/foundry/strategies/DonationVotingCustomRegistryStrategy.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/DonationVotingMerkleDistributionBase.t.sol b/test/foundry/strategies/DonationVotingMerkleDistributionBase.t.sol index baae32844..c5585e4db 100644 --- a/test/foundry/strategies/DonationVotingMerkleDistributionBase.t.sol +++ b/test/foundry/strategies/DonationVotingMerkleDistributionBase.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: AGPL-3.0-only -// pragma solidity ^0.8.22; +// pragma solidity ^0.8.19; // // Test contracts // import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/DonationVotingMerkleDistributionDirectTransferStrategy.t.sol b/test/foundry/strategies/DonationVotingMerkleDistributionDirectTransferStrategy.t.sol index aa523e5e7..2d87c3042 100644 --- a/test/foundry/strategies/DonationVotingMerkleDistributionDirectTransferStrategy.t.sol +++ b/test/foundry/strategies/DonationVotingMerkleDistributionDirectTransferStrategy.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: AGPL-3.0-only -// pragma solidity ^0.8.22; +// pragma solidity ^0.8.19; // // Test contracts // import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/DonationVotingMerkleDistributionVaultStrategy.t.sol b/test/foundry/strategies/DonationVotingMerkleDistributionVaultStrategy.t.sol index ace9b63b0..5b81ce54d 100644 --- a/test/foundry/strategies/DonationVotingMerkleDistributionVaultStrategy.t.sol +++ b/test/foundry/strategies/DonationVotingMerkleDistributionVaultStrategy.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: AGPL-3.0-only -// pragma solidity ^0.8.22; +// pragma solidity ^0.8.19; // // Test contracts // import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/DonationVotingStrategy.t.sol b/test/foundry/strategies/DonationVotingStrategy.t.sol index fca7d3fdd..6231759cf 100644 --- a/test/foundry/strategies/DonationVotingStrategy.t.sol +++ b/test/foundry/strategies/DonationVotingStrategy.t.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/HackathonQVStrategy.t.sol b/test/foundry/strategies/HackathonQVStrategy.t.sol index f2ac3150a..70b32004c 100644 --- a/test/foundry/strategies/HackathonQVStrategy.t.sol +++ b/test/foundry/strategies/HackathonQVStrategy.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/MicroGrantsBaseStrategy.t.sol b/test/foundry/strategies/MicroGrantsBaseStrategy.t.sol index 50ddd593d..79c67241f 100644 --- a/test/foundry/strategies/MicroGrantsBaseStrategy.t.sol +++ b/test/foundry/strategies/MicroGrantsBaseStrategy.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -// pragma solidity ^0.8.22; +// pragma solidity ^0.8.19; // import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/MicroGrantsGovStrategy.t.sol b/test/foundry/strategies/MicroGrantsGovStrategy.t.sol index 87558a138..be8203ccb 100644 --- a/test/foundry/strategies/MicroGrantsGovStrategy.t.sol +++ b/test/foundry/strategies/MicroGrantsGovStrategy.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -// pragma solidity ^0.8.22; +// pragma solidity ^0.8.19; // import {IStrategy} from "../../../contracts/core/interfaces/IStrategy.sol"; diff --git a/test/foundry/strategies/MicroGrantsHatsStrategy.t.sol b/test/foundry/strategies/MicroGrantsHatsStrategy.t.sol index 011d4bfa4..dcf08392d 100644 --- a/test/foundry/strategies/MicroGrantsHatsStrategy.t.sol +++ b/test/foundry/strategies/MicroGrantsHatsStrategy.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -// pragma solidity ^0.8.22; +// pragma solidity ^0.8.19; // import {IStrategy} from "../../../contracts/core/interfaces/IStrategy.sol"; diff --git a/test/foundry/strategies/MicroGrantsStrategy.t.sol b/test/foundry/strategies/MicroGrantsStrategy.t.sol index 12eab1e8d..866bd5a55 100644 --- a/test/foundry/strategies/MicroGrantsStrategy.t.sol +++ b/test/foundry/strategies/MicroGrantsStrategy.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -// pragma solidity ^0.8.22; +// pragma solidity ^0.8.19; // import {IStrategy} from "../../../contracts/core/interfaces/IStrategy.sol"; diff --git a/test/foundry/strategies/ProportionalPayoutStrategy.t.sol b/test/foundry/strategies/ProportionalPayoutStrategy.t.sol index 54eb5eed4..b49efad1d 100644 --- a/test/foundry/strategies/ProportionalPayoutStrategy.t.sol +++ b/test/foundry/strategies/ProportionalPayoutStrategy.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -// pragma solidity ^0.8.22; +// pragma solidity ^0.8.19; // import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/QVBaseStrategy.t.sol b/test/foundry/strategies/QVBaseStrategy.t.sol index 4c7ba9dac..e451cd678 100644 --- a/test/foundry/strategies/QVBaseStrategy.t.sol +++ b/test/foundry/strategies/QVBaseStrategy.t.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/QVGovernanceERC20Votes.t.sol b/test/foundry/strategies/QVGovernanceERC20Votes.t.sol index 49e73c657..4be5cae2a 100644 --- a/test/foundry/strategies/QVGovernanceERC20Votes.t.sol +++ b/test/foundry/strategies/QVGovernanceERC20Votes.t.sol @@ -1,5 +1,5 @@ // SPDX-License Identifier: MIT -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; // Interfaces import {IStrategy} from "../../../contracts/core/interfaces/IStrategy.sol"; diff --git a/test/foundry/strategies/QVImpactStreamStrategyTest.t.sol b/test/foundry/strategies/QVImpactStreamStrategyTest.t.sol index 7c98781b5..86a17df86 100644 --- a/test/foundry/strategies/QVImpactStreamStrategyTest.t.sol +++ b/test/foundry/strategies/QVImpactStreamStrategyTest.t.sol @@ -1,4 +1,4 @@ -// pragma solidity ^0.8.22; +// pragma solidity ^0.8.19; // import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/QVNftTieredStrategy.t.sol b/test/foundry/strategies/QVNftTieredStrategy.t.sol index 39b122375..08873936c 100644 --- a/test/foundry/strategies/QVNftTieredStrategy.t.sol +++ b/test/foundry/strategies/QVNftTieredStrategy.t.sol @@ -1,5 +1,5 @@ // SPDX-License Identifier: MIT -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; // Interfaces import {IStrategy} from "../../../contracts/core/interfaces/IStrategy.sol"; diff --git a/test/foundry/strategies/QVSimpleStrategy.t.sol b/test/foundry/strategies/QVSimpleStrategy.t.sol index 1fbb022ce..fc6708053 100644 --- a/test/foundry/strategies/QVSimpleStrategy.t.sol +++ b/test/foundry/strategies/QVSimpleStrategy.t.sol @@ -1,5 +1,5 @@ // SPDX-License Identifier: MIT -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; // Interfaces import {QVBaseStrategy} from "../../../contracts/strategies/qv-base/QVBaseStrategy.sol"; diff --git a/test/foundry/strategies/RFPCommitteeStrategy.t.sol b/test/foundry/strategies/RFPCommitteeStrategy.t.sol index 41ee56fee..92d5b2042 100644 --- a/test/foundry/strategies/RFPCommitteeStrategy.t.sol +++ b/test/foundry/strategies/RFPCommitteeStrategy.t.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/RFPSimpleStrategy.t.sol b/test/foundry/strategies/RFPSimpleStrategy.t.sol index 4a7505e9d..9ddf46b08 100644 --- a/test/foundry/strategies/RFPSimpleStrategy.t.sol +++ b/test/foundry/strategies/RFPSimpleStrategy.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0-or-later -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/SQFSuperFluidStrategy.t.sol b/test/foundry/strategies/SQFSuperFluidStrategy.t.sol index 31493b611..a09e81642 100644 --- a/test/foundry/strategies/SQFSuperFluidStrategy.t.sol +++ b/test/foundry/strategies/SQFSuperFluidStrategy.t.sol @@ -1,5 +1,5 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -// pragma solidity ^0.8.22; +// pragma solidity ^0.8.19; // import {SQFSuperFluidStrategy} from "../../../contracts/strategies/_poc/sqf-superfluid/SQFSuperFluidStrategy.sol"; // import {RecipientSuperApp} from "../../../contracts/strategies/_poc/sqf-superfluid/RecipientSuperApp.sol"; diff --git a/test/foundry/strategies/SimpleProjectRegistry.t.sol b/test/foundry/strategies/SimpleProjectRegistry.t.sol index fbad0ac62..db29fbb08 100644 --- a/test/foundry/strategies/SimpleProjectRegistry.t.sol +++ b/test/foundry/strategies/SimpleProjectRegistry.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/WrappedVotingNftMintStrategy.t.sol b/test/foundry/strategies/WrappedVotingNftMintStrategy.t.sol index eb8d4f1e7..c13cc7d28 100644 --- a/test/foundry/strategies/WrappedVotingNftMintStrategy.t.sol +++ b/test/foundry/strategies/WrappedVotingNftMintStrategy.t.sol @@ -1,4 +1,4 @@ -// pragma solidity ^0.8.22; +// pragma solidity ^0.8.19; // import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/hedgey/HedgeyRFPCommitteeStrategy.t.sol b/test/foundry/strategies/hedgey/HedgeyRFPCommitteeStrategy.t.sol index 3ea99fb5e..ccc11a198 100644 --- a/test/foundry/strategies/hedgey/HedgeyRFPCommitteeStrategy.t.sol +++ b/test/foundry/strategies/hedgey/HedgeyRFPCommitteeStrategy.t.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/hedgey/HedgeySetup.sol b/test/foundry/strategies/hedgey/HedgeySetup.sol index 873e1f3a5..709191f61 100644 --- a/test/foundry/strategies/hedgey/HedgeySetup.sol +++ b/test/foundry/strategies/hedgey/HedgeySetup.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/foundry/strategies/sablier-v2/LockupBase.t.sol b/test/foundry/strategies/sablier-v2/LockupBase.t.sol index ed3db54bb..21e25f2b1 100644 --- a/test/foundry/strategies/sablier-v2/LockupBase.t.sol +++ b/test/foundry/strategies/sablier-v2/LockupBase.t.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {Broker} from "@sablier/v2-core/src/types/DataTypes.sol"; import {UD60x18} from "@sablier/v2-core/src/types/Math.sol"; diff --git a/test/foundry/strategies/sablier-v2/LockupDynamicStrategy.t.sol b/test/foundry/strategies/sablier-v2/LockupDynamicStrategy.t.sol index 2655ef5f6..708b22f77 100644 --- a/test/foundry/strategies/sablier-v2/LockupDynamicStrategy.t.sol +++ b/test/foundry/strategies/sablier-v2/LockupDynamicStrategy.t.sol @@ -1,4 +1,4 @@ -// pragma solidity ^0.8.22; +// pragma solidity ^0.8.19; // import {ISablierV2LockupDynamic} from "@sablier/v2-core/src/interfaces/ISablierV2LockupDynamic.sol"; // import {Broker, LockupDynamic} from "@sablier/v2-core/src/types/DataTypes.sol"; diff --git a/test/foundry/strategies/sablier-v2/LockupLinearStrategy.t.sol b/test/foundry/strategies/sablier-v2/LockupLinearStrategy.t.sol index b7a6071bf..b9d32204a 100644 --- a/test/foundry/strategies/sablier-v2/LockupLinearStrategy.t.sol +++ b/test/foundry/strategies/sablier-v2/LockupLinearStrategy.t.sol @@ -1,4 +1,4 @@ -// pragma solidity ^0.8.22; +// pragma solidity ^0.8.19; // import {ISablierV2LockupLinear} from "@sablier/v2-core/src/interfaces/ISablierV2LockupLinear.sol"; // import {Broker, LockupLinear} from "@sablier/v2-core/src/types/DataTypes.sol"; diff --git a/test/utils/DonationVotingMerkleDistributionBaseMock.sol b/test/utils/DonationVotingMerkleDistributionBaseMock.sol index 889ceca42..5109944da 100644 --- a/test/utils/DonationVotingMerkleDistributionBaseMock.sol +++ b/test/utils/DonationVotingMerkleDistributionBaseMock.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {ISignatureTransfer} from "permit2/ISignatureTransfer.sol"; import {DonationVotingMerkleDistributionBaseStrategy} from diff --git a/test/utils/GasHelpers.sol b/test/utils/GasHelpers.sol index a1c058c29..405269437 100644 --- a/test/utils/GasHelpers.sol +++ b/test/utils/GasHelpers.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import "forge-std/Test.sol"; diff --git a/test/utils/MockAllo.sol b/test/utils/MockAllo.sol index df90f3422..bf9098700 100644 --- a/test/utils/MockAllo.sol +++ b/test/utils/MockAllo.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {Allo} from "../../contracts/core/Allo.sol"; diff --git a/test/utils/MockBaseStrategy.sol b/test/utils/MockBaseStrategy.sol index a15b32307..703e7a27d 100644 --- a/test/utils/MockBaseStrategy.sol +++ b/test/utils/MockBaseStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import "../../contracts/strategies/CoreBaseStrategy.sol"; diff --git a/test/utils/MockEAS.sol b/test/utils/MockEAS.sol index c5782dd6c..c79660dbe 100644 --- a/test/utils/MockEAS.sol +++ b/test/utils/MockEAS.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import { Attestation, AttestationRequest, AttestationRequestData, IEAS, RevocationRequest diff --git a/test/utils/MockERC20.sol b/test/utils/MockERC20.sol index 570845282..b7601e044 100644 --- a/test/utils/MockERC20.sol +++ b/test/utils/MockERC20.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {ERC20} from "solady/tokens/ERC20.sol"; diff --git a/test/utils/MockERC20Permit.sol b/test/utils/MockERC20Permit.sol index 2d95aa52c..7c4602d59 100644 --- a/test/utils/MockERC20Permit.sol +++ b/test/utils/MockERC20Permit.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol"; diff --git a/test/utils/MockERC20PermitDAI.sol b/test/utils/MockERC20PermitDAI.sol index 579970780..a05b566e8 100644 --- a/test/utils/MockERC20PermitDAI.sol +++ b/test/utils/MockERC20PermitDAI.sol @@ -2,7 +2,7 @@ /// dai.sol -- Dai Stablecoin ERC-20 Token -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; contract MockERC20PermitDAI { // --- EIP712 niceties --- diff --git a/test/utils/MockERC20Vote.sol b/test/utils/MockERC20Vote.sol index 3a5a735c0..e35edf80d 100644 --- a/test/utils/MockERC20Vote.sol +++ b/test/utils/MockERC20Vote.sol @@ -1,5 +1,5 @@ //SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {MockERC20} from "./MockERC20.sol"; diff --git a/test/utils/MockERC721.sol b/test/utils/MockERC721.sol index 6f4271643..3bcb9a13b 100644 --- a/test/utils/MockERC721.sol +++ b/test/utils/MockERC721.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {ERC721} from "solady/tokens/ERC721.sol"; import {LibString} from "solady/utils/LibString.sol"; diff --git a/test/utils/MockGatingExtension.sol b/test/utils/MockGatingExtension.sol index 853d4af1d..83a5986b5 100644 --- a/test/utils/MockGatingExtension.sol +++ b/test/utils/MockGatingExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {CoreBaseStrategy} from "../../contracts/strategies/CoreBaseStrategy.sol"; import {EASGatingExtension} from "../../contracts/extensions/EASGatingExtension.sol"; diff --git a/test/utils/MockHats.sol b/test/utils/MockHats.sol index 6dc8cf894..bdbc400cc 100644 --- a/test/utils/MockHats.sol +++ b/test/utils/MockHats.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0-or-later -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; contract MockHats { mapping(address => bool) public hats; diff --git a/test/utils/MockMicroGrantsBaseStrategy.sol b/test/utils/MockMicroGrantsBaseStrategy.sol index 98b4e2efc..b2a8ba48e 100644 --- a/test/utils/MockMicroGrantsBaseStrategy.sol +++ b/test/utils/MockMicroGrantsBaseStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: GPL-3.0-or-later -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {MicroGrantsBaseStrategy} from "../../contracts/strategies/_poc/micro-grants/MicroGrantsBaseStrategy.sol"; diff --git a/test/utils/MockPassportDecoder.sol b/test/utils/MockPassportDecoder.sol index 2c3c24493..825e374f8 100644 --- a/test/utils/MockPassportDecoder.sol +++ b/test/utils/MockPassportDecoder.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; contract MockPassportDecoder { struct Score { diff --git a/test/utils/MockQFHelper.sol b/test/utils/MockQFHelper.sol index bc2a29a24..1da7a5d51 100644 --- a/test/utils/MockQFHelper.sol +++ b/test/utils/MockQFHelper.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "contracts/core/libraries/QFHelper.sol"; diff --git a/test/utils/MockQVHelper.sol b/test/utils/MockQVHelper.sol index f0846a416..507ec8b2e 100644 --- a/test/utils/MockQVHelper.sol +++ b/test/utils/MockQVHelper.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "contracts/core/libraries/QVHelper.sol"; diff --git a/test/utils/MockRevertingReceiver.sol b/test/utils/MockRevertingReceiver.sol index 7cce002c2..fd536cfd4 100644 --- a/test/utils/MockRevertingReceiver.sol +++ b/test/utils/MockRevertingReceiver.sol @@ -1,6 +1,6 @@ // SPDX-License_Identifier: MIT -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; contract MockRevertingReceiver { receive() external payable { diff --git a/test/utils/MockStrategy.sol b/test/utils/MockStrategy.sol index f0e6b4594..7f1e4d767 100644 --- a/test/utils/MockStrategy.sol +++ b/test/utils/MockStrategy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import "contracts/strategies/CoreBaseStrategy.sol"; diff --git a/test/utils/MockStrategyMilestonesExtension.sol b/test/utils/MockStrategyMilestonesExtension.sol index dd37f0251..16a827277 100644 --- a/test/utils/MockStrategyMilestonesExtension.sol +++ b/test/utils/MockStrategyMilestonesExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {CoreBaseStrategy} from "../../contracts/strategies/CoreBaseStrategy.sol"; import {MilestonesExtension} from "../../contracts/extensions/contracts/MilestonesExtension.sol"; diff --git a/test/utils/MockStrategyRecipientsExtension.sol b/test/utils/MockStrategyRecipientsExtension.sol index 0532be979..cda83a416 100644 --- a/test/utils/MockStrategyRecipientsExtension.sol +++ b/test/utils/MockStrategyRecipientsExtension.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {CoreBaseStrategy} from "../../contracts/strategies/CoreBaseStrategy.sol"; import {RecipientsExtension} from "../../contracts/extensions/contracts/RecipientsExtension.sol"; diff --git a/test/utils/MockUniversalGov.sol b/test/utils/MockUniversalGov.sol index 96bce7f1e..0809bfdbf 100644 --- a/test/utils/MockUniversalGov.sol +++ b/test/utils/MockUniversalGov.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.22; +pragma solidity ^0.8.19; contract MockUniversalGov { mapping(address => uint256) public gov; diff --git a/test/utils/QVBaseStrategyTestMock.sol b/test/utils/QVBaseStrategyTestMock.sol index 74f21d568..c21d6bff5 100644 --- a/test/utils/QVBaseStrategyTestMock.sol +++ b/test/utils/QVBaseStrategyTestMock.sol @@ -1,5 +1,5 @@ // SPDX-License Identifier: MIT -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {QVBaseStrategy} from "../../contracts/strategies/qv-base/QVBaseStrategy.sol"; diff --git a/test/utils/TestUtilities.sol b/test/utils/TestUtilities.sol index d1b215045..bebd52a4e 100644 --- a/test/utils/TestUtilities.sol +++ b/test/utils/TestUtilities.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.22; +pragma solidity ^0.8.19; import {Anchor} from "../../contracts/core/Anchor.sol"; From 61ed1e7c7f0600d4337a73d6143ec073b1f57bfd Mon Sep 17 00:00:00 2001 From: ilpepepig Date: Sun, 25 Aug 2024 18:25:34 -0300 Subject: [PATCH 3/8] fix: pragma --- .../_poc/qv-governance/QVGovernanceERC20Votes.sol | 2 +- test/foundry/strategies/QVImpactStream.t.sol | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/contracts/strategies/_poc/qv-governance/QVGovernanceERC20Votes.sol b/contracts/strategies/_poc/qv-governance/QVGovernanceERC20Votes.sol index ddea78add..0db00b572 100644 --- a/contracts/strategies/_poc/qv-governance/QVGovernanceERC20Votes.sol +++ b/contracts/strategies/_poc/qv-governance/QVGovernanceERC20Votes.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity ^0.8.199; +pragma solidity ^0.8.19; // External Libraries import "openzeppelin-contracts/contracts/governance/utils/IVotes.sol"; diff --git a/test/foundry/strategies/QVImpactStream.t.sol b/test/foundry/strategies/QVImpactStream.t.sol index 0139a6a7b..b5caf4d7b 100644 --- a/test/foundry/strategies/QVImpactStream.t.sol +++ b/test/foundry/strategies/QVImpactStream.t.sol @@ -1,11 +1,11 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity 0.8.22; +pragma solidity ^0.8.19; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {StdStorage, Test, stdStorage} from "forge-std/Test.sol"; import {IAllo} from "../../../contracts/core/interfaces/IAllo.sol"; -import {IStrategy} from "../../../contracts/core/interfaces/IStrategy.sol"; +import {IBaseStrategy} from "../../../contracts/core/interfaces/IBaseStrategy.sol"; import {IRecipientsExtension} from "../../../contracts/extensions/interfaces/IRecipientsExtension.sol"; import {QVSimple} from "../../../contracts/strategies/QVSimple.sol"; import {QVImpactStream} from "../../../contracts/strategies/QVImpactStream.sol"; @@ -149,7 +149,7 @@ contract QVImpactStreamTest is Test { function test__distributeRevertWhen_PayoutAmountForRecipientIsZero() external callWithPoolManager { IAllo.Pool memory poolData = IAllo.Pool({ profileId: keccak256(abi.encodePacked(recipient1)), - strategy: IStrategy(address(qvImpactStream)), + strategy: IBaseStrategy(address(qvImpactStream)), token: address(0), metadata: Metadata({protocol: 0, pointer: ""}), managerRole: keccak256("MANAGER_ROLE"), @@ -175,7 +175,7 @@ contract QVImpactStreamTest is Test { IAllo.Pool memory poolData = IAllo.Pool({ profileId: keccak256(abi.encodePacked(recipient1)), - strategy: IStrategy(address(qvImpactStream)), + strategy: IBaseStrategy(address(qvImpactStream)), token: address(0), metadata: Metadata({protocol: 0, pointer: ""}), managerRole: keccak256("MANAGER_ROLE"), From 930a4426f6d11b6745f8181f3e8e4b85ace7d424 Mon Sep 17 00:00:00 2001 From: ilpepepig Date: Sun, 25 Aug 2024 18:26:23 -0300 Subject: [PATCH 4/8] chore: reorg contracts with different solc version --- .../hedgey/HedgeyRFPCommitteeStrategy.t.sol | 18 +++++++++--------- .../foundry/strategies/hedgey/HedgeySetup.sol | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) rename {test => test-0_8_19}/foundry/strategies/hedgey/HedgeyRFPCommitteeStrategy.t.sol (94%) rename {test => test-0_8_19}/foundry/strategies/hedgey/HedgeySetup.sol (93%) diff --git a/test/foundry/strategies/hedgey/HedgeyRFPCommitteeStrategy.t.sol b/test-0_8_19/foundry/strategies/hedgey/HedgeyRFPCommitteeStrategy.t.sol similarity index 94% rename from test/foundry/strategies/hedgey/HedgeyRFPCommitteeStrategy.t.sol rename to test-0_8_19/foundry/strategies/hedgey/HedgeyRFPCommitteeStrategy.t.sol index ccc11a198..e7044ddfd 100644 --- a/test/foundry/strategies/hedgey/HedgeyRFPCommitteeStrategy.t.sol +++ b/test-0_8_19/foundry/strategies/hedgey/HedgeyRFPCommitteeStrategy.t.sol @@ -3,19 +3,19 @@ pragma solidity ^0.8.19; import "forge-std/Test.sol"; // Interfaces -import {IStrategy} from "../../../../contracts/core/interfaces/IStrategy.sol"; +import {IStrategy} from "contracts/core/interfaces/IStrategy.sol"; // Core contracts -import {HedgeyRFPCommitteeStrategy} from "../../../../contracts/strategies/_poc/hedgey/HedgeyRFPCommitteeStrategy.sol"; -import {RFPSimpleStrategy} from "../../../../contracts/strategies/rfp-simple/RFPSimpleStrategy.sol"; +import {HedgeyRFPCommitteeStrategy} from "contracts/strategies/_poc/hedgey/HedgeyRFPCommitteeStrategy.sol"; +import {RFPSimpleStrategy} from "contracts/strategies/rfp-simple/RFPSimpleStrategy.sol"; // Internal libraries -import {Errors} from "../../../../contracts/core/libraries/Errors.sol"; -import {Metadata} from "../../../../contracts/core/libraries/Metadata.sol"; +import {Errors} from "contracts/core/libraries/Errors.sol"; +import {Metadata} from "contracts/core/libraries/Metadata.sol"; // Test libraries -import {AlloSetup} from "../../shared/AlloSetup.sol"; -import {RegistrySetupFull} from "../../shared/RegistrySetup.sol"; -import {EventSetup} from "../../shared/EventSetup.sol"; +import {AlloSetup} from "test/foundry/shared/AlloSetup.sol"; +import {RegistrySetupFull} from "test/foundry/shared/RegistrySetup.sol"; +import {EventSetup} from "test/foundry/shared/EventSetup.sol"; import {HedgeySetup} from "./HedgeySetup.sol"; -import {MockERC20} from "../../../utils/MockERC20.sol"; +import {MockERC20} from "test/utils/MockERC20.sol"; contract HedgeyRFPCommitteeStrategyTest is Test, RegistrySetupFull, AlloSetup, HedgeySetup, EventSetup, Errors { // Events diff --git a/test/foundry/strategies/hedgey/HedgeySetup.sol b/test-0_8_19/foundry/strategies/hedgey/HedgeySetup.sol similarity index 93% rename from test/foundry/strategies/hedgey/HedgeySetup.sol rename to test-0_8_19/foundry/strategies/hedgey/HedgeySetup.sol index 709191f61..dbcd9229d 100644 --- a/test/foundry/strategies/hedgey/HedgeySetup.sol +++ b/test-0_8_19/foundry/strategies/hedgey/HedgeySetup.sol @@ -6,7 +6,7 @@ import "forge-std/Test.sol"; // Core contracts import {TokenVestingPlans} from "hedgey-vesting/VestingPlans/TokenVestingPlans.sol"; import {BatchPlanner} from "hedgey-vesting/Periphery/BatchPlanner.sol"; -import {Accounts} from "../../shared/Accounts.sol"; +import {Accounts} from "test/foundry/shared/Accounts.sol"; contract HedgeySetup is Test, Accounts { TokenVestingPlans internal _vesting_; From 378f274b5c7de8af29c73d5cead96abbada2a8b5 Mon Sep 17 00:00:00 2001 From: ilpepepig Date: Sun, 25 Aug 2024 18:40:28 -0300 Subject: [PATCH 5/8] chore: add foundry profile for different compiler versions --- foundry.toml | 12 ++++++++++++ package.json | 8 ++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/foundry.toml b/foundry.toml index e96ae2c28..b625e95fb 100644 --- a/foundry.toml +++ b/foundry.toml @@ -10,6 +10,18 @@ test = 'test/foundry' cache_path = 'cache_forge' remappings = [] +# Hedgey Profile +[profile.hedgey] +solc-version = "0.8.19" +optimizer = true +optimizer-runs = 1_000 +src = 'none' +out = 'out' +libs = ['node_modules', 'lib'] +test = 'test-0_8_19/foundry' +cache_path = 'cache_forge' +remappings = [] + # Gas reporting gas_reports = [ "ContractFactory", diff --git a/package.json b/package.json index d717cadf2..86a712bd1 100644 --- a/package.json +++ b/package.json @@ -8,10 +8,10 @@ "license": "MIT", "private": true, "scripts": { - "compile": "forge compile", - "build": "forge build", - "test": "forge test", - "fmt": "forge fmt contracts/**/*.sol && forge fmt test/**/*.sol", + "compile": "FOUNDRY_PROFILE=hedgey forge compile && forge compile", + "build": "FOUNDRY_PROFILE=hedgey forge build && forge build", + "test": "FOUNDRY_PROFILE=hedgey forge test && forge test", + "fmt": "forge fmt contracts/**/*.sol && forge fmt test/**/*.sol && forge fmt test-0_8_19/**/*.sol", "fork": "anvil --fork-url", "chain": "anvil --block-time 10", "snap": "forge snapshot --snap ./snapshots/snapshot.json", From d73cea4cc42c2d0024c6071a30d98b6c075009d6 Mon Sep 17 00:00:00 2001 From: ilpepepig Date: Sun, 25 Aug 2024 19:03:17 -0300 Subject: [PATCH 6/8] refactor: remove default loop increment optimizations --- contracts/core/Allo.sol | 41 ++++--------------- contracts/core/Registry.sol | 15 ++----- contracts/core/libraries/Transfer.sol | 6 +-- .../contracts/MilestonesExtension.sol | 6 +-- .../contracts/RecipientsExtension.sol | 12 +----- .../migration/AlloV1ToV2ProfileMigration.sol | 6 +-- contracts/strategies/BaseStrategy.sol | 5 +-- contracts/strategies/DirectAllocation.sol | 5 +-- contracts/strategies/EasyRPGF.sol | 6 +-- contracts/strategies/QVImpactStream.sol | 23 ++--------- contracts/strategies/QVSimple.sol | 5 +-- .../direct-grants-lite/DirectGrantsLite.sol | 12 +----- ...onVotingMerkleDistributionBaseStrategy.sol | 16 ++------ ...nVotingMerkleDistributionVaultStrategy.sol | 5 +-- .../strategies/easy-rpgf/EasyRPGFStrategy.sol | 5 +-- .../strategies/qv-base/QVBaseStrategy.sol | 11 +---- .../rfp-simple/RFPSimpleStrategy.sol | 6 +-- 17 files changed, 34 insertions(+), 151 deletions(-) diff --git a/contracts/core/Allo.sol b/contracts/core/Allo.sol index 2e3d162a9..b1a3a07ad 100644 --- a/contracts/core/Allo.sol +++ b/contracts/core/Allo.sol @@ -277,12 +277,8 @@ contract Allo is /// @param _poolId ID of the pool /// @param _managers The addresses to add function addPoolManagers(uint256 _poolId, address[] calldata _managers) public onlyPoolAdmin(_poolId) { - for (uint256 i; i < _managers.length;) { + for (uint256 i; i < _managers.length; ++i) { _addPoolManager(_poolId, _managers[i]); - - unchecked { - ++i; - } } } @@ -291,12 +287,8 @@ contract Allo is /// @param _poolId ID of the pool /// @param _managers The addresses to remove function removePoolManagers(uint256 _poolId, address[] calldata _managers) public onlyPoolAdmin(_poolId) { - for (uint256 i; i < _managers.length;) { + for (uint256 i; i < _managers.length; ++i) { _revokeRole(pools[_poolId].managerRole, _managers[i]); - - unchecked { - ++i; - } } } @@ -304,11 +296,8 @@ contract Allo is /// @param _poolIds IDs of the pools /// @param _managers The addresses to add function addPoolManagersInMultiplePools(uint256[] calldata _poolIds, address[] calldata _managers) external { - for (uint256 i; i < _poolIds.length;) { + for (uint256 i; i < _poolIds.length; ++i) { addPoolManagers(_poolIds[i], _managers); - unchecked { - ++i; - } } } @@ -316,11 +305,8 @@ contract Allo is /// @param _poolIds IDs of the pools /// @param _managers The addresses to remove function removePoolManagersInMultiplePools(uint256[] calldata _poolIds, address[] calldata _managers) external { - for (uint256 i; i < _poolIds.length;) { + for (uint256 i; i < _poolIds.length; ++i) { removePoolManagers(_poolIds[i], _managers); - unchecked { - ++i; - } } } @@ -376,11 +362,8 @@ contract Allo is if (poolIdLength != _data.length || poolIdLength != _recipientAddresses.length) revert MISMATCH(); // Loop through the '_poolIds' & '_data' and call the 'strategy.register()' function - for (uint256 i; i < poolIdLength;) { + for (uint256 i; i < poolIdLength; ++i) { recipientIds[i] = pools[_poolIds[i]].strategy.register(_recipientAddresses[i], _data[i], _msgSender()); - unchecked { - ++i; - } } // Return the recipientIds that have been registered @@ -446,12 +429,9 @@ contract Allo is // Loop through the _poolIds & _datas and call the internal _allocate() function uint256 totalValue; address msgSender = _msgSender(); - for (uint256 i; i < numPools;) { + for (uint256 i; i < numPools; ++i) { _allocate(_poolIds[i], _recipients[i], _amounts[i], _datas[i], _values[i], msgSender); totalValue += _values[i]; - unchecked { - ++i; - } } // Reverts if the sum of all the allocated values is different than 'msg.value' with 'MISMATCH()' error if (totalValue != msg.value) revert ETH_MISMATCH(); @@ -556,13 +536,8 @@ contract Allo is // grant pool managers roles uint256 managersLength = _managers.length; - for (uint256 i; i < managersLength;) { - address manager = _managers[i]; - _addPoolManager(poolId, manager); - - unchecked { - ++i; - } + for (uint256 i; i < managersLength; ++i) { + _addPoolManager(poolId, _managers[i]); } if (baseFee > 0) { diff --git a/contracts/core/Registry.sol b/contracts/core/Registry.sol index 6daf450c5..029003ddc 100644 --- a/contracts/core/Registry.sol +++ b/contracts/core/Registry.sol @@ -152,7 +152,7 @@ contract Registry is IRegistry, Initializable, Native, AccessControlUpgradeable, revert UNAUTHORIZED(); } - for (uint256 i; i < memberLength;) { + for (uint256 i; i < memberLength; ++i) { address member = _members[i]; // Will revert if any of the addresses are a zero address @@ -160,9 +160,6 @@ contract Registry is IRegistry, Initializable, Native, AccessControlUpgradeable, // Grant the role to the member and emit the event for each member _grantRole(profileId, member); - unchecked { - ++i; - } } // Emit the event that the profile was created @@ -290,7 +287,7 @@ contract Registry is IRegistry, Initializable, Native, AccessControlUpgradeable, uint256 memberLength = _members.length; // Loop through the members and add them to the profile by granting the role - for (uint256 i; i < memberLength;) { + for (uint256 i; i < memberLength; ++i) { address member = _members[i]; // Will revert if any of the addresses are a zero address @@ -298,9 +295,6 @@ contract Registry is IRegistry, Initializable, Native, AccessControlUpgradeable, // Grant the role to the member and emit the event for each member _grantRole(_profileId, member); - unchecked { - ++i; - } } } @@ -312,12 +306,9 @@ contract Registry is IRegistry, Initializable, Native, AccessControlUpgradeable, uint256 memberLength = _members.length; // Loop through the members and remove them from the profile by revoking the role - for (uint256 i; i < memberLength;) { + for (uint256 i; i < memberLength; ++i) { // Revoke the role from the member and emit the event for each member _revokeRole(_profileId, _members[i]); - unchecked { - ++i; - } } } diff --git a/contracts/core/libraries/Transfer.sol b/contracts/core/libraries/Transfer.sol index 2fce0db0c..ba0ce3cec 100644 --- a/contracts/core/libraries/Transfer.sol +++ b/contracts/core/libraries/Transfer.sol @@ -47,7 +47,7 @@ contract Transfer is Native { { uint256 msgValue = msg.value; - for (uint256 i; i < _transferData.length;) { + for (uint256 i; i < _transferData.length; ++i) { TransferData memory transferData = _transferData[i]; if (_token == NATIVE) { @@ -56,10 +56,6 @@ contract Transfer is Native { } else { SafeTransferLib.safeTransferFrom(_token, transferData.from, transferData.to, transferData.amount); } - - unchecked { - i++; - } } if (msgValue != 0) revert AMOUNT_MISMATCH(); diff --git a/contracts/extensions/contracts/MilestonesExtension.sol b/contracts/extensions/contracts/MilestonesExtension.sol index 72019172e..d4710f875 100644 --- a/contracts/extensions/contracts/MilestonesExtension.sol +++ b/contracts/extensions/contracts/MilestonesExtension.sol @@ -77,7 +77,7 @@ abstract contract MilestonesExtension is CoreBaseStrategy, IMilestonesExtension // Loop through the milestones and add them to the milestones array uint256 milestonesLength = _milestones.length; - for (uint256 i; i < milestonesLength;) { + for (uint256 i; i < milestonesLength; ++i) { uint256 amountPercentage = _milestones[i].amountPercentage; if (amountPercentage == 0) revert INVALID_MILESTONE(); @@ -85,10 +85,6 @@ abstract contract MilestonesExtension is CoreBaseStrategy, IMilestonesExtension totalAmountPercentage += amountPercentage; _milestones[i].status = MilestoneStatus.None; milestones.push(_milestones[i]); - - unchecked { - i++; - } } // Check if the all milestone amount percentage totals to 1e18 (100%) diff --git a/contracts/extensions/contracts/RecipientsExtension.sol b/contracts/extensions/contracts/RecipientsExtension.sol index e0a5bed6d..f3d155485 100644 --- a/contracts/extensions/contracts/RecipientsExtension.sol +++ b/contracts/extensions/contracts/RecipientsExtension.sol @@ -118,7 +118,7 @@ abstract contract RecipientsExtension is CoreBaseStrategy, Errors, IRecipientsEx _validateReviewRecipients(msg.sender); if (refRecipientsCounter != recipientsCounter) revert INVALID(); // Loop through the statuses and set the status - for (uint256 i; i < statuses.length;) { + for (uint256 i; i < statuses.length; ++i) { uint256 rowIndex = statuses[i].index; uint256 fullRow = statuses[i].statusRow; @@ -130,10 +130,6 @@ abstract contract RecipientsExtension is CoreBaseStrategy, Errors, IRecipientsEx // Emit that the recipient status has been updated with the values emit RecipientStatusUpdated(rowIndex, fullRow, msg.sender); - - unchecked { - i++; - } } } @@ -355,7 +351,7 @@ abstract contract RecipientsExtension is CoreBaseStrategy, Errors, IRecipientsEx function _processStatusRow(uint256 _rowIndex, uint256 _fullRow) internal returns (uint256) { // Loop through each status in the updated row uint256 currentRow = statusesBitMap[_rowIndex]; - for (uint256 col = 0; col < 64;) { + for (uint256 col = 0; col < 64; ++col) { // Extract the status at the column index uint256 colIndex = col << 2; // col * 4 uint8 newStatus = uint8((_fullRow >> colIndex) & 0xF); @@ -371,10 +367,6 @@ abstract contract RecipientsExtension is CoreBaseStrategy, Errors, IRecipientsEx _fullRow = reviewedRow | (uint256(reviewedStatus) << colIndex); } } - - unchecked { - col++; - } } return _fullRow; } diff --git a/contracts/migration/AlloV1ToV2ProfileMigration.sol b/contracts/migration/AlloV1ToV2ProfileMigration.sol index 664b93e7d..c4d68b552 100644 --- a/contracts/migration/AlloV1ToV2ProfileMigration.sol +++ b/contracts/migration/AlloV1ToV2ProfileMigration.sol @@ -83,7 +83,7 @@ contract AlloV1ToV2ProfileMigration { bytes32[] memory migratedProfileIds = new bytes32[](_profilesLength); - for (uint256 i = 0; i < _profilesLength;) { + for (uint256 i = 0; i < _profilesLength; ++i) { bytes32 alloV1 = _projectIds[i]; uint256 alloV1ChainId = _sourceChainIds[i]; uint256 nonce = _nonces[i]; @@ -101,10 +101,6 @@ contract AlloV1ToV2ProfileMigration { alloV2ToAlloV1V2Profile[alloV2Profile] = alloV1V2Profile; emit ProfileMigrated(alloV1, alloV1ChainId, alloV2Profile, nonce); - - unchecked { - i++; - } } return abi.encode(migratedProfileIds); diff --git a/contracts/strategies/BaseStrategy.sol b/contracts/strategies/BaseStrategy.sol index 6d6ced165..db850e91c 100644 --- a/contracts/strategies/BaseStrategy.sol +++ b/contracts/strategies/BaseStrategy.sol @@ -218,11 +218,8 @@ abstract contract BaseStrategy is IStrategy, Transfer, Errors { if (recipientLength != _data.length) revert ARRAY_MISMATCH(); PayoutSummary[] memory payouts = new PayoutSummary[](recipientLength); - for (uint256 i; i < recipientLength;) { + for (uint256 i; i < recipientLength; ++i) { payouts[i] = _getPayout(_recipientIds[i], _data[i]); - unchecked { - i++; - } } return payouts; } diff --git a/contracts/strategies/DirectAllocation.sol b/contracts/strategies/DirectAllocation.sol index e3f150ca9..9b1c91bbf 100644 --- a/contracts/strategies/DirectAllocation.sol +++ b/contracts/strategies/DirectAllocation.sol @@ -69,14 +69,11 @@ contract DirectAllocationStrategy is CoreBaseStrategy { revert INVALID_INPUT(); } - for (uint256 _i = 0; _i < _recipientsLength;) { + for (uint256 _i = 0; _i < _recipientsLength; ++_i) { /// Direct allocate the funds _transferAmountFrom(_tokens[_i], TransferData({from: _sender, to: _recipients[_i], amount: _amounts[_i]})); emit DirectAllocated(_recipients[_i], _amounts[_i], _tokens[_i], _sender); - unchecked { - ++_i; - } } } diff --git a/contracts/strategies/EasyRPGF.sol b/contracts/strategies/EasyRPGF.sol index c24b42352..c1f57b256 100644 --- a/contracts/strategies/EasyRPGF.sol +++ b/contracts/strategies/EasyRPGF.sol @@ -71,7 +71,7 @@ contract EasyRPGF is CoreBaseStrategy { } IAllo.Pool memory pool = allo.getPool(poolId); - for (uint256 i; i < payoutLength;) { + for (uint256 i; i < payoutLength; ++i) { uint256 amount = amounts[i]; address recipientAddress = _recipientIds[i]; @@ -79,10 +79,6 @@ contract EasyRPGF is CoreBaseStrategy { _transferAmount(pool.token, recipientAddress, amount); emit Distributed(recipientAddress, abi.encode(amount, _sender)); - - unchecked { - ++i; - } } } diff --git a/contracts/strategies/QVImpactStream.sol b/contracts/strategies/QVImpactStream.sol index 9756fb597..b4629d6d9 100644 --- a/contracts/strategies/QVImpactStream.sol +++ b/contracts/strategies/QVImpactStream.sol @@ -81,12 +81,8 @@ contract QVImpactStream is QVSimple { /// @param _allocators The allocator address array function batchAddAllocator(address[] memory _allocators) external onlyPoolManager(msg.sender) { uint256 length = _allocators.length; - for (uint256 i = 0; i < length;) { + for (uint256 i = 0; i < length; ++i) { _addAllocator(_allocators[i]); - - unchecked { - ++i; - } } } @@ -95,12 +91,8 @@ contract QVImpactStream is QVSimple { /// @param _allocators The allocators address array function batchRemoveAllocator(address[] memory _allocators) external onlyPoolManager(msg.sender) { uint256 length = _allocators.length; - for (uint256 i = 0; i < length;) { + for (uint256 i = 0; i < length; ++i) { _removeAllocator(_allocators[i]); - - unchecked { - ++i; - } } } @@ -114,7 +106,7 @@ contract QVImpactStream is QVSimple { uint256 totalAmount; uint256 length = _payouts.length; - for (uint256 i = 0; i < length;) { + for (uint256 i = 0; i < length; ++i) { Payout memory payout = _payouts[i]; uint256 amount = payout.amount; address recipientId = payout.recipientId; @@ -125,9 +117,6 @@ contract QVImpactStream is QVSimple { payouts[recipientId] = amount; totalAmount += amount; - unchecked { - ++i; - } } if (totalAmount > poolAmount) revert PAYOUT_MORE_THAN_POOL_BALANCE(); @@ -149,7 +138,7 @@ contract QVImpactStream is QVSimple { address poolToken = pool.token; uint256 length = _recipientIds.length; - for (uint256 i = 0; i < length;) { + for (uint256 i = 0; i < length; ++i) { address recipientId = _recipientIds[i]; Recipient storage recipient = _recipients[recipientId]; @@ -165,10 +154,6 @@ contract QVImpactStream is QVSimple { bytes memory data = abi.encode(recipientAddress, amount, _sender); emit Distributed(recipientId, data); - - unchecked { - ++i; - } } } diff --git a/contracts/strategies/QVSimple.sol b/contracts/strategies/QVSimple.sol index 15d61e079..050e1859c 100644 --- a/contracts/strategies/QVSimple.sol +++ b/contracts/strategies/QVSimple.sol @@ -168,7 +168,7 @@ contract QVSimple is CoreBaseStrategy, RecipientsExtension { IAllo.Pool memory pool = allo.getPool(poolId); - for (uint256 i; i < payouts.length;) { + for (uint256 i; i < payouts.length; ++i) { address recipientId = _recipientIds[i]; Recipient memory recipient = _recipients[recipientId]; @@ -183,9 +183,6 @@ contract QVSimple is CoreBaseStrategy, RecipientsExtension { paidOut[recipientId] = true; emit Distributed(recipientId, abi.encode(recipient.recipientAddress, amount, _sender)); - unchecked { - ++i; - } } } diff --git a/contracts/strategies/direct-grants-lite/DirectGrantsLite.sol b/contracts/strategies/direct-grants-lite/DirectGrantsLite.sol index 9fecf4bd3..045d0ef0f 100644 --- a/contracts/strategies/direct-grants-lite/DirectGrantsLite.sol +++ b/contracts/strategies/direct-grants-lite/DirectGrantsLite.sol @@ -252,7 +252,7 @@ contract DirectGrantsLiteStrategy is Native, BaseStrategy, Multicall { if (refRecipientsCounter != recipientsCounter) revert INVALID(); // Loop through the statuses and set the status uint256 length = statuses.length; - for (uint256 i; i < length;) { + for (uint256 i; i < length; ++i) { uint256 rowIndex = statuses[i].index; uint256 fullRow = statuses[i].statusRow; @@ -260,10 +260,6 @@ contract DirectGrantsLiteStrategy is Native, BaseStrategy, Multicall { // Emit that the recipient status has been updated with the values emit RecipientStatusUpdated(rowIndex, fullRow, msg.sender); - - unchecked { - i++; - } } } @@ -442,7 +438,7 @@ contract DirectGrantsLiteStrategy is Native, BaseStrategy, Multicall { if (length == 0) revert INVALID(); // nothing to allocate - for (uint256 i = 0; i < length;) { + for (uint256 i = 0; i < length; ++i) { Allocation memory allocation = allocations[i]; address recipientId = allocation.recipientId; Recipient memory recipient = _getRecipient(recipientId); @@ -465,10 +461,6 @@ contract DirectGrantsLiteStrategy is Native, BaseStrategy, Multicall { _transferAmountFrom(token, TransferData({from: _sender, to: recipientAddress, amount: amount})); emit Allocated(recipientId, amount, token, _sender); - - unchecked { - ++i; - } } if (nativeAmount > 0) _transferAmount(NATIVE, _sender, nativeAmount); diff --git a/contracts/strategies/donation-voting-merkle-base/DonationVotingMerkleDistributionBaseStrategy.sol b/contracts/strategies/donation-voting-merkle-base/DonationVotingMerkleDistributionBaseStrategy.sol index a74724868..28ee5ea50 100644 --- a/contracts/strategies/donation-voting-merkle-base/DonationVotingMerkleDistributionBaseStrategy.sol +++ b/contracts/strategies/donation-voting-merkle-base/DonationVotingMerkleDistributionBaseStrategy.sol @@ -319,11 +319,8 @@ abstract contract DonationVotingMerkleDistributionBaseStrategy is Native, BaseSt } // Loop through the allowed tokens and set them to true - for (uint256 i; i < allowedTokensLength;) { + for (uint256 i; i < allowedTokensLength; ++i) { allowedTokens[_initializeData.allowedTokens[i]] = true; - unchecked { - i++; - } } } @@ -371,7 +368,7 @@ abstract contract DonationVotingMerkleDistributionBaseStrategy is Native, BaseSt { if (refRecipientsCounter != recipientsCounter) revert INVALID(); // Loop through the statuses and set the status - for (uint256 i; i < statuses.length;) { + for (uint256 i; i < statuses.length; ++i) { uint256 rowIndex = statuses[i].index; uint256 fullRow = statuses[i].statusRow; @@ -379,10 +376,6 @@ abstract contract DonationVotingMerkleDistributionBaseStrategy is Native, BaseSt // Emit that the recipient status has been updated with the values emit RecipientStatusUpdated(rowIndex, fullRow, msg.sender); - - unchecked { - i++; - } } } @@ -660,11 +653,8 @@ abstract contract DonationVotingMerkleDistributionBaseStrategy is Native, BaseSt uint256 length = distributions.length; // Loop through the distributions and distribute the funds - for (uint256 i; i < length;) { + for (uint256 i; i < length; ++i) { _distributeSingle(distributions[i]); - unchecked { - i++; - } } // Emit that the batch payout was successful diff --git a/contracts/strategies/donation-voting-merkle-distribution-vault/DonationVotingMerkleDistributionVaultStrategy.sol b/contracts/strategies/donation-voting-merkle-distribution-vault/DonationVotingMerkleDistributionVaultStrategy.sol index c47e9b1b2..a0537c6f4 100644 --- a/contracts/strategies/donation-voting-merkle-distribution-vault/DonationVotingMerkleDistributionVaultStrategy.sol +++ b/contracts/strategies/donation-voting-merkle-distribution-vault/DonationVotingMerkleDistributionVaultStrategy.sol @@ -74,7 +74,7 @@ contract DonationVotingMerkleDistributionVaultStrategy is uint256 claimsLength = _claims.length; // Loop through the claims - for (uint256 i; i < claimsLength;) { + for (uint256 i; i < claimsLength; ++i) { Claim memory singleClaim = _claims[i]; Recipient memory recipient = _recipients[singleClaim.recipientId]; uint256 amount = claims[singleClaim.recipientId][singleClaim.token]; @@ -96,9 +96,6 @@ contract DonationVotingMerkleDistributionVaultStrategy is // Emit that the tokens have been claimed and sent to the recipient emit Claimed(singleClaim.recipientId, recipient.recipientAddress, amount, token); - unchecked { - i++; - } } } diff --git a/contracts/strategies/easy-rpgf/EasyRPGFStrategy.sol b/contracts/strategies/easy-rpgf/EasyRPGFStrategy.sol index e12c5d9c2..1e42fae1d 100644 --- a/contracts/strategies/easy-rpgf/EasyRPGFStrategy.sol +++ b/contracts/strategies/easy-rpgf/EasyRPGFStrategy.sol @@ -48,16 +48,13 @@ contract EasyRPGFStrategy is BaseStrategy { } IAllo.Pool memory pool = allo.getPool(poolId); - for (uint256 i; i < payoutLength;) { + for (uint256 i; i < payoutLength; ++i) { uint256 amount = amounts[i]; address recipientAddress = _recipientIds[i]; poolAmount -= amount; _transferAmount(pool.token, recipientAddress, amount); emit Distributed(recipientAddress, recipientAddress, amount, _sender); - unchecked { - ++i; - } } } diff --git a/contracts/strategies/qv-base/QVBaseStrategy.sol b/contracts/strategies/qv-base/QVBaseStrategy.sol index d3c8b8c97..68c043ca9 100644 --- a/contracts/strategies/qv-base/QVBaseStrategy.sol +++ b/contracts/strategies/qv-base/QVBaseStrategy.sol @@ -282,7 +282,7 @@ abstract contract QVBaseStrategy is BaseStrategy { uint256 recipientLength = _recipientIds.length; if (recipientLength != _recipientStatuses.length) revert INVALID(); - for (uint256 i; i < recipientLength;) { + for (uint256 i; i < recipientLength; ++i) { Status recipientStatus = _recipientStatuses[i]; address recipientId = _recipientIds[i]; Recipient storage recipient = recipients[recipientId]; @@ -309,10 +309,6 @@ abstract contract QVBaseStrategy is BaseStrategy { } emit Reviewed(recipientId, applicationId, recipientStatus, msg.sender); - - unchecked { - ++i; - } } } @@ -493,7 +489,7 @@ abstract contract QVBaseStrategy is BaseStrategy { onlyAfterAllocation { uint256 payoutLength = _recipientIds.length; - for (uint256 i; i < payoutLength;) { + for (uint256 i; i < payoutLength; ++i) { address recipientId = _recipientIds[i]; Recipient storage recipient = recipients[recipientId]; @@ -510,9 +506,6 @@ abstract contract QVBaseStrategy is BaseStrategy { paidOut[recipientId] = true; emit Distributed(recipientId, recipient.recipientAddress, amount, _sender); - unchecked { - ++i; - } } if (!distributionStarted) { distributionStarted = true; diff --git a/contracts/strategies/rfp-simple/RFPSimpleStrategy.sol b/contracts/strategies/rfp-simple/RFPSimpleStrategy.sol index 0dbdc0fc2..1a9d32f1b 100644 --- a/contracts/strategies/rfp-simple/RFPSimpleStrategy.sol +++ b/contracts/strategies/rfp-simple/RFPSimpleStrategy.sol @@ -238,7 +238,7 @@ contract RFPSimpleStrategy is BaseStrategy, ReentrancyGuard { // Loop through the milestones and add them to the milestones array uint256 milestonesLength = _milestones.length; - for (uint256 i; i < milestonesLength;) { + for (uint256 i; i < milestonesLength; ++i) { uint256 amountPercentage = _milestones[i].amountPercentage; if (amountPercentage == 0) revert INVALID_MILESTONE(); @@ -246,10 +246,6 @@ contract RFPSimpleStrategy is BaseStrategy, ReentrancyGuard { totalAmountPercentage += amountPercentage; _milestones[i].milestoneStatus = Status.None; milestones.push(_milestones[i]); - - unchecked { - i++; - } } // Check if the all milestone amount percentage totals to 1e18(100%) From 3db8b06c1106c5ffa552732e80503c726409a6c4 Mon Sep 17 00:00:00 2001 From: ilpepepig Date: Mon, 26 Aug 2024 10:02:09 -0300 Subject: [PATCH 7/8] docs: update readme --- contracts/core/Allo.md | 2 +- contracts/core/Anchor.md | 2 +- contracts/core/Registry.md | 2 +- contracts/strategies/README.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/contracts/core/Allo.md b/contracts/core/Allo.md index 174a5b04e..dcf75ef94 100644 --- a/contracts/core/Allo.md +++ b/contracts/core/Allo.md @@ -167,7 +167,7 @@ sequenceDiagram ## Smart Contract Overview * **License:** The contract is licensed under the AGPL-3.0-only license. -* **Solidity Version:** The contract is written in Solidity version 0.8.22. +* **Solidity Version:** The contract supports Solidity versions ^0.8.19, but is developed in Solidity version 0.8.22. * **Inheritance:** The contract inherits from several other contracts: `Initializable`, `Ownable`, `AccessControl`, `IAllo`, `Native`, and `Transfer`. ### Storage Variables diff --git a/contracts/core/Anchor.md b/contracts/core/Anchor.md index 7e2704b30..6840e9ae1 100644 --- a/contracts/core/Anchor.md +++ b/contracts/core/Anchor.md @@ -19,7 +19,7 @@ The `Anchor` contract serves as a crucial utility within the Allo ecosystem, fac ## Smart Contract Overview * **License:** The `Anchor` contract is licensed under the AGPL-3.0-only license, promoting the use of open-source software. -* **Solidity Version:** Developed using Solidity version 0.8.22, harnessing the latest advancements in Ethereum smart contract technology. +* **Solidity Version:** Supports Solidity versions ^0.8.19, but developed using Solidity version 0.8.22, harnessing the latest advancements in Ethereum smart contract technology. ### Storage Variables diff --git a/contracts/core/Registry.md b/contracts/core/Registry.md index 2b7b89f49..380bee374 100644 --- a/contracts/core/Registry.md +++ b/contracts/core/Registry.md @@ -102,7 +102,7 @@ sequenceDiagram ## Smart Contract Overview * **License:** The `Registry` contract adheres to the MIT License, promoting permissive open-source usage. -* **Solidity Version:** Developed using Solidity version 0.8.22, harnessing the latest advancements in Ethereum smart contract technology. +* **Solidity Version:** Supports Solidity versions ^0.8.19, but developed using Solidity version 0.8.22, harnessing the latest advancements in Ethereum smart contract technology. * **External Libraries:** The contract incorporates the `AccessControl` and `CREATE3` external libraries, enhancing access control and facilitating contract deployment. * **Interfaces:** The contract utilizes the `IRegistry` interface for communication with external components. diff --git a/contracts/strategies/README.md b/contracts/strategies/README.md index b5d4813b3..4b16cd685 100644 --- a/contracts/strategies/README.md +++ b/contracts/strategies/README.md @@ -17,7 +17,7 @@ The `BaseStrategy` contract serves as a foundational building block within the A ## Smart Contract Overview * **License:** The `BaseStrategy` contract adheres to the AGPL-3.0-only License, promoting open-source usage with specific terms. -* **Solidity Version:** Developed using Solidity version 0.8.22, leveraging the latest Ethereum smart contract advancements. +* **Solidity Version:** Supports Solidity versions ^0.8.19, but developed using Solidity version 0.8.22, leveraging the latest Ethereum smart contract advancements. * **External Libraries:** Imports `Transfer` library from the Allo core for optimized token transfers. * **Interfaces:** Implements the `IStrategy` interface, facilitating interaction with external components. From 7a3db6312a9cb99a18aa3edfec2c415e0c558bd5 Mon Sep 17 00:00:00 2001 From: ilpepepig Date: Tue, 27 Aug 2024 11:56:06 -0300 Subject: [PATCH 8/8] refactor: use ^0.8.19 in all strategies --- contracts/strategies/DonationVotingMerkleDistribution.sol | 2 +- test/foundry/integration/DonationVotingMerkleDistribution.t.sol | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/contracts/strategies/DonationVotingMerkleDistribution.sol b/contracts/strategies/DonationVotingMerkleDistribution.sol index 6fae05756..058f8d9b1 100644 --- a/contracts/strategies/DonationVotingMerkleDistribution.sol +++ b/contracts/strategies/DonationVotingMerkleDistribution.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity ^0.8.19; // External Libraries import {MerkleProof} from "openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol"; diff --git a/test/foundry/integration/DonationVotingMerkleDistribution.t.sol b/test/foundry/integration/DonationVotingMerkleDistribution.t.sol index 9576077e4..c1107f01b 100644 --- a/test/foundry/integration/DonationVotingMerkleDistribution.t.sol +++ b/test/foundry/integration/DonationVotingMerkleDistribution.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: AGPL-3.0-only -pragma solidity 0.8.19; +pragma solidity ^0.8.19; import {IAllo} from "contracts/core/interfaces/IAllo.sol"; import {Metadata} from "contracts/core/Registry.sol";