helpers.spec 640 B

12345678910111213
  1. // environment
  2. definition nonzero(address account) returns bool = account != 0;
  3. definition nonpayable(env e) returns bool = e.msg.value == 0;
  4. definition nonzerosender(env e) returns bool = nonzero(e.msg.sender);
  5. definition sanity(env e) returns bool = clock(e) > 0 && clock(e) <= max_uint48;
  6. // math
  7. definition min(mathint a, mathint b) returns mathint = a < b ? a : b;
  8. definition max(mathint a, mathint b) returns mathint = a > b ? a : b;
  9. // time
  10. definition clock(env e) returns mathint = to_mathint(e.block.timestamp);
  11. definition isSetAndPast(env e, uint48 timepoint) returns bool = timepoint != 0 && to_mathint(timepoint) <= clock(e);