diff --git a/certora/basic/specs/EModeConfiguration.spec b/certora/basic/specs/EModeConfiguration.spec index 5158a2a9..c3823476 100644 --- a/certora/basic/specs/EModeConfiguration.spec +++ b/certora/basic/specs/EModeConfiguration.spec @@ -6,11 +6,37 @@ methods { } +/*===================================================================================== + Rule: setCollateralIntegrity / setBorrowableIntegrity: + We check the integrity of the functions setReserveBitmapBit (which is a setter) and + isReserveEnabledOnBitmap (which is a getter), simply by setting an arbitrary value to arbitrary + location, and then reading it using the getter. + + Note: the functions setCollateral and isCollateralAsset are envelopes to the above setter and getter + and are implemented in the harness. + + Status: PASS + Link: + =====================================================================================*/ rule setCollateralIntegrity(uint256 reserveIndex, bool collateral) { setCollateral(reserveIndex,collateral); assert isCollateralAsset(reserveIndex) == collateral; } +rule setBorrowableIntegrity(uint256 reserveIndex, bool borrowable) { + setBorrowable(reserveIndex,borrowable); + assert isBorrowableAsset(reserveIndex) == borrowable; +} + + + +/*===================================================================================== + Rule: independencyOfCollateralSetters / independencyOfBorrowableSetters: + We check that when calling to setReserveBitmapBit(index,val) only the value at the given + index may be altered. + Status: PASS + Link: + =====================================================================================*/ rule independencyOfCollateralSetters(uint256 reserveIndex, bool collateral) { uint256 reserveIndex_other; @@ -20,13 +46,6 @@ rule independencyOfCollateralSetters(uint256 reserveIndex, bool collateral) { assert (reserveIndex != reserveIndex_other => before == after); } - - -rule setBorrowableIntegrity(uint256 reserveIndex, bool borrowable) { - setBorrowable(reserveIndex,borrowable); - assert isBorrowableAsset(reserveIndex) == borrowable; -} - rule independencyOfBorrowableSetters(uint256 reserveIndex, bool borrowable) { uint256 reserveIndex_other;