diff --git a/contracts/token/ERC20/ERC20.sol b/contracts/token/ERC20/ERC20.sol index 77a88be62..6af870865 100644 --- a/contracts/token/ERC20/ERC20.sol +++ b/contracts/token/ERC20/ERC20.sol @@ -93,8 +93,6 @@ contract ERC20 is IERC20 { public returns (bool) { - require(value <= _allowed[from][msg.sender]); - _allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value); _transfer(from, to, value); return true; @@ -155,7 +153,6 @@ contract ERC20 is IERC20 { * @param value The amount to be transferred. */ function _transfer(address from, address to, uint256 value) internal { - require(value <= _balances[from]); require(to != address(0)); _balances[from] = _balances[from].sub(value); @@ -172,6 +169,7 @@ contract ERC20 is IERC20 { */ function _mint(address account, uint256 value) internal { require(account != address(0)); + _totalSupply = _totalSupply.add(value); _balances[account] = _balances[account].add(value); emit Transfer(address(0), account, value); @@ -185,7 +183,6 @@ contract ERC20 is IERC20 { */ function _burn(address account, uint256 value) internal { require(account != address(0)); - require(value <= _balances[account]); _totalSupply = _totalSupply.sub(value); _balances[account] = _balances[account].sub(value);