From 15538cd0bfb879721d5e0dd50c0801c240c4742c Mon Sep 17 00:00:00 2001 From: Santiago Carmuega Date: Sat, 13 Jul 2024 14:43:52 -0300 Subject: [PATCH] fix(interop): check for spend purpose when matching redeemers (#486) --- pallas-utxorpc/src/lib.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pallas-utxorpc/src/lib.rs b/pallas-utxorpc/src/lib.rs index 802a9e7..68e9c07 100644 --- a/pallas-utxorpc/src/lib.rs +++ b/pallas-utxorpc/src/lib.rs @@ -2,7 +2,10 @@ use std::{collections::HashMap, ops::Deref}; use pallas_codec::utils::KeyValuePairs; use pallas_crypto::hash::Hash; -use pallas_primitives::{alonzo, babbage, conway}; +use pallas_primitives::{ + alonzo, babbage, + conway::{self, RedeemerTag}, +}; use pallas_traverse as trv; use trv::OriginalHash; @@ -62,7 +65,9 @@ impl Mapper { ) -> u5c::TxInput { let redeemers = tx.redeemers(); - let redeemer = redeemers.iter().find(|r| (r.index() as u64) == i.index()); + let redeemer = redeemers + .iter() + .find(|r| r.tag() == RedeemerTag::Spend && (r.index() as u64) == i.index()); let as_txref = (*i.hash(), i.index() as u32);