Skip to content

Commit 437f44e

Browse files
committed
feat: verify that vault = 0 => vaultConversionSample = 1
1 parent 3d9d218 commit 437f44e

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

src/ChainlinkOracle.sol

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ contract ChainlinkOracle is IOracle {
5555
// The vault parameter is used for ERC4626 tokens, to price its shares.
5656
// It is used to price `VAULT_CONVERSION_SAMPLE` of the vault shares, so it requires dividing by that number,
5757
// hence the division by `VAULT_CONVERSION_SAMPLE` in the `SCALE_FACTOR` definition.
58+
// Verify that vault = 0 => vaultConversionSample = 1.
59+
require(address(vault) != address(0) || vaultConversionSample == 1);
5860
VAULT = vault;
5961
VAULT_CONVERSION_SAMPLE = vaultConversionSample;
6062
BASE_FEED_1 = baseFeed1;

test/ChainlinkOracleTest.sol

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,4 +131,10 @@ contract ChainlinkOracleTest is Test {
131131
uint256 deviation = 0.5 ether;
132132
assertApproxEqRel(oracle.price(), expectedPrice, deviation);
133133
}
134+
135+
function testConstructorVaultZeroNonOneSample(uint256 vaultConversionSample) public {
136+
vm.assume(vaultConversionSample != 1);
137+
vm.expectRevert();
138+
new ChainlinkOracle(vaultZero, daiEthFeed, feedZero, usdcEthFeed, feedZero, vaultConversionSample, 18, 6);
139+
}
134140
}

0 commit comments

Comments
 (0)