staking/certora/specs/MaxMPRule.spec
r4bbit 7581c2a079 refactor(certora): move rule about MP not greater than max MP into own
spec

This is necessary because we need to run this rule on a custom config to
avoid timeouts.
2024-10-08 10:14:20 -03:00

18 lines
600 B
Python

import "./shared.spec";
methods {
function accounts(address) external returns(address, uint256, uint256, uint256, uint256, uint256, uint256, uint256) envfree;
}
invariant MPcantBeGreaterThanMaxMP(address addr)
to_mathint(getAccountCurrentMultiplierPoints(addr)) <= (getAccountBalance(addr) * 8) + getAccountBonusMultiplierPoints(addr)
filtered {
f -> f.selector != sig:migrateFrom(address,bool,StakeManager.Account).selector
}
{ preserved {
requireInvariant InitialMPIsNeverSmallerThanBalance(addr);
requireInvariant CurrentMPIsNeverSmallerThanInitialMP(addr);
}
}