diff --git a/lib/metamorpho b/lib/metamorpho index 4ca254a..15941c1 160000 --- a/lib/metamorpho +++ b/lib/metamorpho @@ -1 +1 @@ -Subproject commit 4ca254a2f6ba74437ff35a012ed3814056123644 +Subproject commit 15941c19a244b9986512f08e76abd9c2a55690dc diff --git a/src/PublicAllocator.sol b/src/PublicAllocator.sol index f7c251c..ca1a950 100644 --- a/src/PublicAllocator.sol +++ b/src/PublicAllocator.sol @@ -1,18 +1,22 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.21; +pragma solidity 0.8.24; import { Id, IMorpho, IMetaMorpho, MarketAllocation, MarketParams } from "../lib/metamorpho/src/interfaces/IMetaMorpho.sol"; -import { - MarketParamsLib, - MorphoLib, - MorphoBalancesLib, - SharesMathLib, - Market, - UtilsLib -} from "../lib/metamorpho/src/MetaMorpho.sol"; + +import {MarketParamsLib} from "../lib/metamorpho/lib/morpho-blue/src/libraries/MarketParamsLib.sol"; + +import {MorphoLib} from "../lib/metamorpho/lib/morpho-blue/src/libraries/periphery/MorphoLib.sol"; + +import {MorphoBalancesLib} from "../lib/metamorpho/lib/morpho-blue/src/libraries/periphery/MorphoBalancesLib.sol"; + +import {SharesMathLib} from "../lib/metamorpho/lib/morpho-blue/src/libraries/SharesMathLib.sol"; + +import {Market} from "../lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol"; +import {UtilsLib} from "../lib/metamorpho/lib/morpho-blue/src/libraries/UtilsLib.sol"; import {Ownable2Step, Ownable} from "../lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol"; + import {Multicall} from "../lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Multicall.sol"; import {ErrorsLib} from "./libraries/ErrorsLib.sol"; import {FlowCaps, FlowConfig, IPublicAllocatorStaticTyping} from "./interfaces/IPublicAllocator.sol"; diff --git a/src/mocks/MetaMorphoImport.sol b/src/mocks/MetaMorphoImport.sol new file mode 100644 index 0000000..1bc0bbe --- /dev/null +++ b/src/mocks/MetaMorphoImport.sol @@ -0,0 +1,7 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +pragma solidity 0.8.21; +// Force foundry to compile MetaMorpho even though it's not imported by the public allocator or by the tests. +// MetaMorpho will be compiled with its own solidity version. +// The resulting bytecode is then loaded by the tests. + +import "../../lib/metamorpho/src/MetaMorpho.sol";