add test for transfer with controller zero

This commit is contained in:
Ricardo Guilherme Schmidt 2023-09-26 02:41:52 -03:00
parent bb7bc3a6d7
commit 4a95c739b5
3 changed files with 24 additions and 9 deletions

View File

@ -6,23 +6,23 @@
| allowance | 0 | 62 | 0 | 808 | 13 | | allowance | 0 | 62 | 0 | 808 | 13 |
| approve | 0 | 15018 | 14715 | 31708 | 10 | | approve | 0 | 15018 | 14715 | 31708 | 10 |
| approveAndCall | 0 | 31199 | 0 | 93597 | 3 | | approveAndCall | 0 | 31199 | 0 | 93597 | 3 |
| balanceOf | 0 | 297 | 0 | 2753 | 49 | | balanceOf | 0 | 285 | 0 | 2753 | 51 |
| balanceOfAt | 0 | 90 | 0 | 2363 | 26 | | balanceOfAt | 0 | 90 | 0 | 2363 | 26 |
| changeController | 0 | 724 | 0 | 3558 | 7 | | changeController | 0 | 634 | 0 | 3558 | 8 |
| claimTokens | 9537 | 41277 | 57148 | 57148 | 3 | | claimTokens | 9537 | 41277 | 57148 | 57148 | 3 |
| controller | 0 | 0 | 0 | 0 | 7 | | controller | 0 | 0 | 0 | 0 | 7 |
| createCloneToken | 0 | 919122 | 919122 | 1838245 | 2 | | createCloneToken | 0 | 919122 | 919122 | 1838245 | 2 |
| decimals | 0 | 0 | 0 | 0 | 7 | | decimals | 0 | 0 | 0 | 0 | 7 |
| destroyTokens | 2308 | 5206 | 4310 | 9001 | 3 | | destroyTokens | 2308 | 5206 | 4310 | 9001 | 3 |
| enableTransfers | 0 | 0 | 0 | 0 | 3 | | enableTransfers | 0 | 0 | 0 | 0 | 3 |
| generateTokens | 0 | 7765 | 0 | 95796 | 37 | | generateTokens | 0 | 7561 | 0 | 95796 | 38 |
| name | 0 | 0 | 0 | 0 | 7 | | name | 0 | 0 | 0 | 0 | 7 |
| parentSnapShotBlock | 0 | 0 | 0 | 0 | 8 | | parentSnapShotBlock | 0 | 0 | 0 | 0 | 8 |
| parentToken | 0 | 0 | 0 | 0 | 8 | | parentToken | 0 | 0 | 0 | 0 | 8 |
| symbol | 0 | 0 | 0 | 0 | 7 | | symbol | 0 | 0 | 0 | 0 | 7 |
| totalSupply | 0 | 212 | 0 | 1911 | 9 | | totalSupply | 0 | 212 | 0 | 1911 | 9 |
| totalSupplyAt | 0 | 285 | 0 | 1995 | 7 | | totalSupplyAt | 0 | 285 | 0 | 1995 | 7 |
| transfer | 526 | 37564 | 49389 | 75187 | 17 | | transfer | 526 | 38438 | 50389 | 75187 | 18 |
| transferFrom | 0 | 16836 | 3495 | 66590 | 7 | | transferFrom | 0 | 16836 | 3495 | 66590 | 7 |

View File

@ -23,15 +23,16 @@ GenerateTokensTest:test_RevertWhen_SenderIsNotController() (gas: 14951)
MiniMeTokenTest:testDeployment() (gas: 26535) MiniMeTokenTest:testDeployment() (gas: 26535)
ReentrancyTest:testAttack() (gas: 229376) ReentrancyTest:testAttack() (gas: 229376)
TransferTest:testDeployment() (gas: 26617) TransferTest:testDeployment() (gas: 26617)
TransferTest:testDoubleTransfer() (gas: 92391) TransferTest:testDoubleTransfer() (gas: 92413)
TransferTest:testDoubleTransfer2() (gas: 70610) TransferTest:testDoubleTransfer2() (gas: 70566)
TransferTest:testInvalidDestinationTransfer() (gas: 6402) TransferTest:testInvalidDestinationTransfer() (gas: 6402)
TransferTest:testInvalidDestinationTransfer2() (gas: 6399) TransferTest:testInvalidDestinationTransfer2() (gas: 6399)
TransferTest:testMultipleTransferToSame() (gas: 114643) TransferTest:testMultipleTransferToSame() (gas: 114643)
TransferTest:testMultipleTransferToSame2() (gas: 92818) TransferTest:testMultipleTransferToSame2() (gas: 92840)
TransferTest:testRejectedTransfer() (gas: 59915) TransferTest:testRejectedTransfer() (gas: 59915)
TransferTest:testTransfer() (gas: 81690) TransferTest:testTransfer() (gas: 81712)
TransferTest:testTransfer2() (gas: 59888) TransferTest:testTransfer2() (gas: 59888)
TransferTest:testTransferControllerZero() (gas: 59835)
TransferTest:testTransferDisabled() (gas: 7968) TransferTest:testTransferDisabled() (gas: 7968)
TransferTest:testTransferFromDisabled() (gas: 6571) TransferTest:testTransferFromDisabled() (gas: 6526)
TransferTest:testTransferNoBalance() (gas: 16927) TransferTest:testTransferNoBalance() (gas: 16927)

View File

@ -307,6 +307,20 @@ contract TransferTest is MiniMeTokenTest {
assertEq(minimeToken.balanceOf(accounts[1]), 0, "balance of receiver shouldn't be increased"); assertEq(minimeToken.balanceOf(accounts[1]), 0, "balance of receiver shouldn't be increased");
vm.resumeGasMetering(); vm.resumeGasMetering();
} }
function testTransferControllerZero() public {
vm.pauseGasMetering();
_generateTokens(accounts[0], 10);
vm.prank(deployer);
minimeToken.changeController(payable(address(0)));
vm.prank(accounts[0]);
vm.resumeGasMetering();
minimeToken.transfer(accounts[1], 2);
vm.pauseGasMetering();
assertEq(minimeToken.balanceOf(accounts[0]), 8, "balance of sender should be reduced");
assertEq(minimeToken.balanceOf(accounts[1]), 2, "balance of receiver should be increased");
vm.resumeGasMetering();
}
} }
contract AllowanceTest is MiniMeTokenTest { contract AllowanceTest is MiniMeTokenTest {