103 lines
1.7 KiB
GraphQL
103 lines
1.7 KiB
GraphQL
type Query {
|
|
block(chainId: Int!, number: Int): Block
|
|
blockByHash(chainId: Int!, hash: String!): Block
|
|
blocks(chainId: Int!, page: Int, pageSize: Int): BlockConnection!
|
|
|
|
transaction(chainId: Int!, hash: String!): Transaction
|
|
transactions(chainId: Int!, page: Int, pageSize: Int): TransactionConnection!
|
|
|
|
address(chainId: Int!, address: String!): Address
|
|
}
|
|
|
|
type Block {
|
|
chainId: Int!
|
|
number: Int!
|
|
hash: String!
|
|
parentHash: String!
|
|
timestamp: String!
|
|
miner: String!
|
|
transactionCount: Int!
|
|
gasUsed: Int!
|
|
gasLimit: Int!
|
|
transactions: [Transaction!]!
|
|
}
|
|
|
|
type Transaction {
|
|
chainId: Int!
|
|
hash: String!
|
|
blockNumber: Int!
|
|
from: String!
|
|
to: String
|
|
value: String!
|
|
gasPrice: Int
|
|
gasUsed: Int
|
|
status: Int
|
|
logs: [Log!]!
|
|
trace: Trace
|
|
}
|
|
|
|
type Log {
|
|
address: String!
|
|
topics: [String!]!
|
|
data: String!
|
|
logIndex: Int!
|
|
}
|
|
|
|
type Trace {
|
|
calls: [CallTrace!]!
|
|
}
|
|
|
|
type CallTrace {
|
|
type: String!
|
|
from: String!
|
|
to: String!
|
|
value: String!
|
|
gas: Int!
|
|
gasUsed: Int!
|
|
input: String!
|
|
output: String!
|
|
}
|
|
|
|
type Address {
|
|
address: String!
|
|
chainId: Int!
|
|
transactionCount: Int!
|
|
tokenCount: Int!
|
|
isContract: Boolean!
|
|
label: String
|
|
tags: [String!]!
|
|
}
|
|
|
|
type BlockConnection {
|
|
edges: [BlockEdge!]!
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type BlockEdge {
|
|
node: Block!
|
|
cursor: String!
|
|
}
|
|
|
|
type TransactionConnection {
|
|
edges: [TransactionEdge!]!
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type TransactionEdge {
|
|
node: Transaction!
|
|
cursor: String!
|
|
}
|
|
|
|
type PageInfo {
|
|
hasNextPage: Boolean!
|
|
hasPreviousPage: Boolean!
|
|
startCursor: String
|
|
endCursor: String
|
|
}
|
|
|
|
type Subscription {
|
|
newBlock(chainId: Int!): Block!
|
|
newTransaction(chainId: Int!): Transaction!
|
|
}
|
|
|