Skip to content

Commit

Permalink
added some tests to ensure EOA registries fail
Browse files Browse the repository at this point in the history
  • Loading branch information
mpeyfuss committed Jan 4, 2024
1 parent b86ece6 commit fb7b8bb
Show file tree
Hide file tree
Showing 2 changed files with 94 additions and 0 deletions.
48 changes: 48 additions & 0 deletions test/erc-721/ERC721TL.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2538,6 +2538,23 @@ contract ERC721TLTest is Test {
assertEq(address(tokenContract.blocklistRegistry()), blocklistRegistry);
}

function test_blocklist_eoa() public {
// update blocklist registry to EOA
tokenContract.setBlockListRegistry(blocklistRegistry);

// mint
tokenContract.mint(address(this), "uri");

// expect revert
vm.expectRevert();
tokenContract.approve(address(10), 1);
vm.expectRevert();
tokenContract.setApprovalForAll(address(10), true);

// expect can set approval for all to false regardless
tokenContract.setApprovalForAll(address(10), false);
}

function test_blocklist_mint(address collector, address operator) public {
// limit fuzz
vm.assume(collector != address(0));
Expand Down Expand Up @@ -2781,4 +2798,35 @@ contract ERC721TLTest is Test {
tokenContract.setNftDelegationRegistry(nftDelegationRegistry);
assertEq(address(tokenContract.tlNftDelegationRegistry()), nftDelegationRegistry);
}

function test_delegation_eoa() public {
// set delegation registry to eoa
tokenContract.setNftDelegationRegistry(nftDelegationRegistry);

// mint
tokenContract.mint(address(1), "uri");

// add story reverts for delegate but not collector
vm.expectRevert();
vm.prank(address(2));
tokenContract.addStory(1, "", "story");

vm.prank(address(1));
tokenContract.addStory(1, "", "story");

// synergy reverts open for delegate but deterministic for collector
vm.expectRevert();
vm.prank(address(2));
tokenContract.acceptTokenUriUpdate(1);
vm.expectRevert();
vm.prank(address(2));
tokenContract.rejectTokenUriUpdate(1);

vm.expectRevert(ERC721TL.NoTokenUriUpdateAvailable.selector);
vm.prank(address(1));
tokenContract.acceptTokenUriUpdate(1);
vm.expectRevert(ERC721TL.NoTokenUriUpdateAvailable.selector);
vm.prank(address(1));
tokenContract.rejectTokenUriUpdate(1);
}
}
46 changes: 46 additions & 0 deletions test/erc-721/multi-metadata/ERC7160TL.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2660,6 +2660,23 @@ contract ERC7160TLTest is Test {
assertEq(address(tokenContract.blocklistRegistry()), blocklistRegistry);
}

function test_blocklist_eoa() public {
// update blocklist registry to EOA
tokenContract.setBlockListRegistry(blocklistRegistry);

// mint
tokenContract.mint(address(this), "uri");

// expect revert
vm.expectRevert();
tokenContract.approve(address(10), 1);
vm.expectRevert();
tokenContract.setApprovalForAll(address(10), true);

// expect can set approval for all to false regardless
tokenContract.setApprovalForAll(address(10), false);
}

function test_blocklist_mint(address collector, address operator) public {
// limit fuzz
vm.assume(collector != address(0));
Expand Down Expand Up @@ -2903,4 +2920,33 @@ contract ERC7160TLTest is Test {
tokenContract.setNftDelegationRegistry(nftDelegationRegistry);
assertEq(address(tokenContract.tlNftDelegationRegistry()), nftDelegationRegistry);
}

function test_delegation_eoa() public {
// set delegation registry to eoa
tokenContract.setNftDelegationRegistry(nftDelegationRegistry);

// mint
tokenContract.mint(address(1), "uri");

// add story reverts for delegate but not collector
vm.expectRevert();
vm.prank(address(2));
tokenContract.addStory(1, "", "story");

vm.prank(address(1));
tokenContract.addStory(1, "", "story");

// pin and unpin metadata reverts for delegate but not collector
vm.expectRevert();
vm.prank(address(2));
tokenContract.pinTokenURI(1, 0);
vm.expectRevert();
vm.prank(address(2));
tokenContract.unpinTokenURI(1);

vm.prank(address(1));
tokenContract.pinTokenURI(1, 0);
vm.prank(address(1));
tokenContract.unpinTokenURI(1);
}
}

0 comments on commit fb7b8bb

Please sign in to comment.