Upgradeable Contracts and TheGraph graphprotocol/graph-node

I've implemented a smart contract that extends ERC1155SupplyUpgradeable, AccessControlUpgradeable, EIP712Upgradeable, and Initializable, and I have this contract deployed via ganache to a local chain.

I'm now trying to interface graphprocol/graph-node in order to query information about the chain and smart-contract.

I followed these instructions, which spins up a graph-node from a Docker image.

The problem I'm encountering is that when I query GraphQL, I'm getting empty and/or null returns, rather than showing any transactions on the contract, so I'm not sure what's going wrong here. Could this be an issue with using upgradeable contracts?

I deployed a subgraph to graph-node with the following config:

{
    "output": "generated/sample.",
    "chain": "mainnet",
    "datasources": [{ "address": "0xb8fe1b88cd878323b0385c276dd9eacb2c5ba0c7", "module": ["erc1155", "accesscontrol"] }]
}

For additional context, here is some info about my contract deployment from ganache:

[0] Available Accounts
[0] ==================
[0] (0) 0x0066412D326E2F1b3b905Bf755562609D5A617cB (1000 ETH)
[0] (1) 0x91234eD3720CF763Cb4F5672450a66990B455692 (1000 ETH)
[0] (2) 0x85ac16F6EacCDD04C20e83D70F91B7aAfa237a62 (1000 ETH)
[0] (3) 0x85425E0c0456419412fcABc26E36e1758797b30a (1000 ETH)
[0] (4) 0xDa671F453865b5404087D6135c8a77d66Dd99D1D (1000 ETH)
[0] (5) 0x31A0dD54f4c5ce2a6E7621a37Ef031aA8e6aEE0d (1000 ETH)
[0] (6) 0x9D97bb21505ae22e3Be63c6F39b307CAa20a0865 (1000 ETH)
[0] (7) 0xcA0f1f81037e342247D8e1A3a447EdAF68454D83 (1000 ETH)
[0] (8) 0xb2191D9aA8EeA259485C41B172211441a1df87A3 (1000 ETH)
[0] (9) 0x511a421288f9C63eB8599f754Ab925D4E5a6072e (1000 ETH)

[1]    Deploying 'NftExchange'
[1]    -----------------------
[0] net_version
[0] eth_blockNumber
[0] eth_getBlockByNumber
[0] eth_sendTransaction
[0]
[0]   Transaction: 0x3bc0e6eac65f7be913b02c7cc7ce6c4ae360da7cb61a030557f3910255400894
[0]   Contract created: 0xb8fe1b88cd878323b0385c276dd9eacb2c5ba0c7

[1]    Deploying 'ProxyAdmin'
[1]    ----------------------
[0]   Transaction: 0xd22b86fba9fbaa16faefbdd912e363927025a2d887c4247756d739836395d6a3
[0]   Contract created: 0x0e6f0bc5115402347f655494e4dce84bf6055dce

[1]    Deploying 'TransparentUpgradeableProxy'
[1]    ---------------------------------------
[0]
[0]   Transaction: 0x049630a69737a7f8746a69580e9f11d2c7ab31c9374b15b2f73febb93d079da7
[0]   Contract created: 0xc53d8cffbd989f168306b96aa00533b88b353836
[0]   Gas usage: 686485

Sample GraphQL Query:

{
  account(id:"0x91234eD3720CF763Cb4F5672450a66990B455692") {
    ERC1155balances {
      valueExact
      token {
        identifier
      }
    }
  }
}

Hi @Austin_Small, sorry for the late reply. For support questions like this please post in #support rather than #smart-contracts.

You've configured your subgraph to monitor the address 0xb8fe... which is the address of the implementation contract. The implementation contract is not used directly, instead user transactions will go through the proxy contract. So you should configure the subgraph to track 0xc53d..., i.e. the contract that shows up as TransparentUpgradeableProxy.