Skip to content

Commit

Permalink
Clarify where data is used in a redeemer
Browse files Browse the repository at this point in the history
  • Loading branch information
SebastienGllmt committed Dec 15, 2023
1 parent e36e5ce commit 94959fa
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 28 deletions.
16 changes: 8 additions & 8 deletions chain/rust/src/builders/redeemer_builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -146,13 +146,13 @@ impl RedeemerSetBuilder {
}

pub fn add_spend(&mut self, result: &InputBuilderResult) {
let plutus_data = {
let redeemer_data = {
result
.aggregate_witness
.as_ref()
.and_then(|data| data.redeemer_plutus_data())
};
if let Some(data) = plutus_data {
if let Some(data) = redeemer_data {
self.spend.insert(
result.input.clone(),
Some(UntaggedRedeemerPlaceholder::JustData(data.clone())),
Expand All @@ -163,13 +163,13 @@ impl RedeemerSetBuilder {
}

pub fn add_mint(&mut self, result: &MintBuilderResult) {
let plutus_data = {
let redeemer_data = {
result
.aggregate_witness
.as_ref()
.and_then(|data| data.redeemer_plutus_data())
};
if let Some(data) = plutus_data {
if let Some(data) = redeemer_data {
self.mint.insert(
result.policy_id,
Some(UntaggedRedeemerPlaceholder::JustData(data.clone())),
Expand All @@ -180,13 +180,13 @@ impl RedeemerSetBuilder {
}

pub fn add_reward(&mut self, result: &WithdrawalBuilderResult) {
let plutus_data = {
let redeemer_data = {
result
.aggregate_witness
.as_ref()
.and_then(|data| data.redeemer_plutus_data())
};
if let Some(data) = plutus_data {
if let Some(data) = redeemer_data {
self.reward.insert(
result.address.clone(),
Some(UntaggedRedeemerPlaceholder::JustData(data.clone())),
Expand All @@ -197,13 +197,13 @@ impl RedeemerSetBuilder {
}

pub fn add_cert(&mut self, result: &CertificateBuilderResult) {
let plutus_data = {
let redeemer_data = {
result
.aggregate_witness
.as_ref()
.and_then(|data| data.redeemer_plutus_data())
};
if let Some(data) = plutus_data {
if let Some(data) = redeemer_data {
self.cert
.push(Some(UntaggedRedeemerPlaceholder::JustData(data.clone())));
} else {
Expand Down
26 changes: 13 additions & 13 deletions rust/src/builders/redeemer_builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ pub struct RedeemerSetBuilder {
// domain of the Value map in the mint field of the transaction.
mint: BTreeMap<PolicyID, Option<UntaggedRedeemerPlaceholder>>,

// the index of a reward account ract in the reward withdrawals map is the index of ract as a key in the (unfiltered) map.
// the index of a reward account "ract" in the reward withdrawals map is the index of "ract" as a key in the (unfiltered) map.
// The keys of the Wdrl map are arranged in the order defined on the RewardAcnt type, which is a lexicographical (abbrv. lex)
// order on the pair of the Network and the Credential.
reward: BTreeMap<RewardAddress, Option<UntaggedRedeemerPlaceholder>>,
Expand Down Expand Up @@ -139,21 +139,21 @@ impl RedeemerSetBuilder {
}

pub fn add_spend(&mut self, result: &InputBuilderResult) {
let plutus_data = {
result.aggregate_witness.as_ref().and_then(|data| data.plutus_data())
let redeemer_data = {
result.aggregate_witness.as_ref().and_then(|data| data.redeemer_data())
};
if let Some(data) = plutus_data {
if let Some(data) = redeemer_data {
self.spend.insert(result.input.clone(), Some(UntaggedRedeemerPlaceholder::JustData(data)));
} else {
self.spend.insert(result.input.clone(), None);
}
}

pub fn add_mint(&mut self, result: &MintBuilderResult) {
let plutus_data = {
result.aggregate_witness.as_ref().and_then(|data| data.plutus_data())
let redeemer_data = {
result.aggregate_witness.as_ref().and_then(|data| data.redeemer_data())
};
if let Some(data) = plutus_data {
if let Some(data) = redeemer_data {
self.mint.insert(result.policy_id.clone(), Some(UntaggedRedeemerPlaceholder::JustData(data)));
}
else {
Expand All @@ -162,10 +162,10 @@ impl RedeemerSetBuilder {
}

pub fn add_reward(&mut self, result: &WithdrawalBuilderResult) {
let plutus_data = {
result.aggregate_witness.as_ref().and_then(|data| data.plutus_data())
let redeemer_data = {
result.aggregate_witness.as_ref().and_then(|data| data.redeemer_data())
};
if let Some(data) = plutus_data {
if let Some(data) = redeemer_data {
self.reward.insert(result.address.clone(), Some(UntaggedRedeemerPlaceholder::JustData(data)));
}
else {
Expand All @@ -175,10 +175,10 @@ impl RedeemerSetBuilder {
}

pub fn add_cert(&mut self, result: &CertificateBuilderResult) {
let plutus_data = {
result.aggregate_witness.as_ref().and_then(|data| data.plutus_data())
let redeemer_data = {
result.aggregate_witness.as_ref().and_then(|data| data.redeemer_data())
};
if let Some(data) = plutus_data {
if let Some(data) = redeemer_data {
self.cert.push(Some(UntaggedRedeemerPlaceholder::JustData(data)));
}
else {
Expand Down
14 changes: 7 additions & 7 deletions rust/src/builders/witness_builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -48,27 +48,27 @@ impl PlutusScriptWitness {
#[derive(Clone, Debug)]
pub struct PartialPlutusWitness {
pub(crate) script: PlutusScriptWitness,
pub(crate) data: PlutusData,
pub(crate) redeemer_data: PlutusData,
}

#[wasm_bindgen]
impl PartialPlutusWitness {
pub fn new(
script: &PlutusScriptWitness,
data: &PlutusData
redeemer_data: &PlutusData
) -> Self {
Self {
script: script.clone(),
data: data.clone(),
redeemer_data: redeemer_data.clone(),
}
}

pub fn script(&self) -> PlutusScriptWitness {
self.script.clone()
}

pub fn data(&self) -> PlutusData {
self.data.clone()
pub fn redeemer_data(&self) -> PlutusData {
self.redeemer_data.clone()
}
}

Expand All @@ -79,10 +79,10 @@ pub enum InputAggregateWitnessData {
}

impl InputAggregateWitnessData {
pub fn plutus_data(&self) -> Option<PlutusData> {
pub fn redeemer_data(&self) -> Option<PlutusData> {
match self {
InputAggregateWitnessData::PlutusScript(witness, _, _) => {
Some(witness.data())
Some(witness.redeemer_data())
}
_ => None
}
Expand Down

0 comments on commit 94959fa

Please sign in to comment.