Fix reward type encoding
This commit is contained in:
@ -88,8 +88,8 @@ impl From<generated::Reward> for Reward {
|
|||||||
0 => None,
|
0 => None,
|
||||||
1 => Some(RewardType::Fee),
|
1 => Some(RewardType::Fee),
|
||||||
2 => Some(RewardType::Rent),
|
2 => Some(RewardType::Rent),
|
||||||
3 => Some(RewardType::Voting),
|
3 => Some(RewardType::Staking),
|
||||||
4 => Some(RewardType::Staking),
|
4 => Some(RewardType::Voting),
|
||||||
_ => None,
|
_ => 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());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user