From 0f000b792b6d1ecd425e2a59fd34765603c301b0 Mon Sep 17 00:00:00 2001 From: Ricardo Guilherme Schmidt <3esmit@gmail.com> Date: Tue, 26 Sep 2023 12:46:06 -0300 Subject: [PATCH] remove onTransfer impossible overflow check --- .gas-report | 10 +++++----- .gas-snapshot | 32 ++++++++++++++++---------------- contracts/MiniMeBase.sol | 1 - 3 files changed, 21 insertions(+), 22 deletions(-) diff --git a/.gas-report b/.gas-report index 3c1571a..6ced3c4 100644 --- a/.gas-report +++ b/.gas-report @@ -1,16 +1,16 @@ | contracts/MiniMeToken.sol:MiniMeToken contract | | | | | | |------------------------------------------------|-----------------|-------|--------|-------|---------| | Deployment Cost | Deployment Size | | | | | -| 2131887 | 12073 | | | | | +| 2115066 | 11989 | | | | | | Function Name | min | avg | median | max | # calls | | DOMAIN_SEPARATOR | 387 | 387 | 387 | 387 | 10 | | allowance | 0 | 190 | 0 | 763 | 16 | | approve | 0 | 15064 | 14767 | 31771 | 10 | -| approveAndCall | 0 | 30975 | 0 | 92925 | 3 | +| approveAndCall | 0 | 30941 | 0 | 92824 | 3 | | balanceOf | 0 | 622 | 0 | 2753 | 67 | | balanceOfAt | 0 | 830 | 0 | 3766 | 78 | | changeController | 0 | 596 | 0 | 3580 | 6 | -| claimTokens | 9559 | 40715 | 56293 | 56293 | 3 | +| claimTokens | 9559 | 40647 | 56192 | 56192 | 3 | | controller | 0 | 0 | 0 | 0 | 10 | | decimals | 0 | 0 | 0 | 0 | 10 | | destroyTokens | 2098 | 4543 | 3890 | 7643 | 3 | @@ -25,8 +25,8 @@ | symbol | 0 | 0 | 0 | 0 | 10 | | totalSupply | 0 | 255 | 0 | 2480 | 23 | | totalSupplyAt | 0 | 797 | 0 | 3398 | 17 | -| transfer | 548 | 38898 | 49722 | 92786 | 20 | -| transferFrom | 0 | 19430 | 3495 | 65646 | 11 | +| transfer | 548 | 38822 | 49621 | 92685 | 20 | +| transferFrom | 0 | 19397 | 3495 | 65545 | 11 | diff --git a/.gas-snapshot b/.gas-snapshot index 49f1b93..06b47ae 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -1,17 +1,17 @@ AllowanceTest:testAllowance() (gas: 42775) AllowanceTest:testAllowanceAlreadySet() (gas: 36905) AllowanceTest:testAllowanceReset() (gas: 46071) -AllowanceTest:testApproveAndCall() (gas: 97844) +AllowanceTest:testApproveAndCall() (gas: 97743) AllowanceTest:testApproveTransferDisabled() (gas: 7994) AllowanceTest:testDeployment() (gas: 26711) AllowanceTest:testNoAllowance() (gas: 9462) AllowanceTest:testRejectedApproval() (gas: 13683) -ClaimTokensTest:testClaimERC20() (gas: 62879) +ClaimTokensTest:testClaimERC20() (gas: 62778) ClaimTokensTest:testClaimETH() (gas: 13659) -ClaimTokensTest:testClaimSelf() (gas: 60361) +ClaimTokensTest:testClaimSelf() (gas: 60260) ClaimTokensTest:testDeployment() (gas: 26595) -CreateCloneTokenTest:testCloneFutureSnapshot() (gas: 101004) -CreateCloneTokenTest:testCreateCloneToken() (gas: 2170994) +CreateCloneTokenTest:testCloneFutureSnapshot() (gas: 100903) +CreateCloneTokenTest:testCreateCloneToken() (gas: 2154151) CreateCloneTokenTest:testDeployment() (gas: 26550) CreateCloneTokenTest:testGenerateTokens() (gas: 101358) DestroyTokensTest:testDeployment() (gas: 26595) @@ -26,7 +26,7 @@ MiniMeTokenTest:testDeployment() (gas: 26535) ReceiveTest:testAcceptingEther() (gas: 18628) ReceiveTest:testDeployment() (gas: 26595) ReceiveTest:testRejectingEther() (gas: 18691) -ReentrancyTest:testAttack() (gas: 228092) +ReentrancyTest:testAttack() (gas: 227991) TestPermit:testDeployment() (gas: 26573) TestPermit:testInvalidAllowance() (gas: 84299) TestPermit:testInvalidBalance() (gas: 67380) @@ -35,21 +35,21 @@ TestPermit:testRevertExpiredPermit() (gas: 27867) TestPermit:testRevertInvalidNonce() (gas: 57221) TestPermit:testRevertInvalidSigner() (gas: 56059) TestPermit:testRevertSignatureReplay() (gas: 96568) -TestPermit:testTransferFromLimitedPermit() (gas: 214992) -TestPermit:testTransferFromMaxPermit() (gas: 234931) +TestPermit:testTransferFromLimitedPermit() (gas: 214891) +TestPermit:testTransferFromMaxPermit() (gas: 234830) TestSnapshotReads:testDeployment() (gas: 26550) TestSnapshotReads:testSnapshotReads() (gas: 741048) TransferTest:testDeployment() (gas: 26617) -TransferTest:testDoubleTransfer() (gas: 91011) -TransferTest:testDoubleTransfer2() (gas: 69096) +TransferTest:testDoubleTransfer() (gas: 90809) +TransferTest:testDoubleTransfer2() (gas: 68894) TransferTest:testInvalidDestinationTransfer() (gas: 6424) TransferTest:testInvalidDestinationTransfer2() (gas: 6421) -TransferTest:testMultipleTransferToSame() (gas: 113840) -TransferTest:testMultipleTransferToSame2() (gas: 91969) -TransferTest:testRejectedTransfer() (gas: 59248) -TransferTest:testTransfer() (gas: 81644) -TransferTest:testTransfer2() (gas: 59752) -TransferTest:testTransferControllerZero() (gas: 59168) +TransferTest:testMultipleTransferToSame() (gas: 113638) +TransferTest:testMultipleTransferToSame2() (gas: 91767) +TransferTest:testRejectedTransfer() (gas: 59147) +TransferTest:testTransfer() (gas: 81543) +TransferTest:testTransfer2() (gas: 59651) +TransferTest:testTransferControllerZero() (gas: 59067) TransferTest:testTransferDisabled() (gas: 7990) TransferTest:testTransferFromDisabled() (gas: 6526) TransferTest:testTransferNoBalance() (gas: 16949) \ No newline at end of file diff --git a/contracts/MiniMeBase.sol b/contracts/MiniMeBase.sol index 6852949..1d0443e 100644 --- a/contracts/MiniMeBase.sol +++ b/contracts/MiniMeBase.sol @@ -182,7 +182,6 @@ abstract contract MiniMeBase is Controlled, IERC20, IERC20Permit, EIP712, Nonces // Then update the balance array with the new value for the address // receiving the tokens uint256 previousBalanceTo = balanceOfAt(_to, block.number); - if (uint128(previousBalanceTo + _amount) < previousBalanceTo) revert Overflow(); // Check for overflow updateValueAtNow(balances[_to], previousBalanceTo + _amount); // Alerts the token controller of the transfer