Skip to content

Commit 6d14179

Browse files
committed
refactor: FM_PC_ExternalPrice_Redeeming_v1_Test
- Remove imports - Refactor most of the setup - Add exposed mock - Removed OraclePriceMock and InvalidMock - Added simpler oracle mockf - fmt
1 parent 3a4ebe1 commit 6d14179

File tree

7 files changed

+651
-614
lines changed

7 files changed

+651
-614
lines changed

src/modules/fundingManager/oracle/FM_PC_ExternalPrice_Redeeming_v1.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -724,4 +724,4 @@ contract FM_PC_ExternalPrice_Redeeming_v1 is
724724
function _ensureTokenBalance(address token_) internal virtual override {
725725
// No balance check needed.
726726
}
727-
}
727+
}

src/modules/fundingManager/oracle/interfaces/IFM_PC_ExternalPrice_Redeeming_v1.sol

+1-1
Original file line numberDiff line numberDiff line change
@@ -177,4 +177,4 @@ interface IFM_PC_ExternalPrice_Redeeming_v1 is
177177
/// @notice Toggles whether the contract only allows direct operations or not.
178178
/// @param isDirectOperationsOnly_ The new value for the flag.
179179
function setIsDirectOperationsOnly(bool isDirectOperationsOnly_) external;
180-
}
180+
}

test/modules/fundingManager/oracle/FM_PC_ExternalPrice_Redeeming_v1_Test.t.sol test/modules/fundingManager/oracle/FM_PC_ExternalPrice_Redeeming_v1.t.sol

+591-556
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// SPDX-License-Identifier: UNLICENSED
2+
pragma solidity 0.8.23;
3+
4+
import {FM_PC_ExternalPrice_Redeeming_v1} from
5+
"src/modules/fundingManager/oracle/FM_PC_ExternalPrice_Redeeming_v1.sol";
6+
7+
contract FM_PC_ExternalPrice_Redeeming_v1_Exposed is
8+
FM_PC_ExternalPrice_Redeeming_v1
9+
{}

test/modules/fundingManager/oracle/utils/mocks/InvalidOracleMock.sol

-15
This file was deleted.

test/modules/fundingManager/oracle/utils/mocks/OraclePriceMock.sol

-41
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
// SPDX-License-Identifier: LGPL-3.0-only
2+
pragma solidity 0.8.23;
3+
4+
import "@lm/interfaces/IOraclePrice_v1.sol";
5+
import "src/modules/base/Module_v1.sol";
6+
7+
contract OraclePrice_Mock is IOraclePrice_v1, Module_v1 {
8+
uint private _priceForIssuance;
9+
uint private _priceForRedemption;
10+
11+
function supportsInterface(bytes4 interfaceId)
12+
public
13+
view
14+
virtual
15+
override
16+
returns (bool)
17+
{
18+
return interfaceId == type(IOraclePrice_v1).interfaceId
19+
|| super.supportsInterface(interfaceId);
20+
}
21+
22+
function init(
23+
IOrchestrator_v1 orchestrator_,
24+
Metadata memory metadata,
25+
bytes memory configData
26+
) public override(Module_v1) initializer {
27+
__Module_init(orchestrator_, metadata);
28+
_priceForIssuance = 1e18; // Default price 1:1
29+
_priceForRedemption = 1e18; // Default price 1:1
30+
}
31+
32+
function setIssuancePrice(uint price_) external {
33+
if (price_ == 0) revert OraclePrice__ZeroPrice();
34+
_priceForIssuance = price_;
35+
}
36+
37+
function setRedemptionPrice(uint price_) external {
38+
if (price_ == 0) revert OraclePrice__ZeroPrice();
39+
_priceForRedemption = price_;
40+
}
41+
42+
function getPriceForIssuance() external view returns (uint) {
43+
return _priceForIssuance;
44+
}
45+
46+
function getPriceForRedemption() external view returns (uint) {
47+
return _priceForRedemption;
48+
}
49+
}

0 commit comments

Comments
 (0)