fix: Add wrap constructor to V1/V2 stake_credential when Purpose is Rewarding

This commit is contained in:
solidsnakedev 2024-09-17 19:45:39 -06:00
parent 47a15cf8b2
commit 75b5332288
1 changed files with 10 additions and 3 deletions

View File

@ -872,9 +872,10 @@ impl<'a> ToPlutusData for WithWrappedTransactionId<'a, ScriptPurpose> {
ScriptPurpose::Spending(out_ref, ()) => {
wrap_with_constr(1, WithWrappedTransactionId(out_ref).to_plutus_data())
}
ScriptPurpose::Rewarding(stake_credential) => {
wrap_with_constr(2, stake_credential.to_plutus_data())
}
ScriptPurpose::Rewarding(stake_credential) => wrap_with_constr(
2,
WithWrappedStakeCredential(stake_credential).to_plutus_data(),
),
ScriptPurpose::Certifying(_, dcert) => {
wrap_with_constr(3, WithPartialCertificates(dcert).to_plutus_data())
}
@ -1243,6 +1244,12 @@ impl<'a> ToPlutusData for WithWrappedStakeCredential<'a, KeyValuePairs<Address,
}
}
impl<'a> ToPlutusData for WithWrappedStakeCredential<'a, StakeCredential> {
fn to_plutus_data(&self) -> PlutusData {
wrap_with_constr(0, self.0.to_plutus_data())
}
}
impl ToPlutusData for Voter {
fn to_plutus_data(&self) -> PlutusData {
match self {