diff --git a/.gas-report b/.gas-report index 31917bb..7f7b7fb 100644 --- a/.gas-report +++ b/.gas-report @@ -1,7 +1,7 @@ | contracts/MiniMeToken.sol:MiniMeToken contract | | | | | | |------------------------------------------------|-----------------|-------|--------|-------|---------| | Deployment Cost | Deployment Size | | | | | -| 2098051 | 11904 | | | | | +| 2086437 | 11846 | | | | | | Function Name | min | avg | median | max | # calls | | DOMAIN_SEPARATOR | 387 | 387 | 387 | 387 | 10 | | allowance | 0 | 190 | 0 | 763 | 16 | @@ -13,7 +13,7 @@ | claimTokens | 9559 | 40647 | 56192 | 56192 | 3 | | controller | 0 | 0 | 0 | 0 | 10 | | decimals | 0 | 0 | 0 | 0 | 10 | -| destroyTokens | 2098 | 4543 | 3890 | 7643 | 3 | +| destroyTokens | 3864 | 5115 | 3864 | 7617 | 3 | | enableTransfers | 0 | 0 | 0 | 0 | 3 | | generateTokens | 0 | 16361 | 0 | 95178 | 64 | | name | 0 | 0 | 0 | 0 | 10 | diff --git a/.gas-snapshot b/.gas-snapshot index bb89d37..ce50170 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -11,13 +11,13 @@ ClaimTokensTest:testClaimETH() (gas: 13659) ClaimTokensTest:testClaimSelf() (gas: 60260) ClaimTokensTest:testDeployment() (gas: 26595) CreateCloneTokenTest:testCloneFutureSnapshot() (gas: 100903) -CreateCloneTokenTest:testCreateCloneToken() (gas: 2137113) +CreateCloneTokenTest:testCreateCloneToken() (gas: 2125492) CreateCloneTokenTest:testDeployment() (gas: 26550) CreateCloneTokenTest:testGenerateTokens() (gas: 101254) DestroyTokensTest:testDeployment() (gas: 26595) -DestroyTokensTest:testDestroyTokens() (gas: 12143) -DestroyTokensTest:testDestroyTokensNotEnoughBalance() (gas: 9246) -DestroyTokensTest:testDestroyTokensNotEnoughSupply() (gas: 7787) +DestroyTokensTest:testDestroyTokens() (gas: 12117) +DestroyTokensTest:testDestroyTokensNotEnoughBalance() (gas: 9220) +DestroyTokensTest:testDestroyTokensNotEnoughSupply() (gas: 9553) GenerateTokensTest:testDeployment() (gas: 26550) GenerateTokensTest:testGenerateTokens() (gas: 109390) GenerateTokensTest:testGenerateTokensSupplyOverflow() (gas: 3126) diff --git a/contracts/MiniMeBase.sol b/contracts/MiniMeBase.sol index 4d1e3e7..0cfd603 100644 --- a/contracts/MiniMeBase.sol +++ b/contracts/MiniMeBase.sol @@ -5,7 +5,6 @@ error TransfersDisabled(); error ParentSnapshotNotReached(); error NotEnoughBalance(); error NotEnoughAllowance(); -error NotEnoughSupply(); error InvalidDestination(); error ControllerRejected(); error Overflow(); @@ -382,7 +381,6 @@ abstract contract MiniMeBase is Controlled, IERC20, IERC20Permit, EIP712, Nonces /// @return True if the tokens are burned correctly function _burn(address _owner, uint256 _amount) internal virtual returns (bool) { uint256 curTotalSupply = totalSupply(); - if (curTotalSupply < _amount) revert NotEnoughSupply(); uint256 previousBalanceFrom = balanceOf(_owner); if (previousBalanceFrom < _amount) revert NotEnoughBalance(); updateValueAtNow(totalSupplyHistory, curTotalSupply - _amount); diff --git a/test/MiniMeToken.t.sol b/test/MiniMeToken.t.sol index e5f59da..6b33634 100644 --- a/test/MiniMeToken.t.sol +++ b/test/MiniMeToken.t.sol @@ -11,7 +11,6 @@ import { TransfersDisabled, InvalidDestination, NotEnoughBalance, - NotEnoughSupply, NotEnoughAllowance, AllowanceAlreadySet, ControllerRejected, @@ -705,7 +704,7 @@ contract DestroyTokensTest is MiniMeTokenTest { vm.prank(deployer); vm.resumeGasMetering(); - vm.expectRevert(NotEnoughSupply.selector); + vm.expectRevert(NotEnoughBalance.selector); minimeToken.destroyTokens(accounts[0], 11); vm.pauseGasMetering(); assertEq(minimeToken.totalSupply(), 10, "total supply should be correct");