diff --git a/pallas-hardano/src/display/haskell_display.rs b/pallas-hardano/src/display/haskell_display.rs index cb382a7d..09ef2f77 100644 --- a/pallas-hardano/src/display/haskell_display.rs +++ b/pallas-hardano/src/display/haskell_display.rs @@ -681,8 +681,8 @@ impl HaskellDisplay for ValidityInterval { fn to_haskell_str(&self) -> String { format!( "(ValidityInterval {{invalidBefore = {}, invalidHereafter = {}}})", - &self.invalid_before.as_slot_no(), - &self.invalid_hereafter.as_slot_no() + self.invalid_before.as_slot_no(), + self.invalid_hereafter.as_slot_no() ) } } @@ -2549,7 +2549,9 @@ impl AsIPv6 for Nullable { Nullable::Some(b) => { let data: [u8; 16] = b .deref() - .chunks_exact(4) + .as_chunks::<4>() + .0 + .iter() .flat_map(|x| { let mut y = x.to_vec(); y.reverse(); diff --git a/pallas-math/src/math.rs b/pallas-math/src/math.rs index bd35404e..2bdc0486 100644 --- a/pallas-math/src/math.rs +++ b/pallas-math/src/math.rs @@ -441,8 +441,8 @@ mod tests { (&one - &threshold_b).to_string(), expected_threshold_b, "(1 - f) *** b failed to match! - (1 - f)={}, b={}", - &c, - &b + c, + b ); // do Taylor approximation for @@ -467,14 +467,14 @@ mod tests { if a < threshold && res.estimation != ExpOrdering::LT { panic!( "wrong result should be leader {} should be more like {}", - &temp, threshold + temp, threshold ); } if a >= threshold && res.estimation != ExpOrdering::GT { panic!( "wrong result should not be leader {} should be more like {}", - &temp, threshold + temp, threshold ); } diff --git a/pallas-network2/Cargo.toml b/pallas-network2/Cargo.toml index 8e27bf9e..a84d3b0c 100644 --- a/pallas-network2/Cargo.toml +++ b/pallas-network2/Cargo.toml @@ -24,7 +24,11 @@ byteorder.workspace = true socket2.workspace = true thiserror.workspace = true hex.workspace = true -cddl = { version = "0.10", optional = true } +# Pinned: cddl 0.10.7 regressed map entries whose key is a type-rule reference +# (`bitmaps = { * word16 => word64 }` with `word16 = uint`), rejecting every key +# as unexpected. Inline key types still validate, named ones do not. Still broken +# on cddl master as of 2026-08-25. Relax once a release carries the fix. +cddl = { version = "=0.10.6", optional = true } [features] emulation = ["tokio", "rand"] diff --git a/pallas-validate/src/phase1/alonzo.rs b/pallas-validate/src/phase1/alonzo.rs index 3e8283d9..e317d56f 100644 --- a/pallas-validate/src/phase1/alonzo.rs +++ b/pallas-validate/src/phase1/alonzo.rs @@ -909,7 +909,7 @@ fn check_minting(tx_body: &TransactionBody, mtx: &Tx) -> ValidationResult { None => Vec::new(), Some(plutus_v1_script_wits) => plutus_v1_script_wits.clone(), }; - for (policy, _) in minted_value.iter() { + for policy in minted_value.keys() { if native_script_wits .iter() .all(|native_script| compute_native_script_hash(native_script) != *policy) diff --git a/pallas-validate/src/phase1/babbage.rs b/pallas-validate/src/phase1/babbage.rs index 9144bbe6..a84e1461 100644 --- a/pallas-validate/src/phase1/babbage.rs +++ b/pallas-validate/src/phase1/babbage.rs @@ -471,7 +471,7 @@ fn check_minting(tx_body: &TransactionBody, mtx: &Tx, utxos: &UTxOs) -> Validati dbg!(&all_scripts_wits); - for (policy, _) in minted_value.iter() { + for policy in minted_value.keys() { if !all_scripts_wits.contains(policy) { return Err(PostAlonzo(MintingLacksPolicy(*policy))); } diff --git a/pallas-validate/src/phase1/conway.rs b/pallas-validate/src/phase1/conway.rs index f215e526..1f8f2617 100644 --- a/pallas-validate/src/phase1/conway.rs +++ b/pallas-validate/src/phase1/conway.rs @@ -603,7 +603,7 @@ fn check_minting(tx_body: &TransactionBody, mtx: &Tx, utxos: &UTxOs) -> Validati .chain(ref_scripts) .collect(); - for (policy, _) in minted_value.iter() { + for policy in minted_value.keys() { if !all_scripts_wits.contains(policy) { return Err(PostAlonzo(MintingLacksPolicy(*policy))); } diff --git a/pallas-validate/src/phase1/shelley_ma.rs b/pallas-validate/src/phase1/shelley_ma.rs index 2cf15e31..e6068e2a 100644 --- a/pallas-validate/src/phase1/shelley_ma.rs +++ b/pallas-validate/src/phase1/shelley_ma.rs @@ -386,7 +386,7 @@ fn check_minting(tx_body: &TransactionBody, mtx: &Tx) -> ValidationResult { .map(|x| x.clone().unwrap()) .collect(), }; - for (policy, _) in minted_value.iter() { + for policy in minted_value.keys() { if native_script_wits .iter() .all(|script| compute_script_hash(script) != *policy)