Prathamesh Musale
ffc637f7a4
Part of [Generate watchers for sushiswap subgraphs deployed in graph-node ](https://www.notion.so/Generate-watchers-for-sushiswap-subgraphs-deployed-in-graph-node-b3f2e475373d4ab1887d9f8720bd5ae6) Co-authored-by: neeraj <neeraj.rtly@gmail.com> Reviewed-on: #5 Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com> Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
310 lines
6.0 KiB
GraphQL
310 lines
6.0 KiB
GraphQL
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 = OwnershipTransferredEvent | RouteEvent
|
|
|
|
type OwnershipTransferredEvent {
|
|
previousOwner: String!
|
|
newOwner: String!
|
|
}
|
|
|
|
type RouteEvent {
|
|
from: String!
|
|
to: String!
|
|
tokenIn: String!
|
|
tokenOut: String!
|
|
amountIn: BigInt!
|
|
amountOutMin: BigInt!
|
|
amountOut: BigInt!
|
|
}
|
|
|
|
input Block_height {
|
|
hash: Bytes
|
|
number: Int
|
|
}
|
|
|
|
input BlockChangedFilter {
|
|
number_gte: Int!
|
|
}
|
|
|
|
enum OrderDirection {
|
|
asc
|
|
desc
|
|
}
|
|
|
|
enum RouteProcessor_orderBy {
|
|
id
|
|
routeCount
|
|
userCount
|
|
}
|
|
|
|
input RouteProcessor_filter {
|
|
id: ID
|
|
id_not: ID
|
|
id_gt: ID
|
|
id_lt: ID
|
|
id_gte: ID
|
|
id_lte: ID
|
|
id_in: [ID!]
|
|
id_not_in: [ID!]
|
|
routeCount: BigInt
|
|
routeCount_not: BigInt
|
|
routeCount_gt: BigInt
|
|
routeCount_lt: BigInt
|
|
routeCount_gte: BigInt
|
|
routeCount_lte: BigInt
|
|
routeCount_in: [BigInt!]
|
|
routeCount_not_in: [BigInt!]
|
|
userCount: BigInt
|
|
userCount_not: BigInt
|
|
userCount_gt: BigInt
|
|
userCount_lt: BigInt
|
|
userCount_gte: BigInt
|
|
userCount_lte: BigInt
|
|
userCount_in: [BigInt!]
|
|
userCount_not_in: [BigInt!]
|
|
_change_block: BlockChangedFilter
|
|
and: [RouteProcessor_filter]
|
|
or: [RouteProcessor_filter]
|
|
}
|
|
|
|
enum Route_orderBy {
|
|
id
|
|
from
|
|
to
|
|
tokenIn
|
|
tokenOut
|
|
amountIn
|
|
amountOutMin
|
|
amountOut
|
|
timestamp
|
|
}
|
|
|
|
input Route_filter {
|
|
id: ID
|
|
id_not: ID
|
|
id_gt: ID
|
|
id_lt: ID
|
|
id_gte: ID
|
|
id_lte: ID
|
|
id_in: [ID!]
|
|
id_not_in: [ID!]
|
|
from: Bytes
|
|
from_not: Bytes
|
|
from_gt: Bytes
|
|
from_lt: Bytes
|
|
from_gte: Bytes
|
|
from_lte: Bytes
|
|
from_in: [Bytes!]
|
|
from_not_in: [Bytes!]
|
|
from_contains: Bytes
|
|
from_not_contains: Bytes
|
|
to: Bytes
|
|
to_not: Bytes
|
|
to_gt: Bytes
|
|
to_lt: Bytes
|
|
to_gte: Bytes
|
|
to_lte: Bytes
|
|
to_in: [Bytes!]
|
|
to_not_in: [Bytes!]
|
|
to_contains: Bytes
|
|
to_not_contains: Bytes
|
|
tokenIn: Bytes
|
|
tokenIn_not: Bytes
|
|
tokenIn_gt: Bytes
|
|
tokenIn_lt: Bytes
|
|
tokenIn_gte: Bytes
|
|
tokenIn_lte: Bytes
|
|
tokenIn_in: [Bytes!]
|
|
tokenIn_not_in: [Bytes!]
|
|
tokenIn_contains: Bytes
|
|
tokenIn_not_contains: Bytes
|
|
tokenOut: Bytes
|
|
tokenOut_not: Bytes
|
|
tokenOut_gt: Bytes
|
|
tokenOut_lt: Bytes
|
|
tokenOut_gte: Bytes
|
|
tokenOut_lte: Bytes
|
|
tokenOut_in: [Bytes!]
|
|
tokenOut_not_in: [Bytes!]
|
|
tokenOut_contains: Bytes
|
|
tokenOut_not_contains: Bytes
|
|
amountIn: BigInt
|
|
amountIn_not: BigInt
|
|
amountIn_gt: BigInt
|
|
amountIn_lt: BigInt
|
|
amountIn_gte: BigInt
|
|
amountIn_lte: BigInt
|
|
amountIn_in: [BigInt!]
|
|
amountIn_not_in: [BigInt!]
|
|
amountOutMin: BigInt
|
|
amountOutMin_not: BigInt
|
|
amountOutMin_gt: BigInt
|
|
amountOutMin_lt: BigInt
|
|
amountOutMin_gte: BigInt
|
|
amountOutMin_lte: BigInt
|
|
amountOutMin_in: [BigInt!]
|
|
amountOutMin_not_in: [BigInt!]
|
|
amountOut: BigInt
|
|
amountOut_not: BigInt
|
|
amountOut_gt: BigInt
|
|
amountOut_lt: BigInt
|
|
amountOut_gte: BigInt
|
|
amountOut_lte: BigInt
|
|
amountOut_in: [BigInt!]
|
|
amountOut_not_in: [BigInt!]
|
|
timestamp: BigInt
|
|
timestamp_not: BigInt
|
|
timestamp_gt: BigInt
|
|
timestamp_lt: BigInt
|
|
timestamp_gte: BigInt
|
|
timestamp_lte: BigInt
|
|
timestamp_in: [BigInt!]
|
|
timestamp_not_in: [BigInt!]
|
|
_change_block: BlockChangedFilter
|
|
and: [Route_filter]
|
|
or: [Route_filter]
|
|
}
|
|
|
|
enum User_orderBy {
|
|
id
|
|
routeCount
|
|
}
|
|
|
|
input User_filter {
|
|
id: ID
|
|
id_not: ID
|
|
id_gt: ID
|
|
id_lt: ID
|
|
id_gte: ID
|
|
id_lte: ID
|
|
id_in: [ID!]
|
|
id_not_in: [ID!]
|
|
routeCount: BigInt
|
|
routeCount_not: BigInt
|
|
routeCount_gt: BigInt
|
|
routeCount_lt: BigInt
|
|
routeCount_gte: BigInt
|
|
routeCount_lte: BigInt
|
|
routeCount_in: [BigInt!]
|
|
routeCount_not_in: [BigInt!]
|
|
_change_block: BlockChangedFilter
|
|
and: [User_filter]
|
|
or: [User_filter]
|
|
}
|
|
|
|
type _MetaBlock_ {
|
|
hash: Bytes
|
|
number: Int!
|
|
timestamp: Int
|
|
}
|
|
|
|
type _Meta_ {
|
|
block: _MetaBlock_!
|
|
deployment: String!
|
|
hasIndexingErrors: Boolean!
|
|
}
|
|
|
|
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!]
|
|
routeProcessor(id: ID!, block: Block_height): RouteProcessor
|
|
routeProcessors(block: Block_height, where: RouteProcessor_filter, orderBy: RouteProcessor_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [RouteProcessor!]!
|
|
route(id: ID!, block: Block_height): Route
|
|
routes(block: Block_height, where: Route_filter, orderBy: Route_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [Route!]!
|
|
user(id: ID!, block: Block_height): User
|
|
users(block: Block_height, where: User_filter, orderBy: User_orderBy, orderDirection: OrderDirection, first: Int = 100, skip: Int = 0): [User!]!
|
|
_meta(block: Block_height): _Meta_
|
|
getStateByCID(cid: String!): ResultState
|
|
getState(blockHash: String!, contractAddress: String!, kind: String): ResultState
|
|
getSyncStatus: SyncStatus
|
|
}
|
|
|
|
type RouteProcessor {
|
|
id: ID!
|
|
routeCount: BigInt!
|
|
userCount: BigInt!
|
|
}
|
|
|
|
type Route {
|
|
id: ID!
|
|
from: Bytes!
|
|
to: Bytes!
|
|
tokenIn: Bytes!
|
|
tokenOut: Bytes!
|
|
amountIn: BigInt!
|
|
amountOutMin: BigInt!
|
|
amountOut: BigInt!
|
|
timestamp: BigInt!
|
|
}
|
|
|
|
type User {
|
|
id: ID!
|
|
routeCount: BigInt!
|
|
}
|
|
|
|
type Mutation {
|
|
watchContract(address: String!, kind: String!, checkpoint: Boolean!, startingBlock: Int): Boolean!
|
|
}
|
|
|
|
type Subscription {
|
|
onEvent: ResultEvent!
|
|
}
|