coinbase_mesh/models/
block_response.rs

1/*
2 * Rosetta
3 *
4 * Build Once. Integrate Your Blockchain Everywhere. 
5 *
6 * The version of the OpenAPI document: 1.4.13
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// BlockResponse : A BlockResponse includes a fully-populated block or a partially-populated block with a list of other transactions to fetch (other_transactions).  As a result of the consensus algorithm of some blockchains, blocks can be omitted (i.e. certain block indices can be skipped). If a query for one of these omitted indices is made, the response should not include a `Block` object.  It is VERY important to note that blocks MUST still form a canonical, connected chain of blocks where each block has a unique index. In other words, the `PartialBlockIdentifier` of a block after an omitted block should reference the last non-omitted block. 
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct BlockResponse {
17    #[serde(rename = "block", skip_serializing_if = "Option::is_none")]
18    pub block: Option<Box<models::Block>>,
19    /// Some blockchains may require additional transactions to be fetched that weren't returned in the block response (ex: block only returns transaction hashes). For blockchains with a lot of transactions in each block, this can be very useful as consumers can concurrently fetch all transactions returned. 
20    #[serde(rename = "other_transactions", skip_serializing_if = "Option::is_none")]
21    pub other_transactions: Option<Vec<models::TransactionIdentifier>>,
22}
23
24impl BlockResponse {
25    /// A BlockResponse includes a fully-populated block or a partially-populated block with a list of other transactions to fetch (other_transactions).  As a result of the consensus algorithm of some blockchains, blocks can be omitted (i.e. certain block indices can be skipped). If a query for one of these omitted indices is made, the response should not include a `Block` object.  It is VERY important to note that blocks MUST still form a canonical, connected chain of blocks where each block has a unique index. In other words, the `PartialBlockIdentifier` of a block after an omitted block should reference the last non-omitted block. 
26    pub fn new() -> BlockResponse {
27        BlockResponse {
28            block: None,
29            other_transactions: None,
30        }
31    }
32}
33