The state of an attempted transaction submission.
| JSON representation |
|---|
{ "status": enum ( |
| Fields | |
|---|---|
status |
Output only. The current status of the transaction attempt. |
proofOfInclusion |
Output only. Certificate of the inclusion of the transaction effects in the world state. Only provided if status is |
statusEvents[] |
Output only. The ordered status events recorded for the transaction attempt. |
TransactionStatus
The status of the transaction attempt.
| Enums | |
|---|---|
TRANSACTION_STATUS_UNSPECIFIED |
Unknown or uninitialized state. |
PENDING |
The transaction is known to this validator, but it is not finalized yet. |
FINALIZED |
The transaction is finalized. Its effects have been persisted on the blockchain and cannot be reversed. |
ProofOfInclusion
Certificate of the inclusion of the effects of a transaction in the world state.
| JSON representation |
|---|
{ "transactionCertificate": { object ( |
| Fields | |
|---|---|
transactionCertificate |
Output only. Certificate of the inclusion of the transaction effects in a specific round. |
roundCertificate |
Output only. Certificate of the execution of the round. |
pathToRoundRoot[] |
Output only. Cryptographic proof of inclusion of the transaction effects in the execution round. It is given as a path from a given leaf (a transaction digest) to the root of the execution round. The path is represented as a list of (left child, right child) pairs, and the first pair is the left and right children of the given leaf's parent node. For example, assuming the Merkle tree was built with eight leaf digests In here, One can consecutively compute SHA-256 digests of each path node to verify that the digest of the path produces the same value as the |
TransactionCertificate
Certificate of the execution of a specific transaction in a round.
| JSON representation |
|---|
{ "transactionDigestHex": string, "roundId": string, "transactionEffects": { object ( |
| Fields | |
|---|---|
transactionDigestHex |
Output only. The ID of the transaction this certificate is for. |
roundId |
Output only. The ID of the execution round at which this transaction was executed in. |
transactionEffects |
Output only. The effects from the transaction execution. |
events[] |
Output only. Events produced by the transaction. |
transactionEffectsStateChecksumHex |
Output only. Homomorphic checksum of the effects. A 2048 byte value encoded as a hexadecimal string. |
certificationResultsDigestHex |
Output only. The cryptographic digest of all the previous fields in sequence. Used to build a Merkle tree for the proof of inclusion. |
TransactionEffects
Effects of the execution of a transaction.
| JSON representation |
|---|
{ "status": { object ( |
| Fields | |
|---|---|
status |
Output only. The resulting status of the transaction execution. |
effects[] |
Output only. Deprecated: Query the network state instead to determine any changes to the world state. The effects of the transaction in the world state. |
TransactionStatus
Represents the status of a transaction execution.
| JSON representation |
|---|
{ "code": integer, "message": string } |
| Fields | |
|---|---|
code |
Output only. The status code, a numeric value whose meaning is defined by the corresponding gRPC status code. |
message |
Output only. The error message, if any. Set only if code is not A base64-encoded string. |
TransactionEffect
Represents an update by some transaction to the world state.
If it has a deltaVal, it is assumed to be a delta (an integer offset) applied to the previously stored value on a given key. In that case, newVal and oldVal should be empty.
Otherwise, it is assumed to have at least one of oldVal or newVal (or both). An empty oldVal indicates the value was inserted. An empty newVal indicates the value was deleted.
| JSON representation |
|---|
{ "key": string, "oldVal": string, "newVal": string, "deltaVal": string } |
| Fields | |
|---|---|
key |
Output only. The key in the world state that was updated. A base64-encoded string. |
oldVal |
Output only. The value of the key before the transaction was executed. A base64-encoded string. |
newVal |
Output only. The value of the key after the transaction was executed. A base64-encoded string. |
deltaVal |
Output only. An integer offset that was applied to the previously stored value. |
TransactionEvent
An event produced by a transaction.
| JSON representation |
|---|
{
"type": string,
"attributes": [
{
object ( |
| Fields | |
|---|---|
type |
Output only. The type of event. A special event of type |
attributes[] |
Output only. The event attributes as arbitrary key-value pairs. |
EventAttribute
An individual attribute as a key-value pair.
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
Output only. The key of the attribute. |
value |
Output only. The value of the attribute. |
RoundCertificate
Certificate of the execution of a round by a specific validator.
| JSON representation |
|---|
{
"roundId": string,
"validatorId": string,
"roundStateChecksumHex": string,
"roundDeltaChecksumHex": string,
"merkleTree": {
object ( |
| Fields | |
|---|---|
roundId |
Output only. The ID of the round for which the certificate is for. |
validatorId |
Output only. The human readable validator identifier. This is used to look up the public key against which the |
roundStateChecksumHex |
Output only. The hex representation of the homomorphic digest over the world state after the effects of this round are applied. |
roundDeltaChecksumHex |
Output only. The hex representation of the homomorphic digest over the aggregated transaction effects of this round. |
merkleTree |
Output only. Merkle tree having this round as root node and transaction batches (executed in the round) as the leaves. |
validatorSignatures[] |
Optional. The signature of the validator. This is signed over the digest of the preceding payload of this record. A base64-encoded string. |
isFinalized |
Output only. Boolean to indicate if the round is finalized, i.e., whether a sufficient quorum of validators have certified this round with the same certificate. |
MerkleTree
A Merkle tree with a cryptographic digest of the root node.
| JSON representation |
|---|
{ "rootHashHex": string, "rootDigestHex": string, "numTransactions": string } |
| Fields | |
|---|---|
rootHashHex |
Output only. The cryptographic digest of the root node. Deprecated: Use |
rootDigestHex |
Output only. The hexadecimal representation of the digest of the root node. Format: A 64-character hexadecimal string. |
numTransactions |
Output only. The number of transactions in the tree. |
MerkleTreeNode
Represents a node in a Merkle tree path.
| JSON representation |
|---|
{ "leftChildHashHex": string, "rightChildHashHex": string, "leftChildDigestHex": string, "rightChildDigestHex": string } |
| Fields | |
|---|---|
leftChildHashHex |
Output only. The hexadecimal representation of the digest of the left child of a node. Deprecated: Use |
rightChildHashHex |
Output only. The hexadecimal representation of the digest of the right child of a node. Deprecated: Use |
leftChildDigestHex |
Output only. The hexadecimal representation of the digest of the left child of a node. Format: A 64-character hexadecimal string. |
rightChildDigestHex |
Output only. The hexadecimal representation of the digest of the right child of a node. Format: A 64-character hexadecimal string. |
StatusEvent
Represents an event in the processing of a transaction as observed by a single validator.
All values reported are from the perspective of the validator handling the request and may differ from the view of other validators.
| JSON representation |
|---|
{ "eventTime": string, "eventType": enum ( |
| Fields | |
|---|---|
eventTime |
Output only. The time when the event was recorded by this validator. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
eventType |
Output only. The type of the event. |
eventDetails |
Output only. Additional details associated with the event. |
EventType
Represents the type of an event in the processing of a transaction, as observed by the validator that the request was routed to.
| Enums | |
|---|---|
EVENT_TYPE_UNSPECIFIED |
Unknown or unspecified event. |
EVENT_TYPE_RECEIVED |
The transaction was received by this validator directly from a client. |
EVENT_TYPE_BROADCASTED |
The transaction was broadcasted by this to other validators. |
EVENT_TYPE_ORDERED |
The transaction was ordered and scheduled for execution by this validator. |
EVENT_TYPE_EXECUTION_STARTED |
The execution of the transaction has started. |
EVENT_TYPE_EXECUTION_COMPLETED |
The execution of the transaction has completed. |
EVENT_TYPE_FINALIZED |
The transaction has been finalized by this validator. |
EventDetails
Represents additional details of a status event.
| JSON representation |
|---|
{
// The following is a list of mutually exclusive fields. At most one of the
// fields will be set in a response:
"executionDetails": {
object ( |
| Fields | |
|---|---|
| The details of the event. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
executionDetails |
Output only. Additional details for an execution event. |
| End of mutually exclusive fields. | |
ExecutionDetails
Additional details for an execution event.
| JSON representation |
|---|
{ "roundId": string } |
| Fields | |
|---|---|
roundId |
Output only. The round ID at which the execution event occurred. |