staking/certora/specs/StakeVault.spec
r4bbit 2343213e0d chore(StakeVault.spec): comment out purposefully failing rule
This rule is only used for debugging purposes and serves no function for
production formal verification. Hence we're commenting it out.
2024-03-05 10:21:26 -03:00

34 lines
724 B
Ruby

using ERC20A as staked;
using StakeManager as stakeManager;
methods {
function ERC20A.balanceOf(address) external returns (uint256) envfree;
}
/* assume that migration is zero, causing to ignore cases where it is not zero */
function simplification() {
require stakeManager.migration == 0;
}
rule reachability(method f){
calldataarg args;
env e;
f(e,args);
satisfy true;
}
/*
The rule below is commented out as it's merely used to easily have the
prover find all functions that change balances.
rule whoChangeERC20Balance(method f)
{
simplification();
address user;
uint256 before = staked.balanceOf(user);
calldataarg args;
env e;
f(e,args);
assert before == staked.balanceOf(user);
}
*/