whisky_provider/maestro/utils/
block_utils.rs

1use maestro_rust_sdk::client::block_info::BlockInfoData;
2use whisky_common::models::BlockInfo;
3
4pub fn block_info_data_to_block_info(block_info_data: BlockInfoData) -> BlockInfo {
5    BlockInfo {
6        time: block_info_data.timestamp.parse::<u64>().unwrap_or(0),
7        hash: block_info_data.hash,
8        slot: block_info_data.absolute_slot.to_string(),
9        epoch: block_info_data.epoch as u32,
10        epoch_slot: block_info_data.epoch_slot.to_string(),
11        slot_leader: block_info_data.block_producer,
12        size: block_info_data.size as usize,
13        tx_count: block_info_data.tx_hashes.len(),
14        output: block_info_data.total_output_lovelace,
15        fees: block_info_data.total_fees.to_string(),
16        previous_block: block_info_data.previous_block,
17        next_block: String::new(), // You'll need to determine the next block somehow
18        confirmations: block_info_data.confirmations as usize,
19        operational_certificate: block_info_data.operational_certificate.kes_signature,
20        vrf_key: block_info_data.vrf_key,
21    }
22}