diff --git a/.gas-report b/.gas-report index 1efbbe0..082c769 100644 --- a/.gas-report +++ b/.gas-report @@ -1,7 +1,7 @@ | contracts/MiniMeToken.sol:MiniMeToken contract | | | | | | |------------------------------------------------|-----------------|-------|--------|-------|---------| | Deployment Cost | Deployment Size | | | | | -| 1994000 | 11855 | | | | | +| 2089437 | 11861 | | | | | | Function Name | min | avg | median | max | # calls | | DOMAIN_SEPARATOR | 387 | 387 | 387 | 387 | 10 | | allowance | 0 | 190 | 0 | 763 | 16 | @@ -10,7 +10,7 @@ | balanceOf | 0 | 622 | 0 | 2753 | 67 | | balanceOfAt | 0 | 830 | 0 | 3766 | 78 | | changeController | 0 | 596 | 0 | 3580 | 6 | -| claimTokens | 9559 | 40641 | 56183 | 56183 | 3 | +| claimTokens | 11527 | 41295 | 56180 | 56180 | 3 | | controller | 0 | 0 | 0 | 0 | 10 | | decimals | 0 | 0 | 0 | 0 | 10 | | destroyTokens | 3864 | 5115 | 3864 | 7617 | 3 | diff --git a/.gas-snapshot b/.gas-snapshot index e979cc2..66689cb 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -6,12 +6,12 @@ AllowanceTest:testApproveTransferDisabled() (gas: 7994) AllowanceTest:testDeployment() (gas: 26711) AllowanceTest:testNoAllowance() (gas: 9462) AllowanceTest:testRejectedApproval() (gas: 13683) -ClaimTokensTest:testClaimERC20() (gas: 62769) -ClaimTokensTest:testClaimETH() (gas: 13659) -ClaimTokensTest:testClaimSelf() (gas: 60251) +ClaimTokensTest:testClaimERC20() (gas: 62766) +ClaimTokensTest:testClaimETH() (gas: 15627) +ClaimTokensTest:testClaimSelf() (gas: 60248) ClaimTokensTest:testDeployment() (gas: 26595) CreateCloneTokenTest:testCloneFutureSnapshot() (gas: 100903) -CreateCloneTokenTest:testCreateCloneToken() (gas: 2127292) +CreateCloneTokenTest:testCreateCloneToken() (gas: 2128492) CreateCloneTokenTest:testDeployment() (gas: 26550) CreateCloneTokenTest:testGenerateTokens() (gas: 101254) DestroyTokensTest:testDeployment() (gas: 26595) diff --git a/contracts/MiniMeBase.sol b/contracts/MiniMeBase.sol index 4186ca8..c518f8f 100644 --- a/contracts/MiniMeBase.sol +++ b/contracts/MiniMeBase.sol @@ -488,13 +488,14 @@ abstract contract MiniMeBase is Controlled, IERC20, IERC20Permit, EIP712, Nonces /// @param _token The address of the token contract that you want to recover /// set to 0 in case you want to extract ether. function claimTokens(IERC20 _token) public onlyController { + uint256 balance; if (address(_token) == address(0)) { - controller.transfer(address(this).balance); - return; + balance = address(this).balance; + controller.transfer(balance); + } else { + balance = _token.balanceOf(address(this)); + _token.transfer(controller, balance); } - - uint256 balance = _token.balanceOf(address(this)); - _token.transfer(controller, balance); emit ClaimedTokens(address(_token), controller, balance); }