Protean-Labs/graphgen

Generated ABIs missing `bytes32` type

Closed this issue · 1 comments

The generated subgraph ABIs are missing some function types (in this case bytes32 in the outputs attribute).

Given the following interface:

interface IUniswapV2Pair {
  function DOMAIN_SEPARATOR() external view returns (bytes32);
  function PERMIT_TYPEHASH() external pure returns (bytes32);
}

The generated ABI is:

[
  {
    "type":"function",
    "name":"DOMAIN_SEPARATOR",
    "inputs":[],
    "outputs":[{"name":"", "type":""}],
    "stateMutability":"view"
  },
  {
    "type":"function",
    "name":"PERMIT_TYPEHASH",
    "inputs":[],
    "outputs":[{"name":"", "type":""}],
    "stateMutability":"view"
  },
]

Expected behavior:

[
  {
    "type":"function",
    "name":"DOMAIN_SEPARATOR",
    "inputs":[],
    "outputs":[{"name":"", "type":"bytes32"}],
    "stateMutability":"view"
  },
  {
    "type":"function",
    "name":"PERMIT_TYPEHASH",
    "inputs":[],
    "outputs":[{"name":"", "type":"bytes32"}],
    "stateMutability":"view"
  },
]

The same bug also happens in the inputs attribute of a function in the ABI, but so far, only bytes32 types are affected.