* 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.
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);
|
|
}
|
|
}
|