client/rpc/types/cfx/
reward_info.rs

1use super::RpcAddress;
2use cfx_types::{H256, U256};
3use cfxcore_types::block_data_manager::block_data_types::BlockRewardResult;
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Serialize, Clone, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub struct RewardInfo {
9    block_hash: H256,
10    author: RpcAddress,
11    total_reward: U256,
12    base_reward: U256,
13    tx_fee: U256,
14}
15
16impl RewardInfo {
17    pub fn new(
18        block_hash: H256, author: RpcAddress, reward_result: BlockRewardResult,
19    ) -> Self {
20        RewardInfo {
21            block_hash: block_hash.into(),
22            author,
23            total_reward: reward_result.total_reward.into(),
24            base_reward: reward_result.base_reward.into(),
25            tx_fee: reward_result.tx_fee.into(),
26        }
27    }
28}