Fix reward type encoding

This commit is contained in:
Michael Vines 2020-10-25 20:55:19 -07:00
parent 42a4dfab9a
commit 0a89bb4d3c
1 changed files with 35 additions and 2 deletions

View File

@ -88,8 +88,8 @@ impl From<generated::Reward> for Reward {
0 => None,
1 => Some(RewardType::Fee),
2 => Some(RewardType::Rent),
3 => Some(RewardType::Voting),
4 => Some(RewardType::Staking),
3 => Some(RewardType::Staking),
4 => Some(RewardType::Voting),
_ => None,
},
}
@ -355,3 +355,36 @@ impl From<generated::CompiledInstruction> for CompiledInstruction {
}
}
}
#[cfg(test)]
mod test {
use super::*;
#[test]
fn test_reward_type_encode() {
let mut reward = Reward {
pubkey: "invalid".to_string(),
lamports: 123,
post_balance: 321,
reward_type: None,
};
let gen_reward: generated::Reward = reward.clone().into();
assert_eq!(reward, gen_reward.into());
reward.reward_type = Some(RewardType::Fee);
let gen_reward: generated::Reward = reward.clone().into();
assert_eq!(reward, gen_reward.into());
reward.reward_type = Some(RewardType::Rent);
let gen_reward: generated::Reward = reward.clone().into();
assert_eq!(reward, gen_reward.into());
reward.reward_type = Some(RewardType::Voting);
let gen_reward: generated::Reward = reward.clone().into();
assert_eq!(reward, gen_reward.into());
reward.reward_type = Some(RewardType::Staking);
let gen_reward: generated::Reward = reward.clone().into();
assert_eq!(reward, gen_reward.into());
}
}