* Add requirement of non-zero from to ERC20 transfer.
* Add test for transferFrom zero address to behavior.
* Create ERC20.transfer behavior.
* Add tests for _transfer.
* Add changelog entry.
* Fix linter error.
* Delete repeated test.
* Fix hardcoded error prefix.
* Update CHANGELOG.md
Co-Authored-By: Francisco Giordano <frangio.1@gmail.com>
* Address review comments.
(cherry picked from commit ad18098d65)
31 lines
807 B
Solidity
31 lines
807 B
Solidity
pragma solidity ^0.5.0;
|
|
|
|
import "../token/ERC20/ERC20.sol";
|
|
|
|
// mock class using ERC20
|
|
contract ERC20Mock is ERC20 {
|
|
constructor (address initialAccount, uint256 initialBalance) public {
|
|
_mint(initialAccount, initialBalance);
|
|
}
|
|
|
|
function mint(address account, uint256 amount) public {
|
|
_mint(account, amount);
|
|
}
|
|
|
|
function burn(address account, uint256 amount) public {
|
|
_burn(account, amount);
|
|
}
|
|
|
|
function burnFrom(address account, uint256 amount) public {
|
|
_burnFrom(account, amount);
|
|
}
|
|
|
|
function transferInternal(address from, address to, uint256 value) public {
|
|
_transfer(from, to, value);
|
|
}
|
|
|
|
function approveInternal(address owner, address spender, uint256 value) public {
|
|
_approve(owner, spender, value);
|
|
}
|
|
}
|