diff --git a/.gas-report b/.gas-report index 0fafa9f..b3c39cc 100644 --- a/.gas-report +++ b/.gas-report @@ -6,23 +6,23 @@ | allowance | 0 | 62 | 0 | 808 | 13 | | approve | 0 | 15018 | 14715 | 31708 | 10 | | approveAndCall | 0 | 31199 | 0 | 93597 | 3 | -| balanceOf | 0 | 297 | 0 | 2753 | 49 | +| balanceOf | 0 | 285 | 0 | 2753 | 51 | | balanceOfAt | 0 | 90 | 0 | 2363 | 26 | -| changeController | 0 | 724 | 0 | 3558 | 7 | +| changeController | 0 | 634 | 0 | 3558 | 8 | | claimTokens | 9537 | 41277 | 57148 | 57148 | 3 | | controller | 0 | 0 | 0 | 0 | 7 | | createCloneToken | 0 | 919122 | 919122 | 1838245 | 2 | | decimals | 0 | 0 | 0 | 0 | 7 | | destroyTokens | 2308 | 5206 | 4310 | 9001 | 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 | | parentSnapShotBlock | 0 | 0 | 0 | 0 | 8 | | parentToken | 0 | 0 | 0 | 0 | 8 | | symbol | 0 | 0 | 0 | 0 | 7 | | totalSupply | 0 | 212 | 0 | 1911 | 9 | | totalSupplyAt | 0 | 285 | 0 | 1995 | 7 | -| transfer | 526 | 37564 | 49389 | 75187 | 17 | +| transfer | 526 | 38438 | 50389 | 75187 | 18 | | transferFrom | 0 | 16836 | 3495 | 66590 | 7 | diff --git a/.gas-snapshot b/.gas-snapshot index 288a0d2..5317a47 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -23,15 +23,16 @@ GenerateTokensTest:test_RevertWhen_SenderIsNotController() (gas: 14951) MiniMeTokenTest:testDeployment() (gas: 26535) ReentrancyTest:testAttack() (gas: 229376) TransferTest:testDeployment() (gas: 26617) -TransferTest:testDoubleTransfer() (gas: 92391) -TransferTest:testDoubleTransfer2() (gas: 70610) +TransferTest:testDoubleTransfer() (gas: 92413) +TransferTest:testDoubleTransfer2() (gas: 70566) TransferTest:testInvalidDestinationTransfer() (gas: 6402) TransferTest:testInvalidDestinationTransfer2() (gas: 6399) TransferTest:testMultipleTransferToSame() (gas: 114643) -TransferTest:testMultipleTransferToSame2() (gas: 92818) +TransferTest:testMultipleTransferToSame2() (gas: 92840) TransferTest:testRejectedTransfer() (gas: 59915) -TransferTest:testTransfer() (gas: 81690) +TransferTest:testTransfer() (gas: 81712) TransferTest:testTransfer2() (gas: 59888) +TransferTest:testTransferControllerZero() (gas: 59835) TransferTest:testTransferDisabled() (gas: 7968) -TransferTest:testTransferFromDisabled() (gas: 6571) +TransferTest:testTransferFromDisabled() (gas: 6526) TransferTest:testTransferNoBalance() (gas: 16927) \ No newline at end of file diff --git a/test/MiniMeToken.t.sol b/test/MiniMeToken.t.sol index 60e025a..562ff79 100644 --- a/test/MiniMeToken.t.sol +++ b/test/MiniMeToken.t.sol @@ -307,6 +307,20 @@ contract TransferTest is MiniMeTokenTest { assertEq(minimeToken.balanceOf(accounts[1]), 0, "balance of receiver shouldn't be increased"); 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 {