type Profile @entity { id: ID! addr: Bytes! canceled: Boolean! commitTime: BigInt! type: String! url: String! name: String! profileId: BigInt! creationTime: BigInt! pledgesInfos: [PledgesInfo]! @derivedFrom(field: "profileRef") pledges: [Pledge]! @derivedFrom(field: "owner") projectInfo: ProjectInfo } type PledgesInfo @entity { id: ID! # id is unique on profile + token profile: String! token: String! lifetimeReceived: BigInt! balance: BigInt! profileRef: Profile! } type Pledge @entity { id: ID! owner: Profile amount: BigInt! token: String! commitTime: BigInt! nDelegates: BigInt! intendedProject: BigInt! pledgeState: Int! creationTime: BigInt! oldPledge: Pledge creatorAddr: Bytes! } type ProjectInfo @entity { id: ID! profile: Profile title: String subtitle: String creator: String repo: String avatar: String goal: String goalToken: String description: String chatRoom: String isPlaying: Boolean type: String file: String }