#![allow(non_snake_case)]
pub struct BlockHeader {
pub block_size: u64,
pub block_weight: u64,
pub cumulative_difficulty: u64,
pub cumulative_difficulty_top64: u64,
pub depth: u64,
pub difficulty: u64,
pub difficulty_top64: u64,
pub hash: String,
pub height: u64,
pub long_term_weight: u64,
pub major_version: u64,
pub miner_tx_hash: String,
pub minor_version: u64,
pub nonce: u64,
pub num_txes: u64,
pub orphan_status: bool,
pub pow_hash: String,
pub prev_hash: String,
pub reward: u64,
pub timestamp: u64,
pub wide_cumulative_difficulty: String,
pub wide_difficulty: String
}
pub struct Gen {
pub height: u64,
}
pub struct Vin {
pub gen: Gen,
}
pub struct TaggedKey {
pub key: String,
pub view_tag: String,
}
pub struct Target {
pub tagged_key: TaggedKey,
}
pub struct Vout {
pub amount: u64,
pub target: Target,
}
pub struct EcdhInfo {
pub trunc_amount: String,
}
pub struct RctSignatures {
pub type_int: u64,
pub txn_fee: u64,
pub ecdh_info: Vec<EcdhInfo>,
pub out_pk: Vec<String>,
}
pub struct MinerTxInfo {
pub version: u64,
pub unlock_time: u64,
pub vin: Vec<Vin>,
pub vout: Vec<Vout>,
pub extra: Vec<u8>,
pub rct_signatures: RctSignatures
}
pub struct BlockDetailsJSON {
pub major_version: u64,
pub minor_version: u64,
pub timestamp: u64,
pub prev_id: String,
pub nonce: u64,
pub miner_tx: MinerTxInfo,
pub tx_hashes: Vec<String>,
}
pub struct Block {
pub blob: String,
pub block_header: BlockHeader,
pub credits: u64,
pub json: BlockDetailsJSON,
pub miner_tx_hash: String,
pub status: String,
pub top_hash: String,
pub untrusted: bool
}
pub struct KeyRawTx {
pub amount: u64,
pub key_offsets: Vec<u64>,
pub k_image: String
}
pub struct VinRawTx {
pub key: KeyRawTx
}
pub struct BPP {
pub A: String,
pub A1: String,
pub B: String,
pub r1: String,
pub s1: String,
pub d1: String,
pub L: Vec<String>,
pub R: Vec<String>,
}
pub struct CLSAG {
pub s: Vec<String>,
pub c1: String,
pub D: String,
}
pub struct RctsigPrunable {
pub nbp: u64,
pub bpp: Vec<BPP>,
pub CLSAGs: Vec<CLSAG>,
pub pseudo_outs: Vec<String>
}
pub struct RawTx {
pub version: u64,
pub unlock_time: u64,
pub vin: Vec<VinRawTx>,
pub vout: Vec<Vout>,
pub extra: Vec<u8>,
pub rct_signatures: RctSignatures,
pub rctsig_prunable: RctsigPrunable,
}