GraphQL API

Introduction

All of these can be played with and discovered through the GraphiQL visual editor. For general information about our GraphQL implementation, take a look at the GraphQL Semantics page in the dfuse Platform — Public APIs section.

Subscription

searchTransactionsForward

searchTransactionsForward(query String, lowBlockNum Int64, highBlockNum Int64, cursor String, limit Int64 = 0, irreversibleOnly Boolean, liveMarkerInterval Uint32 = 0) : SearchTransactionForwardResponse!

Search the blockchain forward for transaction execution traces based on query.

WARN: always consider the undo field in forward searches, which signal that the matching element was in fact REMOVED from the chain because of blocks reorganization.

Parameters
query
required
String!     dfuse Search Query Language string
lowBlockNum
Optional
Int64     Lower block num boundary, inclusively. A negative value means a block relative to the head or last irreversible block (depending on irreversibleOnly).
highBlockNum
Optional
Int64     Higher block num boundary, inclusively. A negative value means a block relative to the head or last irreversible block (depending on irreversibleOnly). A null value means no higher limits, therefore searching into the future of the chain.
cursor
Optional
String     Opaque data piece that you can pass back to continue your search if it ever disconnected. Retrieve it from the cursor field in the responses of this call. It is safe to use the same cursor in BOTH directions (forward and backward).
limit
Optional
Int64 = 0     Limit the number of results streamed back.
irreversibleOnly
Optional
Boolean     When true, only stream back results once they pass the irreversibility boundary. Otherwise, allow fetching results up to the head block.
liveMarkerInterval
Optional
Uint32 = 0    

If non-zero, indicates you want to mark the stream when reaching live blocks. A marker is a response with a trace equal to null, which will be sent at each liveMarkerInterval blocks. The first trace to be equal to null in a stream indicates you are now processing live blocks.

The value for liveMarkerInterval is a number of blocks.

searchTransactionsBackward

searchTransactionsBackward(query String, lowBlockNum Int64, highBlockNum Int64, cursor String, limit Int64 = 0, irreversibleOnly Boolean) : SearchTransactionBackwardResponse!

Search the blockchain backward for transaction execution traces based on query.

NOTE: The undo field is not used in backwards search.

Parameters
query
required
String!     dfuse Search Query Language string
lowBlockNum
Optional
Int64     Lower block num boundary, inclusively. The absence of a value, or a value of 0 means the beginning of the chain. A negative value means a block relative to the head or last irreversible block (depending on irreversibleOnly).
highBlockNum
Optional
Int64     Higher block num boundary, inclusively. A negative value means a block relative to the head or last irreversible block (depending on irreversibleOnly), -1 being the head block.
cursor
Optional
String     Opaque data piece that you can pass back to continue your search if it ever disconnected. Retrieve it from the cursor field in the responses of this call. It is safe to use the same cursor in BOTH directions (forward and backward).
limit
Optional
Int64 = 0     Limit the number of results streamed back.
irreversibleOnly
Optional
Boolean     When true, only stream back results that have passed the irreversibility boundary. Otherwise, allow fetching results up to the head block.

Query

getAccountHistoryActions

getAccountHistoryActions(account String, contract String, limit Int64 = 100, cursor String) : AccountHistoryActionsConnection!

Retrieve the last actions, that are irreversible, and that:

  1. notified an account, or
  2. was authorized by an account.

Results are actions, returned in reverse order (from recent to older actions).

NOTE: usually, the backing service of this method holds a truncated window of history, per account.

Read the cursor in the response, and pass it back to cursor to continue paginating. This is a short-lived cursor, especially as the truncation window goes by.

Parameters
account
required
String!     Account name to query for actions
contract
Optional
String     Contract name to query for actions
limit
Optional
Int64 = 100     Maximum number of actions returned in this page. Max limit allowed for this call is 1000
cursor
Optional
String     Optional cursor to continue where you left off, taken from results of a previous call to this getActions query.

searchTransactionsForward

searchTransactionsForward(query String, lowBlockNum Int64, highBlockNum Int64, cursor String, limit Int64 = 100, irreversibleOnly Boolean) : SearchTransactionsForwardResponse!

Search the blockchain forward for transaction execution traces based on query.

When the returned cursor is empty, it means you have reached the end of the specified block range.

WARN: always consider the undo field in forward searches, which signal that the matching element was in fact REMOVED from the chain because of blocks reorganization.

See also the streaming version under Subscription

Parameters
query
required
String!     dfuse Search Query Language string
lowBlockNum
Optional
Int64     Lower block num boundary, inclusively. A negative value means a block relative to the head or last irreversible block (depending on irreversibleOnly).
highBlockNum
Optional
Int64     Higher block num boundary, inclusively. A zero or negative value means a block relative to the head or last irreversible block (depending on irreversibleOnly).
cursor
Optional
String     Opaque data piece that you can pass back to continue your search if it ever disconnected. Retrieve it from the cursor field in the responses of this call. It is safe to use the same cursor in BOTH directions (forward and backward).
limit
Optional
Int64 = 100     Limit the number of results per page of results (defaults to 100).
irreversibleOnly
Optional
Boolean     When true, only stream back results once they pass the irreversibility boundary. Otherwise, allow fetching results up to the head block.

searchTransactionsBackward

searchTransactionsBackward(query String, lowBlockNum Int64, highBlockNum Int64, cursor String, limit Int64 = 100, irreversibleOnly Boolean) : SearchTransactionsBackwardResponse!

Search the blockchain backward for transaction execution traces based on query.

When the returned cursor is empty, it means you have reached the end of the specified block range.

See also the streaming version under Subscription

Parameters
query
required
String!     dfuse Search Query Language string
lowBlockNum
Optional
Int64     Lower block num boundary, inclusively. A value of 0 means the beginning of the chain. A negative value means a block relative to the head or last irreversible block (depending on irreversibleOnly).
highBlockNum
Optional
Int64     Higher block num boundary, inclusively. A zero or negative value means a block relative to the head or last irreversible block (depending on irreversibleOnly).
cursor
Optional
String     Opaque data piece that you can pass back to continue your search if it ever disconnected. Retrieve it from the cursor field in the responses of this call. It is safe to use the same cursor in BOTH directions (forward and backward).
limit
Optional
Int64 = 100     Limit the number of results per page of results (defaults to 100).
irreversibleOnly
Optional
Boolean     When true, only stream back results once they pass the irreversibility boundary. Otherwise, allow fetching results up to the head block.

blockIDByTime

blockIDByTime(time Time, comparator COMPARATOR = LTE) : BlockIDResponse!
Return the block ID found around the given time, based on the comparator provided.
Parameters
time
required
Time!     Timestamp for comparison, in format 2006-01-02T15:04:05Z or 2006-01-02T15:04:05.123Z
comparator
Optional
COMPARATOR = LTE    

blockIDAtAccountCreation

blockIDAtAccountCreation(account String) : BlockIDResponse!
Return the block Number where given account was created.
Parameters
account
required
String!    

Query

block

block(id String, num Uint32) : Block
Get a single block by its ID or its number. You cannot specify both.
Parameters
id
Optional
String    
num
Optional
Uint32    

tokens

tokens(tokenSymbols String, tokenContracts String, cursor String, limit Uint32, sortField TOKENS_SORT_FIELD = HOLDERS, sortOrder SORT_ORDER = DESC) : TokenConnection!
Get a list of contract tokens (at Last Irreversible Block height (LIB) only)
Parameters
tokenSymbols
required
[String!]     List of token symbols (EOS) to filter the results against
tokenContracts
required
[String!]     List of token contracts (eosio.token) to filter the results against
cursor
Optional
String     Cursor used for pagination
limit
Optional
Uint32     Maximum number of results to include in a result
sortField
Optional
TOKENS_SORT_FIELD = HOLDERS     Token attribute used to sort the results
sortOrder
Optional
SORT_ORDER = DESC     Direction in which to sort the results

accountBalances

accountBalances(account String, cursor String, tokenSymbols String, tokenContracts String, limit Uint32, sortField ACCOUNT_BALANCES_SORT_FIELD = AMOUNT, sortOrder SORT_ORDER = DESC, options ACCOUNT_BALANCE_OPTION) : AccountBalanceConnection!
Get a list of token balances for a specific account (at Last Irreversible Block height (LIB) only)
Parameters
account
required
String!     The account whose balances you are retrieveing
cursor
Optional
String     Cursor used for pagination
tokenSymbols
required
[String!]     List of token symbols (EOS) to filter the results against
tokenContracts
required
[String!]     List of token contracts (eosio.token) to filter the results against
limit
Optional
Uint32     Maximum number of results to include in a result
sortField
Optional
ACCOUNT_BALANCES_SORT_FIELD = AMOUNT     Token attribute used to sort the results
sortOrder
Optional
SORT_ORDER = DESC     Direction in which to sort the results
options
required

tokenBalances

tokenBalances(contract String, symbol String, tokenHolders String, cursor String, limit Uint32, sortField TOKEN_BALANCES_SORT_FIELD = AMOUNT, sortOrder SORT_ORDER = DESC, options ACCOUNT_BALANCE_OPTION) : AccountBalanceConnection!
Get a list of token balances for a specific contract & symbol (at Last Irreversible Block height (LIB) only)
Parameters
contract
required
String!     The token’s contract you are retrieving
symbol
required
String!     The token’s symbol you are retrieving
tokenHolders
required
[String!]     List of token holders to filter the results against
cursor
Optional
String     Cursor used for pagination
limit
Optional
Uint32     Maximum number of results to include in a result
sortField
Optional
TOKEN_BALANCES_SORT_FIELD = AMOUNT     Token attribute used to sort the results
sortOrder
Optional
SORT_ORDER = DESC     Direction in which to sort the results
options
required

Block

id

id : String!
ID of this block. It is a unique pointer to this block.

num

num : Uint32!
Sequential number of this block on the chain. Unlike the hash, it is not unique because of forked blocks.

dposLIBNum

dposLIBNum : Uint32!
The Last Irreversible Block number this chain is based at the DPoS consensus layer.

irreversible

irreversible : Boolean!
Indicates whether this block is irreversible.

header

header : BlockHeader!
Header . It is a unique pointer to this block.

merkleRoot

merkleRoot : BlockRootMerkle!
Pointer to the incremental merkle root data structure for this block

executedTransactionCount

executedTransactionCount : Uint32!
Number of transaction found in this blocks, this is the number of ’executed’ transaction count.

transactionTraces

transactionTraces(first Uint32, last Uint32, before String, after String) : TransactionTraceConnection!
List of transactions contained in this block.
Parameters
first
Optional
Uint32    
last
Optional
Uint32    
before
Optional
String    
after
Optional
String    

BlockHeader

BlockHeader is the header of a block, excluding the transactions in that block.

id

id : String!
The ID of this block in the chain.

num

num : Uint32!
The block number in the chain.

timestamp

timestamp : Time!
Timestamp of this block, this is the actual time at which the block was procuded.

producer

producer : String!
The block producer who producer this block.

confirmed

confirmed : Uint32!
How may confirmations of verification this block has received from other block producers.

previous

previous : String!
The previous block ID in the block chain this block is based on.

transactionMRoot

transactionMRoot : String!
The transaction receipt Merkle root node hash of this block, this is the ’transaction_mroot’ in EOSIO.

actionMRoot

actionMRoot : String!
The action receipt Merkle root node hash of this block, this is the ‘action_mroot’ in EOSIO.

scheduleVersion

scheduleVersion : Uint32!
The producer schedule version this block is based on. The schedule is the list of active producer and their assigned block production slot.

newProducers

newProducers : ProducerSchedule

BlockRootMerkle

BlockRootMerkle

nodeCount

nodeCount : Uint32!
The ID of this block in the chain.

activeNodes

activeNodes : [String!]!

ProducerSchedule

version

version : Uint32!

producers

producers : [ProducerKey!]!

ProducerKey

producerName

producerName : String!

blockSigningKey

blockSigningKey : String!

TransactionTraceConnection

edges

A list of edges to transaction traces

pageInfo

pageInfo : PageInfo!
Information to aid pagination

TransactionTraceEdge

cursor

cursor : String!
Trasaction trace cursor

node

Trasaction trace

PageInfo

Cursors required to continue either forward or backwards from a list of paginated elements

startCursor

startCursor : String!
cursor of the first element of the list, use it to search in the opposite direction

endCursor

endCursor : String!
cursor of the last element of the list, use it to continue

hasNextPage

hasNextPage : Boolean!
indicates whether there is a next page

hasPreviousPage

hasPreviousPage : Boolean!
indicates whether there is a previous page

SearchTransactionsForwardResponse

cursor

cursor : String
This is a chain-wide cursor, indicating the progress of a search. You can pass it back to the different search methods to continue fetching more results, in either directions (even in the reverse direction). A null cursor means the end of range has been reached.

results

SearchTransactionsBackwardResponse

cursor

cursor : String!

results

SearchTransactionForwardResponse

A single transaction trace response, matching a forward search query.

WARNING: do NOT forget to include the undo field to determine if the message is actually a REVERSAL of the transaction.

NOTE: always check the value of trace.status to make sure it is executed if you want to make sure a transaction made it to the chain.

undo

undo : Boolean!

Whether this response is an UNDO operation of a previously sent response.

In a forward search, make sure you catch this and always verify its value.. as to not double or triple count transactions.

cursor

cursor : String!
Chain-wide cursor, allowing you to continue querying when connection is interrupted

isIrreversible

isIrreversible : Boolean!
Whether the block represented here is irreversible

irreversibleBlockNum

irreversibleBlockNum : Uint32!
The last known irreversible block when processing this transaction. This number can be equal to the current block num (under trace.block.num), in which case, isIrreversible is true. In the reversible segment of the chain, this number will be drifting away by the number of blocks separating head block and LIB.

block

block : BlockHeader!

trace

Traces of execution of the transaction containing matching actions.

Check matchingActions below to limit the response to only actions matching your search query. Although, all actions from the transactions are available (see executedActions).

SearchTransactionBackwardResponse

A single transaction trace response, matching a backward search query.

NOTE: always check the value of trace.status to make sure it is executed if you want to make sure a transaction made it to the chain.

cursor

cursor : String!
Chain-wide cursor, allowing you to continue querying when connection is interrupted

isIrreversible

isIrreversible : Boolean!
Whether the block represented here is irreversible

irreversibleBlockNum

irreversibleBlockNum : Uint32!
The last known irreversible block when processing this transaction. This number can be equal to the current block num (under trace.block.num), in which case, isIrreversible is true. In the reversible segment of the chain, this number will be drifting away by the number of blocks separating head block and LIB.

block

block : BlockHeader!

trace

Traces of execution of the transaction containing matching actions.

Check matchingActions below to limit the response to only actions matching your search query. Although, all actions from the transactions are available (see executedActions).

AccountHistoryActionsConnection

edges

pageInfo

pageInfo : PageInfo!

SimpleActionTraceEdge

cursor

cursor : String!

node

SimpleActionTrace

SimpleActionTrace holds the traces of execution of a single action within a transaction, but contains less contextual information from the transaction than an ActionTrace.

This object is used with the getActions Query.

blockNum

blockNum : Uint64!
Block number in which this action was processed

blockID

blockID : String!
Block ID in which this action was processed.

blockTime

blockTime : Time!
Time at which the block was produced, according to the block producer

trxID

trxID : String!
Transaction ID originally holding this action

seq

seq : Uint64!
Global sequence ID for this action in this chain (shorthand for receipt.global_sequence).

executionIndex

executionIndex : Uint32!
Zero-based index of this action within the transaction, in execution order.

receipt

receipt : ActionReceipt

Action receipt (which differs from the Transaction receipt).

The receipt will be null when failures occur. Verify the status field on the TransactionTrace object.

receiver

receiver : String!

Account which code was executed to produce this execution trace.

Shorthand for receipt.receiver

account

account : String!

Target method’s account name. This does not correspond to the contract code being executed, that is what receiver means. This value namespaces your actions.

Shorthand for act.account in nodeos traces

name

name : String!

Target method’s action name. This value, combined with the account, determines which code path will be executed in the receiver contract code.

Shorthand for act.name in nodeos traces.

authorization

authorization : [PermissionLevel!]!

Signatories required to execute this action.

Shorthand for act.authorization in nodeos traces.

data

data : JSON

Data payload. Might be a string or a JSON object, depending on whether it was possible to unpack it using an ABI.

Shorthand for act.data in nodeos traces.

json

json : JSON

JSON Object representing the action parameters, decoded through the ABI. Will be null if it wasn’t possible to decode it.

Shorthand for action.json

hexData

hexData : String!

Hex-encoded string representing the raw data for the action.

Shorthand for act.hex_data in nodeos traces.

console

console : String!
Output of the action’s print() statements from within the smart contract.

contextFree

contextFree : Boolean!
Whether this action is a context-free action.

isNotify

isNotify : Boolean!
Whether this action is a notification, meaning that it was triggered as a side effect rom another contract, and copied the exact same payload from the original transaction. This happens when you call the require_notify method from the EOSIO intrinsics (from within a smart-contract).

TransactionTrace

Traces of the execution of a given transaction. This means the transaction was executed on the chain. You also get context about the block in which it was executed, and the status of the execution.

WARN: Make sure to always check the status (in the receipt) to make sure you’re not considering a failed transaction as if it was successful.

id

id : String!

block

block : BlockHeader!
Block in which this transaction trace occurred

status

This is a short-hand for receipt.status.

receipt

Transaction execution receipt which is the consensus value propagated across the network.

elapsed

elapsed : Int64!

Amount of execution time in microseconds (µs) elapsed by this whole transaction. This corresponds to the transaction_trace.elapsed field in the EOSIO software.

WARN: This is not the propagated consensus value. This value is from the EOSIO node that replayed the transaction from the network. Use receipt.cpuUsageMicroSeconds in your GraphQL operation instead to retrieve the consensus value.

netUsage

netUsage : Uint64!

Amount of network bandwidth consumed (for the sake of the rate limiting engine) by this whole transaction, in bytes. This corresponds to the transaction_trace.net_usage field in the EOSIO software (which is usually equivalent to receipt.net_usage_words * 8).

WARN: This is not the propagated consensus value. This value is from the EOSIO node that replayed the transaction from the network. While there is no reason to not match the consensus value, it still could be different. Use receipt.netUsageWords in your GraphQL operation instead to retrieve the consensus value (multiple it by 8 to get the amount of bytes).

scheduled

scheduled : Boolean!
Whether this transaction was originally a scheduled transaction.

executedActions

executedActions : [ActionTrace!]!
Lists all action traces, flattened and ordered by execution time.

matchingActions

matchingActions : [ActionTrace!]!
Returns a flattened list of action traces, in execution order, of only the matching transactions (from a search, or other filtering).

topLevelActions

topLevelActions : [ActionTrace]!
Traces of actions at depth=0, those part of the original Transaction. In nodeos version 1.7.0 and below, this corresponds to the action_traces field.

exceptJSON

exceptJSON : JSON

TransactionReceiptHeader

status

cpuUsageMicroSeconds

cpuUsageMicroSeconds : Uint32!

netUsageWords

netUsageWords : Uint32!

ActionTrace

ActionTrace holds the traces of execution of a single action within a transaction.

seq

seq : Uint64!
Global sequence ID for this action in this chain (shorthand for receipt.global_sequence). NOTE: if this is a failed action, seq will be 0.

executionIndex

executionIndex : Uint32!
Zero-based index of this action within the transaction, in execution order.

receipt

receipt : ActionReceipt

Action receipt (which differs from the Transaction receipt).

The receipt will be null when failures occur. Verify the status field on the TransactionTrace object.

receiver

receiver : String!

Account which code was executed to produce this execution trace.

Shorthand for receipt.receiver

account

account : String!

Target method’s account name. This does not correspond to the contract code being executed, that is what receiver means. This value namespaces your actions.

Shorthand for act.account in nodeos traces

name

name : String!

Target method’s action name. This value, combined with the account, determines which code path will be executed in the receiver contract code.

Shorthand for act.name in nodeos traces.

authorization

authorization : [PermissionLevel!]!

Signatories required to execute this action.

Shorthand for act.authorization in nodeos traces.

data

data : JSON

Data payload. Might be a string or a JSON object, depending on whether it was possible to unpack it using an ABI.

Shorthand for act.data in nodeos traces.

json

json : JSON

JSON Object representing the action parameters, decoded through the ABI. Will be null if it wasn’t possible to decode it.

Shorthand for action.json

hexData

hexData : String!

Hex-encoded string representing the raw data for the action.

Shorthand for act.hex_data in nodeos traces.

ramOps

ramOps : [RAMOp!]!

A list of RAM mutation operations, produced by this transaction.

NOTE: the RAM ops on an action never include operations that are mutations of the transaction itself (like creation of a deferred, or removal of a deferred from RAM). For this, check ramOps on the TransactionTrace object.

dtrxOps

dtrxOps : [DTrxOp!]!
A list of all operations affecting deferred transactions, like creation, deletion, modification, produced by this action.

tableOps

tableOps : [TableOp!]!
A list of table mutation operations (creation or deletion of a table, not a row).

dbOps

dbOps(code String, table String) : [DBOp!]!
A list of database operations produced by this action. Insertions, modifications and deletions of any table rows in the scope of this action’s receiver.
Parameters
code
Optional
String    
table
Optional
String    

console

console : String!
Output of the action’s print() statements from within the smart contract.

contextFree

contextFree : Boolean!
Whether this action is a context-free action.

elapsed

elapsed : Int64!
Elapsed time between the beginning of the execution of this action, relative to the time the whole transaction started to be processed

exceptJSON

exceptJSON : JSON
If non-null, this action failed. The stack and reasons will be found within the raw JSON payload provided.

isNotify

isNotify : Boolean!
Whether this action is a notification, meaning that it was triggered as a side effect rom another contract, and copied the exact same payload from the original transaction. This happens when you call the require_notify method from the EOSIO intrinsics (from within a smart-contract).

isMatchingQuery

isMatchingQuery : Boolean!
Whether or not this action matched the dfuse search query

createdActions

createdActions(sort ACTION_SORT_ORDER = EXECUTION) : [ActionTrace]!
Traces of actions created by this action. WARN: this doesn’t infer that the operations were written to the blockchain in this order, only that it was created by this action. To obtain execution order, see executedActions on the TransactionTrace object.
Parameters
sort
Optional
ACTION_SORT_ORDER = EXECUTION    

creatorAction

creatorAction : ActionTrace
Trace of the action that created this one, the one which created this action. WARN: it is not necessarily the parent in execution order, but will reflect which smart contract did the creation of either the notification, action or context_free_action.

closestUnnotifiedAncestorAction

closestUnnotifiedAncestorAction : ActionTrace

Use this to rebuild the execution tree, using the nodeos dispatch algorithm of notifications, actions and context-free actions.

This is similar to what you would have gotten in nodeos prior to version 1.8.0.

RAMOp

Represents a change in consumption of RAM for a given account

operation

operation : RAM_OPERATION!
What happened to justify this change in RAM.

payer

payer : String!
The account being debited or credited RAM

delta

delta : Int64!
Number of bytes that were either consumed (positive) or released (negative)

usage

usage : Uint64!

Number of bytes now used by the payer account, after applying this RAM operation.

To have a precise view of the RAM left on an account after this transaction was applied, go through all actions in execution order (TransactionTrace.executedActions) and use the last RAMOp for the given account.

DTrxOp

A change in deferred transactions in the chain’s memory.

operation

operation : DTRX_OPERATION!
The source or cause of creation/modification/deletion of a deferred transaction

sender

sender : String

senderID

senderID : String

payer

payer : String
The account being debited or credited to store this deferred transaction

publishedAt

publishedAt : Time
The time this deferred was published at

delayUntil

delayUntil : Time
The time at which Block Producers will start attempting to execute this transaction

expirationAt

expirationAt : Time
The time at which Block Producers will evict this transaction from memory if it fails execution.

trxID

trxID : String
The transaction ID of the transaction

transaction

transaction : Transaction
The deferred transaction payload itself.

TableOp

Creation or deletion of a table

operation

operation : TABLE_OPERATION!

table

table : TableOpKey!

DBOp

Represents the change delta of a row, in a contract table.

The operation field can be used to determine what happened to the row. Was is just inserted, modified or deleted?

operation

operation : DB_OPERATION!

The operation type should be referred to when inspecting the oldData, oldJSON, newData, newJSON fields. The operation’s value will determine what those value will contain.

Assume the following example fields values (for brievity and clarity, we show the oldJSON and the newJSON fields, but the concept applies equally to oldData and newData which are the Hexadecimal binary version of the JSON):

   { operation: "INS", newJSON: { "id":1, "name": "john" }, oldJSON: <nil> } }
   { operation: UPD, newJSON: { "id":1, "name": "johnny"}, oldJSON: { "id":1, "name": "john" } }
   { operation: REM, newJSON: <nil>, oldJSON: { "id":1, "name": "johnny" } }

When the operation type is "INS", the oldJSON will be null, since it’s a new row, it cannot have a previous state, the newJSON will be set with the new value just inserted.

When the operation type is "UPD", the newJSON will contain the new row’s value after the update while the oldJSON will be set with the value the row had before being updated.

When the operation type is "REM", the newJSON will be null, since it’s a deleted row, no new state exists, the oldJSON will be set with the value the row had before being deleted.

oldPayer

oldPayer : String
Previous paying account. This is null in the case of an insertion.

newPayer

newPayer : String
New paying account. This is null in the case of a deletion.

key

key : DBOpKey!
Primary key of the row in the table.

oldData

oldData : String
Contents (hex data) of the row before a REM or UPD operation.

newData

newData : String
Contents (hex data) of the row after an INS or UPD operation.

oldJSON

oldJSON : DecodedObject!
Decoded version of oldData

newJSON

newJSON : DecodedObject!
Decoded version of newData

DBOpKey

code

code : String!

table

table : String!

scope

scope(encoding UINT64_ENCODING = NAME) : String!
Parameters
encoding
Optional
UINT64_ENCODING = NAME    

key

key(encoding UINT64_ENCODING = NAME) : String!
Parameters
encoding
Optional
UINT64_ENCODING = NAME    

TableOpKey

code

code : String!

table

table : String!

scope

scope(encoding UINT64_ENCODING = NAME) : String!
Parameters
encoding
Optional
UINT64_ENCODING = NAME    

ActionReceipt

Execution receipt for a given ActionTrace.

The nodeos field auth_sequence is not yet present. Contact us if you need it.

receiver

receiver : String!
Account for which code is being triggered. Beware that this might not be the same value as account, or the target account of the action, in the case of notifications. See documentation for require_notify in EOSIO contracts

digest

digest : String!
Hash of the action payload. Also known as act_digest from nodeos

globalSequence

globalSequence : Uint64!

Globally unique sequence number in all actions from the longest chain. This will never be reused, and is guaranteed to monotonically increment with each action.

This property can be relied on to keep track of forks in your database, at the action level.

WARNING: when micro-forks happens, global sequences from the different forks will be reused, but will be associated with other actions. This is why it’s important to navigate forks properly.

codeSequence

codeSequence : Uint64!

abiSequence

abiSequence : Uint64!

Transaction

expiration

expiration : Time!

refBlockNum

refBlockNum : Uint32!

TaPoS reference block num.

This value holds only 16 bits of the blockNum (instead of 32). The other 16 bits are in the current blockNum (unless overflown).

refBlockPrefix

refBlockPrefix : Uint32!
TaPoS block prefix (bytes 8-16 of the block ID), in order to identify the correct fork for a given block number.

maxNetUsageWords

maxNetUsageWords : Uint32!

maxCPUUsageMS

maxCPUUsageMS : Uint32!

delaySec

delaySec : Uint32!

contextFreeActions

contextFreeActions : [Action!]!

actions

actions : [Action!]!

Action

account

account : String!

name

name : String!

authorization

authorization : [PermissionLevel]!

json

json : JSON

data

data : JSON

hexData

hexData : String!

PermissionLevel

actor

actor : String!

permission

permission : String!

AuthSequence

account

account : String

sequence

sequence : Uint64!

DecodedObject

object

object : JSON

error

error : String

BlockIDResponse

time

time : Time!
“true” if a block id was found

num

num : Uint32!

id

id : String!

TokenConnection

The Connection type for a Token

blockRef

blockRef : BlockRef
block is the block at which the token data is valid

edges

edges : [TokenEdge]!
A list of edges to tokens

pageInfo

pageInfo : PageInfo
Information to aid pagination

TokenEdge

A single Token response.

cursor

cursor : String!

node

node : Token!
The Token object.

BlockRef

A single Block response.

number

number : Uint64!
Sequential number of this block on the chain.

id

id : String!

Token

A single Token

contract

contract : String!
Contract that created the token i.e.: eosio.token

symbol

symbol : String!
Symbol of token i.e.: EOS

precision

precision : Uint32!
Token precision

issuer

issuer : String!
Token contract issuer: eosio

holders

holders : Uint64!
Number of token holders

maximumSupply

maximumSupply(format ASSET_FORMAT = ASSET) : String!
Token’s maximum supply
Parameters
format
Optional
ASSET_FORMAT = ASSET    

totalSupply

totalSupply(format ASSET_FORMAT = ASSET) : String!
Token’s total supply
Parameters
format
Optional
ASSET_FORMAT = ASSET    

AccountBalanceConnection

The Connection type for a Account Balance

blockRef

blockRef : BlockRef
block is the block at which the token data is valid

edges

edges : [AccountBalanceEdge]!
A list of edges to account balances

pageInfo

pageInfo : PageInfo
Information to aid pagination

AccountBalanceEdge

A single Token response.

cursor

cursor : String!

node

The account balance object.

AccountBalance

contract

contract : String!
Contract that created the token i.e.: eosio.token

account

account : String!
Account holding the token

symbol

symbol : String!
Symbol of token i.e.: EOS

precision

precision : Uint32!
Token precision

balance

balance(format ASSET_FORMAT = ASSET) : String!
Amount of the token held in the account
Parameters
format
Optional
ASSET_FORMAT = ASSET    

PageInfo

Cursors required to continue either forward or backwards from a list of paginated elements

startCursor

startCursor : String!
cursor of the first element of the list, use it to search in the opposite direction

endCursor

endCursor : String!
cursor of the last element of the list, use it to continue

hasNextPage

hasNextPage : Boolean!
indicates whether there is a next page

hasPreviousPage

hasPreviousPage : Boolean!
indicates whether there is a previous page