Skip to content

Weird behaviour with nested interfaces #103

Open
@schmidsi

Description

@schmidsi

TLDR:
It seems that GraphQL Playground on hosted service does not properly fill the attributes.

Details
Reported here: https://discord.com/channels/438038660412342282/438070183794573313/1108310181227540490

Excerpt from schema:

interface Campaign {
  # ...
}

interface _ERC20Campaign implements Campaign {
  id: ID!

  claims: [ERC20Claim!]! @derivedFrom(field: "campaign")
}

interface _ERC721Campaign implements Campaign {
  id: Bytes!

  claims: [ERC721Claim!]! @derivedFrom(field: "campaign")
}

interface Claim {
  # ...
}

interface _ERC20Claim implements Claim {
  campaign: ERC20Campaign!
}

interface _ERC721Claim implements Claim {
  campaign: ERC721Campaign!
}

type ERC20Campaign implements _ERC20Campaign @entity {
  id: ID!

  # ...

  # extra fields ...

  claims: [ERC20Claim!]! @derivedFrom(field: "campaign")
}

type ERC20Claim implements _ERC20Claim @entity {
  # ...

  campaign: ERC20Campaign!
}

type ERC721Campaign implements _ERC721Campaign @entity {
  id: ID!

  # ...

  # extra fields ...

  claims: [ERC721Claim!]! @derivedFrom(field: "campaign")
}

type ERC721Claim implements _ERC721Claim @entity(immutable: true) {
  # ...

  campaign: ERC721Campaign!
}

Deployed subgraph: https://thegraph.com/hosted-service/subgraph/sebastiantf/ccm-interface-test

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