Is it possible to achieve something like this?
contract Vault {
struct Account {
uint256 id;
uint256 shares;
}
mapping(address => Account) accounts;
uint256 totalShares;
/// #invariant unchecked_sum(accounts.shares) == totalShares;
function deposit() {
/// ...
}
}
Is it possible to achieve something like this?