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 Oct 2, 2023
1 parent dcd2ad2 commit aed03ed
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 37 deletions.
24 changes: 12 additions & 12 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.plutus_data())
.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.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.plutus_data())
.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.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.plutus_data())
.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.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.plutus_data())
.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.clone())));
} else {
Expand Down
10 changes: 5 additions & 5 deletions chain/rust/src/builders/witness_builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,12 @@ impl From<ScriptHash> for PlutusScriptWitness {
#[derive(Clone, Debug)]
pub struct PartialPlutusWitness {
pub script: PlutusScriptWitness,
pub data: PlutusData,
pub redeemer_data: PlutusData,
}

impl PartialPlutusWitness {
pub fn new(script: PlutusScriptWitness, data: PlutusData) -> Self {
Self { script, data }
pub fn new(script: PlutusScriptWitness, redeemer_data: PlutusData) -> Self {
Self { script, redeemer_data }
}
}

Expand All @@ -84,9 +84,9 @@ 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),
InputAggregateWitnessData::PlutusScript(witness, _, _) => Some(&witness.redeemer_data),
_ => None,
}
}
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 aed03ed

Please sign in to comment.