add safe ERC20 helpers

This commit is contained in:
Francisco Giordano
2017-08-28 17:30:59 -03:00
parent af6fdae3dd
commit c7636bdc4c
3 changed files with 97 additions and 0 deletions

View File

@ -0,0 +1,48 @@
pragma solidity ^0.4.11;
import '../../contracts/token/ERC20.sol';
import '../../contracts/token/SafeERC20.sol';
contract ERC20FailingMock is ERC20 {
function transfer(address, uint256) returns (bool) {
return false;
}
function transferFrom(address, address, uint256) returns (bool) {
return false;
}
function approve(address, uint256) returns (bool) {
return false;
}
function balanceOf(address) constant returns (uint256) {
return 0;
}
function allowance(address, address) constant returns (uint256) {
return 0;
}
}
contract SafeERC20Helper {
using SafeERC20 for ERC20;
ERC20 token;
function SafeERC20Helper() {
token = new ERC20FailingMock();
}
function doFailingTransfer() {
token.safeTransfer(0, 0);
}
function doFailingTransferFrom() {
token.safeTransferFrom(0, 0, 0);
}
function doFailingApprove() {
token.safeApprove(0, 0);
}
}