Skip to content

Commit 3196c86

Browse files
committed
Remove old unnecessary invariant for ERC721
1 parent 3204c5a commit 3196c86

File tree

1 file changed

+0
-61
lines changed

1 file changed

+0
-61
lines changed

certora/specs/ERC721.spec

Lines changed: 0 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -192,67 +192,6 @@ invariant balanceOfConsistency(address user)
192192
}
193193

194194

195-
196-
/*
197-
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
198-
Invariant: fundamental ERC721 consistency: if an owner owns 2 different tokens, balance >= 2
199-
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
200-
*/
201-
invariant ownersBalancesConsistency(uint256 tokenId1, uint256 tokenId2)
202-
(tokenId1 != tokenId2 &&
203-
unsafeOwnerOf(tokenId1) != 0 &&
204-
unsafeOwnerOf(tokenId2) != 0 &&
205-
unsafeOwnerOf(tokenId1) == unsafeOwnerOf(tokenId2)) =>
206-
balanceOf(unsafeOwnerOf(tokenId1)) >= 2
207-
{
208-
preserved mint(address to, uint256 tokenId) with (env e) {
209-
require balanceLimited(to);
210-
requireInvariant ownerHasBalance(tokenId1);
211-
requireInvariant ownerHasBalance(tokenId2);
212-
}
213-
preserved safeMint(address to, uint256 tokenId) with (env e) {
214-
require balanceLimited(to);
215-
requireInvariant ownerHasBalance(tokenId1);
216-
requireInvariant ownerHasBalance(tokenId2);
217-
}
218-
preserved safeMint(address to, uint256 tokenId, bytes data) with (env e) {
219-
require balanceLimited(to);
220-
requireInvariant ownerHasBalance(tokenId1);
221-
requireInvariant ownerHasBalance(tokenId2);
222-
}
223-
preserved transferFrom(address from, address to, uint256 tokenId) with (env e) {
224-
require from != unsafeOwnerOf(tokenId1);
225-
require balanceLimited(to);
226-
requireInvariant ownerHasBalance(tokenId1);
227-
requireInvariant ownerHasBalance(tokenId2);
228-
requireInvariant balanceOfConsistency(from);
229-
requireInvariant balanceOfConsistency(to);
230-
}
231-
preserved safeTransferFrom(address from, address to, uint256 tokenId) with (env e) {
232-
require from != unsafeOwnerOf(tokenId1);
233-
require balanceLimited(to);
234-
requireInvariant ownerHasBalance(tokenId1);
235-
requireInvariant ownerHasBalance(tokenId2);
236-
requireInvariant balanceOfConsistency(from);
237-
requireInvariant balanceOfConsistency(to);
238-
}
239-
preserved safeTransferFrom(address from, address to, uint256 tokenId, bytes data) with (env e) {
240-
require from != unsafeOwnerOf(tokenId1);
241-
require balanceLimited(to);
242-
requireInvariant ownerHasBalance(tokenId1);
243-
requireInvariant ownerHasBalance(tokenId2);
244-
requireInvariant balanceOfConsistency(from);
245-
requireInvariant balanceOfConsistency(to);
246-
}
247-
preserved burn(uint256 tokenId) with (env e) {
248-
require unsafeOwnerOf(tokenId) != unsafeOwnerOf(tokenId1);
249-
requireInvariant ownerHasBalance(tokenId1);
250-
requireInvariant ownerHasBalance(tokenId2);
251-
requireInvariant balanceOfConsistency(unsafeOwnerOf(tokenId));
252-
require balanceLimited(unsafeOwnerOf(tokenId));
253-
}
254-
}
255-
256195
/*
257196
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
258197
Invariant: owner of a token must have some balance

0 commit comments

Comments
 (0)