* Fix reward type encoding (cherry picked from commit0a89bb4d3c
) * Don't reuse BPF target build artifacts (cherry picked from commit41a56e14fc
) Co-authored-by: Michael Vines <mvines@gmail.com>
This commit is contained in:
@ -31,4 +31,9 @@ export CARGO_TARGET_CACHE=$HOME/cargo-target-cache/"$CHANNEL"-"$BUILDKITE_LABEL"
|
|||||||
|
|
||||||
mkdir -p "$CARGO_TARGET_CACHE"/target
|
mkdir -p "$CARGO_TARGET_CACHE"/target
|
||||||
rsync -a --delete --link-dest="$CARGO_TARGET_CACHE" "$CARGO_TARGET_CACHE"/target .
|
rsync -a --delete --link-dest="$CARGO_TARGET_CACHE" "$CARGO_TARGET_CACHE"/target .
|
||||||
|
|
||||||
|
# Don't reuse BPF target build artifacts due to incremental build issues with
|
||||||
|
# `std:
|
||||||
|
# "found possibly newer version of crate `std` which `xyz` depends on
|
||||||
|
rm -rf target/bpfel-unknown-unknown
|
||||||
)
|
)
|
||||||
|
@ -46,8 +46,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,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -313,3 +313,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