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 = ConditionCompletedEvent | ForfeitEvent | OwnershipRenouncedEvent | OwnershipTransferredEvent type ConditionCompletedEvent { condition: Int! when: BigInt! } type ForfeitEvent { who: String! batch: Int! stars: Int! } type OwnershipRenouncedEvent { previousOwner: String! } type OwnershipTransferredEvent { previousOwner: String! newOwner: String! } type ResultInt { value: Int! proof: Proof } type ResultBoolean { value: Boolean! proof: Proof } type ResultIntArray { value: [Int!]! proof: Proof } type ResultBooleanArray { value: [Boolean!]! proof: Proof } type ResultGetConditionsStateType { value: GetConditionsStateType! proof: Proof } type GetConditionsStateType { value0: [String!]! value1: [BigInt!]! value2: [BigInt!]! value3: [BigInt!]! } 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!] withdrawLimit(blockHash: String!, contractAddress: String!, _participant: String!, _batch: Int!): ResultInt! verifyBalance(blockHash: String!, contractAddress: String!, _participant: String!): ResultBoolean! getBatches(blockHash: String!, contractAddress: String!, _participant: String!): ResultIntArray! getBatch(blockHash: String!, contractAddress: String!, _participant: String!, _batch: Int!): ResultInt! getWithdrawn(blockHash: String!, contractAddress: String!, _participant: String!): ResultIntArray! getWithdrawnFromBatch(blockHash: String!, contractAddress: String!, _participant: String!, _batch: Int!): ResultInt! getForfeited(blockHash: String!, contractAddress: String!, _participant: String!): ResultBooleanArray! hasForfeitedBatch(blockHash: String!, contractAddress: String!, _participant: String!, _batch: Int!): ResultBoolean! getRemainingStars(blockHash: String!, contractAddress: String!, _participant: String!): ResultIntArray! getConditionsState(blockHash: String!, contractAddress: String!): ResultGetConditionsStateType! 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! }