Skip to content
This repository was archived by the owner on Sep 15, 2020. It is now read-only.

OMG token transfers not supported #3

@michaelbnewman

Description

@michaelbnewman

I have successfully tested txManager against several tokens, including DAI, BAT, ENJ, etc., but have found that the OMG token does not work. From my initial tests, it appears that OMG token transfers do not transfer into the txManager contract, resulting in reverted transactions.

In discussion with another developer, it appears that OMG transfer function does not return a success/failure bool:

OMG:
https://etherscan.io/address/0xd26114cd6EE289AccF82350c8d8487fedB8A0C07#code
contract ERC20 is ERC20Basic {
function allowance(address owner, address spender) constant returns (uint);
function transferFrom(address from, address to, uint value);
function approve(address spender, uint value);
event Approval(address indexed owner, address indexed spender, uint value);
}

Versus other tokens:

DAI:
https://etherscan.io/address/0x89d24a6b4ccb1b6faa2625fe562bdd9a23260359#code
contract ERC20 is ERC20Events {
function totalSupply() public view returns (uint);
function balanceOf(address guy) public view returns (uint);
function allowance(address src, address guy) public view returns (uint);
function approve(address guy, uint wad) public returns (bool);
function transfer(address dst, uint wad) public returns (bool);
function transferFrom(address src, address dst, uint wad) public returns (bool);
}

BAT:
https://etherscan.io/address/0x0d8775f648430679a709e98d2b0cb6250d2887ef#code
contract Token {
uint256 public totalSupply;
function balanceOf(address _owner) constant returns (uint256 balance);
function transfer(address _to, uint256 _value) returns (bool success);
function transferFrom(address _from, address _to, uint256 _value) returns (bool success);
function approve(address _spender, uint256 _value) returns (bool success);
function allowance(address _owner, address _spender) constant returns (uint256 remaining);
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

ENJ:
https://etherscan.io/address/0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c#code
contract IERC20Token {
function name() public constant returns (string) { name; }
function symbol() public constant returns (string) { symbol; }
function decimals() public constant returns (uint8) { decimals; }
function totalSupply() public constant returns (uint256) { totalSupply; }
function balanceOf(address _owner) public constant returns (uint256 balance) { _owner; balance; }
function allowance(address _owner, address _spender) public constant returns (uint256 remaining) { _owner; _spender; remaining; }
function transfer(address _to, uint256 _value) public returns (bool success);
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
function approve(address _spender, uint256 _value) public returns (bool success);
}

For a similar issue, see:
d14c63a

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions