Skip to content

Commit

Permalink
add redeemers impl
Browse files Browse the repository at this point in the history
  • Loading branch information
lisicky committed May 9, 2024
1 parent 7e87578 commit 3f7f116
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions pallas-primitives/src/babbage/model.rs
Original file line number Diff line number Diff line change
Expand Up @@ -518,6 +518,41 @@ create_struct_and_impls!(PlutusDatas, PlutusData, false);
#[derive(Serialize, Deserialize, Debug, PartialEq, Eq, Clone)]
pub struct Redeemers(Vec<Redeemer>);

impl Redeemers {
pub fn new() -> Self {
Self(Vec::new())
}

pub fn as_ref(&self) -> &[Redeemer] {
&self.0
}

pub fn iter(&self) -> impl Iterator<Item = &Redeemer> {
self.0.iter()
}

pub fn iter_mut(&mut self) -> impl Iterator<Item = &mut Redeemer> {
self.0.iter_mut()
}
}

impl<'a> IntoIterator for &'a Redeemers {
type Item = &'a Redeemer;
type IntoIter = std::slice::Iter<'a, Redeemer>;

fn into_iter(self) -> Self::IntoIter {
self.0.iter()
}
}

impl From<Redeemers> for Vec<Redeemer> {
fn from(c: Redeemers) -> Self {
c.0
}
}



#[derive(Serialize, Deserialize, Encode, Decode, Debug, PartialEq, Eq, Clone)]
struct RedeemerMapKey {
#[n(0)]
Expand Down

0 comments on commit 3f7f116

Please sign in to comment.