type User @entity { id: ID! smartAccountsOwned: [SmartAccount!]! @derivedFrom(field:"owner") smartAccountsCreated: [SmartAccount!]! @derivedFrom(field:"creator") } type SmartAccount @entity { id: ID! owner: User! creator: User origin: String! accountModule: AccountModule } type AccountModule @entity { "ID is the account module version" id: ID! address: String! connectors: InstaConnector! check: String instaIndex: InstaIndex! accountsCloned: [SmartAccount!]! @derivedFrom(field: "accountModule") } type InstaIndex @entity { id: ID! master: String accountModules: [AccountModule!]! @derivedFrom(field: "instaIndex") } type InstaConnector @entity { "Address of the InstaConnector contract. This contract has a list of connectors tracked." id: ID! connectors: [Connector!]! @derivedFrom(field: "instaConnector") } type Connector @entity { id: ID! isStatic: Boolean! isEnabled: Boolean! instaConnector: InstaConnector! }