mirror of https://github.com/logos-co/staking.git
29 lines
594 B
Ruby
29 lines
594 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;
|
|
}
|
|
|
|
rule whoChangeERC20Balance(method f)
|
|
{
|
|
simplification();
|
|
address user;
|
|
uint256 before = staked.balanceOf(user);
|
|
calldataarg args;
|
|
env e;
|
|
f(e,args);
|
|
assert before == staked.balanceOf(user);
|
|
}
|