Browse Source

Added invariant balanceOfZeroAddressIsZero (partially passing)

Thomas Adams 3 years ago
parent
commit
15e847c835
1 changed files with 5 additions and 1 deletions
  1. 5 1
      certora/specs/ERC1155Supply.spec

+ 5 - 1
certora/specs/ERC1155Supply.spec

@@ -4,7 +4,7 @@ methods {
     balanceOf(address, uint256) returns uint256 envfree
     exists_wrapper(uint256) returns bool envfree
 }
-
+ 
 /// given two different token ids, if totalSupply for one changes, then
 /// totalSupply for other should not
 rule token_totalSupply_independence(method f)
@@ -60,6 +60,10 @@ rule total_supply_is_sum_of_balances_as_rule {
 
 /******************************************************************************/
 
+/// The balance of a token for the zero address must be zero.
+invariant balanceOfZeroAddressIsZero(uint256 token)
+    balanceOf(0, token) == 0
+
 // if a user has a token, then the token should exist
 
 /*