Skip to content

Commit f9f0fe2

Browse files
committed
refactor: change arguments order
1 parent 51c1c5f commit f9f0fe2

File tree

2 files changed

+23
-24
lines changed

2 files changed

+23
-24
lines changed

src/ChainlinkOracle.sol

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,26 +62,26 @@ contract ChainlinkOracle is IChainlinkOracle {
6262
/// @param baseVaultConversionSample The sample amount of base vault shares used to convert to underlying.
6363
/// Pass 1 if the base asset is not a vault. Should be chosen such that converting `baseVaultConversionSample` to
6464
/// assets has enough precision.
65+
/// @param baseFeed1 First base feed. Pass address zero if the price = 1.
66+
/// @param baseFeed2 Second base feed. Pass address zero if the price = 1.
67+
/// @param baseTokenDecimals Base token decimals.
6568
/// @param quoteVault Quote vault. Pass address zero to omit this parameter.
6669
/// @param quoteVaultConversionSample The sample amount of quote vault shares used to convert to underlying.
6770
/// Pass 1 if the quote asset is not a vault. Should be chosen such that converting `quoteVaultConversionSample` to
6871
/// assets has enough precision.
69-
/// @param baseFeed1 First base feed. Pass address zero if the price = 1.
70-
/// @param baseFeed2 Second base feed. Pass address zero if the price = 1.
7172
/// @param quoteFeed1 First quote feed. Pass address zero if the price = 1.
7273
/// @param quoteFeed2 Second quote feed. Pass address zero if the price = 1.
73-
/// @param baseTokenDecimals Base token decimals.
7474
/// @param quoteTokenDecimals Quote token decimals.
7575
constructor(
7676
IERC4626 baseVault,
7777
uint256 baseVaultConversionSample,
78-
IERC4626 quoteVault,
79-
uint256 quoteVaultConversionSample,
8078
AggregatorV3Interface baseFeed1,
8179
AggregatorV3Interface baseFeed2,
80+
uint256 baseTokenDecimals,
81+
IERC4626 quoteVault,
82+
uint256 quoteVaultConversionSample,
8283
AggregatorV3Interface quoteFeed1,
8384
AggregatorV3Interface quoteFeed2,
84-
uint256 baseTokenDecimals,
8585
uint256 quoteTokenDecimals
8686
) {
8787
// The ERC4626 vaults parameter is used to price their respective conversion samples of their respective shares,

test/ChainlinkOracleTest.sol

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ contract ChainlinkOracleTest is Test {
3636

3737
function testOracleWbtcUsdc() public {
3838
ChainlinkOracle oracle =
39-
new ChainlinkOracle(vaultZero, 1, vaultZero, 1, wBtcBtcFeed, btcUsdFeed, usdcUsdFeed, feedZero, 8, 6);
39+
new ChainlinkOracle(vaultZero, 1, wBtcBtcFeed, btcUsdFeed, 8, vaultZero, 1, usdcUsdFeed, feedZero, 6);
4040
(, int256 firstBaseAnswer,,,) = wBtcBtcFeed.latestRoundData();
4141
(, int256 secondBaseAnswer,,,) = btcUsdFeed.latestRoundData();
4242
(, int256 quoteAnswer,,,) = usdcUsdFeed.latestRoundData();
@@ -49,7 +49,7 @@ contract ChainlinkOracleTest is Test {
4949

5050
function testOracleUsdcWbtc() public {
5151
ChainlinkOracle oracle =
52-
new ChainlinkOracle(vaultZero, 1, vaultZero, 1, usdcUsdFeed, feedZero, wBtcBtcFeed, btcUsdFeed, 6, 8);
52+
new ChainlinkOracle(vaultZero, 1, usdcUsdFeed, feedZero, 6, vaultZero, 1, wBtcBtcFeed, btcUsdFeed, 8);
5353
(, int256 baseAnswer,,,) = usdcUsdFeed.latestRoundData();
5454
(, int256 firstQuoteAnswer,,,) = wBtcBtcFeed.latestRoundData();
5555
(, int256 secondQuoteAnswer,,,) = btcUsdFeed.latestRoundData();
@@ -62,63 +62,62 @@ contract ChainlinkOracleTest is Test {
6262

6363
function testOracleWbtcEth() public {
6464
ChainlinkOracle oracle =
65-
new ChainlinkOracle(vaultZero, 1, vaultZero, 1, wBtcBtcFeed, btcEthFeed, feedZero, feedZero, 8, 18);
65+
new ChainlinkOracle(vaultZero, 1, wBtcBtcFeed, btcEthFeed, 8, vaultZero, 1, feedZero, feedZero, 18);
6666
(, int256 firstBaseAnswer,,,) = wBtcBtcFeed.latestRoundData();
6767
(, int256 secondBaseAnswer,,,) = btcEthFeed.latestRoundData();
6868
assertEq(oracle.price(), (uint256(firstBaseAnswer) * uint256(secondBaseAnswer) * 10 ** (36 + 18 - 8 - 8 - 18)));
6969
}
7070

7171
function testOracleStEthUsdc() public {
7272
ChainlinkOracle oracle =
73-
new ChainlinkOracle(vaultZero, 1, vaultZero, 1, stEthEthFeed, feedZero, usdcEthFeed, feedZero, 18, 6);
73+
new ChainlinkOracle(vaultZero, 1, stEthEthFeed, feedZero, 18, vaultZero, 1, usdcEthFeed, feedZero, 6);
7474
(, int256 baseAnswer,,,) = stEthEthFeed.latestRoundData();
7575
(, int256 quoteAnswer,,,) = usdcEthFeed.latestRoundData();
7676
assertEq(oracle.price(), uint256(baseAnswer) * 10 ** (36 + 18 + 6 - 18 - 18) / uint256(quoteAnswer));
7777
}
7878

7979
function testOracleEthUsd() public {
8080
ChainlinkOracle oracle =
81-
new ChainlinkOracle(vaultZero, 1, vaultZero, 1, ethUsdFeed, feedZero, feedZero, feedZero, 18, 0);
81+
new ChainlinkOracle(vaultZero, 1, ethUsdFeed, feedZero, 18, vaultZero, 1, feedZero, feedZero, 0);
8282
(, int256 expectedPrice,,,) = ethUsdFeed.latestRoundData();
8383
assertEq(oracle.price(), uint256(expectedPrice) * 10 ** (36 - 18 - 8));
8484
}
8585

8686
function testOracleStEthEth() public {
8787
ChainlinkOracle oracle =
88-
new ChainlinkOracle(vaultZero, 1, vaultZero, 1, stEthEthFeed, feedZero, feedZero, feedZero, 18, 18);
88+
new ChainlinkOracle(vaultZero, 1, stEthEthFeed, feedZero, 18, vaultZero, 1, feedZero, feedZero, 18);
8989
(, int256 expectedPrice,,,) = stEthEthFeed.latestRoundData();
9090
assertEq(oracle.price(), uint256(expectedPrice) * 10 ** (36 + 18 - 18 - 18));
9191
assertApproxEqRel(oracle.price(), 1e36, 0.01 ether);
9292
}
9393

9494
function testOracleEthStEth() public {
9595
ChainlinkOracle oracle =
96-
new ChainlinkOracle(vaultZero, 1, vaultZero, 1, feedZero, feedZero, stEthEthFeed, feedZero, 18, 18);
96+
new ChainlinkOracle(vaultZero, 1, feedZero, feedZero, 18, vaultZero, 1, stEthEthFeed, feedZero, 18);
9797
(, int256 expectedPrice,,,) = stEthEthFeed.latestRoundData();
9898
assertEq(oracle.price(), 10 ** (36 + 18 + 18 - 18) / uint256(expectedPrice));
9999
assertApproxEqRel(oracle.price(), 1e36, 0.01 ether);
100100
}
101101

102102
function testOracleUsdcUsd() public {
103103
ChainlinkOracle oracle =
104-
new ChainlinkOracle(vaultZero, 1, vaultZero, 1, usdcUsdFeed, feedZero, feedZero, feedZero, 6, 0);
104+
new ChainlinkOracle(vaultZero, 1, usdcUsdFeed, feedZero, 6, vaultZero, 1, feedZero, feedZero, 0);
105105
assertApproxEqRel(oracle.price(), 1e36 / 1e6, 0.01 ether);
106106
}
107107

108108
function testNegativeAnswer(int256 price) public {
109109
price = bound(price, type(int256).min, -1);
110110
ChainlinkAggregatorMock aggregator = new ChainlinkAggregatorMock();
111111
ChainlinkOracle oracle = new ChainlinkOracle(
112-
vaultZero, 1, vaultZero, 1, AggregatorV3Interface(address(aggregator)), feedZero, feedZero, feedZero, 18, 0
113-
);
112+
vaultZero, 1, AggregatorV3Interface(address(aggregator)), feedZero, 18, vaultZero, 1, feedZero, feedZero, 0);
114113
aggregator.setAnwser(price);
115114
vm.expectRevert(bytes(ErrorsLib.NEGATIVE_ANSWER));
116115
oracle.price();
117116
}
118117

119118
function testSDaiEthOracle() public {
120119
ChainlinkOracle oracle =
121-
new ChainlinkOracle(sDaiVault, 10 ** 18, vaultZero, 1, daiEthFeed, feedZero, feedZero, feedZero, 18, 18);
120+
new ChainlinkOracle(sDaiVault, 10 ** 18, daiEthFeed, feedZero, 18, vaultZero, 1, feedZero, feedZero, 18);
122121
(, int256 expectedPrice,,,) = daiEthFeed.latestRoundData();
123122
assertEq(
124123
oracle.price(),
@@ -128,7 +127,7 @@ contract ChainlinkOracleTest is Test {
128127

129128
function testSDaiUsdcOracle() public {
130129
ChainlinkOracle oracle =
131-
new ChainlinkOracle(sDaiVault, 10 ** 18, vaultZero, 1, daiEthFeed, feedZero, usdcEthFeed, feedZero, 18, 6);
130+
new ChainlinkOracle(sDaiVault, 10 ** 18, daiEthFeed, feedZero, 18, vaultZero, 1, usdcEthFeed, feedZero, 6);
132131
(, int256 baseAnswer,,,) = daiEthFeed.latestRoundData();
133132
(, int256 quoteAnswer,,,) = usdcEthFeed.latestRoundData();
134133
assertEq(
@@ -145,7 +144,7 @@ contract ChainlinkOracleTest is Test {
145144

146145
function testEthSDaiOracle() public {
147146
ChainlinkOracle oracle =
148-
new ChainlinkOracle(vaultZero, 1, sDaiVault, 1e18, feedZero, feedZero, daiEthFeed, feedZero, 18, 18);
147+
new ChainlinkOracle(vaultZero, 1, feedZero, feedZero, 18, sDaiVault, 1e18, daiEthFeed, feedZero, 18);
149148
(, int256 quoteAnswer,,,) = daiEthFeed.latestRoundData();
150149
assertEq(
151150
oracle.price(),
@@ -156,7 +155,7 @@ contract ChainlinkOracleTest is Test {
156155

157156
function testUsdcSDaiOracle() public {
158157
ChainlinkOracle oracle =
159-
new ChainlinkOracle(vaultZero, 1, sDaiVault, 1e18, usdcEthFeed, feedZero, daiEthFeed, feedZero, 6, 18);
158+
new ChainlinkOracle(vaultZero, 1, usdcEthFeed, feedZero, 6, sDaiVault, 1e18, daiEthFeed, feedZero, 18);
160159
(, int256 baseAnswer,,,) = usdcEthFeed.latestRoundData();
161160
(, int256 quoteAnswer,,,) = daiEthFeed.latestRoundData();
162161
// 1e(36 + dQ1 + fpQ1 + fpQ2 - dB1 - fpB1 - fpB2) * qCS / bCS
@@ -174,17 +173,17 @@ contract ChainlinkOracleTest is Test {
174173

175174
function testConstructorZeroVaultConversionSample() public {
176175
vm.expectRevert(bytes(ErrorsLib.VAULT_CONVERSION_SAMPLE_IS_ZERO));
177-
new ChainlinkOracle(sDaiVault, 0, vaultZero, 1, daiEthFeed, feedZero, usdcEthFeed, feedZero, 18, 6);
176+
new ChainlinkOracle(sDaiVault, 0, daiEthFeed, feedZero, 18, vaultZero, 1, usdcEthFeed, feedZero, 6);
178177
vm.expectRevert(bytes(ErrorsLib.VAULT_CONVERSION_SAMPLE_IS_ZERO));
179-
new ChainlinkOracle(vaultZero, 1, sDaiVault, 0, daiEthFeed, feedZero, usdcEthFeed, feedZero, 18, 6);
178+
new ChainlinkOracle(vaultZero, 1, daiEthFeed, feedZero, 18, sDaiVault, 0, usdcEthFeed, feedZero, 6);
180179
}
181180

182181
function testConstructorVaultZeroNotOneSample(uint256 vaultConversionSample) public {
183182
vaultConversionSample = bound(vaultConversionSample, 2, type(uint256).max);
184183

185184
vm.expectRevert(bytes(ErrorsLib.VAULT_CONVERSION_SAMPLE_IS_NOT_ONE));
186-
new ChainlinkOracle(vaultZero, 0, vaultZero, 1, daiEthFeed, feedZero, usdcEthFeed, feedZero, 18, 6);
185+
new ChainlinkOracle(vaultZero, 0, daiEthFeed, feedZero, 18, vaultZero, 1, usdcEthFeed, feedZero, 6);
187186
vm.expectRevert(bytes(ErrorsLib.VAULT_CONVERSION_SAMPLE_IS_NOT_ONE));
188-
new ChainlinkOracle(vaultZero, 1, vaultZero, 0, daiEthFeed, feedZero, usdcEthFeed, feedZero, 18, 6);
187+
new ChainlinkOracle(vaultZero, 1, daiEthFeed, feedZero, 18, vaultZero, 0, usdcEthFeed, feedZero, 6);
189188
}
190189
}

0 commit comments

Comments
 (0)