diff --git a/foundry.toml b/foundry.toml index d2ee7fbc..f8d105cf 100644 --- a/foundry.toml +++ b/foundry.toml @@ -4,7 +4,7 @@ sizes = true src = "src" fs_permissions = [ { access = "read", path = "./out/"}, - { access = "read", path = "./config/"} + { access = "read", path = "./test/config/"} ] libs = ["lib"] via-ir = true diff --git a/test/MorphoBundlerLocalTest.sol b/test/MorphoBundlerLocalTest.sol index 462d2899..87ff570c 100644 --- a/test/MorphoBundlerLocalTest.sol +++ b/test/MorphoBundlerLocalTest.sol @@ -7,8 +7,8 @@ import { import {SigUtils} from "./helpers/SigUtils.sol"; import {ErrorsLib} from "../src/libraries/ErrorsLib.sol"; -import {ErrorsLib as MorphoErrorsLib} from "../../lib/morpho-blue/src/libraries/ErrorsLib.sol"; -import {MarketParamsLib} from "../../lib/morpho-blue/src/libraries/MarketParamsLib.sol"; +import {ErrorsLib as MorphoErrorsLib} from "../lib/morpho-blue/src/libraries/ErrorsLib.sol"; +import {MarketParamsLib} from "../lib/morpho-blue/src/libraries/MarketParamsLib.sol"; import "./helpers/MetaMorphoLocalTest.sol"; diff --git a/test/PermitBundlerLocalTest.sol b/test/PermitBundlerLocalTest.sol index 94f8500f..cc429e48 100644 --- a/test/PermitBundlerLocalTest.sol +++ b/test/PermitBundlerLocalTest.sol @@ -4,7 +4,7 @@ pragma solidity ^0.8.0; import {SigUtils, Permit} from "./helpers/SigUtils.sol"; import {ErrorsLib} from "../src/libraries/ErrorsLib.sol"; -import {IERC20Permit} from "../../lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol"; +import {IERC20Permit} from "../lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol"; import {ERC20PermitMock} from "../src/mocks/ERC20PermitMock.sol"; import "./helpers/LocalTest.sol"; diff --git a/test/SelectorClashTest.sol b/test/SelectorClashTest.sol index a7516d28..90f01087 100644 --- a/test/SelectorClashTest.sol +++ b/test/SelectorClashTest.sol @@ -2,11 +2,11 @@ pragma solidity ^0.8.0; import "../src/interfaces/IWNative.sol"; -import "../../lib/morpho-blue/src/interfaces/IMorpho.sol"; -import "../../lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol"; -import "../../lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol"; -import "../../lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol"; -import "../../lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol"; +import "../lib/morpho-blue/src/interfaces/IMorpho.sol"; +import "../lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol"; +import "../lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol"; +import "../lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol"; +import "../lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol"; // The bundler can do call to arbitrary contracts, we make sure no selectors clash by inheriting all the interfaces in // one single contract. diff --git a/test/UrdBundlerLocalTest.sol b/test/UrdBundlerLocalTest.sol index 4340f247..d45b3c45 100644 --- a/test/UrdBundlerLocalTest.sol +++ b/test/UrdBundlerLocalTest.sol @@ -2,12 +2,12 @@ pragma solidity ^0.8.0; import {IUniversalRewardsDistributor} from - "../../lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol"; + "../lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol"; import {ErrorsLib} from "../src/libraries/ErrorsLib.sol"; -import {ErrorsLib as UrdErrorsLib} from "../../lib/universal-rewards-distributor/src/libraries/ErrorsLib.sol"; +import {ErrorsLib as UrdErrorsLib} from "../lib/universal-rewards-distributor/src/libraries/ErrorsLib.sol"; -import {Merkle} from "../../lib/murky/src/Merkle.sol"; +import {Merkle} from "../lib/murky/src/Merkle.sol"; import "./helpers/LocalTest.sol"; diff --git a/config/ConfigLib.sol b/test/config/ConfigLib.sol similarity index 97% rename from config/ConfigLib.sol rename to test/config/ConfigLib.sol index 989d255d..b57f1d59 100644 --- a/config/ConfigLib.sol +++ b/test/config/ConfigLib.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later pragma solidity ^0.8.0; -import {stdJson} from "../lib/forge-std/src/StdJson.sol"; +import {stdJson} from "../../lib/forge-std/src/StdJson.sol"; struct Config { string json; diff --git a/config/Configured.sol b/test/config/Configured.sol similarity index 94% rename from config/Configured.sol rename to test/config/Configured.sol index f5cade8e..ee24ca0e 100644 --- a/config/Configured.sol +++ b/test/config/Configured.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.0; import {Config, ConfigMarket, ConfigLib} from "./ConfigLib.sol"; -import {StdChains, VmSafe} from "../lib/forge-std/src/StdChains.sol"; +import {StdChains, VmSafe} from "../../lib/forge-std/src/StdChains.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; @@ -54,7 +54,7 @@ abstract contract Configured is StdChains { // Fetch config. if (bytes(CONFIG.json).length == 0) { string memory root = vm.projectRoot(); - string memory path = string.concat(root, "/config/", network, ".json"); + string memory path = string.concat(root, "/test/config/", network, ".json"); CONFIG.json = vm.readFile(path); } diff --git a/config/base.json b/test/config/base.json similarity index 100% rename from config/base.json rename to test/config/base.json diff --git a/config/ethereum.json b/test/config/ethereum.json similarity index 100% rename from config/ethereum.json rename to test/config/ethereum.json diff --git a/test/fork/BundlerForkTest.sol b/test/fork/BundlerForkTest.sol index 7d78b451..39e46b8b 100644 --- a/test/fork/BundlerForkTest.sol +++ b/test/fork/BundlerForkTest.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later pragma solidity ^0.8.0; -import {IAllowanceTransfer} from "../../../lib/permit2/src/interfaces/IAllowanceTransfer.sol"; +import {IAllowanceTransfer} from "../../lib/permit2/src/interfaces/IAllowanceTransfer.sol"; import {EthereumBundlerV2} from "../../src/ethereum/EthereumBundlerV2.sol"; import {ChainAgnosticBundlerV2} from "../../src/chain-agnostic/ChainAgnosticBundlerV2.sol"; diff --git a/test/fork/PermitBundlerForkTest.sol b/test/fork/PermitBundlerForkTest.sol index 023ec68d..a6cdfada 100644 --- a/test/fork/PermitBundlerForkTest.sol +++ b/test/fork/PermitBundlerForkTest.sol @@ -6,7 +6,7 @@ import {ErrorsLib} from "../../src/libraries/ErrorsLib.sol"; import {DaiPermit, Permit} from "../helpers/SigUtils.sol"; import "../../src/ethereum/EthereumPermitBundler.sol"; -import {IERC20Permit} from "../../../lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol"; +import {IERC20Permit} from "../../lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol"; import {ERC20PermitMock} from "../../src/mocks/ERC20PermitMock.sol"; import "./helpers/ForkTest.sol"; diff --git a/test/fork/StEthBundlerForkTest.sol b/test/fork/StEthBundlerForkTest.sol index 7b435532..d859fb9e 100644 --- a/test/fork/StEthBundlerForkTest.sol +++ b/test/fork/StEthBundlerForkTest.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later pragma solidity ^0.8.0; -import {IAllowanceTransfer} from "../../../lib/permit2/src/interfaces/IAllowanceTransfer.sol"; +import {IAllowanceTransfer} from "../../lib/permit2/src/interfaces/IAllowanceTransfer.sol"; import {ErrorsLib} from "../../src/libraries/ErrorsLib.sol"; diff --git a/test/fork/helpers/ForkTest.sol b/test/fork/helpers/ForkTest.sol index 43c721e9..087f9bf3 100644 --- a/test/fork/helpers/ForkTest.sol +++ b/test/fork/helpers/ForkTest.sol @@ -3,9 +3,9 @@ pragma solidity ^0.8.0; import {IStEth} from "../../../src/interfaces/IStEth.sol"; import {IWstEth} from "../../../src/interfaces/IWstEth.sol"; -import {IAllowanceTransfer} from "../../../../lib/permit2/src/interfaces/IAllowanceTransfer.sol"; +import {IAllowanceTransfer} from "../../../lib/permit2/src/interfaces/IAllowanceTransfer.sol"; -import {Permit2Lib} from "../../../../lib/permit2/src/libraries/Permit2Lib.sol"; +import {Permit2Lib} from "../../../lib/permit2/src/libraries/Permit2Lib.sol"; import {Permit2Bundler} from "../../../src/Permit2Bundler.sol"; import {WNativeBundler} from "../../../src/WNativeBundler.sol"; @@ -13,7 +13,7 @@ import {StEthBundler} from "../../../src/StEthBundler.sol"; import {EthereumBundlerV2} from "../../../src/ethereum/EthereumBundlerV2.sol"; import {ChainAgnosticBundlerV2} from "../../../src/chain-agnostic/ChainAgnosticBundlerV2.sol"; -import "../../../../config/Configured.sol"; +import "../../config/Configured.sol"; import "../../helpers/CommonTest.sol"; abstract contract ForkTest is CommonTest, Configured { diff --git a/test/fork/migration/AaveV2MigrationBundlerForkTest.sol b/test/fork/migration/AaveV2MigrationBundlerForkTest.sol index 413f7c67..fac8e8f9 100644 --- a/test/fork/migration/AaveV2MigrationBundlerForkTest.sol +++ b/test/fork/migration/AaveV2MigrationBundlerForkTest.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.0; import {IStEth} from "../../../src/interfaces/IStEth.sol"; import {IAaveV2} from "../../../src/migration/interfaces/IAaveV2.sol"; -import {IERC4626} from "../../../../lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol"; +import {IERC4626} from "../../../lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol"; import "../../../src/migration/AaveV2MigrationBundlerV2.sol"; diff --git a/test/fork/migration/helpers/MigrationForkTest.sol b/test/fork/migration/helpers/MigrationForkTest.sol index 43f633e5..2e202c32 100644 --- a/test/fork/migration/helpers/MigrationForkTest.sol +++ b/test/fork/migration/helpers/MigrationForkTest.sol @@ -1,12 +1,12 @@ // SPDX-License-Identifier: GPL-2.0-or-later pragma solidity ^0.8.0; -import {SafeTransferLib, ERC20} from "../../../../../lib/solmate/src/utils/SafeTransferLib.sol"; +import {SafeTransferLib, ERC20} from "../../../../lib/solmate/src/utils/SafeTransferLib.sol"; import {ErrorsLib} from "../../../../src/libraries/ErrorsLib.sol"; -import {MarketParamsLib} from "../../../../../lib/morpho-blue/src/libraries/MarketParamsLib.sol"; -import {MorphoLib} from "../../../../../lib/morpho-blue/src/libraries/periphery/MorphoLib.sol"; -import {Market} from "../../../../../lib/morpho-blue/src/interfaces/IMorpho.sol"; -import {MorphoBalancesLib} from "../../../../../lib/morpho-blue/src/libraries/periphery/MorphoBalancesLib.sol"; +import {MarketParamsLib} from "../../../../lib/morpho-blue/src/libraries/MarketParamsLib.sol"; +import {MorphoLib} from "../../../../lib/morpho-blue/src/libraries/periphery/MorphoLib.sol"; +import {Market} from "../../../../lib/morpho-blue/src/interfaces/IMorpho.sol"; +import {MorphoBalancesLib} from "../../../../lib/morpho-blue/src/libraries/periphery/MorphoBalancesLib.sol"; import "../../helpers/ForkTest.sol"; import {BaseBundler} from "../../../../src/BaseBundler.sol"; diff --git a/test/helpers/CommonTest.sol b/test/helpers/CommonTest.sol index a4d54103..486701f2 100644 --- a/test/helpers/CommonTest.sol +++ b/test/helpers/CommonTest.sol @@ -7,26 +7,26 @@ import { MarketParams, Authorization as MorphoBlueAuthorization, Signature as MorphoBlueSignature -} from "../../../lib/morpho-blue/src/interfaces/IMorpho.sol"; -import {IPublicAllocatorBase} from "../../../lib/public-allocator/src/interfaces/IPublicAllocator.sol"; +} from "../../lib/morpho-blue/src/interfaces/IMorpho.sol"; +import {IPublicAllocatorBase} from "../../lib/public-allocator/src/interfaces/IPublicAllocator.sol"; import {SigUtils} from "./SigUtils.sol"; -import {MarketParamsLib} from "../../../lib/morpho-blue/src/libraries/MarketParamsLib.sol"; -import {SharesMathLib} from "../../../lib/morpho-blue/src/libraries/SharesMathLib.sol"; -import {MathLib, WAD} from "../../../lib/morpho-blue/src/libraries/MathLib.sol"; -import {UtilsLib} from "../../../lib/morpho-blue/src/libraries/UtilsLib.sol"; -import {SafeTransferLib, ERC20} from "../../../lib/solmate/src/utils/SafeTransferLib.sol"; -import {MorphoLib} from "../../../lib/morpho-blue/src/libraries/periphery/MorphoLib.sol"; -import {MorphoBalancesLib} from "../../../lib/morpho-blue/src/libraries/periphery/MorphoBalancesLib.sol"; +import {MarketParamsLib} from "../../lib/morpho-blue/src/libraries/MarketParamsLib.sol"; +import {SharesMathLib} from "../../lib/morpho-blue/src/libraries/SharesMathLib.sol"; +import {MathLib, WAD} from "../../lib/morpho-blue/src/libraries/MathLib.sol"; +import {UtilsLib} from "../../lib/morpho-blue/src/libraries/UtilsLib.sol"; +import {SafeTransferLib, ERC20} from "../../lib/solmate/src/utils/SafeTransferLib.sol"; +import {MorphoLib} from "../../lib/morpho-blue/src/libraries/periphery/MorphoLib.sol"; +import {MorphoBalancesLib} from "../../lib/morpho-blue/src/libraries/periphery/MorphoBalancesLib.sol"; import { LIQUIDATION_CURSOR, MAX_LIQUIDATION_INCENTIVE_FACTOR, ORACLE_PRICE_SCALE -} from "../../../lib/morpho-blue/src/libraries/ConstantsLib.sol"; +} from "../../lib/morpho-blue/src/libraries/ConstantsLib.sol"; -import {IrmMock} from "../../../lib/morpho-blue/src/mocks/IrmMock.sol"; -import {OracleMock} from "../../../lib/morpho-blue/src/mocks/OracleMock.sol"; -import {WETH} from "../../../lib/solmate/src/tokens/WETH.sol"; +import {IrmMock} from "../../lib/morpho-blue/src/mocks/IrmMock.sol"; +import {OracleMock} from "../../lib/morpho-blue/src/mocks/OracleMock.sol"; +import {WETH} from "../../lib/solmate/src/tokens/WETH.sol"; import {BaseBundler} from "../../src/BaseBundler.sol"; import {PermitBundler} from "../../src/PermitBundler.sol"; @@ -37,8 +37,8 @@ import {MorphoBundler, Withdrawal} from "../../src/MorphoBundler.sol"; import {ERC20WrapperBundler} from "../../src/ERC20WrapperBundler.sol"; import {ChainAgnosticBundlerV2} from "../../src/chain-agnostic/ChainAgnosticBundlerV2.sol"; -import "../../../lib/forge-std/src/Test.sol"; -import "../../../lib/forge-std/src/console2.sol"; +import "../../lib/forge-std/src/Test.sol"; +import "../../lib/forge-std/src/console2.sol"; uint256 constant MIN_AMOUNT = 1000; uint256 constant MAX_AMOUNT = 2 ** 64; // Must be less than or equal to type(uint160).max. diff --git a/test/helpers/SigUtils.sol b/test/helpers/SigUtils.sol index df42ebe1..abaed917 100644 --- a/test/helpers/SigUtils.sol +++ b/test/helpers/SigUtils.sol @@ -2,8 +2,8 @@ pragma solidity ^0.8.0; import {ICompoundV3} from "../../src/migration/interfaces/ICompoundV3.sol"; -import {Authorization} from "../../../lib/morpho-blue/src/interfaces/IMorpho.sol"; -import {IAllowanceTransfer} from "../../../lib/permit2/src/interfaces/IAllowanceTransfer.sol"; +import {Authorization} from "../../lib/morpho-blue/src/interfaces/IMorpho.sol"; +import {IAllowanceTransfer} from "../../lib/permit2/src/interfaces/IAllowanceTransfer.sol"; import { Authorization as AaveV3OptimizerAuthorization, AUTHORIZATION_TYPEHASH as AAVE_V3_OPTIMIZER_AUTHORIZATION_TYPEHASH @@ -14,9 +14,9 @@ import { AUTHORIZATION_TYPEHASH as COMPOUND_V3_AUTHORIZATION_TYPEHASH } from "../../src/migration/interfaces/ICompoundV3.sol"; -import {PermitHash} from "../../../lib/permit2/src/libraries/PermitHash.sol"; -import {ECDSA} from "../../../lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol"; -import {AUTHORIZATION_TYPEHASH} from "../../../lib/morpho-blue/src/libraries/ConstantsLib.sol"; +import {PermitHash} from "../../lib/permit2/src/libraries/PermitHash.sol"; +import {ECDSA} from "../../lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol"; +import {AUTHORIZATION_TYPEHASH} from "../../lib/morpho-blue/src/libraries/ConstantsLib.sol"; bytes32 constant PERMIT_TYPEHASH = keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");