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 = SentEvent type SentEvent { prefix: Int! fromPool: BigInt! by: BigInt! point: BigInt! to: String! } type ResultBoolean { value: Boolean! 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!, name: String): [ResultEvent!] canSend(blockHash: String!, contractAddress: String!, _as: BigInt!, _point: BigInt!): ResultBoolean! canReceive(blockHash: String!, contractAddress: String!, _recipient: String!): ResultBoolean! 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! }