directive @cacheControl(maxAge: Int, inheritMaxAge: Boolean, scope: CacheControlScope) on FIELD_DEFINITION | OBJECT | INTERFACE | UNION enum CacheControlScope { PUBLIC PRIVATE } scalar BigInt scalar BigDecimal scalar Bytes type Proof { data: String! } type _Block_ { cid: String hash: String! number: Int! timestamp: Int! parentHash: String! } type _Transaction_ { hash: String! index: Int! from: String! to: String! } type ResultEvent { block: _Block_! tx: _Transaction_! contract: String! eventIndex: Int! event: Event! proof: Proof } union Event = ClaimAddedEvent | ClaimRemovedEvent type ClaimAddedEvent { by: BigInt! _protocol: String! _claim: String! _dossier: String! } type ClaimRemovedEvent { by: BigInt! _protocol: String! _claim: String! } type ResultInt { value: Int! proof: Proof } type ResultState { block: _Block_! contractAddress: String! cid: String! kind: String! data: String! } type SyncStatus { latestIndexedBlockHash: String! latestIndexedBlockNumber: Int! latestCanonicalBlockHash: String! latestCanonicalBlockNumber: Int! initialIndexedBlockHash: String! initialIndexedBlockNumber: Int! latestProcessedBlockHash: String! latestProcessedBlockNumber: Int! } type Query { events(blockHash: String!, contractAddress: String!, name: String): [ResultEvent!] eventsInRange(fromBlockNumber: Int!, toBlockNumber: Int!): [ResultEvent!] findClaim(blockHash: String!, contractAddress: String!, _whose: BigInt!, _protocol: String!, _claim: String!): ResultInt! getStateByCID(cid: String!): ResultState getState(blockHash: String!, contractAddress: String!, kind: String): ResultState getSyncStatus: SyncStatus } type Mutation { watchContract(address: String!, kind: String!, checkpoint: Boolean!, startingBlock: Int): Boolean! } type Subscription { onEvent: ResultEvent! }