From 2d529fed325adb2b6afb4ad92dfd5aee586c837a Mon Sep 17 00:00:00 2001 From: Cryptskii <47649969+cryptskii@users.noreply.github.com> Date: Thu, 1 Oct 2026 00:47:53 -0400 Subject: [PATCH 01/10] feat(core): token units, the one conversion between typed amounts and base units Owner ruling, 2026-10-01: an amount is entered and shown in whole tokens with the token's decimals after a point, e.g. `10000.00` for a two-decimal token, never as base units with the zeros typed by hand. - `parse_token_units(text, decimals) -> u128`: - whole tokens, plus up to `decimals` fraction digits; - a bare integer is whole tokens; - refused: empty input, any character that is not a digit or the point, a second point, more fraction digits than the token has, and overflow. - `format_token_units(base, decimals)` always shows every decimal place, and round-trips through the parser. Every route and screen that takes or shows an amount goes through these, with the decimals from the token's committed policy. --- .../dsm/src/core/token/mod.rs | 1 + .../dsm/src/core/token/units.rs | 206 ++++++++++++++++++ 2 files changed, 207 insertions(+) create mode 100644 dsm_client/deterministic_state_machine/dsm/src/core/token/units.rs diff --git a/dsm_client/deterministic_state_machine/dsm/src/core/token/mod.rs b/dsm_client/deterministic_state_machine/dsm/src/core/token/mod.rs index 5d920b8d2..57126c886 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/core/token/mod.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/core/token/mod.rs @@ -5,6 +5,7 @@ pub mod era_policy; pub mod policy; pub mod token_state_manager; +pub mod units; // Optional modules (enable via Cargo features) diff --git a/dsm_client/deterministic_state_machine/dsm/src/core/token/units.rs b/dsm_client/deterministic_state_machine/dsm/src/core/token/units.rs new file mode 100644 index 000000000..132397fd2 --- /dev/null +++ b/dsm_client/deterministic_state_machine/dsm/src/core/token/units.rs @@ -0,0 +1,206 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 + +//! Token units: what a person types and reads, and the base units a balance +//! holds. +//! +//! A token's committed policy fixes its decimals (SoFi §47). An amount is +//! written in whole tokens with up to that many fraction digits after a +//! point — `10000.00` for a two-decimal token — and held as an integer count +//! of base units. These two functions are the only conversion between them, +//! so every route and every screen agrees on what an amount means. + +/// Why a typed amount is not an amount of a token. +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum TokenUnitsError { + /// Nothing but whitespace, or a point with no digit on either side. + Empty, + /// A character that is neither a digit nor the one decimal point. + NotADigit(char), + /// More than one decimal point. + SecondPoint, + /// More fraction digits than the token's decimals allow. + TooManyFractionDigits { given: usize, decimals: u32 }, + /// The amount does not fit in a balance. + Overflow, +} + +impl core::fmt::Display for TokenUnitsError { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + match self { + Self::Empty => write!(f, "no amount was given"), + Self::NotADigit(c) => write!(f, "{c:?} is not a digit or the decimal point"), + Self::SecondPoint => write!(f, "an amount has at most one decimal point"), + Self::TooManyFractionDigits { given, decimals } => write!( + f, + "{given} digits after the point, and this token has {decimals} decimals" + ), + Self::Overflow => write!(f, "the amount is too large for a balance"), + } + } +} + +impl std::error::Error for TokenUnitsError {} + +/// The base units `text` names for a token with `decimals` decimals. +/// +/// `text` is whole tokens, optionally followed by a point and at most +/// `decimals` fraction digits; surrounding whitespace is ignored. A bare +/// integer is whole tokens, never base units: `10000` and `10000.00` are the +/// same amount of a two-decimal token. +pub fn parse_token_units(text: &str, decimals: u32) -> Result { + let text = text.trim(); + let (whole, fraction) = match text.split_once('.') { + Some((whole, fraction)) => { + if fraction.contains('.') { + return Err(TokenUnitsError::SecondPoint); + } + (whole, fraction) + } + None => (text, ""), + }; + if whole.is_empty() && fraction.is_empty() { + return Err(TokenUnitsError::Empty); + } + if let Some(c) = whole + .chars() + .chain(fraction.chars()) + .find(|c| !c.is_ascii_digit()) + { + return Err(TokenUnitsError::NotADigit(c)); + } + // A u32 always fits a usize on the targets DSM builds for. + let places = decimals as usize; + if fraction.len() > places { + return Err(TokenUnitsError::TooManyFractionDigits { + given: fraction.len(), + decimals, + }); + } + let scale = 10u128 + .checked_pow(decimals) + .ok_or(TokenUnitsError::Overflow)?; + let whole_units = digits_value(whole)? + .checked_mul(scale) + .ok_or(TokenUnitsError::Overflow)?; + // The fraction's digits, padded on the right to the token's decimals. + // `fraction.len() <= places`, and `places` came from a u32. + let padding = (places - fraction.len()) as u32; + let fraction_units = digits_value(fraction)? + .checked_mul( + 10u128 + .checked_pow(padding) + .ok_or(TokenUnitsError::Overflow)?, + ) + .ok_or(TokenUnitsError::Overflow)?; + whole_units + .checked_add(fraction_units) + .ok_or(TokenUnitsError::Overflow) +} + +/// `base` base units written in whole tokens, with exactly `decimals` +/// fraction digits: 1_000_000 of a two-decimal token is `10000.00`. +pub fn format_token_units(base: u128, decimals: u32) -> String { + let digits = base.to_string(); + let places = decimals as usize; + if places == 0 { + return digits; + } + let padded = if digits.len() <= places { + format!("{}{digits}", "0".repeat(places + 1 - digits.len())) + } else { + digits + }; + let split = padded.len() - places; + format!("{}.{}", &padded[..split], &padded[split..]) +} + +/// The value of a run of ASCII digits; the empty run is zero. +fn digits_value(digits: &str) -> Result { + digits.bytes().try_fold(0u128, |acc, b| { + acc.checked_mul(10) + .and_then(|v| v.checked_add(u128::from(b - b'0'))) + .ok_or(TokenUnitsError::Overflow) + }) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn whole_tokens_with_or_without_the_point_are_the_same_amount() { + assert_eq!(parse_token_units("10000.00", 2), Ok(1_000_000)); + assert_eq!(parse_token_units("10000", 2), Ok(1_000_000)); + assert_eq!(parse_token_units("10000.", 2), Ok(1_000_000)); + assert_eq!(parse_token_units(" 100.00 ", 2), Ok(10_000)); + } + + #[test] + fn fraction_digits_are_padded_to_the_tokens_decimals() { + assert_eq!(parse_token_units("0.15", 2), Ok(15)); + assert_eq!(parse_token_units("0.5", 2), Ok(50)); + assert_eq!(parse_token_units(".5", 2), Ok(50)); + assert_eq!(parse_token_units("3326.65", 2), Ok(332_665)); + assert_eq!(parse_token_units("1", 8), Ok(100_000_000)); + } + + #[test] + fn a_zero_decimal_token_takes_whole_units_only() { + assert_eq!(parse_token_units("50", 0), Ok(50)); + assert_eq!( + parse_token_units("50.0", 0), + Err(TokenUnitsError::TooManyFractionDigits { + given: 1, + decimals: 0 + }) + ); + } + + #[test] + fn what_is_not_an_amount_is_refused_and_says_why() { + assert_eq!(parse_token_units("", 2), Err(TokenUnitsError::Empty)); + assert_eq!(parse_token_units(".", 2), Err(TokenUnitsError::Empty)); + assert_eq!( + parse_token_units("1.234", 2), + Err(TokenUnitsError::TooManyFractionDigits { + given: 3, + decimals: 2 + }) + ); + assert_eq!( + parse_token_units("1,000", 2), + Err(TokenUnitsError::NotADigit(',')) + ); + assert_eq!( + parse_token_units("-1", 2), + Err(TokenUnitsError::NotADigit('-')) + ); + assert_eq!( + parse_token_units("1.2.3", 2), + Err(TokenUnitsError::SecondPoint) + ); + assert_eq!( + parse_token_units("340282366920938463463374607431768211456", 0), + Err(TokenUnitsError::Overflow) + ); + assert_eq!( + parse_token_units("340282366920938463463374607431768211455", 2), + Err(TokenUnitsError::Overflow) + ); + } + + #[test] + fn formatting_shows_every_decimal_place_and_round_trips() { + assert_eq!(format_token_units(1_000_000, 2), "10000.00"); + assert_eq!(format_token_units(15, 2), "0.15"); + assert_eq!(format_token_units(5, 2), "0.05"); + assert_eq!(format_token_units(0, 2), "0.00"); + assert_eq!(format_token_units(50, 0), "50"); + for (base, decimals) in [(332_665u128, 2u32), (10_000, 2), (7, 8), (123, 0)] { + assert_eq!( + parse_token_units(&format_token_units(base, decimals), decimals), + Ok(base) + ); + } + } +} From c4b5dddc2bf23d8cc8d23f07b4a6929428600fd3 Mon Sep 17 00:00:00 2001 From: Cryptskii <47649969+cryptskii@users.noreply.github.com> Date: Thu, 1 Oct 2026 00:50:00 -0400 Subject: [PATCH 02/10] refactor(core): drop the duplicate token-units conversion dsm_sdk's wallet_routes already owns the conversion between typed amounts and base units: parse_display_amount_to_base_units and format_base_units_for_display. It does exact string arithmetic against the token's decimals, and it already serves sends, balances, history and offline cash. 2d529fed3 added a second copy in Core, and two owners of one rule is what that module's comment forbids. The SoFi routes' amount fields go through the SDK's functions instead. --- .../dsm/src/core/token/mod.rs | 1 - .../dsm/src/core/token/units.rs | 206 ------------------ 2 files changed, 207 deletions(-) delete mode 100644 dsm_client/deterministic_state_machine/dsm/src/core/token/units.rs diff --git a/dsm_client/deterministic_state_machine/dsm/src/core/token/mod.rs b/dsm_client/deterministic_state_machine/dsm/src/core/token/mod.rs index 57126c886..5d920b8d2 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/core/token/mod.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/core/token/mod.rs @@ -5,7 +5,6 @@ pub mod era_policy; pub mod policy; pub mod token_state_manager; -pub mod units; // Optional modules (enable via Cargo features) diff --git a/dsm_client/deterministic_state_machine/dsm/src/core/token/units.rs b/dsm_client/deterministic_state_machine/dsm/src/core/token/units.rs deleted file mode 100644 index 132397fd2..000000000 --- a/dsm_client/deterministic_state_machine/dsm/src/core/token/units.rs +++ /dev/null @@ -1,206 +0,0 @@ -// SPDX-License-Identifier: MIT OR Apache-2.0 - -//! Token units: what a person types and reads, and the base units a balance -//! holds. -//! -//! A token's committed policy fixes its decimals (SoFi §47). An amount is -//! written in whole tokens with up to that many fraction digits after a -//! point — `10000.00` for a two-decimal token — and held as an integer count -//! of base units. These two functions are the only conversion between them, -//! so every route and every screen agrees on what an amount means. - -/// Why a typed amount is not an amount of a token. -#[derive(Debug, Clone, PartialEq, Eq)] -pub enum TokenUnitsError { - /// Nothing but whitespace, or a point with no digit on either side. - Empty, - /// A character that is neither a digit nor the one decimal point. - NotADigit(char), - /// More than one decimal point. - SecondPoint, - /// More fraction digits than the token's decimals allow. - TooManyFractionDigits { given: usize, decimals: u32 }, - /// The amount does not fit in a balance. - Overflow, -} - -impl core::fmt::Display for TokenUnitsError { - fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { - match self { - Self::Empty => write!(f, "no amount was given"), - Self::NotADigit(c) => write!(f, "{c:?} is not a digit or the decimal point"), - Self::SecondPoint => write!(f, "an amount has at most one decimal point"), - Self::TooManyFractionDigits { given, decimals } => write!( - f, - "{given} digits after the point, and this token has {decimals} decimals" - ), - Self::Overflow => write!(f, "the amount is too large for a balance"), - } - } -} - -impl std::error::Error for TokenUnitsError {} - -/// The base units `text` names for a token with `decimals` decimals. -/// -/// `text` is whole tokens, optionally followed by a point and at most -/// `decimals` fraction digits; surrounding whitespace is ignored. A bare -/// integer is whole tokens, never base units: `10000` and `10000.00` are the -/// same amount of a two-decimal token. -pub fn parse_token_units(text: &str, decimals: u32) -> Result { - let text = text.trim(); - let (whole, fraction) = match text.split_once('.') { - Some((whole, fraction)) => { - if fraction.contains('.') { - return Err(TokenUnitsError::SecondPoint); - } - (whole, fraction) - } - None => (text, ""), - }; - if whole.is_empty() && fraction.is_empty() { - return Err(TokenUnitsError::Empty); - } - if let Some(c) = whole - .chars() - .chain(fraction.chars()) - .find(|c| !c.is_ascii_digit()) - { - return Err(TokenUnitsError::NotADigit(c)); - } - // A u32 always fits a usize on the targets DSM builds for. - let places = decimals as usize; - if fraction.len() > places { - return Err(TokenUnitsError::TooManyFractionDigits { - given: fraction.len(), - decimals, - }); - } - let scale = 10u128 - .checked_pow(decimals) - .ok_or(TokenUnitsError::Overflow)?; - let whole_units = digits_value(whole)? - .checked_mul(scale) - .ok_or(TokenUnitsError::Overflow)?; - // The fraction's digits, padded on the right to the token's decimals. - // `fraction.len() <= places`, and `places` came from a u32. - let padding = (places - fraction.len()) as u32; - let fraction_units = digits_value(fraction)? - .checked_mul( - 10u128 - .checked_pow(padding) - .ok_or(TokenUnitsError::Overflow)?, - ) - .ok_or(TokenUnitsError::Overflow)?; - whole_units - .checked_add(fraction_units) - .ok_or(TokenUnitsError::Overflow) -} - -/// `base` base units written in whole tokens, with exactly `decimals` -/// fraction digits: 1_000_000 of a two-decimal token is `10000.00`. -pub fn format_token_units(base: u128, decimals: u32) -> String { - let digits = base.to_string(); - let places = decimals as usize; - if places == 0 { - return digits; - } - let padded = if digits.len() <= places { - format!("{}{digits}", "0".repeat(places + 1 - digits.len())) - } else { - digits - }; - let split = padded.len() - places; - format!("{}.{}", &padded[..split], &padded[split..]) -} - -/// The value of a run of ASCII digits; the empty run is zero. -fn digits_value(digits: &str) -> Result { - digits.bytes().try_fold(0u128, |acc, b| { - acc.checked_mul(10) - .and_then(|v| v.checked_add(u128::from(b - b'0'))) - .ok_or(TokenUnitsError::Overflow) - }) -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn whole_tokens_with_or_without_the_point_are_the_same_amount() { - assert_eq!(parse_token_units("10000.00", 2), Ok(1_000_000)); - assert_eq!(parse_token_units("10000", 2), Ok(1_000_000)); - assert_eq!(parse_token_units("10000.", 2), Ok(1_000_000)); - assert_eq!(parse_token_units(" 100.00 ", 2), Ok(10_000)); - } - - #[test] - fn fraction_digits_are_padded_to_the_tokens_decimals() { - assert_eq!(parse_token_units("0.15", 2), Ok(15)); - assert_eq!(parse_token_units("0.5", 2), Ok(50)); - assert_eq!(parse_token_units(".5", 2), Ok(50)); - assert_eq!(parse_token_units("3326.65", 2), Ok(332_665)); - assert_eq!(parse_token_units("1", 8), Ok(100_000_000)); - } - - #[test] - fn a_zero_decimal_token_takes_whole_units_only() { - assert_eq!(parse_token_units("50", 0), Ok(50)); - assert_eq!( - parse_token_units("50.0", 0), - Err(TokenUnitsError::TooManyFractionDigits { - given: 1, - decimals: 0 - }) - ); - } - - #[test] - fn what_is_not_an_amount_is_refused_and_says_why() { - assert_eq!(parse_token_units("", 2), Err(TokenUnitsError::Empty)); - assert_eq!(parse_token_units(".", 2), Err(TokenUnitsError::Empty)); - assert_eq!( - parse_token_units("1.234", 2), - Err(TokenUnitsError::TooManyFractionDigits { - given: 3, - decimals: 2 - }) - ); - assert_eq!( - parse_token_units("1,000", 2), - Err(TokenUnitsError::NotADigit(',')) - ); - assert_eq!( - parse_token_units("-1", 2), - Err(TokenUnitsError::NotADigit('-')) - ); - assert_eq!( - parse_token_units("1.2.3", 2), - Err(TokenUnitsError::SecondPoint) - ); - assert_eq!( - parse_token_units("340282366920938463463374607431768211456", 0), - Err(TokenUnitsError::Overflow) - ); - assert_eq!( - parse_token_units("340282366920938463463374607431768211455", 2), - Err(TokenUnitsError::Overflow) - ); - } - - #[test] - fn formatting_shows_every_decimal_place_and_round_trips() { - assert_eq!(format_token_units(1_000_000, 2), "10000.00"); - assert_eq!(format_token_units(15, 2), "0.15"); - assert_eq!(format_token_units(5, 2), "0.05"); - assert_eq!(format_token_units(0, 2), "0.00"); - assert_eq!(format_token_units(50, 0), "50"); - for (base, decimals) in [(332_665u128, 2u32), (10_000, 2), (7, 8), (123, 0)] { - assert_eq!( - parse_token_units(&format_token_units(base, decimals), decimals), - Ok(base) - ); - } - } -} From 725a22e5c8acaedfa991f89caf4f43a9388c825e Mon Sep 17 00:00:00 2001 From: Cryptskii <47649969+cryptskii@users.noreply.github.com> Date: Thu, 1 Oct 2026 00:57:57 -0400 Subject: [PATCH 03/10] feat(core): ERA has two decimals (SoFi Amendment S18); storage requests time out MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Owner ruling, 2026-10-01, from the phone-rig run: ERA is divisible to hundredths. - **Spec.** SoFi Amendment S18; MR-SOFI-0335 rewritten; MR-SOFI-0349 added (Partial until the SoFi routes take amounts in token units). MASTER §1 re-pinned. - **ERA's policy.** It carries decimals 2, and its supply in base units (8,000,000,000,000, which is 80,000,000,000.00 ERA). Its commitment is NNG176RZ6ACTWCDPRNYHXZK2DCZ72SPA9Q6XWGRGQ9JGKZYTESG0, a clean cut from JXPMPGJH…. Nothing under the old commitment carries over. - **The faucet** pays 10,000 base units (100.00 ERA), and the token creation fee is 1,000 (10.00 ERA). The amounts people know are unchanged. - **Test fixtures.** - The two-device fixture funds in whole ERA, one faucet claim per payout. - The reserve tests and the current-state test use the payout constant instead of a literal. - **The storage-member HTTP client** connects within 10 s and finishes a request within 30 s. On the rig, a position write sat with no request answered and no error. A member that never answers is now a member that did not answer. --- .../dsm/src/core/state_machine/mod.rs | 3 +- .../dsm/src/core/token/era_policy.rs | 17 ++++---- .../dsm/src/core/token/token_state_manager.rs | 5 ++- .../dsm/src/economic/native_reserve.rs | 41 ++++++++++--------- .../dsm_sdk/src/sdk/storage_node_sdk.rs | 15 ++++++- .../dsm_sdk/src/test_support/two_device.rs | 21 ++++++---- specs/SoFi_Settlement_Specification.md | 2 + specs/requirements/CONFORMANCE_GAPS.md | 5 ++- specs/requirements/MASTER_REQUIREMENTS.md | 10 +++-- 9 files changed, 74 insertions(+), 45 deletions(-) diff --git a/dsm_client/deterministic_state_machine/dsm/src/core/state_machine/mod.rs b/dsm_client/deterministic_state_machine/dsm/src/core/state_machine/mod.rs index f7b5da6d3..941dcf26c 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/core/state_machine/mod.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/core/state_machine/mod.rs @@ -246,7 +246,8 @@ mod state_machine_tests { .max() .unwrap_or(0); assert_eq!( - era, 300, + era, + 3 * crate::economic::native_reserve::ERA_FAUCET_PAYOUT, "current_state must reflect the canonical head's balance" ); assert_eq!(cs.hash, head.root(), "hash is the canonical SMT root"); diff --git a/dsm_client/deterministic_state_machine/dsm/src/core/token/era_policy.rs b/dsm_client/deterministic_state_machine/dsm/src/core/token/era_policy.rs index cb33682c4..f90b8738d 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/core/token/era_policy.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/core/token/era_policy.rs @@ -29,11 +29,12 @@ const ERA_POLICY_PROTO: [u8; 40] = [ 0x03, b'E', b'R', b'A', // // alias "ERA". 0x00, 0x03, b'E', b'R', b'A', // - // decimals: whole ERA. - 0x00, // - // genesis supply: 80,000,000,000 (u128, big-endian; owner, 2026-09-26). + // decimals: two (SoFi Amendment S18, owner 2026-10-01). + 0x02, // + // genesis supply: 80,000,000,000.00 ERA, which is 8,000,000,000,000 base + // units (u128, big-endian; owner 2026-09-26, in base units since S18). 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // - 0x00, 0x00, 0x00, 0x12, 0xA0, 0x5F, 0x20, 0x00, // + 0x00, 0x00, 0x07, 0x46, 0xA5, 0x28, 0x80, 0x00, // // description: none; icon: none. 0x00, 0x00, 0x00, 0x00, // // recipient allowlist: none (kind NONE, count 0). @@ -84,7 +85,7 @@ mod tests { ); assert_eq!( crate::utils::text_id::encode_base32_crockford(&era_policy_commit()), - "JXPMPGJH45HDTE0ARWE2CTB9E9BWTQZ3T78CE5RFF1RXMR9VKK80" + "NNG176RZ6ACTWCDPRNYHXZK2DCZ72SPA9Q6XWGRGQ9JGKZYTESG0" ); } @@ -97,7 +98,7 @@ mod tests { assert_eq!(decoded.encode_to_vec(), era_policy_bytes()); } - /// Every field of ERA's policy, as SoFi Amendment S11 fixes it. + /// Every field of ERA's policy, as SoFi Amendments S11 and S18 fix it. #[test] fn eras_policy_states_what_the_specification_fixes() { assert_eq!( @@ -105,8 +106,8 @@ mod tests { &TokenPolicy { ticker: "ERA".into(), alias: "ERA".into(), - decimals: 0, - genesis_supply: 80_000_000_000, + decimals: 2, + genesis_supply: 8_000_000_000_000, release: Release::Faucet, description: None, icon_url: None, diff --git a/dsm_client/deterministic_state_machine/dsm/src/core/token/token_state_manager.rs b/dsm_client/deterministic_state_machine/dsm/src/core/token/token_state_manager.rs index fa8b72868..2dc850d47 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/core/token/token_state_manager.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/core/token/token_state_manager.rs @@ -19,8 +19,9 @@ use crate::types::error::DsmError; /// conservation guard must be able to validate it. The guard is a pure function /// over `(operation, deltas)`; a fee it cannot see is a fee it cannot enforce, /// and a fee that a runtime map could change is not a protocol rule. The SDK's -/// schedule now READS this value, so there is exactly one authority. -pub const TOKEN_CREATION_FEE_ERA: u64 = 10; +/// schedule now READS this value, so there is exactly one authority. In base +/// units: 10.00 ERA at ERA's two decimals (SoFi Amendment S18). +pub const TOKEN_CREATION_FEE_ERA: u64 = 1_000; /// Display-only ticker resolution for non-builtin (CPTA-anchored) tokens. /// diff --git a/dsm_client/deterministic_state_machine/dsm/src/economic/native_reserve.rs b/dsm_client/deterministic_state_machine/dsm/src/economic/native_reserve.rs index 74affbedc..d15d461ad 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/economic/native_reserve.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/economic/native_reserve.rs @@ -73,14 +73,15 @@ use crate::types::proto as generated; type D32 = [u8; 32]; -/// The whole distributable ERA supply of one network at genesis. Nothing is -/// minted after it; every unit in circulation was released from it. -pub const ERA_RESERVE_GENESIS_SUPPLY: u64 = 80_000_000_000; +/// The whole distributable ERA supply of one network at genesis, in base +/// units: 80,000,000,000.00 ERA at ERA's two decimals (SoFi Amendment S18). +/// Nothing is minted after it; every unit in circulation was released from it. +pub const ERA_RESERVE_GENESIS_SUPPLY: u64 = 8_000_000_000_000; -/// What one beta faucet claim releases. ERA is whole-unit (`decimals = 0`), -/// so this is literally 100 ERA. The claim names no amount: the beta claim -/// policy fixes it, and the accepting transition refuses any other delta. -pub const ERA_FAUCET_PAYOUT: u64 = 100; +/// What one beta faucet claim releases, in base units: 100.00 ERA (SoFi +/// Amendment S18). The claim names no amount: the beta claim policy fixes it, +/// and the accepting transition refuses any other delta. +pub const ERA_FAUCET_PAYOUT: u64 = 10_000; /// Matches the proto's `dsm_max_len`; prost does not enforce it, so this /// module does. @@ -849,7 +850,7 @@ mod tests { #[test] fn the_envelope_round_trips_and_is_strict() { - let release = signed(&genesis(), 100); + let release = signed(&genesis(), ERA_FAUCET_PAYOUT); let bytes = release.envelope_bytes.clone(); // Decodable-but-non-canonical: unknown field, silently skipped by // prost, caught only by the re-encode comparison. @@ -1041,7 +1042,7 @@ mod tests { release_constructible(&r0, &zero), Err(ReleaseRefusal::ZeroRelease) ); - let (release, pk) = signed_with_key(&r0, 100); + let (release, pk) = signed_with_key(&r0, ERA_FAUCET_PAYOUT); let r1 = release_constructible(&r0, &release).expect("constructible"); // Every unit that left the reserve is accounted to the recipient the // body names, and that recipient is the signer. @@ -1057,7 +1058,7 @@ mod tests { fn a_release_must_succeed_exactly_its_parent() { let r0 = genesis(); let (pk, sk) = keypair(); - let mut wrong_root = body(&r0, 100, &pk); + let mut wrong_root = body(&r0, ERA_FAUCET_PAYOUT, &pk); wrong_root.parent_root = [0xEE; 32]; let wrong_root = decode_and_verify_release(&sign_release(&wrong_root, &sk).unwrap()).unwrap(); @@ -1065,21 +1066,21 @@ mod tests { release_constructible(&r0, &wrong_root), Err(ReleaseRefusal::ParentRootMismatch) ); - let mut wrong_gen = body(&r0, 100, &pk); + let mut wrong_gen = body(&r0, ERA_FAUCET_PAYOUT, &pk); wrong_gen.generation = 2; let wrong_gen = decode_and_verify_release(&sign_release(&wrong_gen, &sk).unwrap()).unwrap(); assert_eq!( release_constructible(&r0, &wrong_gen), Err(ReleaseRefusal::GenerationIsNotSuccessor) ); - let mut other = body(&r0, 100, &pk); + let mut other = body(&r0, ERA_FAUCET_PAYOUT, &pk); other.reserve_id = era_reserve_id(b"othernet"); let other = decode_and_verify_release(&sign_release(&other, &sk).unwrap()).unwrap(); assert_eq!( release_constructible(&r0, &other), Err(ReleaseRefusal::NamesAnotherReserve) ); - let mut foreign = body(&r0, 100, &pk); + let mut foreign = body(&r0, ERA_FAUCET_PAYOUT, &pk); foreign.storage_set_id = [0x77; 32]; let foreign = decode_and_verify_release(&sign_release(&foreign, &sk).unwrap()).unwrap(); assert_eq!( @@ -1097,7 +1098,7 @@ mod tests { #[test] fn finality_without_the_deterministic_leader_is_impossible() { let r0 = genesis(); - let release = signed(&r0, 100); + let release = signed(&r0, ERA_FAUCET_PAYOUT); let x = release.envelope_bytes.clone(); let (at, mut skipped_leader) = successor_cell(&r0); skipped_leader.write(&x, ROUTE_LEN - 1, &[0]); @@ -1130,7 +1131,7 @@ mod tests { #[test] fn unrecognized_bytes_never_occupy_the_cell() { let r0 = genesis(); - let release = signed(&r0, 100); + let release = signed(&r0, ERA_FAUCET_PAYOUT); // Signed, canonical, succeeding R_0 — and releasing more than exists. let too_much = signed(&r0, ERA_RESERVE_GENESIS_SUPPLY + 1); let (at, mut cell) = successor_cell(&r0); @@ -1153,8 +1154,8 @@ mod tests { #[test] fn additional_replicas_do_not_alter_the_winner() { let r0 = genesis(); - let a = signed(&r0, 100); - let b = signed(&r0, 100); + let a = signed(&r0, ERA_FAUCET_PAYOUT); + let b = signed(&r0, ERA_FAUCET_PAYOUT); let child_a = release_constructible(&r0, &a).unwrap(); let (at, mut cell) = successor_cell(&r0); cell.write(&a.envelope_bytes, 0, &[]); @@ -1183,7 +1184,7 @@ mod tests { #[test] fn a_final_release_has_a_completion_proof_that_checks() { let r0 = genesis(); - let release = signed(&r0, 100); + let release = signed(&r0, ERA_FAUCET_PAYOUT); let (at, mut cell) = successor_cell(&r0); cell.write(&release.envelope_bytes, 1, &[]); assert_eq!(successor_completion(&at, &cell.evidence()), Ok(None)); @@ -1206,7 +1207,7 @@ mod tests { #[test] fn the_walk_advances_through_final_releases_and_stops_at_the_head() { let r0 = genesis(); - let rel1 = signed(&r0, 100); + let rel1 = signed(&r0, ERA_FAUCET_PAYOUT); let r1 = release_constructible(&r0, &rel1).unwrap(); let rel2 = signed(&r1, ERA_FAUCET_PAYOUT); let r2 = release_constructible(&r1, &rel2).unwrap(); @@ -1267,7 +1268,7 @@ mod tests { }) ); assert_eq!(visited, 0, "nothing final was read"); - let rel1 = signed(&r0, 100); + let rel1 = signed(&r0, ERA_FAUCET_PAYOUT); let r1 = release_constructible(&r0, &rel1).unwrap(); let stop = walk_lineage( r0, diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/storage_node_sdk.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/storage_node_sdk.rs index cdf5fa11d..5a82b0f42 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/storage_node_sdk.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/storage_node_sdk.rs @@ -97,10 +97,23 @@ fn read_ca_certs(path: &str) -> Result)>, DsmEr Ok(certs) } +/// How long a member has to accept a connection. +const MEMBER_CONNECT_TIMEOUT: std::time::Duration = std::time::Duration::from_secs(10); + +/// How long one request to a member may take, end to end. A member that +/// accepts a connection and never answers is then a member that did not +/// answer, which every flow already handles, rather than a write that hangs +/// with no error. A transport bound only: nothing in DSM's validity or +/// ordering reads it. +const MEMBER_REQUEST_TIMEOUT: std::time::Duration = std::time::Duration::from_secs(30); + /// Build a client from resolved material: the expensive step (TLS /// configuration, connection pool), run only when the material changes. fn build_client_from(material: &CaMaterial) -> Result { - let mut builder = reqwest::Client::builder().user_agent("DSM-SDK/1.0"); + let mut builder = reqwest::Client::builder() + .user_agent("DSM-SDK/1.0") + .connect_timeout(MEMBER_CONNECT_TIMEOUT) + .timeout(MEMBER_REQUEST_TIMEOUT); for (cert_path, bytes) in &material.certs { let cert = reqwest::Certificate::from_pem(bytes).map_err(|e| { ca_error(format!( diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/test_support/two_device.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/test_support/two_device.rs index 05885bda8..d1a2671b0 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/test_support/two_device.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/test_support/two_device.rs @@ -191,17 +191,24 @@ impl TestDevice { dsm::core::bilateral_transaction_manager::compute_smt_key(&self.device_id, &peer.device_id) } - /// Fund with economic ancestry: `amount / 100` faucet claims (the fixed - /// payout). Amounts must be multiples of 100 — a fixture asking for - /// anything else is asking for value the protocol cannot issue. - pub async fn fund_admitted(&self, amount: u64) { + /// Fund with economic ancestry: `whole_era` ERA, in faucet claims of the + /// fixed payout (100.00 ERA each). Amounts must be multiples of the + /// payout — a fixture asking for anything else is asking for value the + /// protocol cannot issue. Balances read back in base units. + pub async fn fund_admitted(&self, whole_era: u64) { + let scale = 10u64.pow( + dsm::core::token::era_policy::era_policy() + .expect("ERA's policy") + .decimals, + ); + let payout = dsm::economic::native_reserve::ERA_FAUCET_PAYOUT / scale; assert!( - amount.is_multiple_of(100), - "fund_admitted: amounts are multiples of the 100-ERA faucet payout" + whole_era.is_multiple_of(payout), + "fund_admitted: amounts are multiples of the {payout}-ERA faucet payout" ); self.enter(); let core = self.router().core_sdk.clone(); - for claim in 0..(amount / 100) { + for claim in 0..(whole_era / payout) { crate::sdk::faucet_claim_flow::claim_era_faucet(&core, economic_fixtures::NETWORK) .await .unwrap_or_else(|e| panic!("funding claim {claim}: {e}")); diff --git a/specs/SoFi_Settlement_Specification.md b/specs/SoFi_Settlement_Specification.md index 6fd1bd951..f1c12ea49 100644 --- a/specs/SoFi_Settlement_Specification.md +++ b/specs/SoFi_Settlement_Specification.md @@ -2484,6 +2484,8 @@ The ticker is display only; two tokens may share one. > > ERA's policy: version 3, fungible, native; transferable and burnable; no recipient allowlist; release rule the beta faucet, under which units come out of the network's reserve by faucet claims; ticker and alias `ERA`; decimals 0; genesis supply 80,000,000,000 (owner, 2026-09-26); no description and no icon. Every device holds these bytes by construction. Their commitment, `BLAKE3(DSM/policy ‖ 0x00 ‖ TokenPolicyV3 bytes)`, is `JXPMPGJH45HDTE0ARWE2CTB9E9BWTQZ3T78CE5RFF1RXMR9VKK80` (Crockford base32). The faucet's per-claim payout is fixed by Core's beta claim policy and is not committed in the blob. The reserve's accounting is: the reserve starts at the genesis supply, every release is counted against it, the reserve is exhausted exactly when all of it has been released, and at exhaustion a claim is refused before anything is signed or written. ERA's previous commitment was the hash of empty input and committed to no policy; it is replaced. > +> **Amendment S18 (owner, 2026-10-01) — ERA has two decimals.** ERA is divisible to hundredths: its policy's decimals are 2, and every ERA amount is held in base units of 0.01 ERA. The amounts people know are unchanged: the genesis supply is 80,000,000,000.00 ERA, which the policy states in base units as 8,000,000,000,000; one beta faucet claim releases 100.00 ERA (10,000 base units); the token creation fee is 10.00 ERA (1,000 base units). The rest of S11's policy is unchanged. ERA's commitment changes with its bytes, to `NNG176RZ6ACTWCDPRNYHXZK2DCZ72SPA9Q6XWGRGQ9JGKZYTESG0` (Crockford base32), and replaces S11's; by S11's rule this is a different ERA identity, so no balance under the old commitment carries over (a clean cut). Amounts are entered and shown in whole tokens with the token's decimals after a point, `100.00` for ERA, never as base units. +> > Open: join-triggered emission (DJTE) replaces the faucet after beta. That is a different release rule, so a different blob, and by the rule above that any differing field makes a different token, a different ERA identity. **Code** diff --git a/specs/requirements/CONFORMANCE_GAPS.md b/specs/requirements/CONFORMANCE_GAPS.md index 1acd78662..aeef6958a 100644 --- a/specs/requirements/CONFORMANCE_GAPS.md +++ b/specs/requirements/CONFORMANCE_GAPS.md @@ -1847,11 +1847,11 @@ Known cost: the first time a receiver meets a payer it validates the payer's seg | Spec | Rows | Met | Partial | Missing | Violated | Not code | Deferred | |---|---|---|---|---|---|---|---| | DSM high-level (MR-DSM) | 276 | 94 | 96 | 39 | 0 | 29 | 18 | -| SoFi (MR-SOFI) | 348 | 223 | 86 | 18 | 4 | 17 | 0 | +| SoFi (MR-SOFI) | 349 | 223 | 87 | 18 | 4 | 17 | 0 | | dBTC (MR-DBTC) | 135 | 0 | 0 | 0 | 0 | 0 | 135 | | Storage node (MR-STOR) | 158 | 60 | 18 | 61 | 0 | 18 | 1 | | Storage §14 lines added after the pin (STOR-014) | 11 | 9 | 1 | 1 | 0 | 0 | 0 | -| **All** | **928** | **386** | **201** | **119** | **4** | **64** | **154** | +| **All** | **929** | **386** | **202** | **119** | **4** | **64** | **154** | ## 8 Per-requirement results @@ -2488,6 +2488,7 @@ Known cost: the first time a receiver meets a payer it validates the payer's seg | MR-SOFI-0346 | Partial | `dsm::sofi::resolve::Verifier::peer_position`; `dsm_sdk::sdk::economic_registers::resolve_peer` | `dsm_sdk::handlers::frontier_verification_tests::a_receiver_reads_nothing_behind_its_frontier`; `dsm_sdk::handlers::node_e2e_tests::a_trader_who_has_traded_can_pay` | SoFi Amendment S15 (wording made exact 2026-09-30: the setup positions the legs name are inside the segment and read through A8). The resolver reads q's position pair, P, the first leg's cell, the vault chains and q's evidence, and the trader's accepted claims at its setup positions through `resolve_peer`, which DSM core's walk bounds to the frontier (that test). Partial: no request-log test of the resolver's own read set yet. | | MR-SOFI-0347 | Met | `dsm_sdk::sdk::economic_registers::resolve_peer`; `dsm::sofi::validation::setup_valid` | `dsm_sdk::handlers::node_e2e_tests::a_trader_who_has_traded_can_pay`; `dsm::sofi::validation::tests::a_setup_on_a_lineage_known_invalid_is_invalid` | SoFi Amendment S15 (`feat/frontier-relative-peer-verification`). `SofiReads::accepted_claim_at` reads another trader's accepted claim at a setup position through `resolve_peer`, DSM core's frontier-relative walk with this resolver; the whole-lineage walk (`resolve_peer_with_cache`) no longer exists. A payee resolving a trader's SoFi position runs SetupValid this way in the P15-9 node test. | | MR-SOFI-0348 | Met | `dsm::sofi::lineage::advance_resolved`; `dsm::sofi::lineage::advance_peer_resolved` | `dsm::sofi::lineage::tests::a_realized_position_crediting_an_unadopted_token_is_refused`; `dsm::sofi::lineage::tests::another_verifier_resolves_the_position_without_the_traders_adoptions`; `dsm::sofi::lineage::tests::a_void_needs_no_adoption` | SoFi Amendment S15. The trader's own advance refuses a realized position crediting a token it has not adopted; another verifier's `advance_peer_resolved` derives the same root and accepted claim from the same facts with no adoption state of the trader's. Mutation: the adoption check run on the peer path → `another_verifier_resolves_the_position_without_the_traders_adoptions` red. | +| MR-SOFI-0349 | Partial | `dsm::core::token::era_policy::era_policy`; `dsm::economic::native_reserve::ERA_FAUCET_PAYOUT`; `dsm::core::token::token_state_manager::TOKEN_CREATION_FEE_ERA`; `dsm_sdk::handlers::wallet_routes::parse_display_amount_to_base_units` | `dsm::core::token::era_policy::tests::eras_policy_states_what_the_specification_fixes`; `dsm::core::token::era_policy::tests::eras_commitment_is_derived_from_its_bytes_and_is_the_specifications` | SoFi Amendment S18 (2026-10-01). ERA's policy carries decimals 2 and its supply in base units, the faucet pays 10,000 base units and the creation fee is 1,000, and sends take amounts in whole tokens with the point. Partial: the SoFi routes' amount fields (createVault, findRoute, trade, route) and their screen still take base units. | ### 8.3 dBTC native specification diff --git a/specs/requirements/MASTER_REQUIREMENTS.md b/specs/requirements/MASTER_REQUIREMENTS.md index 9d6e0efde..79949d373 100644 --- a/specs/requirements/MASTER_REQUIREMENTS.md +++ b/specs/requirements/MASTER_REQUIREMENTS.md @@ -15,11 +15,11 @@ Every extraction in this round is taken against exactly these bytes: | File | `git hash-object` | Lines | |---|---|---| | `specs/DSM_High_Level_Explainer.md` | `fad1940a13b806d53a0925e1bada409e5acc298c` | 4317 | -| `specs/SoFi_Settlement_Specification.md` | `6fd1bd951d5a57e50518749ca8361c07c331d561` | 2656 | +| `specs/SoFi_Settlement_Specification.md` | `f1c12ea496f517e91fcc9ef506432dce7655bdbb` | 2658 | | `specs/dBTC_Native_Specification.md` | `233a3e72a5b16a023af830f4c8ffaad4ba9391a8` | 2160 | | `specs/DSM_Storage_Node_Specification.md` | `415a9b9c67c7a2b4b6df78b0af85fb3bc7282ae8` | 636 | -Pins updated 2026-09-30 after DSM Amendments A8 (frontier-relative verification) and A9 (the relationship-key tag is `DSM/smt-key`) and SoFi Amendments S14 (a final cell whose fulfillment can never register is skipped) and S15 (a trader's position resolved from public objects); before that, 2026-09-29 after SoFi Amendments S12 (the trader's balances before the trade) and S13 (a lineage known invalid); before that, 2026-09-26 after SoFi Amendment S11 (ERA's canonical policy); before that, 2026-09-24 after SoFi Amendments S8, S9 and S10 and the storage §9 rule on the leader first, one chain in route order and the completion proof (#977); before that, 2026-09-23 after storage §14 (#974), the set-identity amendment (SoFi Amendment S6, storage §10), the replication amendment (storage §12.5), the vault-consistency recommendation (SoFi §31), Amendment S7 (SoFi §24) and Amendment A7 (DSM §11, storage §8). The extractions of 2026-09-22 were taken against SoFi `4c62ee78…` (2597 lines) and storage `8d43ac02…` (571 lines); their line-based IDs refer to those bytes. +Pins updated 2026-10-01 after SoFi Amendment S18 (ERA has two decimals); before that, 2026-09-30 after DSM Amendments A8 (frontier-relative verification) and A9 (the relationship-key tag is `DSM/smt-key`) and SoFi Amendments S14 (a final cell whose fulfillment can never register is skipped) and S15 (a trader's position resolved from public objects); before that, 2026-09-29 after SoFi Amendments S12 (the trader's balances before the trade) and S13 (a lineage known invalid); before that, 2026-09-26 after SoFi Amendment S11 (ERA's canonical policy); before that, 2026-09-24 after SoFi Amendments S8, S9 and S10 and the storage §9 rule on the leader first, one chain in route order and the completion proof (#977); before that, 2026-09-23 after storage §14 (#974), the set-identity amendment (SoFi Amendment S6, storage §10), the replication amendment (storage §12.5), the vault-consistency recommendation (SoFi §31), Amendment S7 (SoFi §24) and Amendment A7 (DSM §11, storage §8). The extractions of 2026-09-22 were taken against SoFi `4c62ee78…` (2597 lines) and storage `8d43ac02…` (571 lines); their line-based IDs refer to those bytes. The DSM and SoFi specifications were amended on 2026-09-22 (marked "Amendment" in their text). The storage-node specification was added to the corpus on 2026-09-22, before any other extractor started. The owner accepted it in full the same day. Extract its items marked **Open** with Flags `ambiguous` and a Requirement text that says so, never as settled requirements. @@ -155,6 +155,7 @@ Each extraction also has a Findings table: - **The trader's balances before the trade (2026-09-29).** Conformance finding (CONFORMANCE §6.39): once one trader had traded through a vault, no other reader could classify the trade, because `TraderSideValid` needs the trader's balances before the trade and `T°` states them only as hashes; the owner's close of that vault never resolved. Owner decisions: the exercise carries each such balance as a content-addressed `TraderPreBalance` that `𝒞_E^pre` names, every verifier (the trader included) reads the balances from those objects, and a balance the closure does not name is Invalid, not undecided (SoFi Amendment S12). MR-SOFI-0241 is a different defect and is unchanged. MR-SOFI-0338–0341 added with source `amendment`; §1 re-pinned. - **A lineage known invalid (2026-09-29).** Conformance finding (CONFORMANCE §6.40): under Amendment S9 a trader whose lineage validation finds Invalid never yields an accepted claim, so its setup was never evaluated and its trade held a vault key forever. Owner decision: not yet known waits; known invalid makes the setup, and so the route, Invalid; no accepted claim is synthesized (SoFi Amendment S13). MR-SOFI-0331 rewritten; MR-SOFI-0342 added with source `amendment`; §1 re-pinned. - **A fulfillment that can never register (2026-09-30).** Conformance finding (CONFORMANCE §8, MR-SOFI-0239): `route_impossible` carried a fifth arm, `PositionLost`, which §23.5 does not list and which depends on a particular F, not on P and E. Without it, an exercise whose fulfillment can never register, because another claim holds its position, strands the DLV parent's attempt chain (TLA `DSM_SofiFulfillment`, `LostPosition`). Owner decision: a separate skip, `RejectedFinalInadmissible`, which is not an arm of `RouteImpossible`; `RouteImpossible` stays scoped to P and E (SoFi Amendment S14). MR-SOFI-0343 added with source `amendment`; §1 re-pinned. +- **ERA has two decimals (2026-10-01).** Rig finding: ERA was whole-unit (decimals 0, SoFi Amendment S11), so a 0.30% fee on a 50 ERA trade could not be written as an ERA amount, and amounts were entered as raw base units. Owner ruling: ERA's decimals are 2, with the supply, faucet payout and creation fee unchanged in whole ERA; ERA's commitment changes (a clean cut); amounts are entered and shown in whole tokens with the token's decimals (SoFi Amendment S18). MR-SOFI-0335 rewritten; MR-SOFI-0349 added with source `amendment`; §1 re-pinned. - **Frontier-relative verification (2026-09-30).** Conformance finding (P15-9, and G16): a payee accepted a payer only by walking the payer's whole lineage from its activation root, re-validating every transition from evidence it fetched from the nodes, and a SoFi position in that history stopped the walk, so a trader who had traded could not pay. Owner decision: a receiver verifies forward from its own authenticated frontier: for each position of the segment it authenticates the authoritative root claim and verifies the transition producing that root with that transition's directly required evidence and provenance one hop back, never recursing behind that hop and never reading behind the frontier (DSM Amendment A8, corrected the same day: an authenticated root is not a valid transition, and a counterparty's acceptance does not stand for one); a SoFi position inside that segment is resolved from SoFi's public objects for that position alone, and adoption is not re-run by a later verifier (SoFi Amendment S15). MR-DSM-0273–0276 and MR-SOFI-0344–0348 added with source `amendment`; §1 re-pinned. - **The relationship-key tag (2026-09-30).** Conformance finding (CONFORMANCE §6.14, MR-DSM-0115, MR-DSM-0249): the explainer derived a relationship's SMT key under `DSM/smt-key/v1`, while the code and its golden vector use `DSM/smt-key`. Owner ruling: `DSM/smt-key` is the canonical relationship-SMT domain tag for beta, and `/v1` in the specification was an error (DSM Amendment A9). The formula in §26 and the example in §16 are corrected; no key migrates. MR-DSM-0115 rewritten; §1 re-pinned. - **Post-reconciliation amendment (2026-09-22): route-chain finality.** For finding GPT-4, finality was redefined as a route chain (storage spec §9, §12.6, §14, §22; DSM Amendment A6; SoFi Amendment S4). §1 pins the amended files. Canonical rows restating the old rule were rewritten, and rows for the new rules were added at the end of §8.1, §8.2 and §8.4 with source `amendment`. The extraction files in `extractions/` remain as extracted against the earlier hashes. @@ -171,7 +172,7 @@ Reconciled on 2026-09-22 from two extractions: `claude-chat` (798 rows) and `cha | DSM_Storage_Node_Specification.md | 128 | 122 | 6 | | **Total** | **859** | **652** | **207** | -Added afterwards by amendment (§7.1): DSM 7, SoFi 21, storage 30, for 917 canonical requirements in all. +Added afterwards by amendment (§7.1): DSM 7, SoFi 22, storage 30, for 918 canonical requirements in all. Columns: **ID** is the canonical ID (`MR--nnnn`, in document order). **Sources** are the extraction IDs merged into the row (`cc:` claude-chat, `gpt:` chatgpt); the first source locates the quote. **Flags** carry the findings in §8.7 that bear on the row. @@ -794,7 +795,7 @@ Columns: **ID** is the canonical ID (`MR--nnnn`, in document order). **Sou | MR-SOFI-0332 | authority | explicit | A device-created token's policy blob commits its creator, the genesis G and device id DevID of the creating device, after the release rule (a network-anchored policy names none, Amendment S11); a native token's genesis release is admissible only in a CreateToken of that device, so anyone else holding the same policy bytes releases nothing. | amendment: SoFi Amendment S8 (2026-09-23) | owner | none | | MR-SOFI-0333 | invariant | explicit | The creating transition inserts a creation record for the policy commit into the creator's economic tree from zero (class 0x0060, key H(DSM/economic-token-creation-key/v1; G ‖ DevID ‖ policy_commit)); its presence under a validated root proves the creation, a second creation of the same commit on that lineage cannot build its write set, and so the genesis supply is released exactly once. | amendment: SoFi Amendment S8 (2026-09-23) | owner | none | | MR-SOFI-0334 | invariant | explicit | A network-anchored native policy names no creator and no signer set: its blob omits both after the release rule, and its release rule alone governs every release; a device-created policy's layout is unchanged, and a blob whose shape does not match its release rule does not parse. | amendment: SoFi Amendment S11 (2026-09-26) | owner | none | -| MR-SOFI-0335 | invariant | explicit | ERA's policy is fixed in Core (version 3, fungible, native, transferable and burnable, no recipient allowlist, the beta faucet release rule, ticker and alias ERA, decimals 0, genesis supply 80,000,000,000, no description or icon), and ERA's policy commitment is BLAKE3(DSM/policy ‖ 0x00 ‖ its TokenPolicyV3 bytes); every device holds it by construction, never from storage or a registry. | amendment: SoFi Amendment S11 (2026-09-26) | owner | none | +| MR-SOFI-0335 | invariant | explicit | ERA's policy is fixed in Core (version 3, fungible, native, transferable and burnable, no recipient allowlist, the beta faucet release rule, ticker and alias ERA, decimals 2, genesis supply 8,000,000,000,000 base units (80,000,000,000.00 ERA), no description or icon), and ERA's policy commitment is BLAKE3(DSM/policy ‖ 0x00 ‖ its TokenPolicyV3 bytes); every device holds it by construction, never from storage or a registry. | amendment: SoFi Amendments S11 (2026-09-26) and S18 (2026-10-01) | owner | none | | MR-SOFI-0336 | prohibition | explicit | Exactly one network-anchored policy exists, ERA's; any other network-anchored blob has no reserve, releases nothing, and is never registered, adopted or published. | amendment: SoFi Amendment S11 (2026-09-26) | owner | none | | MR-SOFI-0337 | invariant | explicit | ERA's reserve starts at ERA's committed genesis supply and every release is counted against it: remaining plus released equals the genesis supply at every state, the reserve is exhausted exactly when all of it has been released, and at exhaustion a claim is refused before anything is signed or written. | amendment: SoFi Amendment S11 (2026-09-26) | owner | none | | MR-SOFI-0338 | invariant | explicit | TraderPreBalance is class 0x0061, schema 1: trader_genesis, trader_device_id and policy_commit (digest32 each) and amount (u64, strictly positive; a zero balance is an absent leaf and needs no object). Its address is immutable_addr(DSM/sofi/trader-pre-balance-object/v1, CCB bytes), and 𝒞_E^pre references it as ContentAddr{0x0061, addr}, so E commits it and the exercise carries it with the other closure objects. | amendment: SoFi Amendment S12 (2026-09-29) | owner | none | @@ -808,6 +809,7 @@ Columns: **ID** is the canonical ID (`MR--nnnn`, in document order). **Sou | MR-SOFI-0346 | prohibition | explicit | Resolving another trader's position q reads no private object of the trader's and no position of the trader's outside the verifier's frontier-to-parent segment (within it, only q, the authenticated predecessor root at q − 1, and the accepted claim at each setup position explicitly named by P's legs, each authenticated through DSM Amendment A8); it reads no unrelated trader position and has no fallback lineage walk (owner ruling, 2026-09-30). | amendment: SoFi Amendment S15 (2026-09-30) | owner | none | | MR-SOFI-0347 | obligation | explicit | SetupValid reads the trader's accepted claim at a setup's position by frontier-relative verification of the trader's lineage (DSM Amendment A8), never by replaying the trader's history to genesis or recursing behind a step's one-hop evidence. | amendment: SoFi Amendment S15 (2026-09-30) | owner | none | | MR-SOFI-0348 | invariant | explicit | Adoption is a construction predicate of the trader's own transition, enforced when the trader installs a realized position; a later verifier resolving which root a historical position selected does not re-run it, and that resolution requires no adoption leaf or other private trader state. | amendment: SoFi Amendment S15 (2026-09-30) | owner | none | +| MR-SOFI-0349 | obligation | explicit | ERA has two decimals: a faucet claim releases 100.00 ERA (10,000 base units), the token creation fee is 10.00 ERA (1,000 base units), and every amount is entered and shown in whole tokens with the token's decimals after a point, never as base units. | amendment: SoFi Amendment S18 (2026-10-01) | owner | none | ### 8.3 dBTC native specification From 18952d917eac2d457d4fb852b49c0269859d5f06 Mon Sep 17 00:00:00 2001 From: Cryptskii <47649969+cryptskii@users.noreply.github.com> Date: Thu, 1 Oct 2026 01:39:16 -0400 Subject: [PATCH 04/10] test(sdk,frontend): ERA amounts in the tests at two decimals MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The dependent sweep for SoFi Amendment S18. Funding is in whole ERA through `economic_fixtures::whole_era`, which scales by ERA's committed decimals. A test that speaks in ERA therefore keeps its meaning. Sends, burns, trades and vault reserves stay in base units, as written. Comments that called a base-unit amount "10 ERA" now say so. - Balances that come from the faucet or the creation fee are stated as `whole_era(n) ± base units`. Covers the faucet, sender admission, bilateral finality, offline step, node e2e and frontier verification tests, plus the restart and projection-repair tests. - Display expectations are at two decimals: history "1.00" and "100.00"; the inbox preview "0.10 ERA"; the pending step "0.03"; the transaction render "-1.00"; the balance row and the frontend ERA fixture "264.00" / "80000000000.00". - ERA's reported facts: decimals 2, and the anchor is the new commitment NNG176RZ6ACTWCDPRNYHXZK2DCZ72SPA9Q6XWGRGQ9JGKZYTESG0. - The offline load is entered as "20.00", which is 2,000 base units. The 41 SDK tests the ERA change turned red now pass: 126 passed / 0 failed across their modules, release. --- .../src/bluetooth/offline_step_tests.rs | 16 +++-- .../dsm_sdk/src/economic_fixtures.rs | 12 ++++ .../src/handlers/balance_list_tests.rs | 10 ++-- .../src/handlers/bilateral_finality_tests.rs | 19 +++--- .../dsm_sdk/src/handlers/bilateral_routes.rs | 2 +- .../dsm_sdk/src/handlers/faucet_flow_tests.rs | 55 +++++++++++------ .../handlers/frontier_verification_tests.rs | 5 +- .../dsm_sdk/src/handlers/node_e2e_tests.rs | 55 +++++++++++++---- .../src/handlers/recipient_dispatch.rs | 2 +- .../src/handlers/sender_admission_tests.rs | 60 ++++++++++++++----- .../src/handlers/token_create_tests.rs | 5 +- .../dsm_sdk/src/handlers/wallet_routes.rs | 10 ++-- .../dsm_sdk/src/sdk/core_sdk.rs | 5 +- .../storage/client_db/projection_repair.rs | 3 +- .../__tests__/AccountsScreen.tokens.test.tsx | 8 +-- 15 files changed, 189 insertions(+), 78 deletions(-) diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/bluetooth/offline_step_tests.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/bluetooth/offline_step_tests.rs index fb2d66721..45d38b90a 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/bluetooth/offline_step_tests.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/bluetooth/offline_step_tests.rs @@ -748,7 +748,7 @@ async fn bearer_pair() -> ( "wallet.loadOffline", &crate::generated::OfflineCashRequest { token_id: "ERA".to_string(), - amount: "20".to_string(), + amount: "20.00".to_string(), }, ) .await; @@ -789,7 +789,7 @@ async fn a_bearer_step_proves_its_whole_write_set_and_commits_on_both() { assert!(kinds.contains(&ReceiptLeaf::AnchorState), "{kinds:?}"); assert!( kinds.contains(&ReceiptLeaf::OfflineAllocation { - pre_amount: 20, + pre_amount: crate::economic_fixtures::whole_era(20), pre_sequence: 1, }), "the allocation's pre-state is the load: {kinds:?}" @@ -1868,7 +1868,11 @@ async fn an_online_send_waits_for_the_offline_step_in_flight() { !refused.success, "A sent online with its offline step in flight" ); - assert_eq!(pair.a.era_balance(), 1_000, "a refused send debited"); + assert_eq!( + pair.a.era_balance(), + crate::economic_fixtures::whole_era(1_000), + "a refused send debited" + ); b.device.enter(); b.handler @@ -1880,7 +1884,11 @@ async fn an_online_send_waits_for_the_offline_step_in_flight() { !refused.success, "B sent online while it held A's offline proposal" ); - assert_eq!(pair.b.era_balance(), 1_000, "a refused send debited"); + assert_eq!( + pair.b.era_balance(), + crate::economic_fixtures::whole_era(1_000), + "a refused send debited" + ); a.device.enter(); let cancellation = a diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/economic_fixtures.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/economic_fixtures.rs index fa771a383..af12709c5 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/economic_fixtures.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/economic_fixtures.rs @@ -62,6 +62,18 @@ pub fn use_test_storage_dir() { /// else can never produce an admitted position. pub const NETWORK: &[u8] = b"dsm-testnet"; +/// `whole` ERA in base units, at ERA's committed decimals (SoFi Amendment +/// S18): a test that speaks in ERA states its amounts through this, so it +/// keeps its meaning whatever ERA's decimals are. +pub fn whole_era(whole: u64) -> u64 { + whole + * 10u64.pow( + dsm::core::token::era_policy::era_policy() + .expect("ERA's policy") + .decimals, + ) +} + /// The device's environment config, pointed at one node set. Dropping it /// removes the config, so a later test that forgets to point the SDK at its /// own nodes fails to load a config rather than reaching this set's. diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/balance_list_tests.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/balance_list_tests.rs index 03f0fc953..910a2f7e4 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/balance_list_tests.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/balance_list_tests.rs @@ -124,18 +124,18 @@ async fn decimals_survive_a_restart_for_a_held_token() { assert_eq!(t.display_amount, "500.00"); } -/// Builtins keep their exact values: ERA whole units, dBTC in satoshis, no -/// policy icon, and each its protocol-defined anchor. +/// Builtins keep their exact values: ERA at two decimals (SoFi Amendment S18), +/// dBTC in satoshis, no policy icon, and each its protocol-defined anchor. #[tokio::test(flavor = "multi_thread", worker_threads = 4)] #[serial] async fn builtin_tokens_keep_their_metadata() { let d = Device::funded(0x83).await; let rows = wire_rows(&d.router).await; let era = row(&rows, "ERA"); - assert_eq!(era.decimals, 0); + assert_eq!(era.decimals, 2); assert_eq!(era.symbol, "ERA"); - assert_eq!(era.available, 100); - assert_eq!(era.display_amount, "100"); + assert_eq!(era.available, crate::economic_fixtures::whole_era(100)); + assert_eq!(era.display_amount, "100.00"); let dbtc = row(&rows, "dBTC"); assert_eq!(dbtc.decimals, 8); assert_eq!(dbtc.symbol, "dBTC"); diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/bilateral_finality_tests.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/bilateral_finality_tests.rs index 71c4c0c73..37af18d9b 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/bilateral_finality_tests.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/bilateral_finality_tests.rs @@ -17,6 +17,7 @@ //! release, R7 byte-identical checkpoint replay, R11 one deleter for the gate. //! R5/R6 live beside the code they pin (`storage_routes` / `core_sdk`). +use crate::economic_fixtures::whole_era; use crate::storage::client_db as cdb; use crate::test_support::two_device::{assert_incomplete, Pair, TestDevice}; use dsm::types::proto as generated; @@ -340,7 +341,7 @@ async fn r1_role_reversal_applies_once_on_a_and_finalizes_on_b() { let rel = p.a.rel_key_with(&p.b); generation(&p.a, &p.b, 10).await; generation(&p.a, &p.b, 10).await; - assert_eq!(p.b.era_balance(), 120); + assert_eq!(p.b.era_balance(), whole_era(100) + 20); // A pins B's head at exactly the child B journaled on its second apply — // learned from B's delta, authenticated by sig_b — and that is the parent @@ -372,8 +373,12 @@ async fn r1_role_reversal_applies_once_on_a_and_finalizes_on_b() { generation(&p.b, &p.a, 5).await; - assert_eq!(p.a.era_balance(), 985, "A credited exactly once"); - assert_eq!(p.b.era_balance(), 115); + assert_eq!( + p.a.era_balance(), + whole_era(1_000) - 20 + 5, + "A credited exactly once" + ); + assert_eq!(p.b.era_balance(), whole_era(100) + 20 - 5); p.a.enter(); assert_eq!(rows_for_relationship("canonical_apply_identity", &rel), 1); assert_eq!( @@ -466,7 +471,7 @@ async fn r2b_the_certificate_releases_the_recipient() { "B released by the certificate: {status:?}" ); generation(&p.b, &p.a, 5).await; - assert_eq!(p.a.era_balance(), 995); + assert_eq!(p.a.era_balance(), whole_era(1_000) - 10 + 5); } // ===================================================================== @@ -507,7 +512,7 @@ async fn r3_sender_stays_gated_until_the_checkpoint_reaches_quorum() { assert_eq!(status.send_block_reason, pending_catchup()); let refused = p.a.send(&p.b, 1).await; assert!(!refused.success, "second A->B must be refused"); - assert_eq!(p.a.era_balance(), 990, "no second debit"); + assert_eq!(p.a.era_balance(), whole_era(1_000) - 10, "no second debit"); // Fleet back: the sweep replays the exact certificate, quorum, release. p.nodes.restore_spools(&down).await; @@ -558,7 +563,7 @@ async fn a_send_before_the_previous_step_finalizes_is_gated_never_marked_for_res !cdb::cert_resync_blocks_send(&rel).expect("resync state"), "the relationship is not marked for resync" ); - assert_eq!(p.a.era_balance(), 990, "no second debit"); + assert_eq!(p.a.era_balance(), whole_era(1_000) - 10, "no second debit"); // The step finalizes; the relationship sends again. let b_sync = p.b.sync().await; @@ -825,7 +830,7 @@ async fn r7_a_frozen_checkpoint_is_replayed_byte_identically_after_the_fleet_ret vec![cdb::OUTBOX_GC_PENDING.to_string()] ); assert_eq!(proposal_statuses(&rel).len(), 1, "no second proposal"); - assert_eq!(p.a.era_balance(), 990, "no second debit"); + assert_eq!(p.a.era_balance(), whole_era(1_000) - 10, "no second debit"); // The replay re-posts to members that already held the first delivery; // a node deduplicates nothing (storage spec §8), so those hold it twice. // What matters is that every copy anywhere is the frozen envelope under diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/bilateral_routes.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/bilateral_routes.rs index 729d692aa..3432eb26e 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/bilateral_routes.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/bilateral_routes.rs @@ -300,7 +300,7 @@ mod pending_list_tests { ); assert_eq!(prepared.recipient_id, peer.to_vec()); assert_eq!((prepared.amount, prepared.token_id.as_str()), (3, "ERA")); - assert_eq!(prepared.display_amount.as_deref(), Some("3")); + assert_eq!(prepared.display_amount.as_deref(), Some("0.03")); assert!(prepared.cancellable, "an unconfirmed proposal is offered"); let confirmed = step([0xA2; 32]); diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/faucet_flow_tests.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/faucet_flow_tests.rs index 61fd36463..10393e1b5 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/faucet_flow_tests.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/faucet_flow_tests.rs @@ -18,7 +18,7 @@ use dsm::economic::native_reserve::{ }; use crate::bridge::{AppQuery, AppRouter}; -use crate::economic_fixtures::NETWORK; +use crate::economic_fixtures::{whole_era, NETWORK}; use crate::generated; use crate::sdk::faucet_claim_flow::claim_era_faucet; use crate::sdk::storage_set::{as_ccb_members, canonical_set}; @@ -91,11 +91,15 @@ async fn a_full_claim_credits_100_era_and_admits_position_1() { let outcome = claim_era_faucet(d.core(), NETWORK) .await .expect("claim succeeds"); - assert_eq!(outcome.tokens_received, 100); + assert_eq!(outcome.tokens_received, whole_era(100)); assert_eq!(outcome.economic_position, 1); let head = d.core().device_head().expect("head"); - assert_eq!(head.balance(&era()), 100, "exactly +100, conservation"); + assert_eq!( + head.balance(&era()), + whole_era(100), + "exactly +100 ERA, conservation" + ); assert!( head.pending_economic_admission().is_none(), "admitted ⇒ unfenced" @@ -120,8 +124,8 @@ async fn a_full_claim_credits_100_era_and_admits_position_1() { claim.tx_type, generated::TransactionType::TxTypeFaucet as i32 ); - assert_eq!(claim.amount_signed, 100); - assert_eq!(claim.display_amount, "100"); + assert_eq!(claim.amount_signed, whole_era(100) as i64); + assert_eq!(claim.display_amount, "100.00"); assert_eq!(claim.token_id, "ERA"); assert!(claim.from_device_id.is_empty(), "the source is the reserve"); assert_eq!(claim.to_device_id, d.identity.device_id.to_vec()); @@ -206,7 +210,7 @@ async fn a_release_of_the_whole_supply_holds_nothing_and_the_claim_lands() { let outcome = claim_era_faucet(d.core(), NETWORK) .await .expect("the claim lands"); - assert_eq!(outcome.tokens_received, 100); + assert_eq!(outcome.tokens_received, whole_era(100)); assert_eq!( recipient_of(&release_at(1).await), d.identity.device_id, @@ -214,7 +218,10 @@ async fn a_release_of_the_whole_supply_holds_nothing_and_the_claim_lands() { ); let head = reserve_head().await; assert_eq!(head.generation, 1); - assert_eq!(head.remaining_supply, ERA_RESERVE_GENESIS_SUPPLY - 100); + assert_eq!( + head.remaining_supply, + ERA_RESERVE_GENESIS_SUPPLY - whole_era(100) + ); } /// Owner ruling 2026-09-25: a faucet release occupies a reserve cell only @@ -256,7 +263,7 @@ async fn a_release_naming_a_device_its_key_does_not_derive_holds_nothing() { let outcome = claim_era_faucet(d.core(), NETWORK) .await .expect("the claim lands"); - assert_eq!(outcome.tokens_received, 100); + assert_eq!(outcome.tokens_received, whole_era(100)); let won = release_at(1).await; assert_ne!( won.envelope_bytes, impostor, @@ -331,7 +338,11 @@ async fn a_repeat_claimant_succeeds_on_the_next_generation() { .await .expect("second claim"); assert_eq!(two.economic_position, 2, "each claim advances the position"); - assert_eq!(d.era_balance(), 200, "two claims, exactly 200"); + assert_eq!( + d.era_balance(), + whole_era(200), + "two claims, exactly 200 ERA" + ); assert_eq!(reserve_head().await.generation, 2); } @@ -348,15 +359,18 @@ async fn another_claimants_release_moves_the_head_and_the_next_claim_takes_the_g let outcome = claim_era_faucet(&p.a.router().core_sdk, NETWORK) .await .expect("A claims the next generation"); - assert_eq!(outcome.tokens_received, 100); + assert_eq!(outcome.tokens_received, whole_era(100)); assert_eq!(outcome.economic_position, 1, "A's own first position"); - assert_eq!(p.a.era_balance(), 100); + assert_eq!(p.a.era_balance(), whole_era(100)); assert_eq!(recipient_of(&release_at(1).await), p.b.device_id); assert_eq!(recipient_of(&release_at(2).await), p.a.device_id); let head = reserve_head().await; assert_eq!(head.generation, 2); - assert_eq!(head.remaining_supply, ERA_RESERVE_GENESIS_SUPPLY - 200); + assert_eq!( + head.remaining_supply, + ERA_RESERVE_GENESIS_SUPPLY - whole_era(200) + ); } /// A claim whose release reached only the leader and one more seat leaves a @@ -398,7 +412,7 @@ async fn a_release_cut_short_after_the_leader_is_carried_by_the_next_claimant_an .await .expect("B's claim is not bricked by A's short chain"); assert_eq!(b_claim.economic_position, 1); - assert_eq!(p.b.era_balance(), 100); + assert_eq!(p.b.era_balance(), whole_era(100)); let first = release_at(1).await; assert_eq!(first.envelope_bytes, frozen, "generation 1 is A's release"); assert_eq!(recipient_of(&release_at(2).await), p.b.device_id); @@ -407,12 +421,15 @@ async fn a_release_cut_short_after_the_leader_is_carried_by_the_next_claimant_an let resumed = claim_era_faucet(&p.a.router().core_sdk, NETWORK) .await .expect("A finishes on its own generation"); - assert_eq!(resumed.tokens_received, 100); + assert_eq!(resumed.tokens_received, whole_era(100)); assert_eq!(resumed.economic_position, 1); - assert_eq!(p.a.era_balance(), 100); + assert_eq!(p.a.era_balance(), whole_era(100)); let head = reserve_head().await; assert_eq!(head.generation, 2, "A released once, B once"); - assert_eq!(head.remaining_supply, ERA_RESERVE_GENESIS_SUPPLY - 200); + assert_eq!( + head.remaining_supply, + ERA_RESERVE_GENESIS_SUPPLY - whole_era(200) + ); } /// The claimant alone: its release cut short after the leader, its retry @@ -438,7 +455,7 @@ async fn a_claim_cut_short_resumes_on_its_own_release_byte_identically() { let outcome = claim_era_faucet(d.core(), NETWORK) .await .expect("resumed claim"); - assert_eq!(outcome.tokens_received, 100); + assert_eq!(outcome.tokens_received, whole_era(100)); assert_eq!(outcome.economic_position, 1); assert_eq!( release_at(1).await.envelope_bytes, @@ -446,7 +463,7 @@ async fn a_claim_cut_short_resumes_on_its_own_release_byte_identically() { "the resumed claim used the frozen release" ); assert_eq!(reserve_head().await.generation, 1, "released once"); - assert_eq!(d.era_balance(), 100); + assert_eq!(d.era_balance(), whole_era(100)); } #[tokio::test(flavor = "multi_thread", worker_threads = 4)] @@ -461,7 +478,7 @@ async fn admissions_are_never_double_finished_and_positions_stay_monotonic() { assert_eq!(second.economic_position, 2); let third = claim_era_faucet(d.core(), NETWORK).await.expect("claim 3"); assert_eq!(third.economic_position, 3); - assert_eq!(d.era_balance(), 300); + assert_eq!(d.era_balance(), whole_era(300)); let (position, _root) = client_db::economic_lineage::get_admitted_coordinate() .expect("read admitted") .expect("admitted"); diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/frontier_verification_tests.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/frontier_verification_tests.rs index 3fca1054c..56e7ed451 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/frontier_verification_tests.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/frontier_verification_tests.rs @@ -250,7 +250,10 @@ async fn a_credits_source_is_validated_one_hop_back_and_no_further() { assert!(paid.success, "{:?}", paid.error_message); let credited = p.a.sync().await; assert!(credited.success, "{:?}", credited.errors); - assert_eq!(p.a.era_balance(), 130); + assert_eq!( + p.a.era_balance(), + crate::economic_fixtures::whole_era(100) + 30 + ); let sent = p.a.send(&p.b, 20).await; assert!(sent.success, "{:?}", sent.error_message); diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/node_e2e_tests.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/node_e2e_tests.rs index 54420838d..808e22659 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/node_e2e_tests.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/node_e2e_tests.rs @@ -142,7 +142,10 @@ async fn a_transfer_reaches_the_nodes_only_sealed_and_arrives() { assert!(b_sync.success, "{:?}", b_sync.errors); let a_sync = p.a.sync().await; assert!(a_sync.success, "{:?}", a_sync.errors); - assert_eq!(p.a.era_balance(), 90); + assert_eq!( + p.a.era_balance(), + crate::economic_fixtures::whole_era(100) - 10 + ); assert_eq!(p.b.era_balance(), 10); let memo = format!("{}->{} #1", p.a.slot, p.b.slot).into_bytes(); @@ -316,7 +319,8 @@ async fn set_up(d: &TestDevice, vault_id: &[u8; 32]) -> Vec { } } -/// A creates the token and the vault (100 ERA against 1000 TKN at 30 bps); +/// A creates the token and the vault (100 base units of ERA against 1000 of +/// TKN, at 30 bps); /// B adopts the token and sets up. async fn open_market(p: &Pair) -> Market { let tkn = create_token(&p.a, "TKN", 10_000).await; @@ -456,11 +460,15 @@ async fn a_sofi_trade_executes_end_to_end() { let p = Pair::boot(500, 200).await; let m = open_market(&p).await; realized_trade(&p, &m, 10).await; - // The vault priced the trade at its reserves: 10 ERA in against 100 ERA - // and 1000 TKN, at 30 bps. + // The vault priced the trade at its reserves: 10 base units of ERA in + // against 100 of ERA and 1000 of TKN, at 30 bps. let out = dsm::dlv::route_commit::constant_product_output(10, 100, 1_000, 30) .expect("the vault prices the trade"); - assert_eq!(balance(&p.b, &m.era), 190, "the trader paid 10 ERA"); + assert_eq!( + balance(&p.b, &m.era), + crate::economic_fixtures::whole_era(200) - 10, + "the trader paid 10 base units" + ); assert_eq!( balance(&p.b, &m.tkn), out, @@ -864,7 +872,10 @@ async fn a_key_held_by_an_exercise_its_own_bytes_refute_is_skipped_on_those_byte assert_eq!(next.fulfillment().body.attempts()[0].attempt, 1); let out2 = dsm::dlv::route_commit::constant_product_output(10, 110, 1_000 - out1, 30) .expect("the vault prices the second trade"); - assert_eq!(balance(&p.b, &m.era), 180); + assert_eq!( + balance(&p.b, &m.era), + crate::economic_fixtures::whole_era(200) - 20 + ); assert_eq!(balance(&p.b, &m.tkn), out1 + out2); head_agrees_with_admitted_root(&p.b, &[m.era, m.tkn]); } @@ -916,7 +927,10 @@ async fn an_unsigned_exercise_at_a_successor_key_takes_nothing() { .into_exercise() .expect("B's second exercise holds the first key at R1"); assert_eq!(second.fulfillment().body.position(), q2); - assert_eq!(balance(&p.b, &m.era), 180); + assert_eq!( + balance(&p.b, &m.era), + crate::economic_fixtures::whole_era(200) - 20 + ); head_agrees_with_admitted_root(&p.b, &[m.era, m.tkn]); } @@ -985,7 +999,10 @@ async fn a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lan assert_eq!(position_of(&r, "sofi.trade"), (q, exhausted)); assert_eq!(pending_position(&p.b), Some(q)); assert_eq!(admitted_position(&p.b), position); - assert_eq!(balance(&p.b, &m.era), 200); + assert_eq!( + balance(&p.b, &m.era), + crate::economic_fixtures::whole_era(200) + ); assert_eq!( complete(&p).await, Completion::NotTaken { @@ -1011,7 +1028,10 @@ async fn a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lan assert_eq!(resolve(&p).await, (q, exhausted)); assert_eq!(pending_position(&p.b), Some(q)); assert_eq!(admitted_position(&p.b), position); - assert_eq!(balance(&p.b, &m.era), 200); + assert_eq!( + balance(&p.b, &m.era), + crate::economic_fixtures::whole_era(200) + ); assert_eq!(balance(&p.b, &m.tkn), 0); // 3. Every write lands: completion is written and the position realizes. @@ -1022,7 +1042,10 @@ async fn a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lan assert_eq!(admitted_position(&p.b), q); let out = dsm::dlv::route_commit::constant_product_output(10, 100, 1_000, 30) .expect("the vault prices the trade"); - assert_eq!(balance(&p.b, &m.era), 190); + assert_eq!( + balance(&p.b, &m.era), + crate::economic_fixtures::whole_era(200) - 10 + ); assert_eq!(balance(&p.b, &m.tkn), out); head_agrees_with_admitted_root(&p.b, &[m.era, m.tkn]); @@ -1208,7 +1231,11 @@ async fn every_sofi_route_reaches_its_producer() { }), ) .await; - assert_eq!(balance(&p.b, &era), 190, "the route took 10 ERA"); + assert_eq!( + balance(&p.b, &era), + crate::economic_fixtures::whole_era(200) - 10, + "the route took 10 base units" + ); assert_eq!(balance(&p.b, &tkb), two, "and gave what its hops priced"); assert_eq!(balance(&p.b, &tkn), 0, "and kept nothing on the way"); @@ -1246,7 +1273,11 @@ async fn every_sofi_route_reaches_its_producer() { }), ) .await; - assert_eq!(balance(&p.b, &era), 180, "the trade took 10 ERA"); + assert_eq!( + balance(&p.b, &era), + crate::economic_fixtures::whole_era(200) - 20, + "the trade took 10 more" + ); assert_eq!(balance(&p.b, &tkn), bought, "and gave what it was quoted"); realized_through( diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/recipient_dispatch.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/recipient_dispatch.rs index 12b546cbd..2af3a1437 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/recipient_dispatch.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/recipient_dispatch.rs @@ -1373,7 +1373,7 @@ mod tests { let item = listing(&listed.items, id); assert_eq!( item.preview, - format!("From: {sender} Amount: 10 ERA"), + format!("From: {sender} Amount: 0.10 ERA"), "every copy of the transfer shows the signed terms" ); assert_eq!(item.sender_id.as_deref(), Some(sender.as_str())); diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/sender_admission_tests.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/sender_admission_tests.rs index 28c566d1c..d8a80f165 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/sender_admission_tests.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/sender_admission_tests.rs @@ -131,18 +131,19 @@ fn outbox_status(rel: &[u8; 32]) -> String { #[tokio::test(flavor = "multi_thread", worker_threads = 4)] #[serial] async fn an_admitted_burn_advances_the_lineage_and_is_foreign_walkable() { - // Faucet position 1 (+100), then an ADMITTED burn of 40 at position 2. + // Faucet position 1 (+100.00 ERA), then an ADMITTED burn of 40 base units + // at position 2. // Then the decisive check: a FOREIGN walk of positions 1..2, crossing a // reserve release AND a pure debit in one lineage. let d = Device::funded(0xC1).await; let burned = invoke(&d.router, "token.burn", &burn_request("ERA", 40)).await; match payload(&burned) { crate::generated::envelope::Payload::TokenBurnResponse(r) => { - assert_eq!(r.new_balance, 60) + assert_eq!(r.new_balance, economic_fixtures::whole_era(100) - 40) } other => panic!("expected TokenBurnResponse, got {other:?}"), } - assert_eq!(d.era_balance(), 60); + assert_eq!(d.era_balance(), economic_fixtures::whole_era(100) - 40); let head = d.core().device_head().expect("head"); assert!(head.pending_economic_admission().is_none(), "unfenced"); let (position, admitted_root) = client_db::economic_lineage::get_admitted_coordinate() @@ -213,7 +214,11 @@ async fn a_stale_admission_snapshot_is_refused_not_committed() { head_before, "nothing advanced" ); - assert_eq!(d.era_balance(), 90, "only the overtaking burn debited"); + assert_eq!( + d.era_balance(), + economic_fixtures::whole_era(100) - 10, + "only the overtaking burn debited" + ); } /// A refused advance leaves NOTHING: no head movement, no fence, no admitted @@ -229,7 +234,12 @@ async fn a_refused_advance_leaves_no_trace() { .expect("frozen artifacts") .len(); - let refused = invoke(&d.router, "token.burn", &burn_request("ERA", 101)).await; + let refused = invoke( + &d.router, + "token.burn", + &burn_request("ERA", economic_fixtures::whole_era(100) + 1), + ) + .await; assert!( !refused.success, "a burn beyond the balance must be refused" @@ -242,7 +252,7 @@ async fn a_refused_advance_leaves_no_trace() { "no fence survived" ); assert_eq!(admitted_position(), 1, "no admitted movement"); - assert_eq!(d.era_balance(), 100); + assert_eq!(d.era_balance(), economic_fixtures::whole_era(100)); assert_eq!( client_db::frozen_publication_artifact::list_unpublished_artifacts(u32::MAX) .expect("frozen artifacts") @@ -277,7 +287,10 @@ async fn sequential_admissions_stay_monotonic_across_operation_kinds() { assert_eq!(admitted_position(), 4); let head = d.core().device_head().expect("head"); - assert_eq!(head.balance(&era()), 90 - fee); + assert_eq!( + head.balance(&era()), + economic_fixtures::whole_era(100) - 10 - fee + ); assert_eq!(head.balance(&seq.policy_commit), 480); } @@ -299,11 +312,11 @@ async fn a_transfer_naming_no_token_or_a_misspelled_one_is_refused_and_nothing_m assert!(!unnamed.success, "an omitted token is not ERA"); let msg = unnamed.error_message.unwrap_or_default(); assert!(msg.contains("names no token"), "got: {msg}"); - assert_eq!(p.a.era_balance(), 100); + assert_eq!(p.a.era_balance(), economic_fixtures::whole_era(100)); let folded = p.a.invoke("wallet.sendSmart", &request("era")).await; assert!(!folded.success, "`era` does not name ERA"); - assert_eq!(p.a.era_balance(), 100); + assert_eq!(p.a.era_balance(), economic_fixtures::whole_era(100)); assert_eq!(p.b.era_balance(), 0); } @@ -435,7 +448,11 @@ async fn a_send_to_a_device_that_is_not_a_contact_moves_nothing() { "refused because C is not a contact, not for another reason: {why}" ); p.a.enter(); - assert_eq!(p.a.era_balance(), 100, "nothing was debited"); + assert_eq!( + p.a.era_balance(), + economic_fixtures::whole_era(100), + "nothing was debited" + ); assert_eq!(admitted_position(), position, "no position was admitted"); let head = p.a.router().core_sdk.device_head().expect("head"); assert!( @@ -800,7 +817,11 @@ async fn token_routes_admit_create_and_burn_end_to_end() { crate::generated::envelope::Payload::TokenCreateResponse(t) => t, other => panic!("expected TokenCreateResponse, got {other:?}"), }; - assert_eq!(d.era_balance(), 100 - fee, "exactly the fee, burned"); + assert_eq!( + d.era_balance(), + economic_fixtures::whole_era(100) - fee, + "exactly the fee, burned" + ); assert_eq!( admitted_position(), 2, @@ -846,7 +867,11 @@ async fn token_routes_admit_create_and_burn_end_to_end() { other => panic!("expected TokenCreateResponse, got {other:?}"), }; assert_eq!(resp2.token_id, resp.token_id, "one commitment, one token"); - assert_eq!(d.era_balance(), 100 - fee, "no second fee"); + assert_eq!( + d.era_balance(), + economic_fixtures::whole_era(100) - fee, + "no second fee" + ); assert_eq!( admitted_position(), 2, @@ -856,7 +881,10 @@ async fn token_routes_admit_create_and_burn_end_to_end() { // The admitted burn ROUTE (position 3). let burned = invoke(&d.router, "token.burn", &burn_request("ERA", 25)).await; assert!(burned.success, "{:?}", burned.error_message); - assert_eq!(d.era_balance(), 100 - fee - 25); + assert_eq!( + d.era_balance(), + economic_fixtures::whole_era(100) - fee - 25 + ); assert_eq!( admitted_position(), 3, @@ -880,7 +908,7 @@ async fn a_transfer_registers_the_senders_root_at_the_next_position() { assert!(b_sync.success, "{:?}", b_sync.errors); let a_sync = p.a.sync().await; assert!(a_sync.success, "{:?}", a_sync.errors); - assert_eq!(p.a.era_balance(), 90); + assert_eq!(p.a.era_balance(), economic_fixtures::whole_era(100) - 10); p.a.enter(); let (position, admitted_root) = client_db::economic_lineage::get_admitted_coordinate() @@ -957,7 +985,7 @@ async fn a_failed_finish_holds_the_creation_and_resume_completes_the_same_admiss assert_eq!(admitted_position(), 1, "nothing admitted"); assert_eq!( d.era_balance(), - 100 - fee, + economic_fixtures::whole_era(100) - fee, "forward-only: the committed fee stands" ); let frozen = client_db::frozen_publication_artifact::list_unpublished_artifacts(u32::MAX) @@ -1123,7 +1151,7 @@ async fn a_failed_finish_holds_the_outbox_and_resume_completes_the_same_admissio ); assert_eq!( p.a.era_balance(), - 90, + economic_fixtures::whole_era(100) - 10, "forward-only: the committed debit stands" ); assert_eq!( diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/token_create_tests.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/token_create_tests.rs index 52908ee21..e34488dc7 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/token_create_tests.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/token_create_tests.rs @@ -263,7 +263,10 @@ async fn a_created_tokens_amounts_render_at_its_own_decimals() { ..Default::default() }; enrich_transaction_display(&mut era).expect("the token's decimals are known"); - assert_eq!(era.display_amount, "-100", "ERA is whole units"); + assert_eq!( + era.display_amount, "-1.00", + "ERA renders at its two decimals" + ); } /// The policy a created token enforces lives in durable storage, not in the diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/wallet_routes.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/wallet_routes.rs index 7d58028d6..57067cc0d 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/wallet_routes.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/wallet_routes.rs @@ -1461,7 +1461,7 @@ mod tests { crate::economic_fixtures::use_test_storage_dir(); crate::storage::client_db::reset_database_for_tests(); crate::storage::client_db::init_database().expect("init db"); - assert_eq!(token_decimals("ERA"), Ok(0)); + assert_eq!(token_decimals("ERA"), Ok(2)); assert_eq!(token_decimals("dbtc"), Ok(8)); let unknown = token_decimals("NOPE").expect_err("no registry entry"); assert!(unknown.contains("no registry entry"), "{unknown}"); @@ -1569,8 +1569,8 @@ mod tests { let mut era = seed("ERA", 264, 0); super::enrich_balance_metadata(&mut era, &|_| None).expect("ERA is named"); assert!(era.protocol_defined); - assert_eq!((era.symbol.as_str(), era.decimals), ("ERA", 0)); - assert_eq!(era.genesis_supply_display, "80000000000"); + assert_eq!((era.symbol.as_str(), era.decimals), ("ERA", 2)); + assert_eq!(era.genesis_supply_display, "80000000000.00"); assert_eq!( era.permissions, Some(generated::TokenPolicyPermissions { @@ -1580,7 +1580,7 @@ mod tests { ); assert_eq!( era.policy_anchor_b32, - "JXPMPGJH45HDTE0ARWE2CTB9E9BWTQZ3T78CE5RFF1RXMR9VKK80" + "NNG176RZ6ACTWCDPRNYHXZK2DCZ72SPA9Q6XWGRGQ9JGKZYTESG0" ); let mut dbtc = seed("dBTC", 0, 0); super::enrich_balance_metadata(&mut dbtc, &|_| None).expect("dBTC is named"); @@ -1738,7 +1738,7 @@ mod history_tests { assert_eq!(claim.to_device_id, device.router.device_id_bytes.to_vec()); assert_eq!(claim.recipient, "ERA reserve (faucet)"); assert_eq!(claim.amount_signed, 100, "incoming"); - assert_eq!(claim.display_amount, "100"); + assert_eq!(claim.display_amount, "1.00"); assert_eq!(claim.token_id, "ERA"); let peer = crate::util::text_id::encode_base32_crockford(&[0x74u8; 32]); diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/core_sdk.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/core_sdk.rs index 70c42d77f..26b9063a3 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/core_sdk.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/core_sdk.rs @@ -3025,7 +3025,10 @@ mod tests { let restored = economic_fixtures::core_sdk_for(&d.identity); let head = restored.device_head().expect("restored head"); assert_eq!(head.root(), live.root()); - assert_eq!(head.balance(&era_commit()), 100); + assert_eq!( + head.balance(&era_commit()), + economic_fixtures::whole_era(100) + ); } fn era_commit() -> [u8; 32] { diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/storage/client_db/projection_repair.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/storage/client_db/projection_repair.rs index d173670bf..da32307c4 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/storage/client_db/projection_repair.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/storage/client_db/projection_repair.rs @@ -378,7 +378,8 @@ mod tests { .unwrap() .expect("projection rebuilt"); assert_eq!( - proj.available, 300, + proj.available, + crate::economic_fixtures::whole_era(300), "projection rebuilt to the head's balance" ); diff --git a/dsm_client/frontend/src/components/screens/__tests__/AccountsScreen.tokens.test.tsx b/dsm_client/frontend/src/components/screens/__tests__/AccountsScreen.tokens.test.tsx index 5a9c22ade..f541e727e 100644 --- a/dsm_client/frontend/src/components/screens/__tests__/AccountsScreen.tokens.test.tsx +++ b/dsm_client/frontend/src/components/screens/__tests__/AccountsScreen.tokens.test.tsx @@ -46,10 +46,10 @@ const CREATED = { const balances = [ row({ tokenId: 'ERA', - baseUnits: 264n, - displayAmount: '264', + baseUnits: 26400n, + displayAmount: '264.00', protocolDefined: true, - genesisSupplyDisplay: '80000000000', + genesisSupplyDisplay: '80000000000.00', policyAnchorB32: 'ERAANCHOR0000', anchorFingerprint: 'ERAANCHO', }), @@ -454,7 +454,7 @@ describe('AccountsScreen — the screen TOKENS actually opens', () => { (dsmClient.getAllBalances as jest.Mock).mockResolvedValue(balances); render(); fireEvent.click(await screen.findByText('ERA')); - expect((await screen.findByText('Total Supply')).nextElementSibling).toHaveTextContent('80000000000 ERA'); + expect((await screen.findByText('Total Supply')).nextElementSibling).toHaveTextContent('80000000000.00 ERA'); expect(screen.getByText('Defined By').nextElementSibling).toHaveTextContent('the protocol'); expect(screen.queryByText('Burn')).toBeNull(); expect(screen.queryByText('Transfer')).toBeNull(); From 021c7902a568f596d20283cda3637c255a8b833f Mon Sep 17 00:00:00 2001 From: Cryptskii <47649969+cryptskii@users.noreply.github.com> Date: Thu, 1 Oct 2026 02:07:06 -0400 Subject: [PATCH 05/10] fix(storage): a silent set-mate cannot hold the mirror sync; a cell read asks every seat at once MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Node side: - The set client (set_client::pinned_set_client) had no connect or request timeout, and mirror_sync holds a node-wide one-at-a-time lock. A set-mate that accepted the connection and never answered held the sync and the lock open indefinitely, stalling every later mirror sync on the node. - It now connects within SET_MATE_CONNECT_TIMEOUT (5 s) and answers within SET_MATE_REQUEST_TIMEOUT (10 s), or the fetch fails, as an unreachable set-mate does: BAD_GATEWAY, with the lock released. These are transport liveness bounds; a fetch that times out stores nothing and orders nothing. - MAX_SYNC_CYCLES drops from 1024 to 128, so one sync of a member far behind stays well inside the SDK's 30 s per request. Every cycle is kept as it is fetched, so later syncs continue. SDK side: route_seats::read_cell asked the five seats one after another, to read values, to close cycles and to sync mirrors. A seat that does not answer cost one client timeout per seat in each loop. The three fan-outs now run at once (join_all), with the answers kept in route order, so the evidence Core evaluates is unchanged. Test: bytecommit_chain::a_set_mate_that_never_answers_fails_the_sync_and_frees_it (a set-mate that accepts and never answers; two syncs each answer BAD_GATEWAY within 3× the request bound). Mutation control: the set-client timeouts removed → red ("sync 0 hung on a set-mate that never answers"), restored. Release, on Postgres: bytecommit_chain 8/0. route_seats, faucet flows and the SoFi trade and pay node e2e tests 21/0. fmt, clippy -D warnings (dsm_sdk, dsm_storage_node), the real-code guard and the clockless gate are clean. --- .../dsm_sdk/src/sdk/route_seats.rs | 37 +++++++++++-------- .../src/api/objects/bytecommit.rs | 7 +++- dsm_storage_node/src/set_client.rs | 17 ++++++++- dsm_storage_node/tests/bytecommit_chain.rs | 33 +++++++++++++++++ 4 files changed, 75 insertions(+), 19 deletions(-) diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/route_seats.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/route_seats.rs index 95dc8cfc9..eb3645deb 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/route_seats.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/route_seats.rs @@ -568,24 +568,29 @@ async fn committed_at( /// (§9 route chains, rule 4). pub async fn read_cell(seats: &S, cell: &RoutedCell) -> CellEvidence { let (route, namespace, key) = (cell.route(), cell.namespace(), cell.key()); - let mut values = Vec::with_capacity(route.seats().len()); - for seat in route.seats() { - values.push(seats.read_values(seat, namespace, key).await); - } - let mut cycles = Vec::with_capacity(values.len()); - for (seat, held) in route.seats().iter().zip(&values) { - let holds_any = held.as_ref().is_some_and(|v| !v.is_empty()); - cycles.push(if holds_any { - seats.close(seat).await - } else { - None - }); - } + // Every seat is asked at once, and the answers stay in route order: a + // seat that does not answer costs one timeout, not one per seat. + let values: Vec>>> = futures::future::join_all( + route + .seats() + .iter() + .map(|seat| seats.read_values(seat, namespace, key)), + ) + .await; + let cycles: Vec> = + futures::future::join_all(route.seats().iter().zip(&values).map( + |(seat, held)| async move { + if held.as_ref().is_some_and(|v| !v.is_empty()) { + seats.close(seat).await + } else { + None + } + }, + )) + .await; let members = seats.members(); if cycles.iter().any(Option::is_some) { - for member in &members { - seats.sync_mirror(member).await; - } + futures::future::join_all(members.iter().map(|member| seats.sync_mirror(member))).await; } let leader = route.leader(); let leader_cycle = cycles.first().copied().flatten(); diff --git a/dsm_storage_node/src/api/objects/bytecommit.rs b/dsm_storage_node/src/api/objects/bytecommit.rs index 461f778a2..f034d1528 100644 --- a/dsm_storage_node/src/api/objects/bytecommit.rs +++ b/dsm_storage_node/src/api/objects/bytecommit.rs @@ -44,8 +44,11 @@ use dsm::utils::text_id; const CYCLE_HEADER: &str = "x-cycle"; const ECHO_HEADER: &str = "x-dsm-node-id"; /// Upper bound on cycles fetched from one member in one sync, so one request -/// does bounded work; a later sync continues where this one stopped. -const MAX_SYNC_CYCLES: u64 = 1024; +/// does bounded work; a later sync continues where this one stopped, since +/// every cycle is kept as it is fetched. At this bound one sync of a member +/// far behind is 128 fetches, well inside what a client waits for one +/// request (the SDK's member client waits 30 s). +const MAX_SYNC_CYCLES: u64 = 128; pub fn create_router(state: Arc) -> Router<()> { Router::new() diff --git a/dsm_storage_node/src/set_client.rs b/dsm_storage_node/src/set_client.rs index 4023a72bf..c5be19ccc 100644 --- a/dsm_storage_node/src/set_client.rs +++ b/dsm_storage_node/src/set_client.rs @@ -11,6 +11,17 @@ use rustls::pki_types::pem::PemObject; use rustls::pki_types::CertificateDer; use rustls::{ClientConfig, RootCertStore}; use std::sync::Arc; +use std::time::Duration; + +/// How long a node waits to connect to a set-mate, and for one answer from +/// it. A set-mate that accepts a connection and never answers fails the +/// fetch within these bounds instead of holding the mirror sync, and with it +/// the node's one-at-a-time sync lock, open. They are transport liveness +/// bounds, as an unreachable set-mate is: a fetch that times out stores +/// nothing and orders nothing, so no protocol fact depends on them (storage +/// spec §1 rule 4). +pub const SET_MATE_CONNECT_TIMEOUT: Duration = Duration::from_secs(5); +pub const SET_MATE_REQUEST_TIMEOUT: Duration = Duration::from_secs(10); /// A client pinned to `set_ca_pem`, the storage set's CA certificate. pub fn pinned_set_client(set_ca_pem: &[u8]) -> anyhow::Result { @@ -27,7 +38,11 @@ pub fn pinned_set_client(set_ca_pem: &[u8]) -> anyhow::Result { .with_root_certificates(root_store) .with_no_client_auth(); - Ok(Client::builder().use_preconfigured_tls(config).build()?) + Ok(Client::builder() + .use_preconfigured_tls(config) + .connect_timeout(SET_MATE_CONNECT_TIMEOUT) + .timeout(SET_MATE_REQUEST_TIMEOUT) + .build()?) } #[cfg(test)] diff --git a/dsm_storage_node/tests/bytecommit_chain.rs b/dsm_storage_node/tests/bytecommit_chain.rs index 1926afd68..361cf80d2 100644 --- a/dsm_storage_node/tests/bytecommit_chain.rs +++ b/dsm_storage_node/tests/bytecommit_chain.rs @@ -345,6 +345,39 @@ async fn a_node_in_no_set_refuses_a_mirror_sync() { assert_eq!(sync(&app(state)).await, StatusCode::CONFLICT); } +/// A set-mate that accepts the connection and never answers fails the sync +/// within the set client's bounds, instead of holding the sync, and the +/// node's one-at-a-time sync lock, open. The node answers BAD_GATEWAY, and +/// the next sync is answered too: the lock was released. +#[tokio::test] +async fn a_set_mate_that_never_answers_fails_the_sync_and_frees_it() { + let (silent, silent_url) = listener().await; + // Accepts every connection and answers none of them. + tokio::spawn(async move { + let mut held = Vec::new(); + while let Ok((socket, _)) = silent.accept().await { + held.push(socket); + } + }); + let b = app(node_state( + "bc_silent_b", + "dsm-node-b", + &["dsm-node-a", "dsm-node-b"], + &[("dsm-node-a", &silent_url)], + ) + .await); + let within = dsm_storage_node::set_client::SET_MATE_REQUEST_TIMEOUT * 3; + for attempt in 0..2 { + let answered = match tokio::time::timeout(within, sync(&b)).await { + Ok(status) => status, + Err(elapsed) => { + panic!("sync {attempt} hung on a set-mate that never answers: {elapsed}") + } + }; + assert_eq!(answered, StatusCode::BAD_GATEWAY, "sync {attempt}"); + } +} + /// A set-mate that does not answer at its configured endpoint fails the /// sync; the node does not report the sync as done. #[tokio::test] From 96fd51295ced166d20611262a4255cf497dee38e Mon Sep 17 00:00:00 2001 From: Cryptskii <47649969+cryptskii@users.noreply.github.com> Date: Thu, 1 Oct 2026 02:14:02 -0400 Subject: [PATCH 06/10] =?UTF-8?q?docs(storage):=20record=20mirror=20livene?= =?UTF-8?q?ss=20(=C2=A76.53)=20and=20five=20route-chain=20rows=20re-verifi?= =?UTF-8?q?ed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MR-STOR-0131, 0133, 0138 and 0094 move Missing → Met and 0134 Missing → Partial: each Missing note described a codebase before route chains. The cited tests pass at this tree. 0134 stays Partial because the writer never records a taken empty. MR-STOR-0140 cites the silent set-mate test, and the matrix records its mutation control. MR-STOR-0008 notes the set client's transport bounds. --- specs/requirements/CONFORMANCE_GAPS.md | 38 +++++++++++++++++------ specs/requirements/VERIFICATION_MATRIX.md | 1 + 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/specs/requirements/CONFORMANCE_GAPS.md b/specs/requirements/CONFORMANCE_GAPS.md index 1acd78662..d8fde72bd 100644 --- a/specs/requirements/CONFORMANCE_GAPS.md +++ b/specs/requirements/CONFORMANCE_GAPS.md @@ -1842,6 +1842,26 @@ Mutation controls, run on 2026-09-30 and restored byte for byte: Known cost: the first time a receiver meets a payer it validates the payer's segment twice, once in prevalidation and once when it validates its own admission's credit, because a frontier recorded at the target cannot start a verification of that target. Recording every coordinate validated on the way would reduce the second to one step. +### 6.53 Mirror liveness and five route-chain rows re-verified (`test/storage-batch-2`, 2026-10-01) + +**A silent set-mate held the mirror sync.** +- The node's set client had no connect or request timeout, and `mirror_sync` holds a node-wide one-at-a-time lock. +- A set-mate that accepted the connection and never answered held the sync, and with it every later sync on that node, open indefinitely. +- The set client now gives up after 5 s to connect and 10 s per request, failing the fetch as an unreachable set-mate does (BAD_GATEWAY, lock released). A sync fetches at most 128 cycles per member instead of 1024, so one call stays inside the SDK's 30 s request bound; later calls continue. +- Test: `dsm_storage_node::bytecommit_chain::a_set_mate_that_never_answers_fails_the_sync_and_frees_it`. +- Mutation control: the timeouts removed → red, "sync 0 hung on a set-mate that never answers". +- In the SDK, `route_seats::read_cell` now asks every seat at once (values, cycle closes, mirror syncs), with the answers kept in route order. A silent seat costs one client timeout instead of one per seat. + +**Five storage rows marked Missing described a codebase without route chains.** Re-verified against the specification and `main`; none has a manifest row. + +| Row | Was | Now | Why | +|---|---|---|---| +| MR-STOR-0131 | Missing (no link type) | Met | A link is the seat's arrival record of an entry that carries its position and the chain before it. | +| MR-STOR-0133 | Missing (copy count) | Met | A later link needs the leader link's chain, a higher position, and its seat's mirror of the leader. | +| MR-STOR-0138 | Missing (no Preserved) | Met | Core reads Preserved; every consumer treats it as not final. | +| MR-STOR-0094 | Missing (no SDK caller) | Met | Mirrors must agree; Core checks the chain link and the root itself. | +| MR-STOR-0134 | Missing (copy counters) | Partial | No-response empties are recorded and never count; taken empties are not built. | + ## 7 Totals | Spec | Rows | Met | Partial | Missing | Violated | Not code | Deferred | @@ -1849,9 +1869,9 @@ Known cost: the first time a receiver meets a payer it validates the payer's seg | DSM high-level (MR-DSM) | 276 | 94 | 96 | 39 | 0 | 29 | 18 | | SoFi (MR-SOFI) | 348 | 223 | 86 | 18 | 4 | 17 | 0 | | dBTC (MR-DBTC) | 135 | 0 | 0 | 0 | 0 | 0 | 135 | -| Storage node (MR-STOR) | 158 | 60 | 18 | 61 | 0 | 18 | 1 | +| Storage node (MR-STOR) | 158 | 64 | 19 | 56 | 0 | 18 | 1 | | Storage §14 lines added after the pin (STOR-014) | 11 | 9 | 1 | 1 | 0 | 0 | 0 | -| **All** | **928** | **386** | **201** | **119** | **4** | **64** | **154** | +| **All** | **928** | **390** | **202** | **114** | **4** | **64** | **154** | ## 8 Per-requirement results @@ -2508,7 +2528,7 @@ The deferral also covers MR-DSM-0198 and MR-DSM-0221–0237 (§6.1), and the dBT | MR-STOR-0005 | Partial | dsm_storage_node · crate-wide (no key/sign symbols) | no test found | True today; no gate or test fails if a key or signing path is added | | MR-STOR-0006 | Met | `dsm_storage_node::api::transport::b0x::router`; `dsm_storage_node::api::objects::immutable::put_immutable` | `dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened`; `dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes` | The legacy object store, PaidK, `device_auth` and the registry are deleted (#992, §6.28; re-examined 2026-09-27, §6.36 H). The node decodes nothing it holds and branches on no content. | | MR-STOR-0007 | Met | `dsm_storage_node::api::transport::b0x::router`; `dsm_storage_node::api::objects::immutable::put_immutable` | `dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened`; `dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes` | As MR-STOR-0006. | -| MR-STOR-0008 | Partial | dsm_storage_node · crate-wide (logical ticks, BIGSERIAL) | no test found | No clock reads; no enforcing test | +| MR-STOR-0008 | Partial | dsm_storage_node · crate-wide (logical ticks, BIGSERIAL) | no test found | No clock reads; no enforcing test. The set client now bounds how long a node waits for a set-mate (connect 5 s, request 10 s; §6.53). A fetch that times out stores nothing and orders nothing, so no protocol fact reads the clock. | | MR-STOR-0009 | Met | `dsm_storage_node::api::objects::bytecommit::mirror_sync`; `dsm_storage_node::set_client::pinned_set_client` | `dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself`; `dsm_storage_node::bytecommit_chain::an_impostor_at_a_set_mates_endpoint_is_not_mirrored` | There is no gossip, election or vote between nodes. A node's one exchange with a set-mate is mirror sync: it fetches that member's ByteCommits from it, at the endpoint its own configuration names, and decides nothing (storage §14). | | MR-STOR-0010 | Met | `dsm_storage_node::api::transport::b0x::router`; `dsm_storage_node::api::objects::immutable::put_immutable` | `dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened`; `dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes` | As MR-STOR-0006. | | MR-STOR-0011 | Partial | dsm_storage_node · crate-wide | no test found | True today; not regression-proof | @@ -2594,7 +2614,7 @@ The deferral also covers MR-DSM-0198 and MR-DSM-0221–0237 (§6.1), and the dBT | MR-STOR-0091 | Missing | — | — | api/registry/scaling.rs, with GRACE_CYCLES and its tests, was deleted in #976, and no pruning grace period exists anywhere in the node now. | | MR-STOR-0092 | Missing | — | — | As MR-STOR-0087. | | MR-STOR-0093 | Met | `dsm_storage_node::db::pg::close_cycle`; `dsm::storage_cell::ByteCommit` | `dsm::storage_cell::tests::the_bytecommit_digest_matches_the_spec_construction`; `dsm_storage_node::bytecommit_chain::cycles_close_over_new_entries_and_commit_their_records` | Confirmed. | -| MR-STOR-0094 | Missing | — (no dsm_sdk caller of `record_is_committed`/`CellCommitProof`) | no test found | Confirmed via grep: zero hits in dsm_sdk. | +| MR-STOR-0094 | Met | `dsm::route_chain::evaluate`; `dsm_sdk::sdk::route_seats::read_cell` | `dsm::route_chain::tests::a_byte_commit_backs_a_link_only_when_it_follows_its_parent`; `dsm::route_chain::tests::a_leader_link_counts_only_once_a_byte_commit_commits_it`; `dsm_sdk::sdk::route_seats::tests::two_mirrors_holding_different_byte_commits_give_none` | Re-verified 2026-10-01 (§6.53). A mirrored ByteCommit is taken only when every answering mirror holds the same one, and any disagreement leaves it unestablished: a consistency rule, not a count. Core then checks the chain link to the parent ByteCommit and the root through the member's proof itself. | | MR-STOR-0095 | Missing | dsm_storage_node · api/registry/scaling.rs (signals stored, never checked against ByteCommits) | no test found | Confirmed. | | MR-STOR-0096 | Met | `dsm::storage_cell::entry_digest`; `dsm::storage_cell::running_hash_next`; `dsm_storage_node::db::pg::append_cell_entry` | `dsm::storage_cell::tests::the_running_hash_matches_the_spec_construction`; `dsm::storage_cell::tests::any_change_to_earlier_entries_breaks_later_records` | Confirmed. | | MR-STOR-0097 | Partial | dsm · storage_cell.rs · `ByteCommit::is_drain_proof`; dsm_storage_node · api/registry/scaling.rs · `submit_applicant` (stake_dlv stored opaque) | dsm::storage_cell::tests::`a_drain_proof_is_two_linked_empty_bytecommits` | Predicate exists and is tested in isolation; no stake-unlock caller wires it. | @@ -2631,16 +2651,16 @@ The deferral also covers MR-DSM-0198 and MR-DSM-0221–0237 (§6.1), and the dBT | MR-STOR-0128 | Missing | — | no test found | Confirmed; no Part III succession exists to refine SoFi membership. | | MR-STOR-0129 | Met | `dsm_storage_node::api::cells::put_cell`; `dsm_storage_node::api::cells::get_cell`; `dsm::storage_cell::ArrivalRecord` | `dsm_storage_node::cells_keep_everything::a_put_answers_with_the_arrival_record_a_verifier_replays` | Confirmed. | | MR-STOR-0130 | Met | `dsm_sdk::sdk::route_seats::write_recorded`; `dsm_sdk::sdk::route_seats::write_along` | `dsm_sdk::sdk::route_seats::tests::nothing_reaches_a_later_seat_before_the_leader_answers`; `dsm_sdk::sdk::route_seats::tests::a_seat_that_does_not_answer_is_recorded_empty_in_its_place`; `dsm_sdk::sdk::route_seats::tests::a_recorded_position_is_never_written_again` | Re-verified 2026-09-30 (§6.50): the writer goes leader first, each copy carries the chain built so far, and a stopped write continues from its own record, never from copies. `put_cell_leader_first`, which it cited, is deleted. | -| MR-STOR-0131 | Missing | — (no `RouteEntryV1`/link type in proto or Rust) | no test found | Confirmed via grep of `proto/dsm_app.proto` and repo-wide search. | +| MR-STOR-0131 | Met | `dsm::route_chain::evaluate`; `dsm_sdk::sdk::route_seats::write_recorded` | `dsm::route_chain::tests::an_entry_carries_one_slot_per_earlier_position_and_round_trips`; `dsm::route_chain::tests::a_copy_at_another_position_or_of_another_value_does_not_count`; `dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count` | Re-verified 2026-10-01 (§6.53). A link is a seat's arrival record for the copy written there (`ChainSlot::Link`). The record names the member and the cell, and commits the entry, which carries its route position and the chain before it, so each link commits the previous one. | | MR-STOR-0132 | Met | `dsm::route_chain::evaluate` | `dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell`; `dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing`; `dsm::route_chain::tests::a_leader_holding_no_recognized_value_leaves_the_cell_open` | Re-verified 2026-09-30 (§6.50): the leader link is the first recognized object naming the cell in the leader's log, and junk first at the leader blocks nothing. The superseded rule in `sofi/arith.rs` is deleted. | -| MR-STOR-0133 | Missing | dsm · sofi/arith.rs::`resolve` (copy count only) | arith::tests::`copies_count_wherever_the_value_sits_in_a_copys_list` (demonstrates the count-only mechanism this requirement replaces, not compliance) | Confirmed no chain-validity, position, or mirror-coverage check anywhere. | -| MR-STOR-0134 | Missing | dsm_sdk · sdk/storage_io.rs::`CellWrite{leader_reached,copies}` | no test found | Confirmed: aggregate counters only, no per-seat empty (`taken`/`no_response`) tracking. | +| MR-STOR-0133 | Met | `dsm::route_chain::evaluate` | `dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count`; `dsm::route_chain::tests::a_copy_at_another_position_or_of_another_value_does_not_count`; `dsm::route_chain::tests::a_later_link_needs_its_seats_mirror_of_the_leader_link`; `dsm::route_chain::tests::a_later_link_needs_its_own_byte_commit_and_valid_carried_links` | Re-verified 2026-10-01 (§6.53). A later link counts only on a chain from the leader link, at a position above every earlier link's, and when its seat's own mirror of the leader's ByteCommits covers the leader link. The copy-count rule it cited (`sofi/arith.rs`) is deleted. | +| MR-STOR-0134 | Partial | `dsm_sdk::sdk::route_seats::write_along`; `dsm::route_chain::evaluate` | `dsm_sdk::sdk::route_seats::tests::a_seat_that_does_not_answer_is_recorded_empty_in_its_place`; `dsm::route_chain::tests::an_empty_neither_counts_nor_invalidates` | Re-verified 2026-10-01 (§6.53). A seat that does not answer is recorded as a no-response empty in its place, and Core counts no empty as a link. The writer never records a taken empty: nothing in the SDK produces `ChainSlot::Taken`, which would need the writer to read that another value's chain is already first at the seat. | | MR-STOR-0135 | Met | `dsm_storage_node::api::cells::put_cell`; `dsm_storage_node::api::cells::get_cell` | `dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused`; `dsm_storage_node::cells_keep_everything::an_identical_value_put_twice_is_held_twice` | Confirmed. | | MR-STOR-0136 | Met | `dsm_sdk::sdk::route_seats::write_along`; `dsm::route_chain::evaluate` | `dsm_sdk::sdk::route_seats::tests::a_seat_that_does_not_answer_is_recorded_empty_in_its_place`; `dsm::route_chain::tests::a_leader_link_counts_only_once_a_byte_commit_commits_it`; `dsm::route_chain::tests::a_later_link_needs_its_own_byte_commit_and_valid_carried_links` | Re-verified 2026-09-30 (§6.50): the writer carries each link into the next copy at once, with no cycle closed between seats, and Core counts a link only once a ByteCommit commits its arrival record. | | MR-STOR-0137 | Met | `dsm_sdk::sdk::route_seats::write_along`; `dsm_sdk::sdk::route_seats::continue_write` | `dsm_sdk::sdk::route_seats::tests::a_seat_that_does_not_answer_is_recorded_empty_in_its_place`; `dsm_sdk::sdk::route_seats::tests::a_recorded_position_is_never_written_again` | Re-verified 2026-09-30 (§6.50): a write records every one of the five positions, and a chain that stopped is continued along the remaining route. `put_cells_leader_first`, which it cited, is deleted. | -| MR-STOR-0138 | Missing | dsm · sofi/arith.rs::`CellResolution`/`ObjectResolution` (only LeaderHeld/Final, no Preserved) | no test found | Confirmed — third state absent from both enums. | +| MR-STOR-0138 | Met | `dsm::route_chain::evaluate`; `dsm::economic::peer_lineage::validate_peer_lineage` | `dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held`; `dsm::sofi::conformance::tests::item_5_an_earlier_attempt_must_be_final` | Re-verified 2026-10-01 (§6.53). Core reads `Preserved` as a leader link plus one further link. Every consumer treats it as not final: the peer walk reports it incomplete, registration and SoFi conformance wait on it, and the reserve read stays at `LeaderHeld`. Receivers rely only on `Final`. | | MR-STOR-0139 | Missing | — | no test found | Confirmed; no loss-marker/pre-loss code anywhere. | -| MR-STOR-0140 | Met | `dsm_storage_node::api::objects::bytecommit::sync_one`; `dsm_storage_node::api::objects::bytecommit::fetch_commit` | `dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself` | Confirmed. | +| MR-STOR-0140 | Met | `dsm_storage_node::api::objects::bytecommit::sync_one`; `dsm_storage_node::api::objects::bytecommit::fetch_commit`; `dsm_storage_node::set_client::pinned_set_client` | `dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself`; `dsm_storage_node::bytecommit_chain::a_set_mate_that_never_answers_fails_the_sync_and_frees_it` | Confirmed. A set-mate that never answers fails the sync within the set client's bounds instead of holding it, so it cannot stop the node mirroring the others (§6.53). | | MR-STOR-0141 | Met | `dsm_storage_node::api::objects::bytecommit::fetch_commit`; `dsm_storage_node::db::pg::mirror_put` (echo-id check) | `dsm_storage_node::bytecommit_chain::an_impostor_at_a_set_mates_endpoint_is_not_mirrored` | Confirmed. | | MR-STOR-0142 | Met | `dsm_storage_node::db::pg::mirror_put` (ON CONFLICT DO NOTHING) | `dsm_storage_node::bytecommit_chain::a_rewritten_cycle_is_kept_beside_the_first` | Confirmed. | | MR-STOR-0143 | Not code | — | — | Proof obligation. G15: the existing finality tests and formal model prove the superseded copy rule and must be redone for route chains (ChatGPT CG-13). | diff --git a/specs/requirements/VERIFICATION_MATRIX.md b/specs/requirements/VERIFICATION_MATRIX.md index 80f6c1283..57a1a1333 100644 --- a/specs/requirements/VERIFICATION_MATRIX.md +++ b/specs/requirements/VERIFICATION_MATRIX.md @@ -91,6 +91,7 @@ Tests named `dsm_sdk::…` run on devices created as wallet creation creates the | MR-SOFI-0151, MR-SOFI-0144, SoFi §17.1 P conformance 2, 3, 8: P's key is its parent claim's — the verifying single-root claim P names at `(G, DevID, p, P.void_root)`, or the `F` whose id a conditional parent names — and `𝒞_E^pre` carries P's typed parent reference | `dsm` · sofi/conformance.rs · `parent_binds_the_key`, `fulfillment_conformance`; sofi/validation.rs · `validate`; `dsm_sdk` · sdk/sofi_sdk.rs · `pre_e_closure`; sdk/sofi_register.rs · `gather_conformance` | `dsm::sofi::conformance::tests::a_precommit_under_a_key_its_parent_claim_does_not_carry_does_not_conform`; `dsm::sofi::conformance::tests::a_parent_claim_of_another_position_or_root_does_not_conform`; `dsm::sofi::conformance::tests::a_parent_that_is_not_a_verifying_claim_does_not_conform`; `dsm::sofi::conformance::tests::a_parent_the_closure_does_not_reference_does_not_conform`; `dsm::sofi::conformance::tests::a_conditional_parent_binds_p_to_the_key_of_the_f_that_installed_it`; `dsm::sofi::validation::tests::a_precommit_naming_a_parent_its_closure_does_not_carry_is_invalid`; `dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end` | Fourteen mutations, each red on its named test (2026-09-25): rule 2 in `validate` and in conformance; the single-root key; genesis, device, position, root; the conditional key, position and id; the claim signature; the producer closure emptied; the parent F not fetched; `C_p` routed by `P.void_root`. | — | | MR-STOR-0034, MR-STOR-0145: the spool keeps every envelope unopened; a reused message id is kept, not dropped | `dsm_storage_node` · api/transport/b0x.rs · `submit`, `spool_insert` | `dsm_storage_node::api::transport::b0x::tests::an_envelope_reusing_a_message_id_is_kept_after_the_first`; `dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened` | The id dedupe restored → the first red; decode restored on submit → the second red (2026-09-25). | — | | MR-STOR-0009: mirror sync reports a failed set-mate, never "0 new" | `dsm_storage_node` · api/objects/bytecommit.rs · `mirror_sync` | `dsm_storage_node::bytecommit_chain::an_unreachable_set_mate_fails_the_sync`; `dsm_storage_node::bytecommit_chain::a_node_in_no_set_refuses_a_mirror_sync` | A partial sync answered 204 → the first red; a set-less sync answered 204 → the second red (2026-09-25). | — | +| MR-STOR-0140: a set-mate that never answers fails the sync within the set client's bounds and frees it | `dsm_storage_node` · set_client.rs · `pinned_set_client` (connect and request timeouts) | `dsm_storage_node::bytecommit_chain::a_set_mate_that_never_answers_fails_the_sync_and_frees_it` | Timeouts removed from the set client → red, "sync 0 hung on a set-mate that never answers" (2026-10-01). | — | | The inbox poller reads `storage.sync`'s local answer | `dsm_sdk` · sdk/inbox_poller.rs · `decode_sync_response` | `dsm_sdk::sdk::inbox_poller::tests::a_storage_sync_answer_as_the_router_frames_it_is_read` | The addressed decoder restored → red (2026-09-25). | — | | Owner ruling 2026-09-24: a contact is stored with its directory AK, its Kyber key and its `h_0`, or not at all | `dsm_sdk` · storage/client_db/contacts.rs · `store_contact` | `dsm_sdk::storage::client_db::contacts::tests::a_contact_without_its_keys_or_its_tip_is_refused` | The Kyber key not required → red (2026-09-25). | — | | A stored relationship tip is read or is an error, never "no tip" | `dsm_sdk` · storage/client_db/contacts.rs · `read_contact_tip` | `dsm_sdk::storage::client_db::contacts::tests::a_corrupt_stored_tip_is_an_error_not_an_absent_tip`; `dsm_sdk::storage::client_db::contacts::tests::a_device_id_that_is_not_32_bytes_is_an_error_not_an_absent_contact` | A short tip read as absent → red; a NULL tip read as absent → red (2026-09-25). | — | From d7521572eff4350607be87ea4a9602b6b2be093f Mon Sep 17 00:00:00 2001 From: Cryptskii <47649969+cryptskii@users.noreply.github.com> Date: Thu, 1 Oct 2026 02:22:21 -0400 Subject: [PATCH 07/10] test(storage): no node source reads a clock (MR-STOR-0008) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every node source is parsed with syn, reading paths, `use` trees and macro bodies. Any clock or timer is refused: Instant, SystemTime, UNIX_EPOCH, chrono, tokio::time. A comment or string never counts. The self-test covers grouped, renamed and glob imports and a macro body; a first token-window draft missed the grouped import. Mutation controls, red and then restored: - a grouped-import tokio::time sleep in the spool; - Instant::now() in db/pg.rs. ci/no_clock_and_no_json.sh loses two node exemptions: the spool, which reads no clock, and a rate limiter that no longer exists. A clock read in the spool now fails it too. MR-STOR-0008 Partial → Met. --- Cargo.lock | 2 + ci/no_clock_and_no_json.sh | 2 - dsm_storage_node/Cargo.toml | 3 + dsm_storage_node/tests/no_clock_reads.rs | 175 ++++++++++++++++++++++ specs/requirements/CONFORMANCE_GAPS.md | 15 +- specs/requirements/VERIFICATION_MATRIX.md | 1 + 6 files changed, 193 insertions(+), 5 deletions(-) create mode 100644 dsm_storage_node/tests/no_clock_reads.rs diff --git a/Cargo.lock b/Cargo.lock index 6ed2b7482..4d3631e8a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1285,12 +1285,14 @@ dependencies = [ "dsm", "futures", "log", + "proc-macro2", "prost 0.14.4", "rand 0.8.6", "rcgen", "reqwest", "rustls", "rustls-pki-types", + "syn", "tokio", "tokio-postgres", "tokio-postgres-rustls", diff --git a/ci/no_clock_and_no_json.sh b/ci/no_clock_and_no_json.sh index b73156e59..be22f47bd 100755 --- a/ci/no_clock_and_no_json.sh +++ b/ci/no_clock_and_no_json.sh @@ -63,8 +63,6 @@ common_allow_globs=( # other operational controls. They remain subject to the JSON/encoding/version gates. clock_allow_globs=( "${common_allow_globs[@]}" - --glob '!**/api/infra/rate_limit.rs' # transport-layer DoS rate limiting (permitted) - --glob '!**/api/transport/b0x.rs' # transport-layer rate limiting (permitted) --glob '!**/jni/ble_events.rs' # BLE event buffering / runtime wakeups --glob '!**/deterministic_state_machine/dsm_sdk/src/sdk/bluetooth_transport.rs' # BLE retries / ACK timeouts / reconnect backoff --glob '!**/deterministic_state_machine/dsm_sdk/src/bluetooth/pairing_orchestrator.rs' # BLE handshake freshness / retry windows diff --git a/dsm_storage_node/Cargo.toml b/dsm_storage_node/Cargo.toml index a43d4be78..923bc9532 100644 --- a/dsm_storage_node/Cargo.toml +++ b/dsm_storage_node/Cargo.toml @@ -59,4 +59,7 @@ name = "storage_node" path = "src/main.rs" [dev-dependencies] +# Parse the node's own sources for clock reads (tests/no_clock_reads.rs). +proc-macro2 = "1" rcgen = "0.14.8" +syn = { version = "2", features = ["full", "visit"] } diff --git a/dsm_storage_node/tests/no_clock_reads.rs b/dsm_storage_node/tests/no_clock_reads.rs new file mode 100644 index 000000000..fa182fc2f --- /dev/null +++ b/dsm_storage_node/tests/no_clock_reads.rs @@ -0,0 +1,175 @@ +// SPDX-License-Identifier: Apache-2.0 +//! No storage-node source reads a clock or runs a timer: ordering inside a +//! node is its arrival sequence, and a cycle closes when asked, never on a +//! schedule (storage spec §1 rule 4, §14). Every file under `src/` is parsed: +//! paths and `use` trees are read whole, so a grouped or renamed import is +//! seen, and an unparsed macro body is read token by token. A name in a +//! comment or a string never counts. Bounding how long a client waits for a +//! set-mate is a `Duration` handed to the HTTP client; it reads nothing. + +mod common; + +use proc_macro2::{TokenStream, TokenTree}; +use std::path::{Path, PathBuf}; +use syn::visit::Visit; +use syn::UseTree; + +/// Names only a clock read, a timestamp or a timer needs. +const CLOCK_NAMES: [&str; 4] = ["Instant", "SystemTime", "UNIX_EPOCH", "chrono"]; + +#[derive(Default)] +struct Clocks { + found: Vec, +} + +impl Clocks { + fn path(&mut self, segments: &[String]) { + for name in segments { + if CLOCK_NAMES.contains(&name.as_str()) { + self.found.push(name.clone()); + } + } + if segments + .windows(2) + .any(|pair| pair[0] == "tokio" && pair[1] == "time") + { + self.found.push("tokio::time".to_string()); + } + } +} + +/// Every full path a `use` tree brings into scope. A glob ends at its +/// prefix, so `use tokio::*` is the path `tokio`, which brings `time` in. +fn use_paths(tree: &UseTree, prefix: Vec, out: &mut Vec>) { + match tree { + UseTree::Path(step) => { + let mut next = prefix; + next.push(step.ident.to_string()); + use_paths(&step.tree, next, out); + } + UseTree::Name(leaf) => { + let mut full = prefix; + full.push(leaf.ident.to_string()); + out.push(full); + } + UseTree::Rename(leaf) => { + let mut full = prefix; + full.push(leaf.ident.to_string()); + out.push(full); + } + UseTree::Glob(_) => { + let mut full = prefix; + if full == ["tokio"] { + full.push("time".to_string()); + } + out.push(full); + } + UseTree::Group(group) => { + for item in &group.items { + use_paths(item, prefix.clone(), out); + } + } + } +} + +/// A macro body's identifiers and punctuation in order, with every literal +/// as an empty token so nothing joins across it. +fn tokens(stream: TokenStream, out: &mut Vec) { + for tree in stream { + match tree { + TokenTree::Group(group) => tokens(group.stream(), out), + TokenTree::Ident(ident) => out.push(ident.to_string()), + TokenTree::Punct(punct) => out.push(punct.as_char().to_string()), + TokenTree::Literal(_) => out.push(String::new()), + } + } +} + +impl<'ast> Visit<'ast> for Clocks { + fn visit_path(&mut self, path: &'ast syn::Path) { + let segments: Vec = path.segments.iter().map(|s| s.ident.to_string()).collect(); + self.path(&segments); + syn::visit::visit_path(self, path); + } + + fn visit_item_use(&mut self, item: &'ast syn::ItemUse) { + let mut paths = Vec::new(); + use_paths(&item.tree, Vec::new(), &mut paths); + for path in paths { + self.path(&path); + } + } + + fn visit_macro(&mut self, mac: &'ast syn::Macro) { + let mut flat = Vec::new(); + tokens(mac.tokens.clone(), &mut flat); + let joined: Vec = flat + .split(|t| t == ":") + .filter(|run| !run.is_empty()) + .flat_map(|run| run.iter().cloned()) + .collect(); + self.path(&joined); + syn::visit::visit_macro(self, mac); + } +} + +fn sources(dir: &Path, found: &mut Vec) { + for entry in common::ok_or_panic(std::fs::read_dir(dir), "list a source directory") { + let path = common::ok_or_panic(entry, "read a source directory entry").path(); + if path.is_dir() { + sources(&path, found); + } else if path.extension().is_some_and(|ext| ext == "rs") { + found.push(path); + } + } +} + +fn clock_reads(source: &str, context: &str) -> Vec { + let file = common::ok_or_panic(syn::parse_file(source), context); + let mut clocks = Clocks::default(); + clocks.visit_file(&file); + clocks.found +} + +#[test] +fn a_clock_read_is_found_and_a_comment_or_string_is_not() { + let reads = + "fn f() { let t = std::time::Instant::now(); log::info!(\"{:?}\", SystemTime::now()); }"; + assert_eq!(clock_reads(reads, "parse reads"), ["Instant", "SystemTime"]); + let grouped = "use tokio::{sync::Mutex, time};"; + assert_eq!( + clock_reads(grouped, "parse a grouped import"), + ["tokio::time"] + ); + let renamed = "use std::time::Instant as Tick; fn f() { Tick::now(); }"; + assert_eq!(clock_reads(renamed, "parse a renamed import"), ["Instant"]); + let glob = "use tokio::*; fn f() { time::sleep(d); }"; + assert_eq!(clock_reads(glob, "parse a glob import"), ["tokio::time"]); + let in_macro = "fn f() { tokio::select! { _ = tokio::time::sleep(d) => {} } }"; + assert_eq!(clock_reads(in_macro, "parse a macro body"), ["tokio::time"]); + let quiet = + "// Instant::now()\n/// SystemTime\nfn f() -> &'static str { \"tokio::time chrono\" }"; + assert_eq!(clock_reads(quiet, "parse quiet"), Vec::::new()); +} + +#[test] +fn no_node_source_reads_a_clock() { + let root = Path::new(env!("CARGO_MANIFEST_DIR")).join("src"); + let mut files = Vec::new(); + sources(&root, &mut files); + for expected in ["lib.rs", "main.rs", "api/transport/b0x.rs", "set_client.rs"] { + assert!(files.contains(&root.join(expected)), "{expected} not swept"); + } + let mut found = Vec::new(); + for file in &files { + let source = common::ok_or_panic(std::fs::read_to_string(file), "read a node source"); + for name in clock_reads(&source, &file.display().to_string()) { + found.push(format!("{}: {name}", file.display())); + } + } + assert_eq!( + found, + Vec::::new(), + "node sources that read a clock" + ); +} diff --git a/specs/requirements/CONFORMANCE_GAPS.md b/specs/requirements/CONFORMANCE_GAPS.md index d8fde72bd..d9baab7a0 100644 --- a/specs/requirements/CONFORMANCE_GAPS.md +++ b/specs/requirements/CONFORMANCE_GAPS.md @@ -1862,6 +1862,15 @@ Known cost: the first time a receiver meets a payer it validates the payer's seg | MR-STOR-0094 | Missing (no SDK caller) | Met | Mirrors must agree; Core checks the chain link and the root itself. | | MR-STOR-0134 | Missing (copy counters) | Partial | No-response empties are recorded and never count; taken empties are not built. | +**MR-STOR-0008 enforced.** +- Its "no enforcing test" was accurate for the node: `ci/no_clock_and_no_json.sh` scans line by line, and it exempted the spool (`api/transport/b0x.rs`) and a rate limiter that no longer exists. +- `dsm_storage_node::no_clock_reads` parses every node source with `syn`, reading `use` trees whole and macro bodies token by token, and refuses any clock or timer. +- Its self-test covers a grouped import, a renamed import, a glob, a macro body, and a comment and string that must not count. A first token-window draft missed `use tokio::{sync::Mutex, time}`; that self-test caught it. +- Mutation controls, each red and then restored: + - a `tokio::time` sleep imported through a group, in the spool; + - `std::time::Instant::now()` in `db/pg.rs`. +- The script's two node exemptions are removed. A clock read in the spool now also fails it (checked, then restored). + ## 7 Totals | Spec | Rows | Met | Partial | Missing | Violated | Not code | Deferred | @@ -1869,9 +1878,9 @@ Known cost: the first time a receiver meets a payer it validates the payer's seg | DSM high-level (MR-DSM) | 276 | 94 | 96 | 39 | 0 | 29 | 18 | | SoFi (MR-SOFI) | 348 | 223 | 86 | 18 | 4 | 17 | 0 | | dBTC (MR-DBTC) | 135 | 0 | 0 | 0 | 0 | 0 | 135 | -| Storage node (MR-STOR) | 158 | 64 | 19 | 56 | 0 | 18 | 1 | +| Storage node (MR-STOR) | 158 | 65 | 18 | 56 | 0 | 18 | 1 | | Storage §14 lines added after the pin (STOR-014) | 11 | 9 | 1 | 1 | 0 | 0 | 0 | -| **All** | **928** | **390** | **202** | **114** | **4** | **64** | **154** | +| **All** | **928** | **391** | **201** | **114** | **4** | **64** | **154** | ## 8 Per-requirement results @@ -2528,7 +2537,7 @@ The deferral also covers MR-DSM-0198 and MR-DSM-0221–0237 (§6.1), and the dBT | MR-STOR-0005 | Partial | dsm_storage_node · crate-wide (no key/sign symbols) | no test found | True today; no gate or test fails if a key or signing path is added | | MR-STOR-0006 | Met | `dsm_storage_node::api::transport::b0x::router`; `dsm_storage_node::api::objects::immutable::put_immutable` | `dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened`; `dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes` | The legacy object store, PaidK, `device_auth` and the registry are deleted (#992, §6.28; re-examined 2026-09-27, §6.36 H). The node decodes nothing it holds and branches on no content. | | MR-STOR-0007 | Met | `dsm_storage_node::api::transport::b0x::router`; `dsm_storage_node::api::objects::immutable::put_immutable` | `dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened`; `dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes` | As MR-STOR-0006. | -| MR-STOR-0008 | Partial | dsm_storage_node · crate-wide (logical ticks, BIGSERIAL) | no test found | No clock reads; no enforcing test. The set client now bounds how long a node waits for a set-mate (connect 5 s, request 10 s; §6.53). A fetch that times out stores nothing and orders nothing, so no protocol fact reads the clock. | +| MR-STOR-0008 | Met | `dsm_storage_node::db::pg::put_cell`; `dsm_storage_node::db::pg::close_cycle` | `dsm_storage_node::no_clock_reads::no_node_source_reads_a_clock`; `dsm_storage_node::no_clock_reads::a_clock_read_is_found_and_a_comment_or_string_is_not` | Enforced 2026-10-01 (§6.53). Arrival order is a database sequence and a cycle closes when asked. Every node source is parsed, and no path, `use` tree or macro body names a clock or a timer (`Instant`, `SystemTime`, `UNIX_EPOCH`, `chrono`, `tokio::time`). The set client's connect and request bounds are a `Duration` given to the HTTP client: a fetch that times out stores and orders nothing. | | MR-STOR-0009 | Met | `dsm_storage_node::api::objects::bytecommit::mirror_sync`; `dsm_storage_node::set_client::pinned_set_client` | `dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself`; `dsm_storage_node::bytecommit_chain::an_impostor_at_a_set_mates_endpoint_is_not_mirrored` | There is no gossip, election or vote between nodes. A node's one exchange with a set-mate is mirror sync: it fetches that member's ByteCommits from it, at the endpoint its own configuration names, and decides nothing (storage §14). | | MR-STOR-0010 | Met | `dsm_storage_node::api::transport::b0x::router`; `dsm_storage_node::api::objects::immutable::put_immutable` | `dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened`; `dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes` | As MR-STOR-0006. | | MR-STOR-0011 | Partial | dsm_storage_node · crate-wide | no test found | True today; not regression-proof | diff --git a/specs/requirements/VERIFICATION_MATRIX.md b/specs/requirements/VERIFICATION_MATRIX.md index 57a1a1333..d464a9265 100644 --- a/specs/requirements/VERIFICATION_MATRIX.md +++ b/specs/requirements/VERIFICATION_MATRIX.md @@ -92,6 +92,7 @@ Tests named `dsm_sdk::…` run on devices created as wallet creation creates the | MR-STOR-0034, MR-STOR-0145: the spool keeps every envelope unopened; a reused message id is kept, not dropped | `dsm_storage_node` · api/transport/b0x.rs · `submit`, `spool_insert` | `dsm_storage_node::api::transport::b0x::tests::an_envelope_reusing_a_message_id_is_kept_after_the_first`; `dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened` | The id dedupe restored → the first red; decode restored on submit → the second red (2026-09-25). | — | | MR-STOR-0009: mirror sync reports a failed set-mate, never "0 new" | `dsm_storage_node` · api/objects/bytecommit.rs · `mirror_sync` | `dsm_storage_node::bytecommit_chain::an_unreachable_set_mate_fails_the_sync`; `dsm_storage_node::bytecommit_chain::a_node_in_no_set_refuses_a_mirror_sync` | A partial sync answered 204 → the first red; a set-less sync answered 204 → the second red (2026-09-25). | — | | MR-STOR-0140: a set-mate that never answers fails the sync within the set client's bounds and frees it | `dsm_storage_node` · set_client.rs · `pinned_set_client` (connect and request timeouts) | `dsm_storage_node::bytecommit_chain::a_set_mate_that_never_answers_fails_the_sync_and_frees_it` | Timeouts removed from the set client → red, "sync 0 hung on a set-mate that never answers" (2026-10-01). | — | +| MR-STOR-0008: no node source reads a clock or runs a timer | `dsm_storage_node` · every file under src/ (parsed: paths, `use` trees, macro bodies) | `dsm_storage_node::no_clock_reads::no_node_source_reads_a_clock`; `dsm_storage_node::no_clock_reads::a_clock_read_is_found_and_a_comment_or_string_is_not` | A grouped-import `tokio::time` sleep in api/transport/b0x.rs → red; `std::time::Instant::now()` in db/pg.rs → red (2026-10-01). | — | | The inbox poller reads `storage.sync`'s local answer | `dsm_sdk` · sdk/inbox_poller.rs · `decode_sync_response` | `dsm_sdk::sdk::inbox_poller::tests::a_storage_sync_answer_as_the_router_frames_it_is_read` | The addressed decoder restored → red (2026-09-25). | — | | Owner ruling 2026-09-24: a contact is stored with its directory AK, its Kyber key and its `h_0`, or not at all | `dsm_sdk` · storage/client_db/contacts.rs · `store_contact` | `dsm_sdk::storage::client_db::contacts::tests::a_contact_without_its_keys_or_its_tip_is_refused` | The Kyber key not required → red (2026-09-25). | — | | A stored relationship tip is read or is an error, never "no tip" | `dsm_sdk` · storage/client_db/contacts.rs · `read_contact_tip` | `dsm_sdk::storage::client_db::contacts::tests::a_corrupt_stored_tip_is_an_error_not_an_absent_tip`; `dsm_sdk::storage::client_db::contacts::tests::a_device_id_that_is_not_32_bytes_is_an_error_not_an_absent_contact` | A short tip read as absent → red; a NULL tip read as absent → red (2026-09-25). | — | From 93a73b4d690c5b8514b0d0899356f60c159fe4c7 Mon Sep 17 00:00:00 2001 From: Cryptskii <47649969+cryptskii@users.noreply.github.com> Date: Thu, 1 Oct 2026 02:24:16 -0400 Subject: [PATCH 08/10] feat(sofi): vaults found by their tokens with setup inside the trade (S16), routes that split (S19), the walk past another trader's SoFi parent, and the wallet's records of SoFi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phone-rig rulings, 2026-10-01. SoFi Amendment S16. A vault's genesis is indexed under each of its tokens; Verifier::vaults_of_token keeps a candidate only when vault_genesis accepts it and its market pairs the token, and an undecided candidate makes the discovery partial. sofi.findRoute reads the two tokens' indexes, needs no setup, and says when its search was partial. set_up_with admits the setup transaction ahead of the first trade, route or close through a vault, after the route is priced. sofi.setup is no longer a route; sofi.vaults lists the device's vaults at their heads, shown under Storage -> DLVs. Beta blocker: a walk that met another trader's exercise parented on that trader's SoFi position stopped (ParentUnresolved), so after any trader traded twice every other device's walk of the vault stalled. The walk now resolves that parent through peer_root_at (economic/peer_lineage.rs, reviewed by CORE), counted only as the position and fulfillment P names; resolving a position bounds each vault's chain at the parent its leg names (chain_until), and verified roots are kept per reads context. SoFi Amendment S19 (owner: "It should be no different. It just happens to be the same token"). A Swap route's hops chain or split across vaults of one pair, summing to the intent; the search proposes the split when it gives the most, and the trade plans it again at the heads it walks. The wallet: token creation, vault creation, setup, trade and close write a history row naming every token moved (TransactionInfo.moves) and rebuild the moved tokens' projections from the head, so a realized trade shows at once. SoFi request amounts are entered in token units and parsed against each token's decimals; reported amounts carry their display form. Records: MR-SOFI-0350-0359, CONFORMANCE §6.53, VERIFICATION_MATRIX, INTENT_MANIFEST; SoFi spec re-pinned. --- .../src/common/domain_tags/dsm/misc/sofi.rs | 6 + .../dsm/src/common/domain_tags/mod.rs | 3 +- .../dsm/src/core/bridge.rs | 4 +- .../dsm/src/economic/peer_lineage.rs | 201 +++++- .../dsm/src/sofi/derive.rs | 11 +- .../dsm/src/sofi/publication.rs | 85 ++- .../dsm/src/sofi/resolve.rs | 227 +++++- .../dsm/src/sofi/validation.rs | 224 +++++- .../dsm/src/sofi/wire/mod.rs | 8 + .../dsm_sdk/src/handlers/app_router_impl.rs | 4 +- .../dsm_sdk/src/handlers/node_e2e_tests.rs | 592 +++++++++++++--- .../src/handlers/sender_admission_tests.rs | 10 +- .../dsm_sdk/src/handlers/sofi_routes.rs | 220 ++++-- .../dsm_sdk/src/handlers/token_routes.rs | 72 +- .../dsm_sdk/src/handlers/wallet_routes.rs | 145 ++++ .../dsm_sdk/src/sdk/mod.rs | 1 + .../dsm_sdk/src/sdk/realized_records.rs | 291 ++++++++ .../dsm_sdk/src/sdk/sofi_advance.rs | 42 +- .../dsm_sdk/src/sdk/sofi_flow.rs | 644 +++++++++++++++--- .../dsm_sdk/src/sdk/sofi_reads.rs | 92 ++- .../dsm_sdk/src/sdk/sofi_sdk.rs | 30 +- .../dsm_sdk/src/sdk/wallet_sdk.rs | 1 + .../src/components/screens/SofiScreen.tsx | 83 +-- .../src/components/screens/StorageScreen.tsx | 91 ++- .../screens/__tests__/SofiScreen.test.tsx | 35 +- .../screens/wallet/TransactionItem.tsx | 34 +- .../wallet/__tests__/TransactionItem.test.tsx | 24 + .../src/components/screens/wallet/helpers.ts | 15 + .../src/domain/__tests__/mappers.test.ts | 46 +- dsm_client/frontend/src/domain/mappers.ts | 35 + dsm_client/frontend/src/domain/types.ts | 30 +- dsm_client/frontend/src/dsm/sofi.ts | 106 ++- dsm_client/frontend/src/proto/dsm_app_pb.ts | 576 ++++++++++++---- .../frontend/src/stores/storageStore.ts | 24 + proto/dsm_app.proto | 119 +++- specs/SoFi_Settlement_Specification.md | 20 + specs/requirements/CONFORMANCE_GAPS.md | 61 +- specs/requirements/INTENT_MANIFEST.tsv | 42 +- specs/requirements/MASTER_REQUIREMENTS.md | 19 +- specs/requirements/VERIFICATION_MATRIX.md | 8 +- 40 files changed, 3587 insertions(+), 694 deletions(-) create mode 100644 dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/realized_records.rs diff --git a/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/dsm/misc/sofi.rs b/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/dsm/misc/sofi.rs index f2b44e635..009086dff 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/dsm/misc/sofi.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/dsm/misc/sofi.rs @@ -117,6 +117,11 @@ pub const TAG_DSM_SOFI_VAULT_ID: TaggedHashDomain<'static> = /// indexed (Part II §11). pub const TAG_DSM_SOFI_VAULT_GENESIS_LOCATOR: TaggedHashDomain<'static> = crate::tagged_domain!(b"DSM/sofi/vault-genesis-locator/v1"); +/// `H(tag ‖ t)` — the locator under which the genesis preimage of every +/// vault whose market pairs token `t` (its policy commit) is indexed, so a +/// vault is found by its tokens (SoFi Amendment S16). +pub const TAG_DSM_SOFI_VAULT_TOKEN_LOCATOR: TaggedHashDomain<'static> = + crate::tagged_domain!(b"DSM/sofi/vault-token-locator/v1"); /// Immutable-store namespace of the EXACT `VaultGenesisPreimage` bytes /// (Part II §10): `addr = immutable_addr(tag, bytes)`; the reader recomputes /// it and `vault_id()` from the bytes. @@ -204,6 +209,7 @@ pub(crate) const SOFI_TAGS: &[TaggedHashDomain<'static>] = &[ TAG_DSM_SOFI_PREIMAGE_LOCATOR, TAG_DSM_SOFI_VAULT_ID, TAG_DSM_SOFI_VAULT_GENESIS_LOCATOR, + TAG_DSM_SOFI_VAULT_TOKEN_LOCATOR, TAG_DSM_SOFI_VAULT_GENESIS_OBJECT, TAG_DSM_SOFI_SETUP_OBJECT, TAG_DSM_SOFI_PRECOMMIT_OBJECT, diff --git a/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/mod.rs b/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/mod.rs index e786408f7..db62bde57 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/mod.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/mod.rs @@ -170,7 +170,8 @@ mod tests { // -1 with the client-edited storage node list: its placement seed was the // network hash domain's only input. // +1 with the TraderPreBalance object namespace (SoFi Amendment S12). - const EXPECTED_TAG_COUNT: usize = 351; + // +1 with the vault token locator (SoFi Amendment S16). + const EXPECTED_TAG_COUNT: usize = 352; /// Scan the crate source for every declared domain-tag constant. /// diff --git a/dsm_client/deterministic_state_machine/dsm/src/core/bridge.rs b/dsm_client/deterministic_state_machine/dsm/src/core/bridge.rs index e4975f1b5..31f0f4d1c 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/core/bridge.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/core/bridge.rs @@ -592,10 +592,10 @@ pub fn handle_envelope_universal(env_bytes: &[u8]) -> Vec { | gp::envelope::Payload::TokenBurnResponse(_) | gp::envelope::Payload::TokenFeeScheduleResponse(_) | gp::envelope::Payload::SofiVaultCreatedResponse(_) - | gp::envelope::Payload::SofiSetupResponse(_) | gp::envelope::Payload::SofiFindRouteResponse(_) | gp::envelope::Payload::SofiPositionResponse(_) - | gp::envelope::Payload::SofiRelayResponse(_), + | gp::envelope::Payload::SofiRelayResponse(_) + | gp::envelope::Payload::SofiVaultsResponse(_), ) => gp::envelope::Payload::Error(gp::Error { code: 409, message: "Responses should not be sent as requests".to_string(), diff --git a/dsm_client/deterministic_state_machine/dsm/src/economic/peer_lineage.rs b/dsm_client/deterministic_state_machine/dsm/src/economic/peer_lineage.rs index c59f04f97..71226d702 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/economic/peer_lineage.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/economic/peer_lineage.rs @@ -287,6 +287,49 @@ pub fn validate_peer_lineage( verifier.segment(peer_genesis, peer_devid, target_position) } +/// The root a peer's lineage selected AT `position`, and the reference a later +/// `P` names that position by (DSM Amendment A8; SoFi Amendment S15): the +/// segment from this receiver's frontier, each step validated in full from its +/// own evidence, with `position` itself resolved through `conditional` when +/// its claim is conditional, exactly as an interior one. A walk resolves +/// another trader's conditional parent with it. +/// +/// Not a debit source: it yields no [`ValidatedPeerTransition`]. Position 0 +/// is the activation root, where no claim was accepted for a `P` to name, and +/// is `Invalid`. Nothing is recorded. +pub fn peer_root_at( + fetcher: &dyn PeerEvidenceFetcher, + expected_network_id: &[u8], + peer_genesis: &[u8; 32], + peer_devid: &[u8; 32], + position: u64, + frontiers: &dyn PeerFrontiers, + conditional: &dyn ConditionalPositionResolver, +) -> Result<(ValidatedEconomicRoot, ParentClaimRef), PeerLineageFailure> { + let verifier = Verifier { + fetcher, + expected_network_id, + register: Register::resolve(fetcher, expected_network_id)?, + frontiers, + conditional, + steps_remaining: std::cell::Cell::new(WALK_STEP_BUDGET), + }; + let below = position.checked_add(1).ok_or_else(|| { + invalid(format!( + "position {position} has no successor to stand below" + )) + })?; + let frontier = verifier.frontier_below(peer_genesis, peer_devid, below)?; + let point = verifier.chain_through(peer_genesis, peer_devid, &frontier, position)?; + let accepted = point.accepted.ok_or_else(|| { + invalid(format!( + "position {position} is the activation root: no claim was accepted there for a P \ + to name as its parent" + )) + })?; + Ok((point.root, accepted)) +} + /// A failure met inside a step, kept in its own class and located at the /// position where it was met. fn at_position(position: u64, failure: PeerLineageFailure) -> PeerLineageFailure { @@ -752,8 +795,34 @@ impl Verifier<'_> { target: u64, ) -> Result { let frontier = self.frontier_below(genesis, device_id, target)?; - let mut point = self.start(&frontier)?; - for position in frontier.economic_position() + 1..target { + let point = self.chain_through(genesis, device_id, &frontier, target - 1)?; + self.spend_step()?; + let claim = self.final_claim(genesis, device_id, target, &point.root)?; + // The target is the step being presented, and a conditional position + // selects no root by its bytes: the peer is mid-route, not forging. + let claim = claim.single_root().map_err(|conditional| { + PeerLineageFailure::Unresolved(format!( + "peer {}/{} at position {target}: {conditional}", + encode_base32_crockford(genesis), + encode_base32_crockford(device_id) + )) + })?; + self.full_step(genesis, device_id, target, &point, claim, StepRole::Segment) + } + + /// The chain from `frontier` through `through`, inclusive: each position + /// validated in full from its own evidence as a segment step, and a + /// conditional one resolved by `conditional`. One budget step per + /// position. + fn chain_through( + &self, + genesis: &[u8; 32], + device_id: &[u8; 32], + frontier: &PeerFrontier, + through: u64, + ) -> Result { + let mut point = self.start(frontier)?; + for position in frontier.economic_position() + 1..=through { self.spend_step()?; point = match self.final_claim(genesis, device_id, position, &point.root)? { RegisteredEconomicClaim::SingleRoot(claim) => { @@ -777,18 +846,7 @@ impl Verifier<'_> { } }; } - self.spend_step()?; - let claim = self.final_claim(genesis, device_id, target, &point.root)?; - // The target is the step being presented, and a conditional position - // selects no root by its bytes: the peer is mid-route, not forging. - let claim = claim.single_root().map_err(|conditional| { - PeerLineageFailure::Unresolved(format!( - "peer {}/{} at position {target}: {conditional}", - encode_base32_crockford(genesis), - encode_base32_crockford(device_id) - )) - })?; - self.full_step(genesis, device_id, target, &point, claim, StepRole::Segment) + Ok(point) } /// A credit's source, one hop back: the source's root chain from this @@ -1107,6 +1165,121 @@ mod tests { } } + /// The fetcher a test hands the walk, counting every read of the peer it + /// is asked for: root cells, objects, reserve releases and policies. The + /// register's candidate set is the network's, not the peer's, and is not + /// counted. + struct CountingCells { + inner: ConditionalCellFetcher, + reads: std::cell::Cell, + } + + impl CountingCells { + fn read(&self) { + self.reads.set(self.reads.get() + 1); + } + } + + impl PeerEvidenceFetcher for CountingCells { + fn register_cell(&self, cell: &RootCell) -> Result { + self.read(); + self.inner.register_cell(cell) + } + fn native_reserve_release( + &self, + reserve_id: &[u8; 32], + generation: u64, + ) -> Result { + self.read(); + self.inner.native_reserve_release(reserve_id, generation) + } + fn root_register_candidate_set( + &self, + network_id: &[u8], + ) -> Result { + self.inner.root_register_candidate_set(network_id) + } + fn immutable( + &self, + namespace: TaggedHashDomain<'static>, + addr: &[u8; 32], + ) -> Result, PeerLineageFailure> { + self.read(); + self.inner.immutable(namespace, addr) + } + fn anchored_policy_bytes( + &self, + policy_commit: &[u8; 32], + ) -> Result, PeerLineageFailure> { + self.read(); + self.inner.anchored_policy_bytes(policy_commit) + } + } + + /// DSM Amendment A8, `peer_root_at`: a frontier this receiver recorded AT + /// the position is the answer, and nothing of the peer is read: the walk + /// stands below `position + 1`, which the recorded frontier already is. A + /// frontier is recorded only as `reached_by` records one, single-root. + #[test] + fn a_frontier_recorded_at_the_position_is_its_root_and_nothing_is_read() { + let position = 6; + let accepted = ParentClaimRef::SingleRoot { + claim_ref: [0xF6; 32], + }; + let recorded = Recorded(PeerFrontier::rehydrate_recorded( + PEER_G, PEER_D, position, [0x66; 32], accepted, + )); + let fetcher = CountingCells { + inner: ConditionalCellFetcher { + position, + writes: vec![conditional_claim(position).encode()], + last: crate::route_chain::ROUTE_LEN - 1, + }, + reads: std::cell::Cell::new(0), + }; + let (root, named) = peer_root_at( + &fetcher, + NETWORK, + &PEER_G, + &PEER_D, + position, + &recorded, + &NoResolution, + ) + .expect("the recorded point"); + assert_eq!( + (root.economic_position(), root.economic_root(), named), + (position, [0x66; 32], accepted) + ); + assert_eq!(fetcher.reads.get(), 0, "nothing of the peer was read"); + } + + /// `peer_root_at` at position 0 is the activation root, where no claim was + /// accepted: no `P` can name it as a parent, so it is `Invalid`, and no + /// reference is made up for it. + #[test] + fn the_activation_root_names_no_parent() { + let fetcher = ConditionalCellFetcher { + position: 0, + writes: Vec::new(), + last: crate::route_chain::ROUTE_LEN - 1, + }; + match peer_root_at( + &fetcher, + NETWORK, + &PEER_G, + &PEER_D, + 0, + &NoneRecorded, + &NoResolution, + ) { + Err(PeerLineageFailure::Invalid(why)) => { + assert!(why.contains("activation root"), "{why}") + } + other => panic!("position 0 is Invalid, not {other:?}"), + } + } + /// A CONDITIONAL PEER POSITION IS `Unresolved`, NOT `Invalid`. /// /// Before the union existed, the single-root decoder failed on these bytes diff --git a/dsm_client/deterministic_state_machine/dsm/src/sofi/derive.rs b/dsm_client/deterministic_state_machine/dsm/src/sofi/derive.rs index abc9b2e1c..801d15a89 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/sofi/derive.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/sofi/derive.rs @@ -20,8 +20,8 @@ use crate::common::domain_tags::{ TAG_DSM_SOFI_STORAGE_SEED_V4, TAG_DSM_SOFI_SUCC_ATTEMPT, TAG_DSM_SOFI_SUCC_CELL_V2, TAG_DSM_SOFI_TRADER_CORE_V3, TAG_DSM_SOFI_TRADER_PRECOMMIT_ID, TAG_DSM_SOFI_ROUTE_DIGEST, TAG_DSM_SOFI_TRADER_PRECOMMIT_SIGN, TAG_DSM_SOFI_VAULT_GENESIS_LOCATOR, TAG_DSM_SOFI_VAULT_ID, - TAG_DSM_SOFI_TRADER_PRE_BALANCE_OBJECT, TAG_DSM_SOFI_VAULT_LEAF_STATE, - TAG_DSM_SOFI_VAULT_STATE_KEY, + TAG_DSM_SOFI_VAULT_TOKEN_LOCATOR, TAG_DSM_SOFI_TRADER_PRE_BALANCE_OBJECT, + TAG_DSM_SOFI_VAULT_LEAF_STATE, TAG_DSM_SOFI_VAULT_STATE_KEY, }; use crate::common::domain_tags::TAG_DSM_ECONOMIC_LEAF_STATE; use crate::storage_object::immutable_addr; @@ -115,6 +115,13 @@ pub fn vault_genesis_locator(vault_id: &D32) -> D32 { h(TAG_DSM_SOFI_VAULT_GENESIS_LOCATOR, &[vault_id]) } +/// `H(vault-token-locator/v1 ‖ t)` — where the genesis of every vault whose +/// market pairs token `t` is indexed (SoFi Amendment S16). `t` is the +/// token's policy commit. +pub fn vault_token_locator(token_policy_commit: &D32) -> D32 { + h(TAG_DSM_SOFI_VAULT_TOKEN_LOCATOR, &[token_policy_commit]) +} + /// `H(vault-creation-key/v1 ‖ G_o ‖ DevID_o ‖ v)` — where the owner's /// creation record lives in `R_econ` (P15-12). /// diff --git a/dsm_client/deterministic_state_machine/dsm/src/sofi/publication.rs b/dsm_client/deterministic_state_machine/dsm/src/sofi/publication.rs index b34f4176a..4d822df34 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/sofi/publication.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/sofi/publication.rs @@ -25,6 +25,7 @@ //! key is in hand. use crate::ccb::class; +use crate::ccb::state::MarketPolicy; use crate::common::domain_tags::{ TAG_DSM_FEE_POLICY_OBJECT, TAG_DSM_MARKET_POLICY_OBJECT, TAG_DSM_RELEASE_POLICY_OBJECT, TAG_DSM_SOFI_DLV_POLICY_FULFILLMENT, TAG_DSM_SOFI_FULFILLMENT_ID, @@ -33,6 +34,7 @@ use crate::common::domain_tags::{ TAG_DSM_SOFI_REL_INDEX, TAG_DSM_SOFI_SETUP_OBJECT, TAG_DSM_SOFI_SETUP_REF, TAG_DSM_SOFI_TRADER_PRECOMMIT_ID, TAG_DSM_SOFI_TRADER_PRE_BALANCE_OBJECT, TAG_DSM_SOFI_VAULT_GENESIS_LOCATOR, TAG_DSM_SOFI_VAULT_GENESIS_OBJECT, + TAG_DSM_SOFI_VAULT_TOKEN_LOCATOR, }; use crate::crypto::domain::TaggedHashDomain; use crate::storage_object::immutable_addr; @@ -103,9 +105,14 @@ pub enum Publication<'a> { signature: &'a [u8], }, /// A vault's genesis preimage, bare, indexed under - /// `vault_genesis_locator(v)` (§28 step 4). Its acceptance binds it to + /// `vault_genesis_locator(v)` (§28 step 4) and under + /// `vault_token_locator(t)` for each token `t` of `market`, the market + /// policy its state commits (Amendment S16). Its acceptance binds it to /// the owner's validated creation, so publishing it asserts nothing. - VaultGenesis(&'a VaultGenesisPreimage), + VaultGenesis { + preimage: &'a VaultGenesisPreimage, + market: &'a MarketPolicy, + }, /// One of the three policy objects a vault state commits, bare, found by /// the address the state names. VaultPolicy { @@ -152,7 +159,7 @@ impl Publication<'_> { body.signature_alg(), signature, ), - Self::VaultGenesis(preimage) => preimage.encode(), + Self::VaultGenesis { preimage, .. } => preimage.encode(), Self::VaultPolicy { bytes, .. } => Ok(bytes.to_vec()), Self::TraderPreBalance(balance) => Ok(balance.encode()), } @@ -166,7 +173,7 @@ impl Publication<'_> { Self::Preimage(_) => TAG_DSM_SOFI_PREIMAGE_OBJECT, Self::PolicyFulfillment(_) => TAG_DSM_SOFI_POLICY_FULFILLMENT_OBJECT, Self::Fulfillment { .. } => TAG_DSM_SOFI_FULFILLMENT_OBJECT, - Self::VaultGenesis(..) => TAG_DSM_SOFI_VAULT_GENESIS_OBJECT, + Self::VaultGenesis { .. } => TAG_DSM_SOFI_VAULT_GENESIS_OBJECT, Self::VaultPolicy { class, .. } => match class { VaultPolicyClass::Market => TAG_DSM_MARKET_POLICY_OBJECT, VaultPolicyClass::Fee => TAG_DSM_FEE_POLICY_OBJECT, @@ -218,10 +225,27 @@ impl Publication<'_> { index_namespace: TAG_DSM_SOFI_FULFILLMENT_ID.source_bytes(), locator: derive::fulfillment_id(body), }], - Self::VaultGenesis(preimage) => vec![Locator { - index_namespace: TAG_DSM_SOFI_VAULT_GENESIS_LOCATOR.source_bytes(), - locator: derive::vault_genesis_locator(&preimage.vault_id()), - }], + Self::VaultGenesis { preimage, market } => { + // The tokens a vault is found by are the ones its state + // commits: a market that is not the committed one would + // index the vault under tokens it does not trade. + let committed = immutable_addr(TAG_DSM_MARKET_POLICY_OBJECT, &market.encode()); + if committed != preimage.state.market_policy { + return Err(SofiWireError::MarketNotCommitted); + } + let token = |t: &D32| Locator { + index_namespace: TAG_DSM_SOFI_VAULT_TOKEN_LOCATOR.source_bytes(), + locator: derive::vault_token_locator(t), + }; + vec![ + Locator { + index_namespace: TAG_DSM_SOFI_VAULT_GENESIS_LOCATOR.source_bytes(), + locator: derive::vault_genesis_locator(&preimage.vault_id()), + }, + token(market.token_a()), + token(market.token_b()), + ] + } Self::VaultPolicy { .. } | Self::TraderPreBalance(_) => Vec::new(), }) } @@ -558,12 +582,13 @@ mod tests { /// A vault policy is published where the verifier fetches it: at the /// address a vault state names, which `policy_object_address` derives /// from the class and the bytes. The genesis preimage lands under its - /// own namespace and is indexed under the vault's genesis locator. + /// own namespace and is indexed under the vault's genesis locator and + /// under the token locator of each token of its pair (Amendment S16). #[test] fn vault_objects_land_where_the_verifier_looks() { - let market = crate::ccb::state::MarketPolicy::beta_constant_product(d(0x40), d(0x41)) - .unwrap() - .encode(); + let pair = + crate::ccb::state::MarketPolicy::beta_constant_product(d(0x40), d(0x41)).unwrap(); + let market = pair.encode(); let fee = crate::ccb::state::FeePolicy::new(30).unwrap().encode(); let release = crate::ccb::state::ReleasePolicy::beta_owner_local_full_close().encode(); for (policy_class, bytes) in [ @@ -606,7 +631,10 @@ mod tests { create_position: 7, state, }; - let genesis = Publication::VaultGenesis(&preimage); + let genesis = Publication::VaultGenesis { + preimage: &preimage, + market: &pair, + }; assert_eq!( genesis.address().unwrap(), immutable_addr( @@ -616,10 +644,33 @@ mod tests { ); assert_eq!( genesis.locators().unwrap(), - vec![Locator { - index_namespace: TAG_DSM_SOFI_VAULT_GENESIS_LOCATOR.source_bytes(), - locator: derive::vault_genesis_locator(&preimage.vault_id()), - }] + vec![ + Locator { + index_namespace: TAG_DSM_SOFI_VAULT_GENESIS_LOCATOR.source_bytes(), + locator: derive::vault_genesis_locator(&preimage.vault_id()), + }, + Locator { + index_namespace: TAG_DSM_SOFI_VAULT_TOKEN_LOCATOR.source_bytes(), + locator: derive::vault_token_locator(&d(0x40)), + }, + Locator { + index_namespace: TAG_DSM_SOFI_VAULT_TOKEN_LOCATOR.source_bytes(), + locator: derive::vault_token_locator(&d(0x41)), + }, + ] + ); + + // A market the state does not commit would index the vault under + // tokens it does not trade: nothing is indexed. + let other = + crate::ccb::state::MarketPolicy::beta_constant_product(d(0x40), d(0x42)).unwrap(); + assert_eq!( + Publication::VaultGenesis { + preimage: &preimage, + market: &other, + } + .locators(), + Err(SofiWireError::MarketNotCommitted) ); } } diff --git a/dsm_client/deterministic_state_machine/dsm/src/sofi/resolve.rs b/dsm_client/deterministic_state_machine/dsm/src/sofi/resolve.rs index 88215f81f..ca6d7accf 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/sofi/resolve.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/sofi/resolve.rs @@ -24,7 +24,7 @@ use std::collections::{BTreeMap, BTreeSet}; use crate::ccb::StorageSetMembers; -use crate::economic::lineage::AcceptedClaim; +use crate::economic::lineage::{AcceptedClaim, ValidatedEconomicRoot}; use crate::economic::provenance::{PeerLineageFailure, ValidatedPeerTransition}; use crate::economic::register::root_completion; use crate::economic::state::EconomicLeafState; @@ -189,6 +189,12 @@ pub trait SofiReads { &self, vault_id: &D32, ) -> Result)>, ReadFailure>; + /// The vault named by every preimage published under token `t`'s vault + /// token locator that decodes as a vault genesis preimage, in append + /// order (Amendment S16). Candidates only: [`Verifier::vaults_of_token`] + /// accepts each genesis and checks its market before it is a vault of + /// `t`. + fn vault_token_candidates(&self, token: &D32) -> Result, ReadFailure>; /// The owner's transition at its creation position, validated by the /// peer lineage walk. fn vault_owner( @@ -206,6 +212,18 @@ pub trait SofiReads { root: &D32, keys: &BTreeSet, ) -> Result, ReadFailure>; + /// The root trader `(genesis, device_id)`'s lineage selected AT + /// `position`, and the reference a later `P` names it by, by + /// frontier-relative verification of that lineage (DSM Amendment A8; + /// SoFi Amendment S15): a conditional position resolved from SoFi's + /// public objects. What a walk resolves another trader's conditional + /// parent with. + fn trader_root_at( + &self, + genesis: &D32, + device_id: &D32, + position: u64, + ) -> Result<(ValidatedEconomicRoot, ParentClaimRef), PeerLineageFailure>; /// The claim lineage validation accepted at `position` of trader /// `(genesis, device_id)`: from this device's own admitted store when the /// trader is this device, and from the peer lineage walk otherwise — @@ -340,13 +358,13 @@ impl LocalLeaves { Ok(out) } - /// Every relationship leaf this device holds: the vaults it is set up - /// with. - pub fn relationships(&self) -> Vec { + /// Every vault this device created: the creation record its validated + /// root commits for each one (P15-12), in key order. + pub fn vault_creations(&self) -> Vec { let mut out = Vec::new(); for state in self.leaves.values() { - if let EconomicLeafState::Relationship(leaf) = state { - out.push(*leaf); + if let EconomicLeafState::VaultCreation(creation) = state { + out.push(*creation); } } out @@ -372,6 +390,13 @@ impl core::fmt::Display for LeavesDoNotRecomputeTheRoot { } } +/// Whether a discovery examined every candidate and established each one. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +enum ScanExtent { + Whole, + Short, +} + /// What this verifier established about vault `v`'s genesis (SoFi §19.8; /// §30 step 1). #[derive(Debug, Clone, PartialEq, Eq)] @@ -434,8 +459,10 @@ pub struct Verifier<'a, R: SofiReads + ?Sized> { pub network_id: &'a [u8], /// What this verifier itself resolved at a conditional position: what a /// `P` naming that fulfillment as its parent was built on. Core reads - /// what it selected; nothing else resolves a parent, and a conditional - /// parent this verifier did not resolve is not established. + /// what it selected. Another trader's conditional parent is resolved by + /// frontier-relative verification of that trader's lineage + /// ([`SofiReads::trader_root_at`]); one neither resolves is not + /// established. pub parent: Option, } @@ -1068,6 +1095,56 @@ impl Verifier<'_, R> { } } + /// Amendment S16: the vaults whose market pairs `token`, found under its + /// vault token locator, in the order the index names them. + /// + /// Discovery carries no authority. A candidate is kept only when its + /// genesis is accepted — bound to the owner's validated creation by + /// [`Self::vault_genesis`] — and the market that acceptance resolves + /// pairs `token`; anything else appended under the locator is passed + /// over. A candidate whose genesis or owner's lineage the reads do not + /// establish yet, or a scan that stopped short, makes the discovery + /// `Partial`: the vaults it kept are vaults of `token` all the same. + pub fn vaults_of_token( + &self, + token: &D32, + ) -> Result, VerifierFailure> { + let (candidates, mut scan) = match self.reads.vault_token_candidates(token) { + Ok(Discovered::Complete(candidates)) => (candidates, ScanExtent::Whole), + Ok(Discovered::Partial(candidates)) => (candidates, ScanExtent::Short), + // The index read was not made: nothing established, and nothing + // refuted (storage §4). + Err(ReadFailure(..)) => (Vec::new(), ScanExtent::Short), + }; + let mut examined = BTreeSet::new(); + let mut vaults = Vec::new(); + for vault_id in candidates { + if !examined.insert(vault_id) { + continue; + } + match self.vault_genesis(&vault_id) { + Ok(VaultGenesis::Accepted(accepted)) => { + let market = accepted.market(); + if market.token_a() == token || market.token_b() == token { + vaults.push(*accepted); + } + } + // Not a vault anyone created, or a genesis refused: not a + // vault of `token`. + Ok(VaultGenesis::NotPublished | VaultGenesis::Refused(_)) + | Err(VerifierFailure::Refused(_)) => {} + // Not established yet: it may be a vault of `token`. + Ok(VaultGenesis::OwnerUnresolved(_)) | Err(VerifierFailure::Read(_)) => { + scan = ScanExtent::Short + } + } + } + Ok(match scan { + ScanExtent::Whole => Discovered::Complete(vaults), + ScanExtent::Short => Discovered::Partial(vaults), + }) + } + /// `GenesisAccepted` over one candidate, reading the token policies the /// predicate names as missing. It consults at most the two tokens of the /// market, and a policy it names again after it was supplied is not the @@ -1111,10 +1188,24 @@ impl Verifier<'_, R> { /// time — the exercise the walk classifies `Consumed` at the head, and /// the post state `vault_post_states` recomputes from it. pub fn chain(&self, vault_id: &D32) -> Result { - self.chain_to_depth(*vault_id, SIBLING_DEPTH) + self.chain_to_depth(*vault_id, SIBLING_DEPTH, None) } - fn chain_to_depth(&self, vault_id: D32, depth: usize) -> Result { + /// `vault_id`'s canonical chain, extended only until it names `root`: + /// what resolving a position whose leg was built on `root` needs, and no + /// further. A position's facts never depend on the generations after the + /// parent its leg names, and walking past them could meet an exercise + /// whose own parent is the position being resolved. + pub fn chain_until(&self, vault_id: &D32, root: &D32) -> Result { + self.chain_to_depth(*vault_id, SIBLING_DEPTH, Some(root)) + } + + fn chain_to_depth( + &self, + vault_id: D32, + depth: usize, + until: Option<&D32>, + ) -> Result { let genesis = match self.vault_genesis(&vault_id)? { VaultGenesis::Accepted(genesis) => *genesis, // Not established yet. The chain is empty, and an empty chain @@ -1155,6 +1246,9 @@ impl Verifier<'_, R> { chains.insert(vault_id, chain.clone()); let mut extended = 0; while extended < GENERATION_BUDGET { + if until.is_some_and(|root| chain.names(root)) { + break; + } extended += 1; // The chain is non-empty here, but say so in the type rather // than in a panic: an empty chain means nothing was @@ -1292,7 +1386,7 @@ impl Verifier<'_, R> { // repeating would read the same cells and stall the same way. // The chain is handed over either way — the resolver, not this // loop, decides what it means. - let sibling = self.chain_to_depth(leg.vault_id, depth - 1)?; + let sibling = self.chain_to_depth(leg.vault_id, depth - 1, None)?; learned |= sibling.names(&leg.parent_root); chains.insert(leg.vault_id, sibling); } @@ -1496,7 +1590,7 @@ impl Verifier<'_, R> { let ground = match establish_ground(&GroundReads { exercise, registration: &read.registration, - parent: self.parent, + parent: self.parent_for(exercise), legs: &legs, }) { Ok(ground) => ground, @@ -1669,11 +1763,68 @@ impl Verifier<'_, R> { registration: &read.registration, conformance: &conformance, evidence: &evidence, - parent: self.parent, + parent: self.parent_for(exercise), legs, }; Ok(establish(&reads)) } + + /// The conditional parent `exercise`'s `P` names, resolved: this + /// verifier's own resolution when it is the one `P` names, and otherwise + /// the root the trader's lineage selected at that position, by + /// frontier-relative verification of the lineage (DSM Amendment A8; SoFi + /// Amendment S15). `None` for a single-root parent, which needs no + /// resolution, and for a conditional one the reads do not establish: + /// the facts then report it unresolved, and nothing is refuted. + fn parent_for(&self, exercise: &RecognizedExercise) -> Option { + let precommit = &exercise.precommit().body; + let ParentClaimRef::Conditional { fulfillment_id } = precommit.parent_claim_ref() else { + return None; + }; + let position = precommit.position(); + if let Some(own) = self.parent { + if own.fulfillment_id == *fulfillment_id && own.economic_position == position { + return Some(own); + } + } + match self + .reads + .trader_root_at(precommit.genesis(), precommit.device_id(), position) + { + Ok((root, named)) => parent_named( + position, + fulfillment_id, + root.economic_position(), + root.economic_root(), + named, + ), + // The reads do not establish the lineage at that position yet. + Err(..) => None, + } + } +} + +/// The parent a `P` at `position` names by `fulfillment_id`, when the trader's +/// lineage, verified to that position, selected `root` at `root_position` and +/// is named there by `named`: only the very position `P` names, held by that +/// very fulfillment, resolves it. Anything else is not the parent `P` names. +fn parent_named( + position: u64, + fulfillment_id: &D32, + root_position: u64, + root: D32, + named: ParentClaimRef, +) -> Option { + match named { + ParentClaimRef::Conditional { + fulfillment_id: held, + } if held == *fulfillment_id && root_position == position => Some(ResolvedParent { + economic_position: position, + selected_root: root, + fulfillment_id: *fulfillment_id, + }), + ParentClaimRef::Conditional { .. } | ParentClaimRef::SingleRoot { .. } => None, + } } /// Resolves another trader's conditional position for a frontier-relative @@ -1821,11 +1972,15 @@ impl Verifier<'_, R> { )) })?; - // Each vault's canonical chain, and the facts over them. + // Each vault's canonical chain as far as the parent the leg names, + // and the facts over them. let mut chains: BTreeMap = BTreeMap::new(); for leg in precommit.legs() { if let std::collections::btree_map::Entry::Vacant(slot) = chains.entry(leg.vault_id) { - slot.insert(self.chain(&leg.vault_id).map_err(read)?); + slot.insert( + self.chain_until(&leg.vault_id, &leg.parent_root) + .map_err(read)?, + ); } } let established = self @@ -1871,3 +2026,45 @@ impl Verifier<'_, R> { }) } } + +#[cfg(test)] +mod tests { + use super::*; + + /// SoFi Amendment S16: another trader's conditional parent resolves only + /// to the position `P` names, held by the fulfillment `P` names. + #[test] + fn only_the_position_and_fulfillment_p_names_resolve_its_parent() { + let (position, wanted, root) = (7, [0xF7; 32], [0x77; 32]); + let held = |fulfillment_id| ParentClaimRef::Conditional { fulfillment_id }; + assert_eq!( + parent_named(position, &wanted, position, root, held(wanted)), + Some(ResolvedParent { + economic_position: position, + selected_root: root, + fulfillment_id: wanted, + }) + ); + assert_eq!( + parent_named(position, &wanted, position, root, held([0xF8; 32])), + None, + "another fulfillment holds the position" + ); + assert_eq!( + parent_named(position, &wanted, position + 1, root, held(wanted)), + None, + "the root of another position" + ); + assert_eq!( + parent_named( + position, + &wanted, + position, + root, + ParentClaimRef::SingleRoot { claim_ref: wanted } + ), + None, + "an ordinary position is no conditional parent" + ); + } +} diff --git a/dsm_client/deterministic_state_machine/dsm/src/sofi/validation.rs b/dsm_client/deterministic_state_machine/dsm/src/sofi/validation.rs index d3c4a33f3..ed08b9482 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/sofi/validation.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/sofi/validation.rs @@ -82,6 +82,9 @@ pub enum Invalid { /// A hop's input is not the previous hop's output, or the route's ends are /// not the intent's. RouteDoesNotChain { hop: usize }, + /// A split route's hops do not sum to the intent's input and output + /// (SoFi Amendment S19). + SplitDoesNotSum, /// A token is not one of its vault's pair. TokenIsNotInTheVaultPair { hop: usize }, /// The operation crosses a vault pinned to another storage set. @@ -1774,6 +1777,119 @@ fn check_vault_write_set( ) } +/// What one hop moves: `(token_in, amount_in, token_out, amount_out)`. +pub type HopMovement = (D32, u64, D32, u64); + +/// A route's endpoints from what its hops move (Amendment S19), in the same +/// shape: `(token_in, amount_in, token_out, exact_out)`. A split — two or +/// more hops that all trade the first hop's pair — sums its hops' inputs and +/// outputs, in checked arithmetic; any other route is a chain, from its first +/// hop's input to its last hop's output. The producer states the intent this +/// gives, and RouteValidation checks the hops against it. +pub fn route_endpoints(hops: &[HopMovement]) -> Result { + let (Some(first), Some(last)) = (hops.first(), hops.last()) else { + return Err(Invalid::RouteDoesNotChain { hop: 0 }); + }; + let split = hops.len() >= 2 && hops.iter().all(|h| h.0 == first.0 && h.2 == first.2); + if !split { + return Ok((first.0, first.1, last.2, last.3)); + } + let mut amount_in = 0u64; + let mut exact_out = 0u64; + for hop in hops { + amount_in = amount_in + .checked_add(hop.1) + .ok_or(Invalid::CheckedArithmetic { + what: "a split's input", + })?; + exact_out = exact_out + .checked_add(hop.3) + .ok_or(Invalid::CheckedArithmetic { + what: "a split's output", + })?; + } + Ok((first.0, amount_in, first.2, exact_out)) +} + +/// [`route_endpoints`] of a Swap route's hops. +pub fn swap_endpoints(hops: &[SwapHop]) -> Result { + let movements: Vec = hops + .iter() + .map(|h| (h.token_in, h.amount_in, h.token_out, h.amount_out)) + .collect(); + route_endpoints(&movements) +} + +/// The two shapes of a Swap route (Amendment S19). +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +enum RouteShape { + /// Hop j's output is hop j + 1's input (§19.5). + Chain, + /// Every hop trades the intent's one pair, through distinct vaults. + Split, +} + +/// Which shape `hops` take: a split when there are two or more and every one +/// trades the intent's pair, a chain otherwise. `None` for no hops. +fn route_shape(intent: &SwapIntent, hops: &[SwapHop]) -> Option { + if hops.is_empty() { + return None; + } + let pair = |hop: &SwapHop| hop.token_in == intent.token_in && hop.token_out == intent.token_out; + if hops.len() >= 2 && hops.iter().all(pair) { + Some(RouteShape::Split) + } else { + Some(RouteShape::Chain) + } +} + +/// A chain's ends are the intent's, and each hop feeds the next exactly. +fn chain_holds(intent: &SwapIntent, hops: &[SwapHop]) -> Vec> { + let mut checks = Vec::new(); + if let (Some(first), Some(last)) = (hops.first(), hops.last()) { + checks.push(require( + first.token_in == intent.token_in && first.amount_in == intent.amount_in, + Invalid::RouteDoesNotChain { hop: 0 }, + )); + checks.push(require( + last.token_out == intent.token_out && last.amount_out == intent.exact_out, + Invalid::RouteDoesNotChain { + hop: hops.len() - 1, + }, + )); + } + for (i, pair) in hops.windows(2).enumerate() { + checks.push(require( + pair[0].token_out == pair[1].token_in && pair[0].amount_out == pair[1].amount_in, + Invalid::RouteDoesNotChain { hop: i + 1 }, + )); + } + checks +} + +/// A split's hops sum to the intent's input and output, in checked +/// arithmetic (Amendment S19). +fn split_sums(intent: &SwapIntent, hops: &[SwapHop]) -> Result<(), Refusal> { + let mut amount_in = 0u64; + let mut amount_out = 0u64; + for hop in hops { + amount_in = amount_in + .checked_add(hop.amount_in) + .ok_or(Refusal::Invalid(Invalid::CheckedArithmetic { + what: "a split's input", + }))?; + amount_out = amount_out + .checked_add(hop.amount_out) + .ok_or(Refusal::Invalid(Invalid::CheckedArithmetic { + what: "a split's output", + }))?; + } + require( + amount_in == intent.amount_in && amount_out == intent.exact_out, + Invalid::SplitDoesNotSum, + ) +} + #[allow(clippy::too_many_arguments)] fn validate_swap( verdict: &mut Verdict, @@ -1784,31 +1900,24 @@ fn validate_swap( hops: &[SwapHop], ) { let e = *precommit.external_commitment(); - // The route's ends are the intent's, and each hop feeds the next exactly. - // None of this needs evidence, so it is decided whatever the verifier holds. + // The route's ends are the intent's, and its hops either chain or split + // (Amendment S19). None of this needs evidence, so it is decided whatever + // the verifier holds. verdict.note(require( intent.token_in != intent.token_out, Invalid::RouteDoesNotChain { hop: 0 }, )); - let (Some(first), Some(last)) = (hops.first(), hops.last()) else { - verdict.note(Err(Refusal::Invalid(Invalid::RouteDoesNotChain { hop: 0 }))); - return; - }; - verdict.note(require( - first.token_in == intent.token_in && first.amount_in == intent.amount_in, - Invalid::RouteDoesNotChain { hop: 0 }, - )); - verdict.note(require( - last.token_out == intent.token_out && last.amount_out == intent.exact_out, - Invalid::RouteDoesNotChain { - hop: hops.len() - 1, - }, - )); - for (i, pair) in hops.windows(2).enumerate() { - verdict.note(require( - pair[0].token_out == pair[1].token_in && pair[0].amount_out == pair[1].amount_in, - Invalid::RouteDoesNotChain { hop: i + 1 }, - )); + match route_shape(&intent, hops) { + Some(RouteShape::Split) => verdict.note(split_sums(&intent, hops)), + Some(RouteShape::Chain) => { + for check in chain_holds(&intent, hops) { + verdict.note(check); + } + } + None => { + verdict.note(Err(Refusal::Invalid(Invalid::RouteDoesNotChain { hop: 0 }))); + return; + } } // P's legs are exactly the operation's DLV parents, with the same roots. @@ -3062,6 +3171,79 @@ mod tests { ); } + /// SoFi Amendment S19: a route's endpoints by Core's one rule. A chain + /// runs from its first hop's input to its last hop's output; a split + /// trades one pair through every hop and sums them; the sums are + /// checked. + #[test] + fn a_route_chains_or_splits_and_its_endpoints_follow() { + let (a, b, c) = ([0x0A; 32], [0x0B; 32], [0x0C; 32]); + assert_eq!( + route_endpoints(&[(a, 10, b, 90), (b, 90, c, 80)]), + Ok((a, 10, c, 80)), + "a chain" + ); + assert_eq!( + route_endpoints(&[(a, 30, c, 250), (a, 30, c, 260)]), + Ok((a, 60, c, 510)), + "a split sums its legs" + ); + assert_eq!( + route_endpoints(&[(a, u64::MAX, c, 1), (a, 1, c, 1)]), + Err(Invalid::CheckedArithmetic { + what: "a split's input", + }) + ); + assert_eq!( + route_endpoints(&[]), + Err(Invalid::RouteDoesNotChain { hop: 0 }) + ); + } + + /// The fixture's two hops recut as a split (Amendment S19): both trade the + /// intent's pair, A for C, their inputs and outputs summing to `sums`. + fn as_split(f: &Fixture, sums: impl FnOnce(u64, u64) -> (u64, u64)) -> SettlementPreimage { + with_swap(f, |hops, amount_in, exact_out| { + let (pair_in, pair_out) = (hops[0].token_in, hops[1].token_out); + hops[0].token_out = pair_out; + hops[1].token_in = pair_in; + let (total_in, total_out) = ( + hops[0].amount_in + hops[1].amount_in, + hops[0].amount_out + hops[1].amount_out, + ); + (*amount_in, *exact_out) = sums(total_in, total_out); + }) + } + + /// A split whose legs sum to the intent is no chain, and its shape + /// refutes nothing in hand. + #[test] + fn a_split_whose_legs_sum_to_the_intent_is_not_refuted_by_its_shape() { + let f = swap_fixture_n(2); + let split = as_split(&f, |total_in, total_out| (total_in, total_out)); + let precommit = rebind(&f, &split); + let refuted = route_invalid_in_hand(&precommit, &split); + assert!( + !matches!( + refuted, + Some(Invalid::RouteDoesNotChain { .. } | Invalid::SplitDoesNotSum) + ), + "a split is a route: {refuted:?}" + ); + } + + /// A split whose legs do not sum to the intent is Invalid, decided in hand. + #[test] + fn a_split_that_does_not_sum_to_the_intent_is_invalid() { + let f = swap_fixture_n(2); + let short = as_split(&f, |total_in, total_out| (total_in, total_out + 1)); + let precommit = rebind(&f, &short); + assert_eq!( + route_invalid_in_hand(&precommit, &short), + Some(Invalid::SplitDoesNotSum) + ); + } + #[test] fn an_unchained_hop_is_invalid() { let f = swap_fixture_n(2); diff --git a/dsm_client/deterministic_state_machine/dsm/src/sofi/wire/mod.rs b/dsm_client/deterministic_state_machine/dsm/src/sofi/wire/mod.rs index c533b1a76..58aa8dfec 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/sofi/wire/mod.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/sofi/wire/mod.rs @@ -278,6 +278,10 @@ pub enum SofiWireError { /// A `TraderPreBalance` of zero. A zero balance is an absent leaf, which /// needs no object, so an object holding zero has no canonical bytes. ZeroPreBalance, + /// A vault genesis published with a market policy that is not the one + /// its state commits: the vault would be indexed under tokens it does + /// not trade (SoFi Amendment S16). + MarketNotCommitted, } impl core::fmt::Display for SofiWireError { @@ -341,6 +345,10 @@ impl core::fmt::Display for SofiWireError { f, "a balance of zero is an absent leaf and has no TraderPreBalance" ), + Self::MarketNotCommitted => write!( + f, + "the market policy is not the one the vault genesis commits" + ), } } } diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/app_router_impl.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/app_router_impl.rs index bae604978..5d011694f 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/app_router_impl.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/app_router_impl.rs @@ -2535,8 +2535,8 @@ impl AppRouter for AppRouterImpl { self.handle_token_invoke(i).await } // SoFi (SoFi §27): the only way the app reaches SoFi. - "sofi.createVault" | "sofi.setup" | "sofi.findRoute" | "sofi.trade" | "sofi.route" - | "sofi.close" | "sofi.relay" | "sofi.resolve" => self.handle_sofi_invoke(i).await, + "sofi.createVault" | "sofi.findRoute" | "sofi.trade" | "sofi.route" | "sofi.close" + | "sofi.relay" | "sofi.resolve" | "sofi.vaults" => self.handle_sofi_invoke(i).await, // BLE // Bilateral reconcile // Faucet diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/node_e2e_tests.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/node_e2e_tests.rs index 54420838d..402353e1b 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/node_e2e_tests.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/node_e2e_tests.rs @@ -126,6 +126,51 @@ async fn history(d: &TestDevice) -> Vec { r.data } +/// The rows of `d`'s `wallet.history`, decoded. +async fn history_rows(d: &TestDevice) -> Vec { + let data = history(d).await; + match generated::Envelope::decode(&data[1..]) + .expect("framed envelope") + .payload + .expect("payload") + { + Payload::WalletHistoryResponse(r) => r.transactions, + other => panic!("wallet.history answered {other:?}"), + } +} + +/// How many setups `d`'s history records (SoFi Amendment S16: each is a +/// transaction of its own). +async fn setups(d: &TestDevice) -> usize { + let setup = generated::TransactionType::TxTypeSofiSetup as i32; + history_rows(d) + .await + .iter() + .filter(|row| row.tx_type == setup) + .count() +} + +/// What `d`'s `balance.list` reports it can spend of `ticker`: the view the +/// wallet renders. +async fn listed(d: &TestDevice, ticker: &str) -> u64 { + d.enter(); + let r = d + .router() + .query(AppQuery { + path: "balance.list".to_string(), + params: Vec::new(), + }) + .await; + let balances = match payload(&r) { + Payload::BalancesListResponse(r) => r.balances, + other => panic!("balance.list answered {other:?}"), + }; + match balances.iter().find(|b| b.token_id == ticker) { + Some(row) => row.available, + None => panic!("balance.list names no {ticker}"), + } +} + /// DSM Amendment A7: a transfer arrives, and no node ever held anything but /// sealed, header-less envelopes — the memo is nowhere in any node's bytes. /// @@ -254,24 +299,26 @@ struct Market { tkn: [u8; 32], } +/// `base` units of `token` as the user enters them on `d`: token units, with +/// the decimals of the token's committed policy. +fn entered(d: &TestDevice, token: &[u8; 32], base: u64) -> String { + d.enter(); + let (.., decimals) = super::wallet_routes::token_of_commit(token).expect("a known token"); + super::wallet_routes::format_base_units_for_display(base, decimals) +} + /// `d`'s `sofi.createVault` on two tokens at their reserves, at 30 bps, the /// pair in the order §28 requires (`token_a < token_b`). The vault id. async fn create_vault(d: &TestDevice, x: ([u8; 32], u64), y: ([u8; 32], u64)) -> [u8; 32] { let ((token_a, reserve_a), (token_b, reserve_b)) = if x.0 < y.0 { (x, y) } else { (y, x) }; - let vault_id = match payload( - &invoke( - d, - "sofi.createVault", - args(&generated::SofiCreateVaultRequest { - token_a_policy_commit: token_a.to_vec(), - token_b_policy_commit: token_b.to_vec(), - reserve_a, - reserve_b, - fee_bps: 30, - }), - ) - .await, - ) { + let request = generated::SofiCreateVaultRequest { + token_a_policy_commit: token_a.to_vec(), + token_b_policy_commit: token_b.to_vec(), + reserve_a_entered: entered(d, &token_a, reserve_a), + reserve_b_entered: entered(d, &token_b, reserve_b), + fee_bps: 30, + }; + let vault_id = match payload(&invoke(d, "sofi.createVault", args(&request)).await) { Payload::SofiVaultCreatedResponse(v) => v.vault_id, other => panic!("sofi.createVault answered {other:?}"), }; @@ -299,40 +346,42 @@ async fn adopt(d: &TestDevice, token: &[u8; 32]) { ); } -/// `d`'s `sofi.setup` with `vault_id` (§29). The setup reference. -async fn set_up(d: &TestDevice, vault_id: &[u8; 32]) -> Vec { - match payload( - &invoke( - d, - "sofi.setup", - args(&generated::SofiSetupRequest { - vault_id: vault_id.to_vec(), - }), - ) - .await, - ) { - Payload::SofiSetupResponse(r) => r.setup_ref, - other => panic!("sofi.setup answered {other:?}"), - } +/// `d` sets up with `vault_id` ahead of what it does next, with the +/// production `set_up_with` a trade runs first (SoFi Amendment S16): a test +/// that needs the setup's position behind it, not inside its first trade. +async fn set_up(d: &TestDevice, vault_id: &[u8; 32]) { + d.enter(); + let set = canonical_set(NETWORK).expect("the pinned set"); + crate::sdk::sofi_flow::set_up_with(&d.router().core_sdk, &set, &[*vault_id]) + .await + .expect("the setup is admitted"); } -/// A creates the token and the vault (100 ERA against 1000 TKN at 30 bps); -/// B adopts the token and sets up. -async fn open_market(p: &Pair) -> Market { +/// A creates the token and the vault (100 ERA against 1000 TKN at 30 bps) +/// and B adopts the token: a market B has not set up with. +async fn open_market_unset(p: &Pair) -> Market { let tkn = create_token(&p.a, "TKN", 10_000).await; let era = era(); let vault_id = create_vault(&p.a, (era, 100), (tkn, 1_000)).await; adopt(&p.b, &tkn).await; - set_up(&p.b, &vault_id).await; Market { vault_id, era, tkn } } -fn trade_request(m: &Market, amount_in: u64) -> generated::SofiTradeRequest { +/// [`open_market_unset`], and B sets up with the vault before anything else. +async fn open_market(p: &Pair) -> Market { + let m = open_market_unset(p).await; + set_up(&p.b, &m.vault_id).await; + m +} + +/// B's one-hop trade of `amount_in` ERA for TKN in the market. +fn trade_request(p: &Pair, m: &Market, amount_in: u64) -> generated::SofiTradeRequest { generated::SofiTradeRequest { vault_id: m.vault_id.to_vec(), token_in_policy_commit: m.era.to_vec(), - amount_in, - min_amount_out: 1, + amount_in_entered: entered(&p.b, &m.era, amount_in), + min_amount_out_entered: entered(&p.b, &m.tkn, 1), + token_out_policy_commit: m.tkn.to_vec(), } } @@ -376,7 +425,7 @@ async fn realized_through(d: &TestDevice, route: &str, request: Vec) -> u64 /// B trades `amount_in` ERA in the market and the position resolves /// Realized. The position. async fn realized_trade(p: &Pair, m: &Market, amount_in: u64) -> u64 { - realized_through(&p.b, "sofi.trade", args(&trade_request(m, amount_in))).await + realized_through(&p.b, "sofi.trade", args(&trade_request(p, m, amount_in))).await } /// What a device stands on for a resolution, as `sofi_advance` assembles it: @@ -510,7 +559,7 @@ async fn a_key_whose_fulfillment_can_never_register_is_skipped_without_its_evide // B trades: its fulfillment lands, its claim arrives after the rival's, // and its exercise holds the vault's first key. - invoke(&p.b, "sofi.trade", args(&trade_request(&m, 10))).await; + invoke(&p.b, "sofi.trade", args(&trade_request(&p, &m, 10))).await; // A, the vault's owner, walks the vault's first parent. let (own, parents) = standing_of(&p.a); @@ -981,7 +1030,7 @@ async fn a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lan &[*pair.fulfillment().key(), *pair.root().routed().key()], ) .await; - let r = invoke(&p.b, "sofi.trade", args(&trade_request(&m, 10))).await; + let r = invoke(&p.b, "sofi.trade", args(&trade_request(&p, &m, 10))).await; assert_eq!(position_of(&r, "sofi.trade"), (q, exhausted)); assert_eq!(pending_position(&p.b), Some(q)); assert_eq!(admitted_position(&p.b), position); @@ -1041,44 +1090,48 @@ async fn a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lan ); } -/// SoFi §30 and storage §4: a route search that cannot establish the head of -/// a vault this device is set up with is an error, not a search that found no -/// route. B, set up with A's vault, is quoted one hop ERA→TKN at the vault's -/// head; with the fleet below quorum the head cannot be established and the -/// search is refused rather than answered empty; with the fleet back, the one -/// hop again. +/// SoFi §30, Amendment S16 and storage §4: a route search over vaults the +/// reads do not establish says so. B, never set up with A's vault, is quoted +/// one hop ERA→TKN, found through the two tokens' indexes, the search +/// complete; with the fleet below quorum the search finds no route and says +/// it is partial — never an empty route reported as a complete search; with +/// the fleet back, the one hop again, complete. #[tokio::test(flavor = "multi_thread", worker_threads = 4)] #[serial] -async fn a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route() { +async fn a_route_search_that_cannot_see_its_vaults_says_so() { let mut p = Pair::boot(500, 200).await; - let m = open_market(&p).await; + let m = open_market_unset(&p).await; let request = generated::SofiFindRouteRequest { token_in_policy_commit: m.era.to_vec(), token_out_policy_commit: m.tkn.to_vec(), - amount_in: 10, + amount_in_entered: entered(&p.b, &m.era, 10), }; - let hops = |r: &AppResult| match payload(r) { - Payload::SofiFindRouteResponse(r) => r.hops, + let found = |r: &AppResult| match payload(r) { + Payload::SofiFindRouteResponse(r) => (r.hops, r.search), other => panic!("sofi.findRoute answered {other:?}"), }; + let complete = generated::SofiSearch::Complete as i32; + let partial = generated::SofiSearch::Partial as i32; let out = dsm::dlv::route_commit::constant_product_output(10, 100, 1_000, 30) .expect("the vault prices the hop"); - let route = hops(&invoke(&p.b, "sofi.findRoute", args(&request)).await); + let (route, search) = found(&invoke(&p.b, "sofi.findRoute", args(&request)).await); + assert_eq!(search, complete, "every vault of the two tokens was seen"); assert_eq!(route.len(), 1, "one hop through A's vault"); assert_eq!(route[0].vault_id, m.vault_id.to_vec()); assert_eq!((route[0].amount_in, route[0].amount_out), (10, out)); let down = crate::economic_fixtures::members_to_break_quorum(); p.nodes.take_down(&down).await; - let refused = invoke(&p.b, "sofi.findRoute", args(&request)).await; - assert!( - !refused.success, - "a search that could not see the vault answered {:?}", - refused.data + let (route, search) = found(&invoke(&p.b, "sofi.findRoute", args(&request)).await); + assert_eq!( + (route.len(), search), + (0, partial), + "no route, from a search that says it could not see every vault" ); p.nodes.bring_up(&down).await; - let route = hops(&invoke(&p.b, "sofi.findRoute", args(&request)).await); + let (route, search) = found(&invoke(&p.b, "sofi.findRoute", args(&request)).await); + assert_eq!(search, complete); assert_eq!(route.len(), 1, "the hop is found again"); assert_eq!(route[0].amount_out, out); } @@ -1092,11 +1145,7 @@ async fn a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route() async fn a_vault_traded_through_closes_for_its_owner() { let p = Pair::boot(500, 200).await; let m = open_market(&p).await; - assert_eq!( - set_up(&p.a, &m.vault_id).await.len(), - 32, - "the owner's setup" - ); + set_up(&p.a, &m.vault_id).await; let out = dsm::dlv::route_commit::constant_product_output(10, 100, 1_000, 30) .expect("the vault prices the trade"); realized_trade(&p, &m, 10).await; @@ -1124,24 +1173,354 @@ async fn a_vault_traded_through_closes_for_its_owner() { ); } -/// SoFi §27 (MR-SOFI-0255): the app reaches SoFi through exactly its eight -/// routes. Each, sent through the production router, reaches its producer -/// and answers with the result §27 names for it: +/// SoFi Amendment S16: discovery carries no authority. Under ERA's vault +/// token locator, beside A's real ERA/TKN vault, sit what anyone may append: +/// bytes that are no genesis; the genesis of a vault B claims to own but +/// never created; and the genesis of A's real TKN/TKB vault, which does not +/// trade ERA. B's verifier keeps the one vault of ERA and passes over the +/// rest, and its search is still complete: what it passed over was +/// established, and refuted. +#[tokio::test(flavor = "multi_thread", worker_threads = 4)] +#[serial] +async fn discovery_passes_over_what_is_not_a_vault_of_the_token() { + use crate::sdk::storage_node_sdk::SetClient; + use dsm::common::domain_tags::TAG_DSM_SOFI_VAULT_TOKEN_LOCATOR; + use dsm::crypto::domain::TaggedHashDomain; + use dsm::sofi::resolve::VaultGenesis; + use dsm::sofi::storage::Discovered; + + let p = Pair::boot(500, 200).await; + let era = era(); + let tkn = create_token(&p.a, "TKN", 10_000).await; + let tkb = create_token(&p.a, "TKB", 10_000).await; + let first = create_vault(&p.a, (era, 100), (tkn, 1_000)).await; + let second = create_vault(&p.a, (tkn, 1_000), (tkb, 1_000)).await; + let set = canonical_set(NETWORK).expect("the pinned set"); + let client = SetClient::new(&set).expect("a client of the set"); + let index = TAG_DSM_SOFI_VAULT_TOKEN_LOCATOR.source_bytes(); + let era_locator = derive::vault_token_locator(&era); + + let (own, parents) = standing_of(&p.b); + let ctx = VerifierContext::new(&set, Some(own), parents.as_ref()).expect("a verifier"); + let verifier = ctx.verifier(); + let accepted = |vault: &[u8; 32]| match verifier.vault_genesis(vault).expect("a read") { + VaultGenesis::Accepted(accepted) => accepted, + other => panic!("A's vault is accepted, not {other:?}"), + }; + + // Bytes that are no genesis. + let domain = TaggedHashDomain::try_new(b"DSM/test/not-a-genesis").expect("domain"); + let junk = b"these bytes decode as no vault genesis"; + assert_eq!(client.put_immutable(domain, junk).await, 5); + let junk_addr = dsm::storage_object::immutable_addr(domain, junk); + assert_eq!( + client.append_index(index, &era_locator, &junk_addr).await, + 5 + ); + + // A genesis naming B as its owner at a position B's lineage already + // holds, where B created no vault. + let real = accepted(&first); + let forge = |position: u64| { + let mut forged = real.preimage().clone(); + forged.owner_genesis = p.b.genesis; + forged.owner_device_id = p.b.device_id; + forged.create_position = position; + forged.state.owner_genesis = p.b.genesis; + forged.state.owner_device_id = p.b.device_id; + forged.state.create_position = position; + forged + }; + let reached = admitted_position(&p.b); + let forged = forge(reached); + crate::sdk::sofi_publish::publish( + &set, + &Publication::VaultGenesis { + preimage: &forged, + market: real.market(), + }, + ) + .await + .expect("anyone may publish a genesis"); + + // A real vault that does not trade ERA, appended under ERA's locator. + let other = accepted(&second); + let other_addr = Publication::VaultGenesis { + preimage: other.preimage(), + market: other.market(), + } + .address() + .expect("an address"); + assert_eq!( + client.append_index(index, &era_locator, &other_addr).await, + 5 + ); + + let found = verifier.vaults_of_token(&era).expect("the discovery reads"); + let Discovered::Complete(found) = found else { + panic!("every candidate was established and refuted or kept: {found:?}") + }; + assert_eq!( + found.iter().map(|v| *v.vault_id()).collect::>(), + vec![first], + "the one vault of ERA" + ); + // The TKN index names both of A's vaults, each a vault of TKN. + let Discovered::Complete(of_tkn) = verifier.vaults_of_token(&tkn).expect("the discovery reads") + else { + panic!("the TKN index was established") + }; + let mut of_tkn: Vec<_> = of_tkn.iter().map(|v| *v.vault_id()).collect(); + of_tkn.sort(); + let mut both = vec![first, second]; + both.sort(); + assert_eq!(of_tkn, both); + + // A genesis naming a position B's lineage has not reached is not + // established: B could still create that very vault there. The search + // says it is partial, and still finds the vault of ERA. + let ahead = forge(reached + 5); + crate::sdk::sofi_publish::publish( + &set, + &Publication::VaultGenesis { + preimage: &ahead, + market: real.market(), + }, + ) + .await + .expect("anyone may publish a genesis"); + let Discovered::Partial(found) = verifier.vaults_of_token(&era).expect("the discovery reads") + else { + panic!("a candidate the reads cannot decide leaves the discovery partial") + }; + assert_eq!( + found.iter().map(|v| *v.vault_id()).collect::>(), + vec![first], + "and the vault of ERA is found all the same" + ); +} + +/// Phone-rig rulings, 2026-10-01: a realized trade shows in the wallet at +/// once, and every token and SoFi event writes its history row. B creates a +/// token (its ERA fee leaves a projection behind), then trades through A's +/// vault, which it has never set up with: `balance.list` reports what the +/// head holds without a restart, and B's history names the token's +/// creation, the setup and the trade, each with every token it moved. A's +/// history names the vault's creation, and its close credits both tokens. +#[tokio::test(flavor = "multi_thread", worker_threads = 4)] +#[serial] +async fn a_realized_trade_shows_in_balances_and_history_at_once() { + let p = Pair::boot(500, 200).await; + let m = open_market_unset(&p).await; + let tkb = create_token(&p.b, "TKB", 5_000).await; + let fee = dsm::core::token::TOKEN_CREATION_FEE_ERA; + assert_eq!( + listed(&p.b, "ERA").await, + 200 - fee, + "the fee shows at once" + ); + + let out = dsm::dlv::route_commit::constant_product_output(10, 100, 1_000, 30) + .expect("the vault prices the trade"); + realized_trade(&p, &m, 10).await; + assert_eq!( + (listed(&p.b, "ERA").await, listed(&p.b, "TKN").await), + (balance(&p.b, &m.era), balance(&p.b, &m.tkn)), + "the wallet shows what the head holds" + ); + assert_eq!(listed(&p.b, "ERA").await, 190 - fee); + assert_eq!(listed(&p.b, "TKN").await, out); + + let moves = |row: &generated::TransactionInfo| -> Vec<(Vec, i64)> { + row.moves + .iter() + .map(|m| (m.policy_commit.clone(), m.amount_signed)) + .collect() + }; + let of = |rows: &[generated::TransactionInfo], kind: generated::TransactionType| { + rows.iter() + .filter(|row| row.tx_type == kind as i32) + .cloned() + .collect::>() + }; + let b_rows = history_rows(&p.b).await; + let created = of(&b_rows, generated::TransactionType::TxTypeTokenCreate); + assert_eq!(created.len(), 1, "B's token creation"); + assert_eq!( + moves(&created[0]), + vec![(m.era.to_vec(), -(fee as i64)), (tkb.to_vec(), 5_000)], + "the fee paid and the supply credited" + ); + let setup = of(&b_rows, generated::TransactionType::TxTypeSofiSetup); + assert_eq!(setup.len(), 1, "the setup the trade admitted first"); + assert!(setup[0].moves.is_empty(), "a setup moves no token"); + let traded = of(&b_rows, generated::TransactionType::TxTypeSofiTrade); + assert_eq!(traded.len(), 1, "the trade"); + let mut trade_moves = moves(&traded[0]); + trade_moves.sort(); + let mut expected = vec![(m.era.to_vec(), -10), (m.tkn.to_vec(), out as i64)]; + expected.sort(); + assert_eq!(trade_moves, expected, "the ERA paid and the TKN received"); + assert!( + traded[0].moves.iter().all(|m| !m.display_amount.is_empty()), + "each movement rendered for display" + ); + + let a_rows = history_rows(&p.a).await; + let vault = of(&a_rows, generated::TransactionType::TxTypeVaultCreate); + assert_eq!(vault.len(), 1, "A's vault creation"); + let mut vault_moves = moves(&vault[0]); + vault_moves.sort(); + let mut paid_in = vec![(m.era.to_vec(), -100), (m.tkn.to_vec(), -1_000)]; + paid_in.sort(); + assert_eq!(vault_moves, paid_in, "both reserves paid in"); + + realized_through( + &p.a, + "sofi.close", + args(&generated::SofiCloseRequest { + vault_id: m.vault_id.to_vec(), + }), + ) + .await; + let closed = of( + &history_rows(&p.a).await, + generated::TransactionType::TxTypeSofiClose, + ); + assert_eq!(closed.len(), 1, "A's close"); + let mut close_moves = moves(&closed[0]); + close_moves.sort(); + let mut released = vec![ + (m.era.to_vec(), 110), + (m.tkn.to_vec(), (1_000 - out) as i64), + ]; + released.sort(); + assert_eq!(close_moves, released, "both reserves credited"); + assert_eq!( + (listed(&p.a, "ERA").await, listed(&p.a, "TKN").await), + (balance(&p.a, &m.era), balance(&p.a, &m.tkn)), + "and the owner's wallet shows them at once" + ); +} + +/// SoFi Amendment S19: one order filled through two vaults of the same +/// pair. A opens two ERA/TKN vaults; B, set up with neither, asks for an +/// amount that fills better split across both. The search proposes both +/// vaults, each hop ERA→TKN, the inputs summing to B's amount and giving more +/// than either vault alone; the route sets up with each and realizes, B's ERA +/// is debited the whole amount and its TKN credited the sum, and each vault +/// moved by its own leg — and a walker that is not B (the owner) sees both +/// legs, past B's conditional positions. +#[tokio::test(flavor = "multi_thread", worker_threads = 4)] +#[serial] +async fn one_order_fills_through_two_vaults_of_the_same_pair() { + let p = Pair::boot(500, 200).await; + let era = era(); + let tkn = create_token(&p.a, "TKN", 10_000).await; + let one = create_vault(&p.a, (era, 100), (tkn, 1_000)).await; + let two = create_vault(&p.a, (era, 100), (tkn, 1_000)).await; + adopt(&p.b, &tkn).await; + + let amount = 60; + let quoted = match payload( + &invoke( + &p.b, + "sofi.findRoute", + args(&generated::SofiFindRouteRequest { + token_in_policy_commit: era.to_vec(), + token_out_policy_commit: tkn.to_vec(), + amount_in_entered: entered(&p.b, &era, amount), + }), + ) + .await, + ) { + Payload::SofiFindRouteResponse(r) => r.hops, + other => panic!("sofi.findRoute answered {other:?}"), + }; + assert_eq!(quoted.len(), 2, "split across the two vaults"); + let mut vaults: Vec> = quoted.iter().map(|h| h.vault_id.clone()).collect(); + vaults.sort(); + let mut both = vec![one.to_vec(), two.to_vec()]; + both.sort(); + assert_eq!(vaults, both); + for hop in "ed { + assert_eq!( + ( + hop.token_in_policy_commit.clone(), + hop.token_out_policy_commit.clone() + ), + (era.to_vec(), tkn.to_vec()), + "every leg trades the one pair" + ); + } + assert_eq!(quoted.iter().map(|h| h.amount_in).sum::(), amount); + let total: u64 = quoted.iter().map(|h| h.amount_out).sum(); + let alone = dsm::dlv::route_commit::constant_product_output(amount, 100, 1_000, 30) + .expect("one vault prices the whole amount"); + assert!( + total > alone, + "the split gives {total}, one vault alone {alone}" + ); + + realized_through( + &p.b, + "sofi.route", + args(&generated::SofiRouteRequest { + vault_ids: quoted.iter().map(|h| h.vault_id.clone()).collect(), + token_in_policy_commit: era.to_vec(), + amount_in_entered: entered(&p.b, &era, amount), + min_amount_out_entered: entered(&p.b, &tkn, total), + token_out_policy_commit: tkn.to_vec(), + }), + ) + .await; + assert_eq!(setups(&p.b).await, 2, "B set up with each vault first"); + assert_eq!(balance(&p.b, &era), 200 - amount, "the whole amount paid"); + assert_eq!(balance(&p.b, &tkn), total, "the sum of both legs received"); + + let held = + match payload(&invoke(&p.a, "sofi.vaults", args(&generated::SofiVaultsRequest {})).await) { + Payload::SofiVaultsResponse(r) => r.vaults, + other => panic!("sofi.vaults answered {other:?}"), + }; + for hop in "ed { + let vault = held + .iter() + .find(|v| v.vault_id == hop.vault_id) + .expect("the owner lists the vault"); + let (era_reserve, tkn_reserve) = if era < tkn { + (vault.reserve_a, vault.reserve_b) + } else { + (vault.reserve_b, vault.reserve_a) + }; + assert_eq!( + (era_reserve, tkn_reserve, vault.generation), + (100 + hop.amount_in, 1_000 - hop.amount_out, 1), + "each vault moved by its own leg" + ); + } +} + +/// SoFi §27 (MR-SOFI-0255) as Amendment S16 leaves it: the app reaches SoFi +/// through exactly its eight routes. Each, sent through the production +/// router, reaches its producer and answers with the result §27 names: /// - `sofi.createVault`: A opens a vault on ERA/TKN and one on TKN/TKB. -/// - `sofi.setup`: B sets up with both, and A with the vault it closes: a -/// close is a one-hop route against the owner's own vault, carrying the -/// owner's setup (§32). -/// - `sofi.findRoute`: B is quoted ERA→TKN→TKB, two hops, each priced at its -/// vault's head. -/// - `sofi.route`: B takes those two hops and receives what they priced. +/// - `sofi.findRoute`: B, set up with neither, is quoted ERA→TKN→TKB: two +/// hops found through the tokens' indexes, each priced at its vault's head. +/// - `sofi.route`: B takes those two hops, setting up with each vault first, +/// and receives what they priced. /// - `sofi.relay`: A carries B's route position with nothing from B: the /// position pair's two cells and each hop's key. -/// - `sofi.trade`: B takes the one hop ERA→TKN at the price it was quoted. -/// - `sofi.close`: A closes its TKN/TKB vault and receives both reserves. +/// - `sofi.trade`: B takes the one hop ERA→TKN at its quote, reusing its +/// setup. +/// - `sofi.close`: A closes its TKN/TKB vault, setting up with it first, and +/// receives both reserves. +/// - `sofi.vaults`: A sees both its vaults at their heads. /// - `sofi.resolve`: resolves each position its route's own rounds left /// pending, and with nothing pending its producer refuses. /// -/// A ninth `sofi.` method reaches no SoFi route: the router refuses it. +/// A ninth `sofi.` method reaches no SoFi route: the router refuses it, and +/// `sofi.setup` is no longer one. #[tokio::test(flavor = "multi_thread", worker_threads = 4)] #[serial] async fn every_sofi_route_reaches_its_producer() { @@ -1156,10 +1535,6 @@ async fn every_sofi_route_reaches_its_producer() { for token in [&tkn, &tkb] { adopt(&p.b, token).await; } - for vault in [&first, &second] { - assert_eq!(set_up(&p.b, vault).await.len(), 32, "a setup reference"); - } - assert_eq!(set_up(&p.a, &second).await.len(), 32, "the owner's setup"); let hops = |r: &AppResult| match payload(r) { Payload::SofiFindRouteResponse(r) => r.hops, @@ -1169,7 +1544,7 @@ async fn every_sofi_route_reaches_its_producer() { args(&generated::SofiFindRouteRequest { token_in_policy_commit: era.to_vec(), token_out_policy_commit: token_out.to_vec(), - amount_in: 10, + amount_in_entered: entered(&p.b, &era, 10), }) }; let one = dsm::dlv::route_commit::constant_product_output(10, 100, 1_000, 30) @@ -1194,8 +1569,9 @@ async fn every_sofi_route_reaches_its_producer() { (first.to_vec(), era.to_vec(), tkn.to_vec(), 10, one), (second.to_vec(), tkn.to_vec(), tkb.to_vec(), one, two), ], - "ERA→TKN→TKB through the two vaults" + "ERA→TKN→TKB through the two vaults, with no setup behind the quote" ); + assert_eq!(setups(&p.b).await, 0, "a quote sets up with nothing"); let routed = realized_through( &p.b, @@ -1203,11 +1579,17 @@ async fn every_sofi_route_reaches_its_producer() { args(&generated::SofiRouteRequest { vault_ids: vec![first.to_vec(), second.to_vec()], token_in_policy_commit: era.to_vec(), - amount_in: 10, - min_amount_out: two, + amount_in_entered: entered(&p.b, &era, 10), + min_amount_out_entered: entered(&p.b, &tkb, two), + token_out_policy_commit: tkb.to_vec(), }), ) .await; + assert_eq!( + setups(&p.b).await, + 2, + "the route set up with each vault first" + ); assert_eq!(balance(&p.b, &era), 190, "the route took 10 ERA"); assert_eq!(balance(&p.b, &tkb), two, "and gave what its hops priced"); assert_eq!(balance(&p.b, &tkn), 0, "and kept nothing on the way"); @@ -1241,11 +1623,13 @@ async fn every_sofi_route_reaches_its_producer() { args(&generated::SofiTradeRequest { vault_id: first.to_vec(), token_in_policy_commit: era.to_vec(), - amount_in: 10, - min_amount_out: bought, + amount_in_entered: entered(&p.b, &era, 10), + min_amount_out_entered: entered(&p.b, &tkn, bought), + token_out_policy_commit: tkn.to_vec(), }), ) .await; + assert_eq!(setups(&p.b).await, 2, "the trade reused its setup"); assert_eq!(balance(&p.b, &era), 180, "the trade took 10 ERA"); assert_eq!(balance(&p.b, &tkn), bought, "and gave what it was quoted"); @@ -1257,6 +1641,7 @@ async fn every_sofi_route_reaches_its_producer() { }), ) .await; + assert_eq!(setups(&p.a).await, 1, "the owner's close set up first"); assert_eq!( balance(&p.a, &tkb), 10_000 - two, @@ -1268,6 +1653,45 @@ async fn every_sofi_route_reaches_its_producer() { "and the vault's TKN: its reserve and the first hop's output" ); + let vaults = + match payload(&invoke(&p.a, "sofi.vaults", args(&generated::SofiVaultsRequest {})).await) { + Payload::SofiVaultsResponse(r) => r.vaults, + other => panic!("sofi.vaults answered {other:?}"), + }; + let seen: BTreeMap, (u64, u64, u64, i32)> = vaults + .into_iter() + .map(|v| { + ( + v.vault_id, + (v.reserve_a, v.reserve_b, v.generation, v.status), + ) + }) + .collect(); + let first_reserves = if era < tkn { + (100 + 20, 1_000 - one - bought) + } else { + (1_000 - one - bought, 100 + 20) + }; + assert_eq!( + seen, + BTreeMap::from([ + ( + first.to_vec(), + ( + first_reserves.0, + first_reserves.1, + 2, + generated::SofiVaultStatus::Active as i32 + ) + ), + ( + second.to_vec(), + (0, 0, 2, generated::SofiVaultStatus::Retired as i32) + ), + ]), + "A's two vaults at their heads: the first traded through twice, the second closed" + ); + let nothing_pending = invoke( &p.b, "sofi.resolve", diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/sender_admission_tests.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/sender_admission_tests.rs index 28c566d1c..0cc91acfb 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/sender_admission_tests.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/sender_admission_tests.rs @@ -1231,11 +1231,17 @@ async fn a_creation_built_on_a_predecessor_the_device_no_longer_stands_on_is_ref } else { (held_token, era(), 100, 10) }; + // The reserves as the user enters them: token units of each token. + let entered = |token: &[u8; 32], base: u64| { + let (.., decimals) = + crate::handlers::wallet_routes::token_of_commit(token).expect("a known token"); + crate::handlers::wallet_routes::format_base_units_for_display(base, decimals) + }; let request = crate::generated::SofiCreateVaultRequest { token_a_policy_commit: token_a.to_vec(), token_b_policy_commit: token_b.to_vec(), - reserve_a, - reserve_b, + reserve_a_entered: entered(&token_a, reserve_a), + reserve_b_entered: entered(&token_b, reserve_b), fee_bps: 30, }; diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/sofi_routes.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/sofi_routes.rs index 3a1b1aaed..7cf843393 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/sofi_routes.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/sofi_routes.rs @@ -11,9 +11,12 @@ use prost::Message; use super::app_router_impl::AppRouterImpl; use super::response_helpers::{err, pack_envelope_ok}; use crate::bridge::{AppInvoke, AppResult}; +use super::wallet_routes::{ + format_base_units_for_display, parse_display_amount_to_base_units, token_of_commit, +}; use crate::sdk::sofi_flow::{ CloseIntent, CreateVaultIntent, FindRouteIntent, PositionOutcome, PositionState, RelayIntent, - SetupIntent, TradeIntent, + Search, TradeIntent, }; /// The most hops a route may have (`ROUTE_MAX_LEGS`, SoFi §31). @@ -23,6 +26,20 @@ fn d32(bytes: &[u8], what: &str, route: &str) -> Result<[u8; 32], String> { <[u8; 32]>::try_from(bytes).map_err(|_| format!("{route}: {what} must be 32 bytes")) } +/// An amount the user entered for `token`, in token units, as base units: the +/// one parser, against the decimals of the token's committed policy. +fn entered(text: &str, token: &[u8; 32], what: &str, route: &str) -> Result { + let (ticker, decimals) = token_of_commit(token).map_err(|e| format!("{route}: {what}: {e}"))?; + parse_display_amount_to_base_units(text, decimals) + .map_err(|e| format!("{route}: {what} {text:?} in {ticker}: {e}")) +} + +/// Base units of `token`, rendered for display. +fn shown(amount: u64, token: &[u8; 32], route: &str) -> Result { + let (.., decimals) = token_of_commit(token).map_err(|e| format!("{route}: {e}"))?; + Ok(format_base_units_for_display(amount, decimals)) +} + fn request(i: &AppInvoke) -> Result { let arg_pack = generated::ArgPack::decode(&*i.args) .map_err(|e| format!("{}: decode ArgPack failed: {e}", i.method))?; @@ -44,6 +61,34 @@ fn position_response(outcome: PositionOutcome) -> AppResult { )) } +/// A trade or route's intent: the tokens it names and the amounts the user +/// entered, parsed against each token's decimals. +fn trade_intent( + vault_ids: Vec<[u8; 32]>, + token_in: &[u8], + token_out: &[u8], + amount_in: &str, + min_amount_out: &str, + route: &str, +) -> Result { + let token_in = d32(token_in, "token_in_policy_commit", route)?; + let token_out = d32(token_out, "token_out_policy_commit", route)?; + if token_in == token_out { + return Err(format!("{route}: the two tokens must differ")); + } + let amount_in = entered(amount_in, &token_in, "amount in", route)?; + if amount_in == 0 { + return Err(format!("{route}: amount in must be positive")); + } + Ok(TradeIntent { + vault_ids, + token_in_policy_commit: token_in, + token_out_policy_commit: token_out, + amount_in, + min_amount_out: entered(min_amount_out, &token_out, "minimum out", route)?, + }) +} + impl AppRouterImpl { pub(crate) async fn handle_sofi_invoke(&self, i: AppInvoke) -> AppResult { let network = match crate::sdk::economic_admission_flow::committed_network_id() { @@ -58,13 +103,13 @@ impl AppRouterImpl { }; match i.method.as_str() { "sofi.createVault" => self.sofi_create_vault(&i, &set).await, - "sofi.setup" => self.sofi_setup(&i, &set).await, "sofi.findRoute" => self.sofi_find_route(&i, &set).await, "sofi.trade" => self.sofi_trade(&i, &set).await, "sofi.route" => self.sofi_route(&i, &set).await, "sofi.close" => self.sofi_close(&i, &set).await, "sofi.relay" => self.sofi_relay(&i, &set).await, "sofi.resolve" => self.sofi_resolve(&set).await, + "sofi.vaults" => self.sofi_vaults(&set).await, other => err(format!("unknown SoFi route: {other}")), } } @@ -87,14 +132,16 @@ impl AppRouterImpl { "{ROUTE}: the pair must be ordered, token_a < token_b" )); } - if req.reserve_a == 0 || req.reserve_b == 0 { + let reserve_a = entered(&req.reserve_a_entered, &a, "reserve A", ROUTE)?; + let reserve_b = entered(&req.reserve_b_entered, &b, "reserve B", ROUTE)?; + if reserve_a == 0 || reserve_b == 0 { return Err(format!("{ROUTE}: both reserves must be positive")); } Ok(CreateVaultIntent { token_a_policy_commit: a, token_b_policy_commit: b, - reserve_a: req.reserve_a, - reserve_b: req.reserve_b, + reserve_a, + reserve_b, fee_bps: req.fee_bps, }) })() { @@ -112,31 +159,6 @@ impl AppRouterImpl { } } - async fn sofi_setup( - &self, - i: &AppInvoke, - set: &crate::sdk::storage_set::StorageSet, - ) -> AppResult { - const ROUTE: &str = "sofi.setup"; - let req: generated::SofiSetupRequest = match request(i) { - Ok(r) => r, - Err(e) => return err(e), - }; - let vault_id = match d32(&req.vault_id, "vault_id", ROUTE) { - Ok(v) => v, - Err(e) => return err(e), - }; - match crate::sdk::sofi_flow::setup(&self.core_sdk, set, &SetupIntent { vault_id }).await { - Ok(done) => pack_envelope_ok(generated::envelope::Payload::SofiSetupResponse( - generated::SofiSetupResponse { - setup_ref: done.setup_ref.to_vec(), - position: done.position, - }, - )), - Err(e) => err(format!("{ROUTE}: {e}")), - } - } - async fn sofi_find_route( &self, i: &AppInvoke, @@ -157,36 +179,53 @@ impl AppRouterImpl { if token_in == token_out { return Err(format!("{ROUTE}: the two tokens must differ")); } - if req.amount_in == 0 { - return Err(format!("{ROUTE}: amount_in must be positive")); + let amount_in = entered(&req.amount_in_entered, &token_in, "amount in", ROUTE)?; + if amount_in == 0 { + return Err(format!("{ROUTE}: amount in must be positive")); } Ok(FindRouteIntent { token_in_policy_commit: token_in, token_out_policy_commit: token_out, - amount_in: req.amount_in, + amount_in, }) })() { Ok(v) => v, Err(e) => return err(e), }; - match crate::sdk::sofi_flow::find_route(&self.core_sdk, set, &intent).await { - Ok(hops) => pack_envelope_ok(generated::envelope::Payload::SofiFindRouteResponse( - generated::SofiFindRouteResponse { - hops: hops - .into_iter() - .map(|h| generated::SofiHopV1 { - vault_id: h.vault_id.to_vec(), - parent_root: h.parent_root.to_vec(), - token_in_policy_commit: h.token_in_policy_commit.to_vec(), - token_out_policy_commit: h.token_out_policy_commit.to_vec(), - amount_in: h.amount_in, - amount_out: h.amount_out, - }) - .collect(), - }, - )), - Err(e) => err(format!("{ROUTE}: {e}")), + let found = match crate::sdk::sofi_flow::find_route(&self.core_sdk, set, &intent).await { + Ok(found) => found, + Err(e) => return err(format!("{ROUTE}: {e}")), + }; + let mut hops = Vec::with_capacity(found.hops.len()); + for h in found.hops { + let (amount_in_display, amount_out_display) = match ( + shown(h.amount_in, &h.token_in_policy_commit, ROUTE), + shown(h.amount_out, &h.token_out_policy_commit, ROUTE), + ) { + (Ok(a), Ok(b)) => (a, b), + (Err(e), _) | (_, Err(e)) => return err(e), + }; + hops.push(generated::SofiHopV1 { + vault_id: h.vault_id.to_vec(), + parent_root: h.parent_root.to_vec(), + token_in_policy_commit: h.token_in_policy_commit.to_vec(), + token_out_policy_commit: h.token_out_policy_commit.to_vec(), + amount_in: h.amount_in, + amount_out: h.amount_out, + amount_in_display, + amount_out_display, + }); } + let search = match found.search { + Search::Complete => generated::SofiSearch::Complete, + Search::Partial => generated::SofiSearch::Partial, + }; + pack_envelope_ok(generated::envelope::Payload::SofiFindRouteResponse( + generated::SofiFindRouteResponse { + hops, + search: search as i32, + }, + )) } async fn sofi_trade( @@ -201,16 +240,14 @@ impl AppRouterImpl { }; let intent = match (|| -> Result { let vault_id = d32(&req.vault_id, "vault_id", ROUTE)?; - let token_in = d32(&req.token_in_policy_commit, "token_in_policy_commit", ROUTE)?; - if req.amount_in == 0 { - return Err(format!("{ROUTE}: amount_in must be positive")); - } - Ok(TradeIntent { - vault_ids: vec![vault_id], - token_in_policy_commit: token_in, - amount_in: req.amount_in, - min_amount_out: req.min_amount_out, - }) + trade_intent( + vec![vault_id], + &req.token_in_policy_commit, + &req.token_out_policy_commit, + &req.amount_in_entered, + &req.min_amount_out_entered, + ROUTE, + ) })() { Ok(v) => v, Err(e) => return err(e), @@ -243,16 +280,14 @@ impl AppRouterImpl { } vault_ids.push(v); } - let token_in = d32(&req.token_in_policy_commit, "token_in_policy_commit", ROUTE)?; - if req.amount_in == 0 { - return Err(format!("{ROUTE}: amount_in must be positive")); - } - Ok(TradeIntent { + trade_intent( vault_ids, - token_in_policy_commit: token_in, - amount_in: req.amount_in, - min_amount_out: req.min_amount_out, - }) + &req.token_in_policy_commit, + &req.token_out_policy_commit, + &req.amount_in_entered, + &req.min_amount_out_entered, + ROUTE, + ) })() { Ok(v) => v, Err(e) => return err(e), @@ -313,6 +348,53 @@ impl AppRouterImpl { } } + async fn sofi_vaults(&self, set: &crate::sdk::storage_set::StorageSet) -> AppResult { + const ROUTE: &str = "sofi.vaults"; + let owned = match crate::sdk::sofi_flow::owned_vaults(&self.core_sdk, set).await { + Ok(owned) => owned, + Err(e) => return err(format!("{ROUTE}: {e}")), + }; + let mut vaults = Vec::with_capacity(owned.len()); + for v in owned { + let row = (|| -> Result { + let (token_a_symbol, ..) = token_of_commit(&v.token_a_policy_commit) + .map_err(|e| format!("{ROUTE}: {e}"))?; + let (token_b_symbol, ..) = token_of_commit(&v.token_b_policy_commit) + .map_err(|e| format!("{ROUTE}: {e}"))?; + let status = match v.status { + dsm::sofi::wire::VAULT_STATUS_ACTIVE => generated::SofiVaultStatus::Active, + dsm::sofi::wire::VAULT_STATUS_RETIRED => generated::SofiVaultStatus::Retired, + other => { + return Err(format!( + "{ROUTE}: vault status {other:#06x} is not declared" + )) + } + }; + Ok(generated::SofiOwnedVaultV1 { + vault_id: v.vault_id.to_vec(), + token_a_policy_commit: v.token_a_policy_commit.to_vec(), + token_b_policy_commit: v.token_b_policy_commit.to_vec(), + token_a_symbol, + token_b_symbol, + reserve_a: v.reserve_a, + reserve_b: v.reserve_b, + reserve_a_display: shown(v.reserve_a, &v.token_a_policy_commit, ROUTE)?, + reserve_b_display: shown(v.reserve_b, &v.token_b_policy_commit, ROUTE)?, + fee_bps: v.fee_bps, + generation: v.generation, + status: status as i32, + }) + })(); + match row { + Ok(row) => vaults.push(row), + Err(e) => return err(e), + } + } + pack_envelope_ok(generated::envelope::Payload::SofiVaultsResponse( + generated::SofiVaultsResponse { vaults }, + )) + } + async fn sofi_resolve(&self, set: &crate::sdk::storage_set::StorageSet) -> AppResult { match crate::sdk::sofi_flow::resolve(&self.core_sdk, set).await { Ok(outcome) => position_response(outcome), diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/token_routes.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/token_routes.rs index 3c90d26b0..b9abd9182 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/token_routes.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/token_routes.rs @@ -1285,8 +1285,6 @@ impl AppRouterImpl { }; let fee_amount = dsm::core::token::TOKEN_CREATION_FEE_ERA; - let dev_id = creator_device_id; - let device_txt = crate::util::text_id::encode_base32_crockford(&dev_id); // Reject insufficient ERA BEFORE anything is committed. The // advance's checked_sub is the backstop; this is the clear @@ -1372,7 +1370,7 @@ impl AppRouterImpl { // genesis release (`0x005F`), beside the ERA fee debit, as one // write set (SoFi §51). The registry row rides the SAME // transaction via the composed in-tx writer. - let outcome = + let (outcome, admitted) = match crate::sdk::economic_admission_flow::admitted_self_loop_operation( &self.core_sdk, create_op, @@ -1384,57 +1382,29 @@ impl AppRouterImpl { ) .await { - Ok((o, ..)) => o, + Ok(done) => done, Err(e) => return err(format!("token.create: {e}")), }; - // Projections for BOTH assets the advance moved. - { - if let Err(e) = - crate::storage::client_db::build_balance_projection_from_device_head( - &device_txt, - &ticker, - &policy_commit, - &outcome.new_device_state, - genesis_u64, - 0, - ) - .and_then(|record| { - crate::storage::client_db::upsert_balance_projection(&record) - }) - { - log::warn!( - "[token.create] projection write failed for {ticker} (canonical state \ - is correct; a repair sweep will reconcile): {e}" - ); - } - } - if fee_amount > 0 { - if let Some(era_commit) = - dsm::core::token::builtin_policy_commit_for_token("ERA") - { - let era_after = outcome.new_device_state.balance(&era_commit); - if let Err(e) = crate::storage::client_db::get_locked_balance( - &device_txt, - "ERA", - ) - .and_then(|locked| { - crate::storage::client_db::build_balance_projection_from_device_head( - &device_txt, - "ERA", - &era_commit, - &outcome.new_device_state, - era_after, - locked, - ) - }) - .and_then(|record| { - crate::storage::client_db::upsert_balance_projection(&record) - }) { - log::warn!("[token.create] ERA projection write failed: {e}"); - } - } - } + // The creation is the event the wallet shows: its history row + // naming the ERA fee paid and the supply credited, and the + // projection of both tokens rebuilt from the new head. + let moved: Vec = deltas + .iter() + .map(|d| crate::sdk::realized_records::Moved { + policy_commit: d.policy_commit, + direction: d.direction, + amount: d.amount, + }) + .collect(); + crate::sdk::realized_records::record_realized( + &outcome.new_device_state, + crate::sdk::realized_records::Realized::TokenCreate, + &policy_commit, + admitted.economic_position, + Some(&policy_commit), + &moved, + ); let resp = generated::TokenCreateResponse { success: true, diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/wallet_routes.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/wallet_routes.rs index 7d58028d6..2fba05d9d 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/wallet_routes.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/wallet_routes.rs @@ -39,6 +39,132 @@ pub fn token_decimals(token_id: &str) -> Result { } } +/// The wire type of a token or SoFi event row, by its stored type. +fn event_type(stored: &str) -> Option { + use crate::sdk::realized_records::Realized; + [ + Realized::TokenCreate, + Realized::VaultCreate, + Realized::Setup, + Realized::Trade, + Realized::Close, + ] + .into_iter() + .find(|kind| kind.tx_type() == stored) + .map(|kind| match kind { + Realized::TokenCreate => generated::TransactionType::TxTypeTokenCreate, + Realized::VaultCreate => generated::TransactionType::TxTypeVaultCreate, + Realized::Setup => generated::TransactionType::TxTypeSofiSetup, + Realized::Trade => generated::TransactionType::TxTypeSofiTrade, + Realized::Close => generated::TransactionType::TxTypeSofiClose, + }) +} + +/// The stored type of a token or SoFi event's wire type; `None` for every +/// other type. +fn event_type_name(kind: generated::TransactionType) -> Option<&'static str> { + use crate::sdk::realized_records::Realized; + match kind { + generated::TransactionType::TxTypeTokenCreate => Some(Realized::TokenCreate.tx_type()), + generated::TransactionType::TxTypeVaultCreate => Some(Realized::VaultCreate.tx_type()), + generated::TransactionType::TxTypeSofiSetup => Some(Realized::Setup.tx_type()), + generated::TransactionType::TxTypeSofiTrade => Some(Realized::Trade.tx_type()), + generated::TransactionType::TxTypeSofiClose => Some(Realized::Close.tx_type()), + generated::TransactionType::TxTypeUnspecified + | generated::TransactionType::TxTypeFaucet + | generated::TransactionType::TxTypeBilateralOffline + | generated::TransactionType::TxTypeOnline + | generated::TransactionType::TxTypeDbtcMint + | generated::TransactionType::TxTypeDbtcBurn => None, + } +} + +/// A token or SoFi event's history row (phone-rig rulings, 2026-10-01): every +/// token it moved, signed, and the vault or token it is about. A row whose +/// movements, ids or subject do not decode is corrupt, and an error. +fn event_transaction( + t: &crate::storage::client_db::TransactionRecord, + kind: generated::TransactionType, +) -> Result { + use crate::sdk::realized_records::{decode_moves, MOVES_KEY, SUBJECT_KEY}; + use dsm::types::device_state::BalanceDirection; + let corrupt = |what: String| format!("wallet.history: event {}: {what}", t.tx_id); + let bytes32 = |what: &str, text: &str| -> Result, String> { + crate::util::text_id::decode_base32_crockford(text) + .filter(|b| b.len() == 32) + .ok_or_else(|| corrupt(format!("its {what} is not 32 bytes"))) + }; + let stored = t + .metadata + .get(MOVES_KEY) + .ok_or_else(|| corrupt("names no token movements".to_string()))?; + let mut moves = Vec::new(); + for m in decode_moves(stored).map_err(corrupt)? { + let (token_id, ..) = token_of_commit(&m.policy_commit).map_err(corrupt)?; + let magnitude = i64::try_from(m.amount) + .map_err(|e| corrupt(format!("a movement exceeds a signed amount: {e}")))?; + moves.push(generated::TokenMove { + policy_commit: m.policy_commit.to_vec(), + token_id, + amount_signed: match m.direction { + BalanceDirection::Credit => magnitude, + BalanceDirection::Debit => -magnitude, + }, + // Filled at the encoding boundary by enrich_transaction_display. + display_amount: String::new(), + }); + } + let subject = match t.metadata.get(SUBJECT_KEY) { + Some(bytes) => String::from_utf8(bytes.clone()) + .map_err(|e| corrupt(format!("its subject is not text: {e}")))?, + None => String::new(), + }; + Ok(generated::TransactionInfo { + id: format!("tx_{}", t.tx_hash), + from_device_id: bytes32("device id", &t.from_device)?, + to_device_id: bytes32("device id", &t.to_device)?, + token_id: String::new(), + amount: t.amount, + tx_hash: bytes32("event id", &t.tx_hash)?, + amount_signed: 0, + tx_type: kind as i32, + status: t.status.clone(), + recipient: subject, + stitched_receipt: Vec::new(), + memo: String::new(), + // An event carries no stitched receipt to verify. + receipt_verified: t.proof_data.as_ref().is_some_and(|b| { + receipt_state_holds( + b, + t.metadata + .get(crate::storage::client_db::HISTORY_OPERATION_KEY), + ) + }), + display_amount: String::new(), + moves, + }) +} + +/// A token named by its policy commit: its ticker and the decimals of its +/// committed policy. ERA and dBTC are built in; any other token is the one +/// this device's registry holds under that commit. +pub(crate) fn token_of_commit(policy_commit: &[u8; 32]) -> Result<(String, u32), String> { + if let Some(builtin) = + dsm::core::token::token_state_manager::builtin_token_id_for_policy_commit(policy_commit) + { + return Ok((builtin.to_string(), token_decimals(builtin)?)); + } + let row = crate::storage::client_db::token_registry::get_token_by_policy_commit(policy_commit) + .map_err(|e| format!("token registry unreadable: {e}"))? + .ok_or_else(|| { + format!( + "no registry entry for token {}; its decimals are unknown", + crate::util::text_id::encode_base32_crockford(policy_commit) + ) + })?; + Ok((row.ticker, row.decimals)) +} + /// A signed amount rendered for display, sign included. /// /// Transaction history shows outgoing amounts negative. The magnitude is @@ -61,6 +187,19 @@ pub fn format_signed_base_units_for_display(amount: i64, decimals: u32) -> Strin /// `amount_signed == 0`, so fall back to the unsigned magnitude rather than /// rendering every historical row as zero. pub fn enrich_transaction_display(tx: &mut generated::TransactionInfo) -> Result<(), String> { + // An event shows each token it moved, from that token's committed + // decimals; it has no single amount of its own. + if let Ok(kind) = generated::TransactionType::try_from(tx.tx_type) { + if event_type_name(kind).is_some() { + for m in tx.moves.iter_mut() { + let commit = <[u8; 32]>::try_from(m.policy_commit.as_slice()) + .map_err(|e| format!("a token movement's policy commit: {e}"))?; + let (.., decimals) = token_of_commit(&commit)?; + m.display_amount = format_signed_base_units_for_display(m.amount_signed, decimals); + } + return Ok(()); + } + } let decimals = token_decimals(&tx.token_id)?; tx.display_amount = if tx.amount_signed != 0 { format_signed_base_units_for_display(tx.amount_signed, decimals) @@ -579,6 +718,10 @@ impl AppRouterImpl { let txs: Result, String> = sqlite_txs .into_iter() .map(|t| { + // A token or SoFi event names every token it moved. + if let Some(event) = event_type(&t.tx_type) { + return event_transaction(&t, event); + } // PROTO SAFETY: // TransactionInfo.id is a `string` in dsm_app.proto and must be valid UTF-8. // Some older records may contain non-UTF8 bytes (or otherwise invalid) @@ -731,6 +874,8 @@ impl AppRouterImpl { .get(crate::storage::client_db::HISTORY_OPERATION_KEY), ) }), + // A transfer moves the one token above. + moves: Vec::new(), }) }) .collect(); diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/mod.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/mod.rs index fecc87154..0cd2f0681 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/mod.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/mod.rs @@ -40,6 +40,7 @@ pub mod core_sdk; pub mod identity_publication; // publication-quorum lifecycle for device identities pub mod inbox_poller; pub mod kyber_identity; // ML-KEM identity binding for online contact establishment (§11.1) +pub mod realized_records; pub mod session_manager; // Native-first session state projection pub mod signing_authority; pub mod sofi_advance; diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/realized_records.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/realized_records.rs new file mode 100644 index 000000000..26e75d0ee --- /dev/null +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/realized_records.rs @@ -0,0 +1,291 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 + +//! The wallet's records of a token or SoFi event once its position realizes: +//! a history row naming every token the event moved, with its amount, and the +//! balance projection of each token it moved, rebuilt from the device head +//! (phone-rig rulings, 2026-10-01). +//! +//! Both are display caches of what the head commits. The head is final +//! before either is written, so a row or projection that fails to persist is +//! logged, the row kept in the history repair queue for the startup sweep — +//! never reported as a failed event. + +use dsm::types::device_state::{BalanceDirection, DeviceState}; + +use crate::storage::client_db::{ + build_balance_projection_from_device_head, enqueue_history_repair, get_balance_projection, + store_transaction, token_registry, upsert_balance_projection, TransactionRecord, +}; +use crate::util::text_id::encode_base32_crockford as b32; + +type D32 = [u8; 32]; + +/// The metadata key of a row's token movements. +pub(crate) const MOVES_KEY: &str = "moves"; +/// The metadata key of the vault or token an event is about. +pub(crate) const SUBJECT_KEY: &str = "subject"; + +/// Bytes of one encoded movement: the policy commit, the direction, and the +/// amount, big-endian. +const MOVE_BYTES: usize = 32 + 1 + 8; +const CREDIT: u8 = 0x01; +const DEBIT: u8 = 0x02; + +/// What realized. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub(crate) enum Realized { + /// A token created: its ERA fee paid, its genesis supply credited. + TokenCreate, + /// A vault created: both reserves paid in. + VaultCreate, + /// A setup with a vault: no token moves. + Setup, + /// A trade or route. + Trade, + /// The owner's close: both reserves credited. + Close, +} + +impl Realized { + /// The row's stored type, which the history maps to the wire's. + pub(crate) fn tx_type(self) -> &'static str { + match self { + Self::TokenCreate => "token_create", + Self::VaultCreate => "vault_create", + Self::Setup => "sofi_setup", + Self::Trade => "sofi_trade", + Self::Close => "sofi_close", + } + } +} + +/// One token an event moved. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub(crate) struct Moved { + pub policy_commit: D32, + pub direction: BalanceDirection, + pub amount: u64, +} + +impl Moved { + /// The movement from a balance before to after; `None` when it did not + /// change. + pub(crate) fn between(policy_commit: D32, before: u64, after: u64) -> Option { + if after > before { + Some(Self { + policy_commit, + direction: BalanceDirection::Credit, + amount: after - before, + }) + } else if before > after { + Some(Self { + policy_commit, + direction: BalanceDirection::Debit, + amount: before - after, + }) + } else { + None + } + } +} + +/// The movements as a row stores them. +pub(crate) fn encode_moves(moved: &[Moved]) -> Vec { + let mut out = Vec::with_capacity(moved.len() * MOVE_BYTES); + for m in moved { + out.extend_from_slice(&m.policy_commit); + out.push(match m.direction { + BalanceDirection::Credit => CREDIT, + BalanceDirection::Debit => DEBIT, + }); + out.extend_from_slice(&m.amount.to_be_bytes()); + } + out +} + +/// The movements a row stores. Bytes that are not whole movements, or a +/// direction that is neither, are a corrupt row. +pub(crate) fn decode_moves(bytes: &[u8]) -> Result, String> { + let (chunks, rest) = bytes.as_chunks::(); + if !rest.is_empty() { + return Err(format!( + "{} bytes are not whole token movements", + bytes.len() + )); + } + let mut out = Vec::with_capacity(chunks.len()); + for chunk in chunks { + let (commit, rest) = chunk.split_at(32); + let (direction, amount) = rest.split_at(1); + let direction = match direction { + [CREDIT] => BalanceDirection::Credit, + [DEBIT] => BalanceDirection::Debit, + other => return Err(format!("movement direction {other:?} is not declared")), + }; + out.push(Moved { + policy_commit: ::try_from(commit).map_err(|e| format!("policy commit: {e}"))?, + direction, + amount: u64::from_be_bytes( + <[u8; 8]>::try_from(amount).map_err(|e| format!("amount: {e}"))?, + ), + }); + } + Ok(out) +} + +/// The ticker a token's balances are projected under: ERA and dBTC built +/// in, any other token the one this device's registry holds under the commit. +fn ticker_of(policy_commit: &D32) -> Result { + if let Some(builtin) = + dsm::core::token::token_state_manager::builtin_token_id_for_policy_commit(policy_commit) + { + return Ok(builtin.to_string()); + } + token_registry::get_token_by_policy_commit(policy_commit) + .map_err(|e| format!("token registry unreadable: {e}"))? + .map(|row| row.ticker) + .ok_or_else(|| format!("no registry entry for token {}", b32(policy_commit))) +} + +/// Rebuild the projection of `policy_commit` from `head`, keeping the lock +/// the projection holds (a dBTC withdrawal in flight). +fn project(head: &DeviceState, device_txt: &str, policy_commit: &D32) -> Result<(), String> { + let ticker = ticker_of(policy_commit)?; + let locked = match get_balance_projection(device_txt, &ticker) + .map_err(|e| format!("projection unreadable: {e}"))? + { + Some(existing) => existing.locked, + None => 0, + }; + let record = build_balance_projection_from_device_head( + device_txt, + &ticker, + policy_commit, + head, + head.balance(policy_commit), + locked, + ) + .map_err(|e| format!("projection: {e}"))?; + upsert_balance_projection(&record).map_err(|e| format!("projection write: {e}")) +} + +/// Record `what`, realized at `position` with `head` as the device's head: +/// its history row, identified by `event` (the vault, setup, token or +/// fulfillment it is), naming `subject` and every token in `moved`, and the +/// projection of each token it moved rebuilt from `head`. +pub(crate) fn record_realized( + head: &DeviceState, + what: Realized, + event: &D32, + position: u64, + subject: Option<&D32>, + moved: &[Moved], +) { + let device_txt = b32(&head.devid()); + for m in moved { + if let Err(e) = project(head, &device_txt, &m.policy_commit) { + log::error!( + "[{}] the event stands; the projection of {} was not rebuilt: {e}", + what.tx_type(), + b32(&m.policy_commit) + ); + } + } + let mut metadata = std::collections::HashMap::new(); + metadata.insert(MOVES_KEY.to_string(), encode_moves(moved)); + metadata.insert( + "economic_position".to_string(), + position.to_string().into_bytes(), + ); + if let Some(subject) = subject { + metadata.insert(SUBJECT_KEY.to_string(), b32(subject).into_bytes()); + } + let row = TransactionRecord { + tx_id: format!("{}_{}", what.tx_type(), b32(event)), + tx_hash: b32(event), + from_device: device_txt.clone(), + to_device: device_txt, + amount: 0, + tx_type: what.tx_type().to_string(), + status: "confirmed".to_string(), + commitment_hash: None, + proof_data: None, + metadata, + }; + if let Err(e) = store_transaction(&row) { + log::error!( + "[{}] the event stands; its history row failed to persist: {e}", + what.tx_type() + ); + if let Err(q) = + enqueue_history_repair(&row, &format!("{} history row failed: {e}", what.tx_type())) + { + log::error!( + "[{}] could not queue the history repair: {q}", + what.tx_type() + ); + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn movements_survive_the_row_and_a_corrupt_row_is_refused() { + let moved = [ + Moved { + policy_commit: [0x11; 32], + direction: BalanceDirection::Debit, + amount: 5_000, + }, + Moved { + policy_commit: [0x22; 32], + direction: BalanceDirection::Credit, + amount: 332_665, + }, + ]; + let bytes = encode_moves(&moved); + assert_eq!(bytes.len(), 2 * MOVE_BYTES); + assert_eq!(decode_moves(&bytes), Ok(moved.to_vec())); + // A setup moves no token: its row stores no movement and reads back none. + let setup = decode_moves(&encode_moves(&[])).expect("an empty row decodes"); + assert!(setup.is_empty()); + assert_eq!( + decode_moves(&bytes[..MOVE_BYTES - 1]), + Err(format!( + "{} bytes are not whole token movements", + MOVE_BYTES - 1 + )) + ); + let mut undeclared = bytes.clone(); + undeclared[32] = 0x07; + assert_eq!( + decode_moves(&undeclared), + Err("movement direction [7] is not declared".to_string()) + ); + } + + #[test] + fn a_movement_is_the_change_between_two_balances() { + let token = [0x33; 32]; + assert_eq!( + Moved::between(token, 100, 40), + Some(Moved { + policy_commit: token, + direction: BalanceDirection::Debit, + amount: 60 + }) + ); + assert_eq!( + Moved::between(token, 0, 667_335), + Some(Moved { + policy_commit: token, + direction: BalanceDirection::Credit, + amount: 667_335 + }) + ); + assert_eq!(Moved::between(token, 9, 9), None); + } +} diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/sofi_advance.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/sofi_advance.rs index e29b11670..a5f3c5fe2 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/sofi_advance.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/sofi_advance.rs @@ -40,16 +40,17 @@ use dsm::sofi::registration::Registration; use dsm::sofi::resolution::{PositionEffect, Resolution}; use dsm::sofi::resolve::Acquired; use dsm::sofi::storage::Resolved; -use dsm::sofi::validation::{trader_post_states, vault_post_states}; +use dsm::sofi::validation::{trader_balance_changes, trader_post_states, vault_post_states}; use dsm::sofi::wire::{ - next_position, ParentClaimRef, SettlementPreimage, TraderFulfillmentBody, TraderPrecommitBody, - ValidationRef, + next_position, ParentClaimRef, SettlementBody, SettlementPreimage, TraderFulfillmentBody, + TraderPrecommitBody, ValidationRef, }; use dsm::types::device_state::RelationshipChainState; use dsm::types::error::DsmError; use dsm::types::operations::Operation; use crate::sdk::core_sdk::CoreSDK; +use crate::sdk::realized_records::{record_realized, Moved, Realized}; use crate::sdk::economic_admission_flow::validated_root_or_activate; use crate::sdk::route_seats::{read_cell, NodeSeats}; use crate::sdk::sofi_exercise::{build_exercise, write_exercise, LegWrite}; @@ -821,10 +822,29 @@ pub async fn resolve_pending_position( // cache must recompute the root before it is written. let current = economic_lineage::load_leaf_cache().map_err(|e| storage("leaf cache", e))?; let mut vault_heads = Vec::new(); + let mut realized = None; let leaves = match (advanced.resolution, &established) { (Resolution::Realized, Established::Facts(facts)) => { let post = trader_post_states(&precommit, facts.preimage(), facts.evidence()) .map_err(|e| refuse(format!("post states: {e:?}")))?; + // What realized, and every token it moved, from the same + // evidence: what the history row names once the position is + // installed. + let what = match facts.preimage().settlement() { + SettlementBody::Close { .. } => Realized::Close, + SettlementBody::Swap { .. } => Realized::Trade, + }; + let mut moved = Vec::new(); + for change in trader_balance_changes(&precommit, facts.preimage(), facts.evidence()) + .map_err(|e| refuse(format!("balance changes: {e:?}")))? + { + moved.extend(Moved::between( + change.policy_commit, + change.before, + change.after, + )); + } + realized = Some((what, moved)); // The vaults moved too, and this device is the one that resolved // it: the post state each leg selected is kept so the NEXT trade // against that vault has evidence to stand on (§44.4). Recomputed @@ -860,6 +880,22 @@ pub async fn resolve_pending_position( &set.id(), &vault_heads, )?; + // A realized route is the event the wallet shows: its history row, and + // the projection of every token it moved rebuilt from the installed + // head. A void route moved nothing and has none. + if let Some((what, moved)) = realized { + let installed = core + .device_head() + .ok_or_else(|| storage("device head", "none after the install"))?; + record_realized( + &installed, + what, + &fulfillment_id, + q, + Some(&first.vault_id), + &moved, + ); + } Ok(Advanced::Installed { resolution: advanced.resolution, effect: advanced.effect, diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/sofi_flow.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/sofi_flow.rs index 159364c51..dff119c67 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/sofi_flow.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/sofi_flow.rs @@ -14,7 +14,7 @@ use std::collections::BTreeMap; use dsm::ccb::state::{FeePolicy, MarketPolicy, ReleasePolicy}; -use dsm::dlv::route_commit::constant_product_output_classified; +use dsm::dlv::route_commit::{constant_product_output_classified, ConstantProductRefusal}; use dsm::economic::keys::balance_key; use dsm::economic::lineage::{AdmittedEconomicPosition, ValidatedEconomicRoot}; use dsm::economic::state::{EconomicBalanceState, EconomicLeafState}; @@ -26,7 +26,10 @@ use dsm::sofi::registration::Registration; use dsm::sofi::resolution::{VaultChain, WalkOutcome}; use dsm::sofi::resolve::{Acquired, LocalLeaves, VaultGenesis, Verifier, WALK_BUDGET}; use dsm::sofi::storage::Discovered; -use dsm::sofi::validation::{close_vault_post, swap_vault_post, Evidence, EvidenceNeeds, Policies}; +use dsm::sofi::validation::{ + close_vault_post, route_endpoints, swap_vault_post, Evidence, EvidenceNeeds, HopMovement, + Policies, +}; use dsm::sofi::wire::{ next_attempt, next_position, CoreEntry, DlvCore, SwapHop, TraderCore, VaultGenesisPreimage, VaultStateLeaf, VAULT_STATUS_ACTIVE, @@ -35,6 +38,7 @@ use dsm::types::device_state::{BalanceDelta, BalanceDirection}; use dsm::types::error::DsmError; use crate::sdk::core_sdk::CoreSDK; +use crate::sdk::realized_records::{record_realized, Moved, Realized}; use crate::sdk::economic_admission_flow::{ admitted_self_loop_operation, committed_network_id, producer_tree_and_pre_state, validated_root_or_activate, BuiltOn, @@ -91,17 +95,11 @@ pub struct VaultCreated { pub position: u64, } -/// `sofi.setup` (§29). -#[derive(Debug, Clone, PartialEq, Eq)] -pub struct SetupIntent { - pub vault_id: D32, -} - +/// A setup with one vault (§29), admitted ahead of the first operation +/// through it (Amendment S16). #[derive(Debug, Clone, PartialEq, Eq)] -pub struct SetUp { - /// ρ. - pub setup_ref: D32, - pub position: u64, +struct SetupIntent { + vault_id: D32, } /// `sofi.findRoute` (§30): path search over walked heads. @@ -112,6 +110,25 @@ pub struct FindRouteIntent { pub amount_in: u64, } +/// What `sofi.findRoute` searched (Amendment S16): every vault the two token +/// indexes name, or not every one. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum Search { + /// Every candidate vault, and the head of each, was established. + Complete, + /// A candidate vault, or its head, was not established: a better route + /// may run through it. + Partial, +} + +/// The best route over the vaults the search established, and how complete +/// the search was. An empty `hops` is no route among them. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct RouteFound { + pub hops: Vec, + pub search: Search, +} + /// One hop of a proposed route, priced at the vault's walked head. Carries no /// authority. #[derive(Debug, Clone, PartialEq, Eq)] @@ -130,6 +147,8 @@ pub struct Hop { pub struct TradeIntent { pub vault_ids: Vec, pub token_in_policy_commit: D32, + /// The token the trader asks for: the route must give it. + pub token_out_policy_commit: D32, pub amount_in: u64, pub min_amount_out: u64, } @@ -217,7 +236,8 @@ fn identity(core: &CoreSDK) -> Result<(D32, D32), DsmError> { /// §28: the owner's creation. The three policy objects and the genesis /// preimage are published and read back `Stored` first: a genesis nobody's /// creation carried is refused by `genesis_accepted`, so publishing first -/// asserts nothing, and it means the vault is findable the moment it exists. +/// asserts nothing, and it means the vault is findable — by its id and by +/// each of its two tokens (Amendment S16) — the moment it exists. /// Then the creation runs through the Core transition, debiting both /// reserves as one write set. pub async fn create_vault( @@ -229,12 +249,12 @@ pub async fn create_vault( let validated = validated_root_or_activate(core)?; let create_position = next_position(validated.economic_position()).map_err(refuse)?; - let market = MarketPolicy::beta_constant_product( + let pair = MarketPolicy::beta_constant_product( intent.token_a_policy_commit, intent.token_b_policy_commit, ) - .map_err(refuse)? - .encode(); + .map_err(refuse)?; + let market = pair.encode(); let fee = FeePolicy::new(intent.fee_bps).map_err(refuse)?.encode(); let release = ReleasePolicy::beta_owner_local_full_close().encode(); let policies = [ @@ -275,7 +295,16 @@ pub async fn create_vault( state, }; let produced = build_vault_create(&preimage, &market).map_err(refuse)?; - let published = publish(set, &Publication::VaultGenesis(&preimage)).await?; + // Indexed under its genesis locator and under each token of its pair, so + // any trader finds it by the tokens it trades (Amendment S16). + let published = publish( + set, + &Publication::VaultGenesis { + preimage: &preimage, + market: &pair, + }, + ) + .await?; require_stored("vault genesis", &published)?; let operation = produced @@ -297,7 +326,7 @@ pub async fn create_vault( // The genesis names `create_position`, the successor of the predecessor // it was built on: the admission is refused before the advance unless // that is still the predecessor this device stands on. - let (.., admitted) = admitted_self_loop_operation( + let (outcome, admitted) = admitted_self_loop_operation( core, operation, &deltas, @@ -307,8 +336,25 @@ pub async fn create_vault( Some(BuiltOn::of(&validated)), ) .await?; + let vault_id = preimage.vault_id(); + let moved: Vec = deltas + .iter() + .map(|d| Moved { + policy_commit: d.policy_commit, + direction: d.direction, + amount: d.amount, + }) + .collect(); + record_realized( + &outcome.new_device_state, + Realized::VaultCreate, + &vault_id, + admitted.economic_position, + Some(&vault_id), + &moved, + ); Ok(VaultCreated { - vault_id: preimage.vault_id(), + vault_id, position: admitted.economic_position, }) } @@ -342,12 +388,9 @@ fn own_claim_ref(admitted: &AdmittedEconomicPosition) -> Result { /// §29: the setup body is built against this device's validated predecessor, /// published and read back `Stored`, then carried by the trader's transition, -/// which inserts `h⁰`. -pub async fn setup( - core: &CoreSDK, - set: &StorageSet, - intent: &SetupIntent, -) -> Result { +/// which inserts `h⁰`. Run by [`set_up_with`] ahead of the first operation +/// through the vault (Amendment S16). +async fn setup(core: &CoreSDK, set: &StorageSet, intent: &SetupIntent) -> Result<(), DsmError> { let (genesis, device_id) = identity(core)?; let admitted = economic_lineage::get_admitted() .map_err(|e| storage("load admitted", e))? @@ -405,7 +448,7 @@ pub async fn setup( // The setup is built against `validated`: the admission is refused // before the advance unless that is still the predecessor this device // stands on. - let (.., admitted) = admitted_self_loop_operation( + let (outcome, admitted) = admitted_self_loop_operation( core, operation, &[], @@ -415,10 +458,15 @@ pub async fn setup( Some(BuiltOn::of(&validated)), ) .await?; - Ok(SetUp { - setup_ref, - position: admitted.economic_position, - }) + record_realized( + &outcome.new_device_state, + Realized::Setup, + &setup_ref, + admitted.economic_position, + Some(&intent.vault_id), + &[], + ); + Ok(()) } // ── §30 Finding the head of a vault ──────────────────────────────────────── @@ -638,78 +686,348 @@ fn price_hop( Ok((hop, post)) } -/// §30 and the path search of `sofi.findRoute`: the best route of one or two -/// hops (the beta `ROUTE_MAX_LEGS`) from `token_in` to `token_out` through -/// vaults this device is set up with — every leg names this device's setup -/// with its vault — each hop quoted at its vault's walked head. A vault whose -/// head cannot be established is an error: a search that could not see every -/// vault this device is set up with has not searched. Over established heads, -/// no route is an empty list. +/// One hop as planned at its vault's head: what goes in and what comes out. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +struct Planned { + token_in: D32, + amount_in: u64, + token_out: D32, + amount_out: u64, +} + +impl Planned { + fn movement(&self) -> HopMovement { + ( + self.token_in, + self.amount_in, + self.token_out, + self.amount_out, + ) + } +} + +/// What `vault` gives for `amount_in` of `token_in` at its head: `None` for +/// an amount too small to move it. Any other refusal is an error. +fn leg_out(vault: &VaultAtHead, token_in: &D32, amount_in: u64) -> Result, DsmError> { + let (_, in_is_a) = other_token(&vault.policies, token_in) + .ok_or_else(|| refuse("the vault does not trade that token"))?; + let (reserve_in, reserve_out) = if in_is_a { + (vault.state.reserve_a, vault.state.reserve_b) + } else { + (vault.state.reserve_b, vault.state.reserve_a) + }; + match constant_product_output_classified( + amount_in, + reserve_in, + reserve_out, + vault.policies.fee.fee_bps(), + ) { + Ok(out) => Ok(Some(out)), + Err(ConstantProductRefusal::OutputZero) => Ok(None), + Err(other) => Err(refuse(other.as_str())), + } +} + +/// The least input in `1..=max` that `vault` prices, by bisection: a larger +/// input never gives less. +fn least_priced(vault: &VaultAtHead, token_in: &D32, max: u64) -> Result, DsmError> { + if leg_out(vault, token_in, max)?.is_none() { + return Ok(None); + } + let (mut lo, mut hi) = (1u64, max); + while lo < hi { + let mid = lo + (hi - lo) / 2; + match leg_out(vault, token_in, mid)? { + Some(..) => hi = mid, + None => lo = mid + 1, + } + } + Ok(Some(lo)) +} + +/// The split of `amount_in` of `token_in` across `one` and `two`, which both +/// trade it for `token_out`, that gives the most (Amendment S19): each leg +/// priced at its own vault's head, the share searched over the inputs both +/// legs price. `None` when no split prices both legs. +fn plan_split( + one: &VaultAtHead, + two: &VaultAtHead, + token_in: D32, + token_out: D32, + amount_in: u64, +) -> Result, DsmError> { + if amount_in < 2 { + return Ok(None); + } + let (Some(least_one), Some(least_two)) = ( + least_priced(one, &token_in, amount_in - 1)?, + least_priced(two, &token_in, amount_in - 1)?, + ) else { + return Ok(None); + }; + let (mut lo, mut hi) = (least_one, amount_in - least_two); + if lo > hi { + return Ok(None); + } + let legs = |x: u64| -> Result<(u64, u64), DsmError> { + let first = leg_out(one, &token_in, x)? + .ok_or_else(|| refuse("a split leg below the first vault's least price"))?; + let second = leg_out(two, &token_in, amount_in - x)? + .ok_or_else(|| refuse("a split leg below the second vault's least price"))?; + Ok((first, second)) + }; + let total = |x: u64| -> Result { + let (first, second) = legs(x)?; + first + .checked_add(second) + .ok_or_else(|| refuse("a split's output overflows")) + }; + // The total is concave in the share, up to the price's floor: narrow + // by thirds, then take the best of what is left. + while hi - lo > 2 { + let m1 = lo + (hi - lo) / 3; + let m2 = hi - (hi - lo) / 3; + if total(m1)? < total(m2)? { + lo = m1 + 1; + } else { + hi = m2; + } + } + let mut best = (lo, total(lo)?); + for x in lo + 1..=hi { + let t = total(x)?; + if t > best.1 { + best = (x, t); + } + } + let (first, second) = legs(best.0)?; + Ok(Some([ + Planned { + token_in, + amount_in: best.0, + token_out, + amount_out: first, + }, + Planned { + token_in, + amount_in: amount_in - best.0, + token_out, + amount_out: second, + }, + ])) +} + +/// The hops through `vaults` in order, each feeding the next. +fn plan_chain( + vaults: &[&VaultAtHead], + token_in: D32, + amount_in: u64, +) -> Result, DsmError> { + let mut token = token_in; + let mut amount = amount_in; + let mut out = Vec::with_capacity(vaults.len()); + for (index, vault) in vaults.iter().enumerate() { + let (token_out, amount_out) = quote(vault, &token, amount, index)?; + out.push(Planned { + token_in: token, + amount_in: amount, + token_out, + amount_out, + }); + token = token_out; + amount = amount_out; + } + Ok(out) +} + +/// A route through `vaults` at their heads (Amendment S19): split across +/// them when there are two and both trade `token_in` for the same token, +/// chained otherwise. +fn plan(vaults: &[&VaultAtHead], token_in: D32, amount_in: u64) -> Result, DsmError> { + if let [one, two] = vaults { + if let (Some((a, ..)), Some((b, ..))) = ( + other_token(&one.policies, &token_in), + other_token(&two.policies, &token_in), + ) { + if a == b { + return plan_split(one, two, token_in, a, amount_in)? + .map(Vec::from) + .ok_or_else(|| refuse("the amount does not split across the two vaults")); + } + } + } + plan_chain(vaults, token_in, amount_in) +} + +/// What a planned route gives the trader: its output token and amount, by +/// Core's one rule for a chain's or a split's endpoints. +fn planned_out(planned: &[Planned]) -> Result<(D32, u64), DsmError> { + let movements: Vec = planned.iter().map(Planned::movement).collect(); + let (.., token_out, exact_out) = + route_endpoints(&movements).map_err(|why| refuse(format!("{why:?}")))?; + Ok((token_out, exact_out)) +} + +/// The vaults whose market pairs `token`, from its token index (Amendment +/// S16): accepted by Core, never taken from the index. A discovery that is +/// not complete marks the search partial. +fn vaults_of( + verifier: &Verifier<'_, LiveSofiReads<'_>>, + token: &D32, + search: &mut Search, +) -> Result, DsmError> { + let vaults = match verifier.vaults_of_token(token).map_err(verifier_error)? { + Discovered::Complete(vaults) => vaults, + Discovered::Partial(vaults) => { + *search = Search::Partial; + vaults + } + }; + Ok(vaults.iter().map(|accepted| *accepted.vault_id()).collect()) +} + +/// §30 and the path search of `sofi.findRoute` (Amendment S16): the best +/// route of one or two hops (the beta `ROUTE_MAX_LEGS`) from `token_in` to +/// `token_out`. The vaults come from the two tokens' indexes — those that +/// pair the tokens directly, and a vault of each that share their other +/// token — and are not limited to the vaults this device is set up with; a +/// quote needs no setup. Each hop is priced at its vault's walked head. A +/// vault, or a head, that is not established is left out and makes the +/// search `Partial`; over what was established, no route is an empty list. pub async fn find_route( core: &CoreSDK, set: &StorageSet, intent: &FindRouteIntent, -) -> Result, DsmError> { +) -> Result { let standing = standing(core)?; let ctx = standing.context(set)?; let verifier = ctx.verifier(); - let mut heads = Vec::new(); - for leaf in standing.local.relationships() { - let (head, ..) = vault_at_head(set, &verifier, &leaf.vault_id) - .await - .map_err(|e| { - storage( - "findRoute", - format!( - "the head of vault {} is not established: {e}", - crate::util::text_id::encode_base32_crockford(&leaf.vault_id) - ), - ) - })?; - if head.state.status == VAULT_STATUS_ACTIVE { - heads.push(head); + let mut search = Search::Complete; + let firsts = vaults_of(&verifier, &intent.token_in_policy_commit, &mut search)?; + let seconds = vaults_of(&verifier, &intent.token_out_policy_commit, &mut search)?; + let mut heads: BTreeMap = BTreeMap::new(); + for vault_id in firsts.iter().chain(seconds.iter()) { + if heads.contains_key(vault_id) { + continue; + } + match vault_at_head(set, &verifier, vault_id).await { + Ok((head, ..)) => { + if head.state.status == VAULT_STATUS_ACTIVE { + heads.insert(*vault_id, head); + } + } + // A head the reads did not establish may be the best route. + Err(DsmError::Storage { .. }) => search = Search::Partial, + // A head refused is no vault to trade through. + Err(..) => {} } } - let hop = |vault: &VaultAtHead, token_in: D32, amount_in: u64, index: usize| { - quote(vault, &token_in, amount_in, index).map(|(token_out, amount_out)| Hop { - vault_id: vault.vault_id, - parent_root: vault.root, - token_in_policy_commit: token_in, - token_out_policy_commit: token_out, - amount_in, - amount_out, - }) - }; - let mut routes: Vec> = Vec::new(); - for (index, first) in heads.iter().enumerate() { - // A vault that does not trade the token, or cannot price it, is not a - // first hop. - let Ok(one) = hop(first, intent.token_in_policy_commit, intent.amount_in, 0) else { + // Every candidate route over the established heads: each vault of the + // input token alone, each chain through a vault of each token, and each + // split across two vaults of the pair (Amendment S19). + let (token_in, token_out) = ( + intent.token_in_policy_commit, + intent.token_out_policy_commit, + ); + let mut candidates: Vec> = Vec::new(); + let direct: Vec<&VaultAtHead> = firsts + .iter() + .filter_map(|id| heads.get(id)) + .filter(|vault| matches!(other_token(&vault.policies, &token_in), Some((t, ..)) if t == token_out)) + .collect(); + for (i, one) in direct.iter().enumerate() { + candidates.push(vec![one]); + for two in &direct[i + 1..] { + candidates.push(vec![one, two]); + } + } + for first in firsts.iter().filter_map(|id| heads.get(id)) { + let Some((middle, ..)) = other_token(&first.policies, &token_in) else { continue; }; - if one.token_out_policy_commit == intent.token_out_policy_commit { - routes.push(vec![one]); + if middle == token_out { continue; } - for (other, second) in heads.iter().enumerate() { - if other == index { - continue; - } - if let Ok(two) = hop(second, one.token_out_policy_commit, one.amount_out, 1) { - if two.token_out_policy_commit == intent.token_out_policy_commit { - routes.push(vec![one.clone(), two]); - } + for second in seconds.iter().filter_map(|id| heads.get(id)) { + if second.vault_id != first.vault_id + && matches!(other_token(&second.policies, &middle), Some((t, ..)) if t == token_out) + { + candidates.push(vec![first, second]); } } } - // The route that gives the most; no route leaves the list empty. - let mut best: Vec = Vec::new(); - for route in routes { - if route.last().map(|hop| hop.amount_out) > best.last().map(|hop| hop.amount_out) { - best = route; + // The route that gives the most; a candidate that cannot carry the + // amount is not a route, and no route leaves the list empty. + let mut best: Option<(u64, Vec)> = None; + for vaults in candidates { + let Ok(planned) = plan(&vaults, token_in, intent.amount_in) else { + continue; + }; + let (gives, out) = planned_out(&planned)?; + if gives != token_out { + continue; + } + if best.as_ref().is_some_and(|(most, ..)| *most >= out) { + continue; } + let hops = vaults + .iter() + .zip(&planned) + .map(|(vault, p)| Hop { + vault_id: vault.vault_id, + parent_root: vault.root, + token_in_policy_commit: p.token_in, + token_out_policy_commit: p.token_out, + amount_in: p.amount_in, + amount_out: p.amount_out, + }) + .collect(); + best = Some((out, hops)); } - Ok(best) + let hops = match best { + Some((.., hops)) => hops, + None => Vec::new(), + }; + Ok(RouteFound { hops, search }) +} + +/// `sofi.vaults`: one vault this device created, at its walked head. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct OwnedVault { + pub vault_id: D32, + pub token_a_policy_commit: D32, + pub token_b_policy_commit: D32, + pub reserve_a: u64, + pub reserve_b: u64, + pub fee_bps: u32, + pub generation: u64, + pub status: u16, +} + +/// `sofi.vaults`: every vault this device created — the creation records its +/// validated root commits — each walked to its head (§30), so the owner sees +/// the live reserves, fee, generation and status without closing. A vault +/// whose head is not established is an error: the list would not be the +/// owner's vaults as they stand. +pub async fn owned_vaults(core: &CoreSDK, set: &StorageSet) -> Result, DsmError> { + let standing = standing(core)?; + let ctx = standing.context(set)?; + let verifier = ctx.verifier(); + let mut out = Vec::new(); + for creation in standing.local.vault_creations() { + let (vault, ..) = vault_at_head(set, &verifier, &creation.vault_id).await?; + out.push(OwnedVault { + vault_id: vault.vault_id, + token_a_policy_commit: *vault.policies.market.token_a(), + token_b_policy_commit: *vault.policies.market.token_b(), + reserve_a: vault.state.reserve_a, + reserve_b: vault.state.reserve_b, + fee_bps: vault.policies.fee.fee_bps(), + generation: vault.state.generation, + status: vault.state.status, + }); + } + Ok(out) } // ── §31 A trade and a multihop route ─────────────────────────────────────── @@ -913,7 +1231,7 @@ fn relationship_base(standing: &Standing, vault_id: &D32) -> Result Result<(), DsmError> { + for vault_id in vault_ids { + match standing(core)?.local.relationship(vault_id) { + Some(..) => {} + None => { + setup( + core, + set, + &SetupIntent { + vault_id: *vault_id, + }, + ) + .await?; + } + } + } + Ok(()) +} + +/// The route through `intent.vault_ids` at each vault's walked head, and +/// that this device can receive what it gives: checked before a setup is +/// admitted for it, so a route that cannot be built admits nothing. +async fn check_route( + core: &CoreSDK, + set: &StorageSet, + standing: &Standing, intent: &TradeIntent, -) -> Result { - let standing = standing(core)?; +) -> Result<(), DsmError> { let ctx = standing.context(set)?; let verifier = ctx.verifier(); - let mut token = intent.token_in_policy_commit; - let mut amount = intent.amount_in; - let mut hops = Vec::new(); - let mut cores = Vec::new(); - let mut vaults = Vec::new(); - for (index, vault_id) in intent.vault_ids.iter().enumerate() { - let (vault, ..) = vault_at_head(set, &verifier, vault_id).await?; - let setup_ref = - own_setup_ref(set, &standing.genesis, &standing.device_id, vault_id).await?; - let base = relationship_base(&standing, vault_id)?; - let (hop, post) = price_hop(&vault, token, amount, setup_ref, index)?; - cores.push(vault_core(&standing, &vault, &post, base)?); - vaults.push((*vault_id, base)); - token = hop.token_out; - amount = hop.amount_out; - hops.push(hop); + let mut vaults = Vec::with_capacity(intent.vault_ids.len()); + for vault_id in &intent.vault_ids { + vaults.push(vault_at_head(set, &verifier, vault_id).await?.0); + } + let refs: Vec<&VaultAtHead> = vaults.iter().collect(); + let (token, amount) = planned_out(&plan( + &refs, + intent.token_in_policy_commit, + intent.amount_in, + )?)?; + received(core, intent, &token, amount) +} + +/// A route's output is the token the trader asked for, at least its minimum, +/// in a token this device adopted. +fn received( + core: &CoreSDK, + intent: &TradeIntent, + token: &D32, + amount: u64, +) -> Result<(), DsmError> { + if *token != intent.token_out_policy_commit { + return Err(refuse("the route does not give the token asked for")); } if amount < intent.min_amount_out { return Err(refuse(format!( @@ -1112,11 +1466,58 @@ pub async fn trade( let head = core .device_head() .ok_or_else(|| storage("device head", "none"))?; - if !head.has_adopted(&token) { + if !head.has_adopted(token) { return Err(refuse( "the output token is not adopted: adopt it before receiving it", )); } + Ok(()) +} + +/// `sofi.trade` and `sofi.route` (§31): a route through `intent.vault_ids` +/// in hop order, priced at each vault's walked head. A vault this device has +/// no setup with is set up with first (Amendment S16). +pub async fn trade( + core: &CoreSDK, + set: &StorageSet, + intent: &TradeIntent, +) -> Result { + { + let standing = standing(core)?; + let unset = intent + .vault_ids + .iter() + .any(|vault_id| standing.local.relationship(vault_id).is_none()); + if unset { + check_route(core, set, &standing, intent).await?; + } + } + set_up_with(core, set, &intent.vault_ids).await?; + let standing = standing(core)?; + let ctx = standing.context(set)?; + let verifier = ctx.verifier(); + let mut heads = Vec::with_capacity(intent.vault_ids.len()); + for vault_id in &intent.vault_ids { + heads.push(vault_at_head(set, &verifier, vault_id).await?.0); + } + // A chain, or a split across two vaults of the pair (Amendment S19), + // planned again at the heads walked now. + let refs: Vec<&VaultAtHead> = heads.iter().collect(); + let planned = plan(&refs, intent.token_in_policy_commit, intent.amount_in)?; + let (token, amount) = planned_out(&planned)?; + received(core, intent, &token, amount)?; + let mut hops = Vec::new(); + let mut cores = Vec::new(); + let mut vaults = Vec::new(); + for (index, (vault, p)) in heads.iter().zip(&planned).enumerate() { + let setup_ref = + own_setup_ref(set, &standing.genesis, &standing.device_id, &vault.vault_id).await?; + let base = relationship_base(&standing, &vault.vault_id)?; + let (hop, post) = price_hop(vault, p.token_in, p.amount_in, setup_ref, index)?; + cores.push(vault_core(&standing, vault, &post, base)?); + vaults.push((vault.vault_id, base)); + hops.push(hop); + } let movements = [ (token, amount, 0), (intent.token_in_policy_commit, 0, intent.amount_in), @@ -1130,22 +1531,39 @@ pub async fn trade( // ── §32 Closing a vault ──────────────────────────────────────────────────── +/// Only the vault's origin owner closes it (§19.7). +fn only_the_owner(standing: &Standing, vault: &VaultAtHead) -> Result<(), DsmError> { + if vault.state.owner_genesis != standing.genesis + || vault.state.owner_device_id != standing.device_id + { + return Err(refuse("only the vault's origin owner closes it")); + } + Ok(()) +} + /// `sofi.close` (§32): the owner's full close of its own vault, a one-hop -/// route under its release policy that credits both reserves. +/// route under its release policy that credits both reserves. The owner's +/// first Close sets up with its vault first (Amendment S16). pub async fn close( core: &CoreSDK, set: &StorageSet, intent: &CloseIntent, ) -> Result { + { + let standing = standing(core)?; + if standing.local.relationship(&intent.vault_id).is_none() { + let ctx = standing.context(set)?; + let verifier = ctx.verifier(); + let (vault, ..) = vault_at_head(set, &verifier, &intent.vault_id).await?; + only_the_owner(&standing, &vault)?; + } + } + set_up_with(core, set, &[intent.vault_id]).await?; let standing = standing(core)?; let ctx = standing.context(set)?; let verifier = ctx.verifier(); let (vault, ..) = vault_at_head(set, &verifier, &intent.vault_id).await?; - if vault.state.owner_genesis != standing.genesis - || vault.state.owner_device_id != standing.device_id - { - return Err(refuse("only the vault's origin owner closes it")); - } + only_the_owner(&standing, &vault)?; let setup_ref = own_setup_ref( set, &standing.genesis, diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/sofi_reads.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/sofi_reads.rs index 343c279b0..f24fb6959 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/sofi_reads.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/sofi_reads.rs @@ -8,12 +8,13 @@ //! runs on the SDK's multi-thread runtime from the verifier's synchronous //! call (`block_in_place`), which is the shape the peer walk already has. -use std::collections::BTreeSet; +use std::collections::{BTreeMap, BTreeSet}; use std::future::Future; use dsm::ccb::StorageSetMembers; -use dsm::common::domain_tags::TAG_DSM_SOFI_VAULT_GENESIS_LOCATOR; +use dsm::common::domain_tags::{TAG_DSM_SOFI_VAULT_GENESIS_LOCATOR, TAG_DSM_SOFI_VAULT_TOKEN_LOCATOR}; use dsm::economic::lineage::{AcceptedClaim, AdmittedEconomicPosition, ValidatedEconomicRoot}; +use dsm::economic::peer_lineage::peer_root_at; use dsm::economic::provenance::{PeerLineageFailure, ValidatedPeerTransition}; use dsm::route_chain::{CellEvidence, CompletionProof, RoutedCell}; use dsm::sofi::derive; @@ -25,11 +26,15 @@ use dsm::sofi::resolve::{ }; use dsm::sofi::storage::{Discovered, Resolved}; use dsm::sofi::validation::VaultPostState; -use dsm::sofi::wire::{TraderFulfillmentBody, TraderPrecommitBody, VaultGenesisPreimage}; +use dsm::sofi::wire::{ + ParentClaimRef, TraderFulfillmentBody, TraderPrecommitBody, VaultGenesisPreimage, +}; use dsm::types::error::DsmError; use crate::sdk::economic_admission_flow::committed_network_id; -use crate::sdk::economic_registers::{anchored_policy_bytes, resolve_peer, LiveRegisterResolver}; +use crate::sdk::economic_registers::{ + anchored_policy_bytes, resolve_peer, LiveRegisterResolver, StoredFrontiers, +}; use crate::sdk::route_seats::{keep_completion, read_cell, NodeSeats}; use crate::sdk::sofi_publish::{fetch_fulfillment, fetch_precommit, fetch_setup_bytes, LOCATOR_BUDGET}; use crate::sdk::storage_io::{read_stored_bytes, resolve_locator_all}; @@ -87,6 +92,11 @@ pub struct LiveSofiReads<'a> { /// This device's `(genesis, device_id)` when it verifies as a trader: /// the one identity its own admitted store answers for. own: Option<(D32, D32)>, + /// The roots frontier-relative verification established for other + /// traders' positions, by `(genesis, device_id, position)`, kept for this + /// context's life: they are verified, so a walk that meets one trader's + /// exercises again does not walk that lineage again. + roots: std::sync::Mutex>, } impl<'a> LiveSofiReads<'a> { @@ -96,6 +106,7 @@ impl<'a> LiveSofiReads<'a> { runtime: tokio::runtime::Handle::current(), network: committed_network_id()?, own, + roots: std::sync::Mutex::new(BTreeMap::new()), }) } @@ -149,6 +160,14 @@ impl<'a> LiveSofiReads<'a> { } } +/// A vault genesis preimage recognized from its bytes, with those bytes: +/// bytes that do not decode as one are no candidate under either of the +/// indexes a genesis is published under. +fn recognize_genesis(bytes: &[u8]) -> Option<(VaultGenesisPreimage, Vec)> { + let preimage = VaultGenesisPreimage::decode(bytes).ok()?; + Some((preimage, bytes.to_vec())) +} + impl SofiReads for LiveSofiReads<'_> { fn cell(&self, cell: &RoutedCell) -> Result { let seats = NodeSeats::new(self.set).map_err(|e| ReadFailure(format!("seats: {e}")))?; @@ -192,11 +211,30 @@ impl SofiReads for LiveSofiReads<'_> { &locator, LOCATOR_BUDGET, |bytes| { - let preimage = VaultGenesisPreimage::decode(bytes).ok()?; - Some(( - derive::vault_genesis_locator(&preimage.vault_id()), - (preimage, bytes.to_vec()), - )) + recognize_genesis(bytes).map(|(preimage, bytes)| { + ( + derive::vault_genesis_locator(&preimage.vault_id()), + (preimage, bytes), + ) + }) + }, + ), + ) + } + + fn vault_token_candidates(&self, token: &D32) -> Result, ReadFailure> { + let locator = derive::vault_token_locator(token); + self.read( + "vault token candidates", + resolve_locator_all( + self.set, + TAG_DSM_SOFI_VAULT_TOKEN_LOCATOR.source_bytes(), + &locator, + LOCATOR_BUDGET, + // Every genesis preimage under the locator is a candidate; + // Core accepts it and checks its market (Amendment S16). + |bytes| { + recognize_genesis(bytes).map(|(preimage, ..)| (locator, preimage.vault_id())) }, ), ) @@ -222,6 +260,42 @@ impl SofiReads for LiveSofiReads<'_> { .map(|(.., leaves)| leaves)) } + fn trader_root_at( + &self, + genesis: &D32, + device_id: &D32, + position: u64, + ) -> Result<(ValidatedEconomicRoot, ParentClaimRef), PeerLineageFailure> { + let key = (*genesis, *device_id, position); + let cache = || { + self.roots + .lock() + .map_err(|e| PeerLineageFailure::Incomplete(format!("the root cache: {e}"))) + }; + if let Some(known) = cache()?.get(&key) { + return Ok(*known); + } + let members = as_ccb_members(self.set) + .map_err(|e| PeerLineageFailure::Incomplete(format!("the storage set: {e}")))?; + let conditional = PeerPositionResolver { + reads: self, + members: &members, + set_id: self.set.id(), + network_id: &self.network, + }; + let known = peer_root_at( + &self.peer_resolver(), + &self.network, + genesis, + device_id, + position, + &StoredFrontiers, + &conditional, + )?; + cache()?.insert(key, known); + Ok(known) + } + fn accepted_claim_at( &self, genesis: &D32, diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/sofi_sdk.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/sofi_sdk.rs index 5921c474b..56a72a36e 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/sofi_sdk.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/sofi_sdk.rs @@ -527,17 +527,17 @@ pub fn draft_route( ctx: &TraderContext<'_>, local: &LocalLeaves, ) -> Result { - let (first, last) = match (hops.first(), hops.last()) { - (Some(f), Some(l)) => (*f, *l), - (None, ..) | (.., None) => { - return Err(BuildError::Wire(SofiWireError::Cardinality { - field: "swap hops", - min: 1, - max: usize::MAX, - got: 0, - })) - } - }; + if hops.is_empty() { + return Err(BuildError::Wire(SofiWireError::Cardinality { + field: "swap hops", + min: 1, + max: usize::MAX, + got: 0, + })); + } + // A chain's ends, or a split's pair and sums (Amendment S19). + let (token_in, amount_in, token_out, exact_out) = + dsm::sofi::validation::swap_endpoints(&hops).map_err(BuildError::StaticallyInvalid)?; let mut sorted_cores = cores; sorted_cores.sort_by_key(|c| *c.vault_id()); let core_digests: Vec = sorted_cores @@ -557,10 +557,10 @@ pub fn draft_route( .pre_balances(&ctx.trader_core) .map_err(|why| BuildError::LocalLeaves(why.to_string()))?; let settlement = SettlementBody::Swap { - token_in: first.token_in, - amount_in: first.amount_in, - token_out: last.token_out, - exact_out: last.amount_out, + token_in, + amount_in, + token_out, + exact_out, hops, trader_core: derive::trader_core_digest(&ctx.trader_core.encode()?), dlv_cores: core_digests, diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/wallet_sdk.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/wallet_sdk.rs index acd7f02ef..81fe65a44 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/wallet_sdk.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/wallet_sdk.rs @@ -1001,6 +1001,7 @@ mod tests { memo: String::new(), receipt_verified: false, display_amount: "1".to_string(), + moves: Vec::new(), }; let msg = crate::generated::WalletHistoryResponse { diff --git a/dsm_client/frontend/src/components/screens/SofiScreen.tsx b/dsm_client/frontend/src/components/screens/SofiScreen.tsx index 03d18cbf5..142e2e782 100644 --- a/dsm_client/frontend/src/components/screens/SofiScreen.tsx +++ b/dsm_client/frontend/src/components/screens/SofiScreen.tsx @@ -1,10 +1,12 @@ // SPDX-License-Identifier: Apache-2.0 // path: src/components/screens/SofiScreen.tsx // SoFi (SoFi §27) on the StateBoy frame: swap one token for another through -// sovereign liquidity, create and close liquidity of your own, set up with -// it, resolve a pending position. A token is named by its policy commit, the CPTA anchor the +// sovereign liquidity, create and close liquidity of your own, resolve a +// pending position. A token is named by its policy commit, the CPTA anchor the // wallet's balances carry (the SDK renders policy_anchor_b32 from those same -// 32 bytes); the app sends intent only and Core decides. +// 32 bytes); the app sends intent only and Core decides. Amounts are entered +// in token units and Rust parses and renders them; the first trade through a +// vault sets up with it on its own (SoFi Amendment S16). import React, { useCallback, useMemo, useState } from 'react'; import * as sofi from '../../dsm/sofi'; @@ -39,12 +41,20 @@ function bytesLess(a: Uint8Array, b: Uint8Array): boolean { return a.length < b.length; } -function amount(label: string, text: string): bigint { +/** A count the user enters: a fee in basis points, a position. */ +function whole(label: string, text: string): bigint { const t = text.trim(); - if (!/^\d+$/.test(t)) throw new Error(`${label} must be a whole number of base units`); + if (!/^\d+$/.test(t)) throw new Error(`${label} must be a whole number`); return BigInt(t); } +/** An amount the user enters, as entered: Rust parses it in token units. */ +function entered(label: string, text: string): string { + const t = text.trim(); + if (t === '') throw new Error(`${label} is required`); + return t; +} + function messageOf(e: unknown): string { return e instanceof Error ? e.message : String(e); } @@ -147,26 +157,29 @@ export default function SofiScreen(): React.JSX.Element { const hops = await sofi.findRoute({ tokenIn: id32('token in', tokenIn), tokenOut: id32('token out', effectiveTokenOut), - amountIn: amount('amount in', amountIn), + amountIn: entered('amount in', amountIn), }); if (hops.length === 0) { setQuote(null); throw new Error('no liquidity trades between these two tokens'); } setQuote(hops); - const out = hops[hops.length - 1].amountOut; - setMinOut(out.toString()); - return `Quoted: ${out.toString()} ${nameOf(effectiveTokenOut)} over ${hops.length} hop${hops.length === 1 ? '' : 's'}`; + const out = hops[hops.length - 1].amountOutDisplay; + setMinOut(out); + return `Quoted: ${out} ${nameOf(effectiveTokenOut)} over ${hops.length} hop${hops.length === 1 ? '' : 's'}`; }, 'info'); const onTrade = () => run('Trade', async () => { if (!quote || quote.length === 0) throw new Error('quote first'); - const tin = id32('token in', tokenIn); - const ain = amount('amount in', amountIn); - const min = amount('minimum out', minOut); + const args = { + tokenIn: id32('token in', tokenIn), + tokenOut: id32('token out', effectiveTokenOut), + amountIn: entered('amount in', amountIn), + minAmountOut: entered('minimum out', minOut), + }; const r = quote.length === 1 - ? await sofi.trade({ vaultId: quote[0].vaultId, tokenIn: tin, amountIn: ain, minAmountOut: min }) - : await sofi.route({ vaultIds: quote.map((h) => h.vaultId), tokenIn: tin, amountIn: ain, minAmountOut: min }); + ? await sofi.trade({ vaultId: quote[0].vaultId, ...args }) + : await sofi.route({ vaultIds: quote.map((h) => h.vaultId), ...args }); setQuote(null); const coin = inBalance ? { ticker: inBalance.symbol, iconUrl: inBalance.iconUrl } : undefined; return showPosition('Trade', r, coin); @@ -177,14 +190,14 @@ export default function SofiScreen(): React.JSX.Element { const b = id32('token B', tokenB); // The pair is ordered bytewise (§28); order it for the user. const [lo, hi, rLo, rHi] = bytesLess(a, b) - ? [a, b, amount('reserve A', reserveA), amount('reserve B', reserveB)] - : [b, a, amount('reserve B', reserveB), amount('reserve A', reserveA)]; + ? [a, b, entered('reserve A', reserveA), entered('reserve B', reserveB)] + : [b, a, entered('reserve B', reserveB), entered('reserve A', reserveA)]; const r = await sofi.createVault({ tokenA: lo, tokenB: hi, reserveA: rLo, reserveB: rHi, - feeBps: Number(amount('fee', feeBps)), + feeBps: Number(whole('fee', feeBps)), }); const id = encodeBase32Crockford(r.vaultId); setCreatedVault(id); @@ -197,11 +210,6 @@ export default function SofiScreen(): React.JSX.Element { return `Vault created: ${id}`; }); - const onSetup = () => run('Set up', async () => { - const r = await sofi.setup(id32('vault', vaultId)); - return `Set up with the vault (position ${r.position})`; - }); - const onClose = () => run('Close', async () => showPosition('Close', await sofi.close(id32('vault', vaultId)))); const onResolve = () => run('Resolve', async () => showPosition('Resolve', await sofi.resolve())); @@ -210,12 +218,12 @@ export default function SofiScreen(): React.JSX.Element { const r = await sofi.relay({ traderGenesis: id32('trader genesis', relayGenesis), traderDeviceId: id32('trader device', relayDevice), - position: amount('position', relayPosition), + position: whole('position', relayPosition), }); return `Relayed: ${r.cellsWritten} cell${r.cellsWritten === 1 ? '' : 's'} written`; }); - const quoteOut = quote && quote.length > 0 ? quote[quote.length - 1].amountOut : null; + const quoteOut = quote && quote.length > 0 ? quote[quote.length - 1].amountOutDisplay : null; return ( Sovereign finance: sovereign liquidity and trades that settle between devices, with no exchange in the middle.

Swap trades one token for another through sovereign liquidity at its price. Quote first: you see the exact amount before you confirm. A trade lands at a position, or is void if another trade won the race, and then nothing moved.

Your fee can increase if the trade needs a hop through a second vault to be secured: each vault takes its own fee. The quote shows it before you confirm.

+

The first trade through a vault sets you up with it first, as a step of its own. Later trades reuse it.

Liquidity puts two of your tokens into a liquidity vault of your own: sovereign liquidity. Every trade against it pays the fee you set, and you can close it and take the reserves back.

Resolve advances a position this device still has pending, after a trade that did not finish.

@@ -255,7 +264,7 @@ export default function SofiScreen(): React.JSX.Element {
{inBalance - ? `Available: ${inBalance.displayAmount} ${inBalance.symbol}. Amounts here are base units (${inBalance.decimals} decimals).` + ? `Available: ${inBalance.displayAmount} ${inBalance.symbol}.` : tokenOptions.length === 0 ? 'No token here carries an anchor to trade by yet.' - : 'Pick the token you pay with. Amounts are base units.'} + : 'Pick the token you pay with.'}
@@ -320,23 +329,24 @@ export default function SofiScreen(): React.JSX.Element {
You get
- {quoteOut.toString()} + {quoteOut} {nameOf(effectiveTokenOut)}
{quote.map((h, i) => (
Hop {i + 1} - {middleTruncate(encodeBase32Crockford(h.vaultId), 8, 6)} · {h.amountIn.toString()} {nameOf(encodeBase32Crockford(h.tokenIn))} → {h.amountOut.toString()} {nameOf(encodeBase32Crockford(h.tokenOut))} + {middleTruncate(encodeBase32Crockford(h.vaultId), 8, 6)} · {h.amountInDisplay} {nameOf(encodeBase32Crockford(h.tokenIn))} → {h.amountOutDisplay} {nameOf(encodeBase32Crockford(h.tokenOut))}
))} +
setMinOut(e.target.value)} @@ -377,7 +387,7 @@ export default function SofiScreen(): React.JSX.Element { setFeeBps(e.target.value)} />
-

Both reserves leave your balance into the vault, in base units. Every trade against it pays this fee.

+

Both reserves leave your balance into the vault. Every trade against it pays this fee.

- - -

Set up once with a liquidity vault before trading against it. Close is for a vault of your own.

+ +

Close is for a vault of your own: both reserves come back to you. Storage → DLVs lists your vaults with their live reserves.

diff --git a/dsm_client/frontend/src/components/screens/StorageScreen.tsx b/dsm_client/frontend/src/components/screens/StorageScreen.tsx index 7f3dd3be1..0f348922a 100644 --- a/dsm_client/frontend/src/components/screens/StorageScreen.tsx +++ b/dsm_client/frontend/src/components/screens/StorageScreen.tsx @@ -10,7 +10,9 @@ import { useDpadNav } from "../../hooks/useDpadNav"; import { storageStore, useStorageStore, + type SofiVaultsView, } from "../../stores/storageStore"; +import { encodeBase32Crockford } from "../../utils/textId"; import { formatBtc, type VaultSummary } from "../../services/bitcoinTap"; import { Notice, ScreenFrame, ScreenTabs } from "../common/ScreenFrame"; import { InfoTip } from "../common/InfoTip"; @@ -31,6 +33,7 @@ const StorageScreen: React.FC = () => { useEffect(() => { void storageStore.refreshStatus(); void storageStore.refreshDlvsAndPresence(); + storageStore.refreshSofiVaults(); }, []); // --- D-pad navigation: the tabs --- @@ -44,9 +47,12 @@ const StorageScreen: React.FC = () => { const refresh = useCallback(() => { void storageStore.refreshStatus(); if (activeTab === "dlvs") void storageStore.refreshDlvsAndPresence(); + if (activeTab === "dlvs") storageStore.refreshSofiVaults(); }, [activeTab]); - const busy = activeTab === "dlvs" ? storage.dlvLoading : storage.statusLoading; + const busy = activeTab === "dlvs" + ? storage.dlvLoading || storage.sofiVaults.state === "loading" + : storage.statusLoading; return ( { )} {activeTab === "dlvs" && ( - + <> + + + )} ); @@ -136,9 +148,68 @@ const StatusTab: React.FC<{ }; // ═══════════════════════════════════════════════════════════════════════ -// DLV Tab — real vault data from bitcoin.vault.list +// dBTC vaults — real vault data from bitcoin.vault.list // ═══════════════════════════════════════════════════════════════════════ +function shortVault(id: string): string { + return id.length <= 12 ? id : `${id.slice(0, 12)}…`; +} + +/** + * The owner's liquidity vaults (sofi.vaults), each walked to its head: the + * live reserves without closing. + */ +const SofiVaultsSection: React.FC<{ + view: SofiVaultsView; + onRetry: () => void; +}> = ({ view, onRetry }) => { + if (view.state === "loading") { + return
Walking your liquidity vaults…
; + } + if (view.state === "error") { + return ( + <> + {view.message} +
+ +
+ + ); + } + if (view.vaults.length === 0) { + return
You have created no liquidity vaults.
; + } + return ( +
+
+ Liquidity vaults + {view.vaults.length} +
+ {view.vaults.map((v) => { + const id = encodeBase32Crockford(v.vaultId); + const open = v.status === "active"; + return ( +
+
+
{v.symbolA} / {v.symbolB}
+
+ {shortVault(id)} · {v.feeBps} bps · generation {v.generation.toString()} +
+
+
+
{open ? "Active" : "Closed"}
+
{v.reserveADisplay} {v.symbolA}
+
{v.reserveBDisplay} {v.symbolB}
+
+
+ ); + })} +
+ ); +}; + const STATE_LABELS: Record = { limbo: "Limbo", active: "Active", @@ -171,10 +242,10 @@ const DlvTab: React.FC<{ expandedDlv: string | null; setExpandedDlv: (v: string | null) => void; }> = ({ dlvLoading, dlvs, expandedDlv, setExpandedDlv }) => { - if (dlvLoading) return
Scanning DLVs…
; + if (dlvLoading) return
Scanning dBTC vaults…
; if (dlvs.length === 0) { - return
No DLVs found for this device.
; + return
No dBTC vaults on this device.
; } const live = dlvs.filter((d) => d.state === "active" || d.state === "limbo"); diff --git a/dsm_client/frontend/src/components/screens/__tests__/SofiScreen.test.tsx b/dsm_client/frontend/src/components/screens/__tests__/SofiScreen.test.tsx index c93d42dfb..d73c32b24 100644 --- a/dsm_client/frontend/src/components/screens/__tests__/SofiScreen.test.tsx +++ b/dsm_client/frontend/src/components/screens/__tests__/SofiScreen.test.tsx @@ -1,6 +1,7 @@ // SPDX-License-Identifier: Apache-2.0 // The SoFi screen sends intent only: the anchors the balances carry, decoded -// to the 32 bytes SoFi names a token by, and the amounts as typed. +// to the 32 bytes SoFi names a token by, and the amounts as typed, in token +// units, for Rust to parse. It shows the amounts Rust renders. import React from 'react'; import { fireEvent, render, screen, waitFor, within } from '@testing-library/react'; @@ -12,7 +13,6 @@ const findRoute = jest.fn(); const trade = jest.fn(); const route = jest.fn(); const createVault = jest.fn(); -const setup = jest.fn(); const close = jest.fn(); const resolve = jest.fn(); const relay = jest.fn(); @@ -21,7 +21,6 @@ jest.mock('../../../dsm/sofi', () => ({ trade: (...a: unknown[]) => trade(...a), route: (...a: unknown[]) => route(...a), createVault: (...a: unknown[]) => createVault(...a), - setup: (...a: unknown[]) => setup(...a), close: (...a: unknown[]) => close(...a), resolve: (...a: unknown[]) => resolve(...a), relay: (...a: unknown[]) => relay(...a), @@ -103,7 +102,7 @@ describe('SofiScreen', () => { it('quotes with the decoded anchors and trades one hop through sofi.trade', async () => { findRoute.mockResolvedValueOnce([ - { vaultId: VAULT_1, parentRoot: new Uint8Array(32), tokenIn: ERA_BYTES, tokenOut: PLAY_BYTES, amountIn: 25n, amountOut: 40n }, + { vaultId: VAULT_1, parentRoot: new Uint8Array(32), tokenIn: ERA_BYTES, tokenOut: PLAY_BYTES, amountIn: 25n, amountOut: 40n, amountInDisplay: '25', amountOutDisplay: '40' }, ]); trade.mockResolvedValueOnce({ position: 7n, state: 'realized' }); render(); @@ -114,7 +113,7 @@ describe('SofiScreen', () => { fireEvent.click(screen.getByRole('button', { name: 'Quote' })); await waitFor(() => expect(findRoute).toHaveBeenCalledTimes(1)); - expect(findRoute).toHaveBeenCalledWith({ tokenIn: ERA_BYTES, tokenOut: PLAY_BYTES, amountIn: 25n }); + expect(findRoute).toHaveBeenCalledWith({ tokenIn: ERA_BYTES, tokenOut: PLAY_BYTES, amountIn: '25' }); const quote = await screen.findByRole('region', { name: 'Quote' }); expect(within(quote).getByText('40')).toBeInTheDocument(); expect(screen.getByLabelText('Minimum out')).toHaveValue('40'); @@ -122,7 +121,7 @@ describe('SofiScreen', () => { fireEvent.change(screen.getByLabelText('Minimum out'), { target: { value: '39' } }); fireEvent.click(screen.getByRole('button', { name: 'Trade' })); await waitFor(() => expect(trade).toHaveBeenCalledTimes(1)); - expect(trade).toHaveBeenCalledWith({ vaultId: VAULT_1, tokenIn: ERA_BYTES, amountIn: 25n, minAmountOut: 39n }); + expect(trade).toHaveBeenCalledWith({ vaultId: VAULT_1, tokenIn: ERA_BYTES, tokenOut: PLAY_BYTES, amountIn: '25', minAmountOut: '39' }); expect(route).not.toHaveBeenCalled(); expect(await screen.findByText('Realized at position 7')).toBeInTheDocument(); expect(play).toHaveBeenCalledWith(expect.objectContaining({ anim: 'confirm', title: 'Trade realized' })); @@ -131,8 +130,8 @@ describe('SofiScreen', () => { it('trades two hops through sofi.route, and says so when the trade is void', async () => { findRoute.mockResolvedValueOnce([ - { vaultId: VAULT_1, parentRoot: new Uint8Array(32), tokenIn: ERA_BYTES, tokenOut: PLAY_BYTES, amountIn: 25n, amountOut: 40n }, - { vaultId: VAULT_2, parentRoot: new Uint8Array(32), tokenIn: PLAY_BYTES, tokenOut: ERA_BYTES, amountIn: 40n, amountOut: 24n }, + { vaultId: VAULT_1, parentRoot: new Uint8Array(32), tokenIn: ERA_BYTES, tokenOut: PLAY_BYTES, amountIn: 25n, amountOut: 40n, amountInDisplay: '25', amountOutDisplay: '40' }, + { vaultId: VAULT_2, parentRoot: new Uint8Array(32), tokenIn: PLAY_BYTES, tokenOut: ERA_BYTES, amountIn: 40n, amountOut: 24n, amountInDisplay: '40', amountOutDisplay: '24' }, ]); route.mockResolvedValueOnce({ position: 8n, state: 'void' }); render(); @@ -145,20 +144,20 @@ describe('SofiScreen', () => { fireEvent.click(screen.getByRole('button', { name: 'Trade' })); await waitFor(() => expect(route).toHaveBeenCalledTimes(1)); - expect(route).toHaveBeenCalledWith({ vaultIds: [VAULT_1, VAULT_2], tokenIn: ERA_BYTES, amountIn: 25n, minAmountOut: 24n }); + expect(route).toHaveBeenCalledWith({ vaultIds: [VAULT_1, VAULT_2], tokenIn: ERA_BYTES, tokenOut: ERA_BYTES, amountIn: '25', minAmountOut: '24' }); expect(trade).not.toHaveBeenCalled(); expect(await screen.findByText(/Void: another trade won the race/)).toBeInTheDocument(); expect(play).toHaveBeenCalledWith(expect.objectContaining({ anim: 'trace', tone: 'neutral' })); }); - it('refuses an amount that is not a whole number, without calling out', async () => { + it('sends an amount in token units as entered, for Rust to parse', async () => { render(); - fireEvent.change(screen.getByLabelText('You pay'), { target: { value: '2.5' } }); + fireEvent.change(screen.getByLabelText('You pay'), { target: { value: ' 2.5 ' } }); await pickToken('Token in', 'ERA'); await pickToken('Token out', 'PLAY'); fireEvent.click(screen.getByRole('button', { name: 'Quote' })); - expect(await screen.findByText(/amount in must be a whole number of base units/)).toBeInTheDocument(); - expect(findRoute).not.toHaveBeenCalled(); + await waitFor(() => expect(findRoute).toHaveBeenCalledTimes(1)); + expect(findRoute).toHaveBeenCalledWith({ tokenIn: ERA_BYTES, tokenOut: PLAY_BYTES, amountIn: '2.5' }); }); it('creates liquidity with the pair ordered bytewise and the reserves following their tokens', async () => { @@ -175,24 +174,22 @@ describe('SofiScreen', () => { fireEvent.click(screen.getByRole('button', { name: 'Create Liquidity Vault' })); await waitFor(() => expect(createVault).toHaveBeenCalledTimes(1)); - expect(createVault).toHaveBeenCalledWith({ tokenA: ERA_BYTES, tokenB: PLAY_BYTES, reserveA: 100n, reserveB: 500n, feeBps: 25 }); + expect(createVault).toHaveBeenCalledWith({ tokenA: ERA_BYTES, tokenB: PLAY_BYTES, reserveA: '100', reserveB: '500', feeBps: 25 }); const created = await screen.findByRole('status', { name: 'Liquidity vault created' }); expect(within(created).getByText(encodeBase32Crockford(VAULT_1))).toBeInTheDocument(); expect(screen.getByLabelText('Vault id')).toHaveValue(encodeBase32Crockford(VAULT_1)); expect(play).toHaveBeenCalledWith(expect.objectContaining({ anim: 'vault', title: 'Liquidity vault created' })); }); - it('sets up with, and closes, liquidity by its id; resolve is on the header', async () => { - setup.mockResolvedValueOnce({ setupRef: new Uint8Array(32), position: 4n }); + it('closes liquidity by its id, with no setup of its own to press; resolve is on the header', async () => { close.mockResolvedValueOnce({ position: 5n, state: 'realized' }); resolve.mockResolvedValueOnce({ position: 6n, state: 'retriesExhausted' }); render(); fireEvent.click(screen.getByRole('button', { name: 'Liquidity' })); fireEvent.change(screen.getByLabelText('Vault id'), { target: { value: encodeBase32Crockford(VAULT_2) } }); - fireEvent.click(screen.getByRole('button', { name: 'Set up' })); - await waitFor(() => expect(setup).toHaveBeenCalledWith(VAULT_2)); - expect(await screen.findByText('Set up with the vault (position 4)')).toBeInTheDocument(); + // The first trade, or the owner's first close, sets up on its own (SoFi Amendment S16). + expect(screen.queryByRole('button', { name: 'Set up' })).toBeNull(); fireEvent.click(screen.getByRole('button', { name: 'Close' })); await waitFor(() => expect(close).toHaveBeenCalledWith(VAULT_2)); diff --git a/dsm_client/frontend/src/components/screens/wallet/TransactionItem.tsx b/dsm_client/frontend/src/components/screens/wallet/TransactionItem.tsx index fd7c76a87..81828c5a9 100644 --- a/dsm_client/frontend/src/components/screens/wallet/TransactionItem.tsx +++ b/dsm_client/frontend/src/components/screens/wallet/TransactionItem.tsx @@ -2,7 +2,7 @@ // Reusable transaction row component for overview and history tabs. Renders // the row exactly as Rust reported it. import React from 'react'; -import { txTypeLabel, txTypeDetail, formatTxAmount } from './helpers'; +import { txTypeLabel, txTypeDetail, formatTxAmount, eventSubjectLabel } from './helpers'; import ArrowIcon from '../../icons/ArrowIcon'; import { TokenMark } from '../../TokenMark'; import StitchedReceiptDetails from '../../receipts/StitchedReceiptDetails'; @@ -40,16 +40,32 @@ function TransactionItemInner({ tx, expandedTxId, onToggle }: Props): React.JSX. -
- - - {isOutgoing ? '-' : '+'}{formatTxAmount(tx)} - - {tx.tokenId} -
+ {tx.moves ? ( + // A token or SoFi event: every token it moved, each with its sign. + tx.moves.map((m) => { + const out = m.displayAmount.startsWith('-'); + return ( +
+ + {out ? m.displayAmount : `+${m.displayAmount}`} + {m.tokenId} +
+ ); + }) + ) : ( +
+ + + {isOutgoing ? '-' : '+'}{formatTxAmount(tx)} + + {tx.tokenId} +
+ )}
- {isOutgoing ? 'To' : 'From'} + + {tx.moves ? eventSubjectLabel(tx.txType) : isOutgoing ? 'To' : 'From'} + {tx.recipient}
diff --git a/dsm_client/frontend/src/components/screens/wallet/__tests__/TransactionItem.test.tsx b/dsm_client/frontend/src/components/screens/wallet/__tests__/TransactionItem.test.tsx index 8b2bf4ef8..d06de5266 100644 --- a/dsm_client/frontend/src/components/screens/wallet/__tests__/TransactionItem.test.tsx +++ b/dsm_client/frontend/src/components/screens/wallet/__tests__/TransactionItem.test.tsx @@ -60,6 +60,30 @@ describe('TransactionItem renders the row Rust reported', () => { expect(container.querySelector('.bilateral-badge')).toBeNull(); }); + test('a SoFi event shows every token it moved, each with its own sign, and its vault', () => { + const tx = buildTx({ + txType: 'sofi_trade', + type: undefined, + amount: BigInt(0), + displayAmount: '', + tokenId: '', + recipient: 'RK10195E', + moves: [ + { policyCommit: 'ERACOMMIT', tokenId: 'ERA', amount: BigInt(-50), displayAmount: '-50.00' }, + { policyCommit: 'RIGTCOMMIT', tokenId: 'RIGT', amount: BigInt(332665), displayAmount: '3326.65' }, + ], + }); + const { container } = render( {}} />); + expect(container.querySelector('.transaction-type')!.textContent).toBe('TRADE'); + const lines = Array.from(container.querySelectorAll('.transaction-amount-line')); + expect(lines.map((l) => l.querySelector('.transaction-amount-value')!.textContent)).toEqual(['-50.00', '+3326.65']); + expect(lines.map((l) => l.querySelector('.transaction-amount-token')!.textContent)).toEqual(['ERA', 'RIGT']); + expect(lines[0].className).toContain('outgoing'); + expect(lines[1].className).toContain('incoming'); + expect(container.querySelector('.transaction-recipient-label')!.textContent).toBe('Vault'); + expect(container.querySelector('.transaction-recipient-value')!.textContent).toBe('RK10195E'); + }); + test('expanded view shows full (un-truncated) from/to/txhash', () => { const tx = buildTx(); const { container } = render( diff --git a/dsm_client/frontend/src/components/screens/wallet/helpers.ts b/dsm_client/frontend/src/components/screens/wallet/helpers.ts index 73e963d14..5af7d6071 100644 --- a/dsm_client/frontend/src/components/screens/wallet/helpers.ts +++ b/dsm_client/frontend/src/components/screens/wallet/helpers.ts @@ -10,6 +10,11 @@ export function txTypeLabel(txType: DomainTxType): string { case 'online': return 'ONLINE'; case 'dbtc_mint': return 'dBTC MINT'; case 'dbtc_burn': return 'dBTC BURN'; + case 'token_create': return 'TOKEN'; + case 'vault_create': return 'VAULT'; + case 'sofi_setup': return 'SETUP'; + case 'sofi_trade': return 'TRADE'; + case 'sofi_close': return 'CLOSE'; } } @@ -21,9 +26,19 @@ export function txTypeDetail(txType: DomainTxType): string { case 'online': return 'Online'; case 'dbtc_mint': return 'BTC \u2192 dBTC Deposit'; case 'dbtc_burn': return 'dBTC \u2192 BTC Withdrawal'; + case 'token_create': return 'Token created'; + case 'vault_create': return 'Liquidity vault created'; + case 'sofi_setup': return 'Set up with a liquidity vault'; + case 'sofi_trade': return 'Trade'; + case 'sofi_close': return 'Liquidity vault closed'; } } +/** What a token or SoFi event's row names as its subject. */ +export function eventSubjectLabel(txType: DomainTxType): string { + return txType === 'token_create' ? 'Token' : 'Vault'; +} + /// The rendered magnitude of a transaction. /// /// Rust renders the signed form; a transaction row shows the sign separately diff --git a/dsm_client/frontend/src/domain/__tests__/mappers.test.ts b/dsm_client/frontend/src/domain/__tests__/mappers.test.ts index 8574a50d6..322552072 100644 --- a/dsm_client/frontend/src/domain/__tests__/mappers.test.ts +++ b/dsm_client/frontend/src/domain/__tests__/mappers.test.ts @@ -3,7 +3,7 @@ import { mapContactList, mapTransactions, } from '../mappers'; -import { TransactionInfo, TransactionType } from '../../proto/dsm_app_pb'; +import { TokenMove, TransactionInfo, TransactionType } from '../../proto/dsm_app_pb'; import { toBase32Crockford } from '../../dsm/decoding'; describe('domain mappers', () => { @@ -111,6 +111,50 @@ describe('domain mappers', () => { ); }); + // A token or SoFi event names every token it moved, with Rust's signed + // display form for each; it has no single token or amount of its own. + it('maps a SoFi trade with every token it moved', () => { + const [trade] = mapTransactions([ + row({ + txType: TransactionType.TX_TYPE_SOFI_TRADE, + tokenId: '', + amount: 0n, + amountSigned: 0n, + displayAmount: '', + recipient: 'VAULTID', + moves: [ + new TokenMove({ policyCommit: b(0x41), tokenId: 'ERA', amountSigned: -10n, displayAmount: '-10' }), + new TokenMove({ policyCommit: b(0x42), tokenId: 'TKN', amountSigned: 90n, displayAmount: '90' }), + ], + }), + ]); + expect(trade.txType).toBe('sofi_trade'); + expect(trade.recipient).toBe('VAULTID'); + expect(trade.moves).toEqual([ + { policyCommit: toBase32Crockford(b(0x41)), tokenId: 'ERA', amount: -10n, displayAmount: '-10' }, + { policyCommit: toBase32Crockford(b(0x42)), tokenId: 'TKN', amount: 90n, displayAmount: '90' }, + ]); + }); + + it('maps a setup, which moves no token', () => { + const [setup] = mapTransactions([ + row({ txType: TransactionType.TX_TYPE_SOFI_SETUP, tokenId: '', displayAmount: '', moves: [] }), + ]); + expect(setup.txType).toBe('sofi_setup'); + expect(setup.moves).toEqual([]); + }); + + it('refuses an event movement Rust did not render', () => { + expect(() => + mapTransactions([ + row({ + txType: TransactionType.TX_TYPE_VAULT_CREATE, + moves: [new TokenMove({ policyCommit: b(0x41), tokenId: 'ERA', amountSigned: -100n, displayAmount: '' })], + }), + ]), + ).toThrow(/carries no moved amount/); + }); + it('refuses a row missing a field Rust always writes', () => { expect(() => mapTransactions([row({ status: '' })])).toThrow(/carries no status/); expect(() => mapTransactions([row({ tokenId: '' })])).toThrow(/carries no token id/); diff --git a/dsm_client/frontend/src/domain/mappers.ts b/dsm_client/frontend/src/domain/mappers.ts index d7fc8d9d7..c9f9bab6c 100644 --- a/dsm_client/frontend/src/domain/mappers.ts +++ b/dsm_client/frontend/src/domain/mappers.ts @@ -91,8 +91,22 @@ const TX_TYPES: Record = { [TransactionType.TX_TYPE_ONLINE]: 'online', [TransactionType.TX_TYPE_DBTC_MINT]: 'dbtc_mint', [TransactionType.TX_TYPE_DBTC_BURN]: 'dbtc_burn', + [TransactionType.TX_TYPE_TOKEN_CREATE]: 'token_create', + [TransactionType.TX_TYPE_VAULT_CREATE]: 'vault_create', + [TransactionType.TX_TYPE_SOFI_SETUP]: 'sofi_setup', + [TransactionType.TX_TYPE_SOFI_TRADE]: 'sofi_trade', + [TransactionType.TX_TYPE_SOFI_CLOSE]: 'sofi_close', }; +/** The token and SoFi events: rows that name every token they moved. */ +const EVENT_TYPES: ReadonlySet = new Set([ + 'token_create', + 'vault_create', + 'sofi_setup', + 'sofi_trade', + 'sofi_close', +]); + function txBytes32(t: TransactionInfo, field: string, bytes: Uint8Array): string { if (!(bytes instanceof Uint8Array) || bytes.length !== 32) { throw new Error(`STRICT: transaction ${t.id} carries a ${field} that is not 32 bytes`); @@ -125,6 +139,27 @@ export function mapTransactions(list: TransactionInfo[]): DomainTransaction[] { if (!txType) { throw new Error(`STRICT: transaction ${t.id || '(no id)'} has type ${t.txType}, which the wire does not name`); } + if (EVENT_TYPES.has(txType)) { + return { + txId: txText(t, 'id', t.id), + txHash: txBytes32(t, 'tx hash', t.txHash), + txType, + amount: t.amountSigned, + displayAmount: t.displayAmount, + tokenId: t.tokenId, + recipient: txText(t, 'subject', t.recipient), + status: txText(t, 'status', t.status), + fromDeviceId: txBytes32(t, 'device id', t.fromDeviceId), + toDeviceId: txBytes32(t, 'device id', t.toDeviceId), + receiptVerified: t.receiptVerified, + moves: t.moves.map((m) => ({ + policyCommit: txBytes32(t, 'moved token', m.policyCommit), + tokenId: txText(t, 'moved token id', m.tokenId), + amount: m.amountSigned, + displayAmount: txText(t, 'moved amount', m.displayAmount), + })), + }; + } return { txId: txText(t, 'id', t.id), txHash: txBytes32(t, 'tx hash', t.txHash), diff --git a/dsm_client/frontend/src/domain/types.ts b/dsm_client/frontend/src/domain/types.ts index 28b21f508..b98fd3952 100644 --- a/dsm_client/frontend/src/domain/types.ts +++ b/dsm_client/frontend/src/domain/types.ts @@ -40,7 +40,29 @@ export type DomainContact = { }; /** The history types Rust writes (`TransactionInfo.tx_type`). */ -export type DomainTxType = 'faucet' | 'bilateral_offline' | 'online' | 'dbtc_mint' | 'dbtc_burn'; +export type DomainTxType = + | 'faucet' + | 'bilateral_offline' + | 'online' + | 'dbtc_mint' + | 'dbtc_burn' + | 'token_create' + | 'vault_create' + | 'sofi_setup' + | 'sofi_trade' + | 'sofi_close'; + +/** One token a token or SoFi event moved, as Rust reported it. */ +export type DomainTokenMove = { + /** Base32 Crockford policy commit: the token's identity. */ + policyCommit: string; + /** The token's ticker, display only. */ + tokenId: string; + /** Signed base units: negative is paid out. */ + amount: bigint; + /** Signed display form rendered by Rust. */ + displayAmount: string; +}; /** * One wallet history row, exactly as `wallet.history` reports it. Every @@ -72,4 +94,10 @@ export type DomainTransaction = { memo?: string; stitchedReceipt?: Uint8Array; receiptVerified: boolean; + /** + * A token or SoFi event: every token it moved. Such a row has no single + * token or amount of its own, and its `recipient` is the vault or token it + * is about. + */ + moves?: DomainTokenMove[]; }; diff --git a/dsm_client/frontend/src/dsm/sofi.ts b/dsm_client/frontend/src/dsm/sofi.ts index 60d4b906e..2427db1f4 100644 --- a/dsm_client/frontend/src/dsm/sofi.ts +++ b/dsm_client/frontend/src/dsm/sofi.ts @@ -2,7 +2,9 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ // SoFi routes (SoFi §27): the app reaches SoFi only through these. Each call -// sends the user's intent; Rust assembles, Core decides. +// sends the user's intent; Rust assembles, Core decides. An amount the user +// enters goes as the text entered, in token units ("1000.50"): Rust parses it +// against the token's decimals, and renders every amount it reports. import * as pb from '../proto/dsm_app_pb'; import { routerInvokeBin } from './WebViewBridge'; import { decodeFramedEnvelopeV3 } from './decoding'; @@ -53,12 +55,12 @@ function positionResult(payload: any): PositionResult { return { position: r.position, state }; } -/** sofi.createVault (§28): the pair (ordered), both reserves, and the fee. */ +/** sofi.createVault (§28): the pair (ordered), both reserves as entered, and the fee. */ export async function createVault(args: { tokenA: Bytes32; tokenB: Bytes32; - reserveA: bigint; - reserveB: bigint; + reserveA: string; + reserveB: string; feeBps: number; }): Promise<{ vaultId: Bytes32; position: bigint }> { const payload = await call( @@ -66,8 +68,8 @@ export async function createVault(args: { new pb.SofiCreateVaultRequest({ tokenAPolicyCommit: args.tokenA, tokenBPolicyCommit: args.tokenB, - reserveA: args.reserveA, - reserveB: args.reserveB, + reserveAEntered: args.reserveA, + reserveBEntered: args.reserveB, feeBps: args.feeBps, } as any), ); @@ -78,15 +80,6 @@ export async function createVault(args: { return { vaultId: payload.value.vaultId, position: payload.value.position }; } -/** sofi.setup (§29): set up with a vault once, before trading against it. */ -export async function setup(vaultId: Bytes32): Promise<{ setupRef: Bytes32; position: bigint }> { - const payload = await call('sofi.setup', new pb.SofiSetupRequest({ vaultId } as any)); - if (payload.case !== 'sofiSetupResponse') { - throw new Error(`Expected sofiSetupResponse, got ${payload.case}`); - } - return { setupRef: payload.value.setupRef, position: payload.value.position }; -} - export interface Hop { vaultId: Bytes32; parentRoot: Bytes32; @@ -94,25 +87,36 @@ export interface Hop { tokenOut: Bytes32; amountIn: bigint; amountOut: bigint; + /** Rendered by Rust from each token's decimals. */ + amountInDisplay: string; + amountOutDisplay: string; } -/** sofi.findRoute (§30): a proposed hop list. It carries no authority. */ +/** + * sofi.findRoute (§30, Amendment S16): a proposed hop list over every vault of + * the two tokens, set up with or not. It carries no authority. An empty list + * is no route among every vault the tokens' indexes name; a search that found + * none while some vault could not be read is an error, never "no route". + */ export async function findRoute(args: { tokenIn: Bytes32; tokenOut: Bytes32; - amountIn: bigint; + amountIn: string; }): Promise { const payload = await call( 'sofi.findRoute', new pb.SofiFindRouteRequest({ tokenInPolicyCommit: args.tokenIn, tokenOutPolicyCommit: args.tokenOut, - amountIn: args.amountIn, + amountInEntered: args.amountIn, } as any), ); if (payload.case !== 'sofiFindRouteResponse') { throw new Error(`Expected sofiFindRouteResponse, got ${payload.case}`); } + if (payload.value.hops.length === 0 && payload.value.search !== pb.SofiSearch.COMPLETE) { + throw new Error('no route among the liquidity that could be read; some could not be reached, try again'); + } return payload.value.hops.map((h: any) => ({ vaultId: h.vaultId, parentRoot: h.parentRoot, @@ -120,15 +124,21 @@ export async function findRoute(args: { tokenOut: h.tokenOutPolicyCommit, amountIn: h.amountIn, amountOut: h.amountOut, + amountInDisplay: h.amountInDisplay, + amountOutDisplay: h.amountOutDisplay, })); } -/** sofi.trade (§31): one hop against one vault. */ +/** + * sofi.trade (§31): one hop against one vault, for the token asked for. A + * vault this device has no setup with is set up with first (Amendment S16). + */ export async function trade(args: { vaultId: Bytes32; tokenIn: Bytes32; - amountIn: bigint; - minAmountOut: bigint; + tokenOut: Bytes32; + amountIn: string; + minAmountOut: string; }): Promise { return positionResult( await call( @@ -136,8 +146,9 @@ export async function trade(args: { new pb.SofiTradeRequest({ vaultId: args.vaultId, tokenInPolicyCommit: args.tokenIn, - amountIn: args.amountIn, - minAmountOut: args.minAmountOut, + tokenOutPolicyCommit: args.tokenOut, + amountInEntered: args.amountIn, + minAmountOutEntered: args.minAmountOut, } as any), ), ); @@ -147,8 +158,9 @@ export async function trade(args: { export async function route(args: { vaultIds: Bytes32[]; tokenIn: Bytes32; - amountIn: bigint; - minAmountOut: bigint; + tokenOut: Bytes32; + amountIn: string; + minAmountOut: string; }): Promise { return positionResult( await call( @@ -156,8 +168,9 @@ export async function route(args: { new pb.SofiRouteRequest({ vaultIds: args.vaultIds, tokenInPolicyCommit: args.tokenIn, - amountIn: args.amountIn, - minAmountOut: args.minAmountOut, + tokenOutPolicyCommit: args.tokenOut, + amountInEntered: args.amountIn, + minAmountOutEntered: args.minAmountOut, } as any), ), ); @@ -192,3 +205,42 @@ export async function relay(args: { } return { cellsWritten: payload.value.cellsWritten }; } + +/** One vault this device created, at its walked head. */ +export interface OwnedVault { + vaultId: Bytes32; + tokenA: Bytes32; + tokenB: Bytes32; + symbolA: string; + symbolB: string; + reserveADisplay: string; + reserveBDisplay: string; + feeBps: number; + generation: bigint; + status: 'active' | 'retired'; +} + +/** sofi.vaults: every vault this device created, with its live reserves. */ +export async function vaults(): Promise { + const payload = await call('sofi.vaults', new pb.SofiVaultsRequest()); + if (payload.case !== 'sofiVaultsResponse') { + throw new Error(`Expected sofiVaultsResponse, got ${payload.case}`); + } + return payload.value.vaults.map((v) => { + if (v.status !== pb.SofiVaultStatus.ACTIVE && v.status !== pb.SofiVaultStatus.RETIRED) { + throw new Error(`unknown SoFi vault status ${v.status}`); + } + return { + vaultId: v.vaultId, + tokenA: v.tokenAPolicyCommit, + tokenB: v.tokenBPolicyCommit, + symbolA: v.tokenASymbol, + symbolB: v.tokenBSymbol, + reserveADisplay: v.reserveADisplay, + reserveBDisplay: v.reserveBDisplay, + feeBps: v.feeBps, + generation: v.generation, + status: v.status === pb.SofiVaultStatus.ACTIVE ? 'active' : 'retired', + }; + }); +} diff --git a/dsm_client/frontend/src/proto/dsm_app_pb.ts b/dsm_client/frontend/src/proto/dsm_app_pb.ts index c95b6773b..3f538662c 100644 --- a/dsm_client/frontend/src/proto/dsm_app_pb.ts +++ b/dsm_client/frontend/src/proto/dsm_app_pb.ts @@ -120,6 +120,44 @@ export enum TransactionType { * @generated from enum value: TX_TYPE_DBTC_BURN = 6; */ TX_TYPE_DBTC_BURN = 6, + + /** + * Token and SoFi events, written when their position realizes. Each names + * every token it moved, with its amount, in TransactionInfo.moves. + * + * a token created; its ERA fee paid + * + * @generated from enum value: TX_TYPE_TOKEN_CREATE = 7; + */ + TX_TYPE_TOKEN_CREATE = 7, + + /** + * a vault created; both reserves paid in + * + * @generated from enum value: TX_TYPE_VAULT_CREATE = 8; + */ + TX_TYPE_VAULT_CREATE = 8, + + /** + * set up with a vault; no token moves + * + * @generated from enum value: TX_TYPE_SOFI_SETUP = 9; + */ + TX_TYPE_SOFI_SETUP = 9, + + /** + * a trade or route realized + * + * @generated from enum value: TX_TYPE_SOFI_TRADE = 10; + */ + TX_TYPE_SOFI_TRADE = 10, + + /** + * the owner's close realized; both reserves credited + * + * @generated from enum value: TX_TYPE_SOFI_CLOSE = 11; + */ + TX_TYPE_SOFI_CLOSE = 11, } // Retrieve enum metadata with: proto3.getEnumType(TransactionType) proto3.util.setEnumType(TransactionType, "dsm.TransactionType", [ @@ -129,6 +167,11 @@ proto3.util.setEnumType(TransactionType, "dsm.TransactionType", [ { no: 4, name: "TX_TYPE_ONLINE" }, { no: 5, name: "TX_TYPE_DBTC_MINT" }, { no: 6, name: "TX_TYPE_DBTC_BURN" }, + { no: 7, name: "TX_TYPE_TOKEN_CREATE" }, + { no: 8, name: "TX_TYPE_VAULT_CREATE" }, + { no: 9, name: "TX_TYPE_SOFI_SETUP" }, + { no: 10, name: "TX_TYPE_SOFI_TRADE" }, + { no: 11, name: "TX_TYPE_SOFI_CLOSE" }, ]); /** @@ -752,6 +795,66 @@ proto3.util.setEnumType(BleFrameType, "dsm.BleFrameType", [ { no: 14, name: "BLE_FRAME_TYPE_DEVICE_ADMISSION_RESPONSE" }, ]); +/** + * How much of the token indexes the search established (Amendment S16). + * + * @generated from enum dsm.SofiSearch + */ +export enum SofiSearch { + /** + * @generated from enum value: SOFI_SEARCH_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * every candidate vault and its head was established + * + * @generated from enum value: SOFI_SEARCH_COMPLETE = 1; + */ + COMPLETE = 1, + + /** + * one was not: a better route may run through it + * + * @generated from enum value: SOFI_SEARCH_PARTIAL = 2; + */ + PARTIAL = 2, +} +// Retrieve enum metadata with: proto3.getEnumType(SofiSearch) +proto3.util.setEnumType(SofiSearch, "dsm.SofiSearch", [ + { no: 0, name: "SOFI_SEARCH_UNSPECIFIED" }, + { no: 1, name: "SOFI_SEARCH_COMPLETE" }, + { no: 2, name: "SOFI_SEARCH_PARTIAL" }, +]); + +/** + * @generated from enum dsm.SofiVaultStatus + */ +export enum SofiVaultStatus { + /** + * @generated from enum value: SOFI_VAULT_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: SOFI_VAULT_STATUS_ACTIVE = 1; + */ + ACTIVE = 1, + + /** + * closed by its owner; it has no successor + * + * @generated from enum value: SOFI_VAULT_STATUS_RETIRED = 2; + */ + RETIRED = 2, +} +// Retrieve enum metadata with: proto3.getEnumType(SofiVaultStatus) +proto3.util.setEnumType(SofiVaultStatus, "dsm.SofiVaultStatus", [ + { no: 0, name: "SOFI_VAULT_STATUS_UNSPECIFIED" }, + { no: 1, name: "SOFI_VAULT_STATUS_ACTIVE" }, + { no: 2, name: "SOFI_VAULT_STATUS_RETIRED" }, +]); + /** * Where a trade, route, close or resolve left the device's position. * Predicates are Valid or Invalid only; RETRIES_EXHAUSTED is the separate @@ -17205,12 +17308,9 @@ export class Envelope extends Message { case: "sofiVaultCreatedResponse"; } | { /** - * @generated from field: dsm.SofiSetupResponse sofi_setup_response = 121; - */ - value: SofiSetupResponse; - case: "sofiSetupResponse"; - } | { - /** + * 121 was sofi_setup_response: the setup is the first step of the first + * operation through a vault, never a route of its own (SoFi Amendment S16). + * * @generated from field: dsm.SofiFindRouteResponse sofi_find_route_response = 122; */ value: SofiFindRouteResponse; @@ -17236,6 +17336,14 @@ export class Envelope extends Message { */ value: SealedEnvelopeV1; case: "sealed"; + } | { + /** + * sofi.vaults: the owner's vaults at their walked heads. + * + * @generated from field: dsm.SofiVaultsResponse sofi_vaults_response = 126; + */ + value: SofiVaultsResponse; + case: "sofiVaultsResponse"; } | { /** * Reply to `token.forget`. @@ -17353,11 +17461,11 @@ export class Envelope extends Message { { no: 116, name: "token_burn_response", kind: "message", T: TokenBurnResponse, oneof: "payload" }, { no: 117, name: "token_fee_schedule_response", kind: "message", T: TokenFeeScheduleResponse, oneof: "payload" }, { no: 120, name: "sofi_vault_created_response", kind: "message", T: SofiVaultCreatedResponse, oneof: "payload" }, - { no: 121, name: "sofi_setup_response", kind: "message", T: SofiSetupResponse, oneof: "payload" }, { no: 122, name: "sofi_find_route_response", kind: "message", T: SofiFindRouteResponse, oneof: "payload" }, { no: 123, name: "sofi_position_response", kind: "message", T: SofiPositionResponse, oneof: "payload" }, { no: 124, name: "sofi_relay_response", kind: "message", T: SofiRelayResponse, oneof: "payload" }, { no: 125, name: "sealed", kind: "message", T: SealedEnvelopeV1, oneof: "payload" }, + { no: 126, name: "sofi_vaults_response", kind: "message", T: SofiVaultsResponse, oneof: "payload" }, { no: 118, name: "token_forget_response", kind: "message", T: TokenForgetResponse, oneof: "payload" }, { no: 119, name: "token_adoption_qr_response", kind: "message", T: TokenAdoptionQrResponse, oneof: "payload" }, ]); @@ -17574,25 +17682,25 @@ export class SofiCreateVaultRequest extends Message { tokenBPolicyCommit = new Uint8Array(0); /** - * > 0 + * < 10000 * - * @generated from field: uint64 reserve_a = 3; + * @generated from field: uint32 fee_bps = 5; */ - reserveA = protoInt64.zero; + feeBps = 0; /** - * > 0 + * token units, > 0 * - * @generated from field: uint64 reserve_b = 4; + * @generated from field: string reserve_a_entered = 6; */ - reserveB = protoInt64.zero; + reserveAEntered = ""; /** - * < 10000 + * token units, > 0 * - * @generated from field: uint32 fee_bps = 5; + * @generated from field: string reserve_b_entered = 7; */ - feeBps = 0; + reserveBEntered = ""; constructor(data?: PartialMessage) { super(); @@ -17604,9 +17712,9 @@ export class SofiCreateVaultRequest extends Message { static readonly fields: FieldList = proto3.util.newFieldList(() => [ { no: 1, name: "token_a_policy_commit", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, { no: 2, name: "token_b_policy_commit", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, - { no: 3, name: "reserve_a", kind: "scalar", T: 4 /* ScalarType.UINT64 */ }, - { no: 4, name: "reserve_b", kind: "scalar", T: 4 /* ScalarType.UINT64 */ }, { no: 5, name: "fee_bps", kind: "scalar", T: 13 /* ScalarType.UINT32 */ }, + { no: 6, name: "reserve_a_entered", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 7, name: "reserve_b_entered", kind: "scalar", T: 9 /* ScalarType.STRING */ }, ]); static fromBinary(bytes: Uint8Array, options?: Partial): SofiCreateVaultRequest { @@ -17672,92 +17780,9 @@ export class SofiVaultCreatedResponse extends Message } /** - * sofi.setup (§29): set up with a vault once, before trading against it. - * - * @generated from message dsm.SofiSetupRequest - */ -export class SofiSetupRequest extends Message { - /** - * @generated from field: bytes vault_id = 1; - */ - vaultId = new Uint8Array(0); - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "dsm.SofiSetupRequest"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "vault_id", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): SofiSetupRequest { - return new SofiSetupRequest().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): SofiSetupRequest { - return new SofiSetupRequest().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): SofiSetupRequest { - return new SofiSetupRequest().fromJsonString(jsonString, options); - } - - static equals(a: SofiSetupRequest | PlainMessage | undefined, b: SofiSetupRequest | PlainMessage | undefined): boolean { - return proto3.util.equals(SofiSetupRequest, a, b); - } -} - -/** - * @generated from message dsm.SofiSetupResponse - */ -export class SofiSetupResponse extends Message { - /** - * ρ - * - * @generated from field: bytes setup_ref = 1; - */ - setupRef = new Uint8Array(0); - - /** - * @generated from field: uint64 position = 2; - */ - position = protoInt64.zero; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "dsm.SofiSetupResponse"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "setup_ref", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, - { no: 2, name: "position", kind: "scalar", T: 4 /* ScalarType.UINT64 */ }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): SofiSetupResponse { - return new SofiSetupResponse().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): SofiSetupResponse { - return new SofiSetupResponse().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): SofiSetupResponse { - return new SofiSetupResponse().fromJsonString(jsonString, options); - } - - static equals(a: SofiSetupResponse | PlainMessage | undefined, b: SofiSetupResponse | PlainMessage | undefined): boolean { - return proto3.util.equals(SofiSetupResponse, a, b); - } -} - -/** - * sofi.findRoute (§30, §27): path search over walked vault heads. A hop list - * carries no authority. + * sofi.findRoute (§30, §27, Amendment S16): path search over the vaults the + * two tokens' indexes name, each at its walked head. Not limited to the vaults + * the trader is set up with; a quote needs no setup, and carries no authority. * * @generated from message dsm.SofiFindRouteRequest */ @@ -17773,9 +17798,11 @@ export class SofiFindRouteRequest extends Message { tokenOutPolicyCommit = new Uint8Array(0); /** - * @generated from field: uint64 amount_in = 3; + * token units of token_in, > 0 + * + * @generated from field: string amount_in_entered = 4; */ - amountIn = protoInt64.zero; + amountInEntered = ""; constructor(data?: PartialMessage) { super(); @@ -17787,7 +17814,7 @@ export class SofiFindRouteRequest extends Message { static readonly fields: FieldList = proto3.util.newFieldList(() => [ { no: 1, name: "token_in_policy_commit", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, { no: 2, name: "token_out_policy_commit", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, - { no: 3, name: "amount_in", kind: "scalar", T: 4 /* ScalarType.UINT64 */ }, + { no: 4, name: "amount_in_entered", kind: "scalar", T: 9 /* ScalarType.STRING */ }, ]); static fromBinary(bytes: Uint8Array, options?: Partial): SofiFindRouteRequest { @@ -17834,15 +17861,33 @@ export class SofiHopV1 extends Message { tokenOutPolicyCommit = new Uint8Array(0); /** + * base units + * * @generated from field: uint64 amount_in = 5; */ amountIn = protoInt64.zero; /** + * base units + * * @generated from field: uint64 amount_out = 6; */ amountOut = protoInt64.zero; + /** + * rendered by Rust from token_in's decimals + * + * @generated from field: string amount_in_display = 7; + */ + amountInDisplay = ""; + + /** + * rendered by Rust from token_out's decimals + * + * @generated from field: string amount_out_display = 8; + */ + amountOutDisplay = ""; + constructor(data?: PartialMessage) { super(); proto3.util.initPartial(data, this); @@ -17857,6 +17902,8 @@ export class SofiHopV1 extends Message { { no: 4, name: "token_out_policy_commit", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, { no: 5, name: "amount_in", kind: "scalar", T: 4 /* ScalarType.UINT64 */ }, { no: 6, name: "amount_out", kind: "scalar", T: 4 /* ScalarType.UINT64 */ }, + { no: 7, name: "amount_in_display", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 8, name: "amount_out_display", kind: "scalar", T: 9 /* ScalarType.STRING */ }, ]); static fromBinary(bytes: Uint8Array, options?: Partial): SofiHopV1 { @@ -17881,12 +17928,17 @@ export class SofiHopV1 extends Message { */ export class SofiFindRouteResponse extends Message { /** - * empty when no route exists + * empty when no route exists among the vaults searched * * @generated from field: repeated dsm.SofiHopV1 hops = 1; */ hops: SofiHopV1[] = []; + /** + * @generated from field: dsm.SofiSearch search = 2; + */ + search = SofiSearch.UNSPECIFIED; + constructor(data?: PartialMessage) { super(); proto3.util.initPartial(data, this); @@ -17896,6 +17948,7 @@ export class SofiFindRouteResponse extends Message { static readonly typeName = "dsm.SofiFindRouteResponse"; static readonly fields: FieldList = proto3.util.newFieldList(() => [ { no: 1, name: "hops", kind: "message", T: SofiHopV1, repeated: true }, + { no: 2, name: "search", kind: "enum", T: proto3.getEnumType(SofiSearch) }, ]); static fromBinary(bytes: Uint8Array, options?: Partial): SofiFindRouteResponse { @@ -17916,7 +17969,8 @@ export class SofiFindRouteResponse extends Message { } /** - * sofi.trade (§31): one hop against one vault. + * sofi.trade (§31): one hop against one vault. A vault the trader has no + * setup with is set up with first, in the same call (Amendment S16). * * @generated from message dsm.SofiTradeRequest */ @@ -17932,14 +17986,25 @@ export class SofiTradeRequest extends Message { tokenInPolicyCommit = new Uint8Array(0); /** - * @generated from field: uint64 amount_in = 3; + * token units of the input token, > 0 + * + * @generated from field: string amount_in_entered = 5; */ - amountIn = protoInt64.zero; + amountInEntered = ""; /** - * @generated from field: uint64 min_amount_out = 4; + * token units of the output token + * + * @generated from field: string min_amount_out_entered = 6; */ - minAmountOut = protoInt64.zero; + minAmountOutEntered = ""; + + /** + * the token the trader asks for; the route must give it + * + * @generated from field: bytes token_out_policy_commit = 7; + */ + tokenOutPolicyCommit = new Uint8Array(0); constructor(data?: PartialMessage) { super(); @@ -17951,8 +18016,9 @@ export class SofiTradeRequest extends Message { static readonly fields: FieldList = proto3.util.newFieldList(() => [ { no: 1, name: "vault_id", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, { no: 2, name: "token_in_policy_commit", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, - { no: 3, name: "amount_in", kind: "scalar", T: 4 /* ScalarType.UINT64 */ }, - { no: 4, name: "min_amount_out", kind: "scalar", T: 4 /* ScalarType.UINT64 */ }, + { no: 5, name: "amount_in_entered", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 6, name: "min_amount_out_entered", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 7, name: "token_out_policy_commit", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, ]); static fromBinary(bytes: Uint8Array, options?: Partial): SofiTradeRequest { @@ -17974,7 +18040,8 @@ export class SofiTradeRequest extends Message { /** * sofi.route (§31): a multihop route, all or none, through distinct vaults in - * hop order (at most ROUTE_MAX_LEGS). + * hop order (at most ROUTE_MAX_LEGS), setting up first with any vault the + * trader has no setup with (Amendment S16). * * @generated from message dsm.SofiRouteRequest */ @@ -17990,14 +18057,25 @@ export class SofiRouteRequest extends Message { tokenInPolicyCommit = new Uint8Array(0); /** - * @generated from field: uint64 amount_in = 3; + * token units of the input token, > 0 + * + * @generated from field: string amount_in_entered = 5; */ - amountIn = protoInt64.zero; + amountInEntered = ""; /** - * @generated from field: uint64 min_amount_out = 4; + * token units of the output token + * + * @generated from field: string min_amount_out_entered = 6; */ - minAmountOut = protoInt64.zero; + minAmountOutEntered = ""; + + /** + * the token the trader asks for; the route must give it + * + * @generated from field: bytes token_out_policy_commit = 7; + */ + tokenOutPolicyCommit = new Uint8Array(0); constructor(data?: PartialMessage) { super(); @@ -18009,8 +18087,9 @@ export class SofiRouteRequest extends Message { static readonly fields: FieldList = proto3.util.newFieldList(() => [ { no: 1, name: "vault_ids", kind: "scalar", T: 12 /* ScalarType.BYTES */, repeated: true }, { no: 2, name: "token_in_policy_commit", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, - { no: 3, name: "amount_in", kind: "scalar", T: 4 /* ScalarType.UINT64 */ }, - { no: 4, name: "min_amount_out", kind: "scalar", T: 4 /* ScalarType.UINT64 */ }, + { no: 5, name: "amount_in_entered", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 6, name: "min_amount_out_entered", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 7, name: "token_out_policy_commit", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, ]); static fromBinary(bytes: Uint8Array, options?: Partial): SofiRouteRequest { @@ -18031,7 +18110,8 @@ export class SofiRouteRequest extends Message { } /** - * sofi.close (§32): the owner closes its own vault under its release policy. + * sofi.close (§32): the owner closes its own vault under its release policy, + * setting up with it first if it has not (Amendment S16). * * @generated from message dsm.SofiCloseRequest */ @@ -18069,6 +18149,186 @@ export class SofiCloseRequest extends Message { } } +/** + * sofi.vaults: every vault this device created, walked to its head, so the + * owner sees the live reserves without closing. + * + * @generated from message dsm.SofiVaultsRequest + */ +export class SofiVaultsRequest extends Message { + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "dsm.SofiVaultsRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): SofiVaultsRequest { + return new SofiVaultsRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): SofiVaultsRequest { + return new SofiVaultsRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): SofiVaultsRequest { + return new SofiVaultsRequest().fromJsonString(jsonString, options); + } + + static equals(a: SofiVaultsRequest | PlainMessage | undefined, b: SofiVaultsRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(SofiVaultsRequest, a, b); + } +} + +/** + * @generated from message dsm.SofiOwnedVaultV1 + */ +export class SofiOwnedVaultV1 extends Message { + /** + * @generated from field: bytes vault_id = 1; + */ + vaultId = new Uint8Array(0); + + /** + * @generated from field: bytes token_a_policy_commit = 2; + */ + tokenAPolicyCommit = new Uint8Array(0); + + /** + * @generated from field: bytes token_b_policy_commit = 3; + */ + tokenBPolicyCommit = new Uint8Array(0); + + /** + * @generated from field: string token_a_symbol = 4; + */ + tokenASymbol = ""; + + /** + * @generated from field: string token_b_symbol = 5; + */ + tokenBSymbol = ""; + + /** + * base units + * + * @generated from field: uint64 reserve_a = 6; + */ + reserveA = protoInt64.zero; + + /** + * base units + * + * @generated from field: uint64 reserve_b = 7; + */ + reserveB = protoInt64.zero; + + /** + * @generated from field: string reserve_a_display = 8; + */ + reserveADisplay = ""; + + /** + * @generated from field: string reserve_b_display = 9; + */ + reserveBDisplay = ""; + + /** + * @generated from field: uint32 fee_bps = 10; + */ + feeBps = 0; + + /** + * trades and closes the vault has taken + * + * @generated from field: uint64 generation = 11; + */ + generation = protoInt64.zero; + + /** + * @generated from field: dsm.SofiVaultStatus status = 12; + */ + status = SofiVaultStatus.UNSPECIFIED; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "dsm.SofiOwnedVaultV1"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "vault_id", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 2, name: "token_a_policy_commit", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 3, name: "token_b_policy_commit", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 4, name: "token_a_symbol", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 5, name: "token_b_symbol", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 6, name: "reserve_a", kind: "scalar", T: 4 /* ScalarType.UINT64 */ }, + { no: 7, name: "reserve_b", kind: "scalar", T: 4 /* ScalarType.UINT64 */ }, + { no: 8, name: "reserve_a_display", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 9, name: "reserve_b_display", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 10, name: "fee_bps", kind: "scalar", T: 13 /* ScalarType.UINT32 */ }, + { no: 11, name: "generation", kind: "scalar", T: 4 /* ScalarType.UINT64 */ }, + { no: 12, name: "status", kind: "enum", T: proto3.getEnumType(SofiVaultStatus) }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): SofiOwnedVaultV1 { + return new SofiOwnedVaultV1().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): SofiOwnedVaultV1 { + return new SofiOwnedVaultV1().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): SofiOwnedVaultV1 { + return new SofiOwnedVaultV1().fromJsonString(jsonString, options); + } + + static equals(a: SofiOwnedVaultV1 | PlainMessage | undefined, b: SofiOwnedVaultV1 | PlainMessage | undefined): boolean { + return proto3.util.equals(SofiOwnedVaultV1, a, b); + } +} + +/** + * @generated from message dsm.SofiVaultsResponse + */ +export class SofiVaultsResponse extends Message { + /** + * @generated from field: repeated dsm.SofiOwnedVaultV1 vaults = 1; + */ + vaults: SofiOwnedVaultV1[] = []; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "dsm.SofiVaultsResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "vaults", kind: "message", T: SofiOwnedVaultV1, repeated: true }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): SofiVaultsResponse { + return new SofiVaultsResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): SofiVaultsResponse { + return new SofiVaultsResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): SofiVaultsResponse { + return new SofiVaultsResponse().fromJsonString(jsonString, options); + } + + static equals(a: SofiVaultsResponse | PlainMessage | undefined, b: SofiVaultsResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(SofiVaultsResponse, a, b); + } +} + /** * sofi.resolve (§27): resolve and advance the device's pending position. * @@ -21433,6 +21693,14 @@ export class TransactionInfo extends Message { */ displayAmount = ""; + /** + * A token or SoFi event: every token it moved, with its signed amount. + * Empty for a transfer, which moves the one token above. + * + * @generated from field: repeated dsm.TokenMove moves = 18; + */ + moves: TokenMove[] = []; + constructor(data?: PartialMessage) { super(); proto3.util.initPartial(data, this); @@ -21455,6 +21723,7 @@ export class TransactionInfo extends Message { { no: 15, name: "memo", kind: "scalar", T: 9 /* ScalarType.STRING */ }, { no: 16, name: "receipt_verified", kind: "scalar", T: 8 /* ScalarType.BOOL */ }, { no: 17, name: "display_amount", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 18, name: "moves", kind: "message", T: TokenMove, repeated: true }, ]); static fromBinary(bytes: Uint8Array, options?: Partial): TransactionInfo { @@ -21474,6 +21743,67 @@ export class TransactionInfo extends Message { } } +/** + * @generated from message dsm.TokenMove + */ +export class TokenMove extends Message { + /** + * @generated from field: bytes policy_commit = 1; + */ + policyCommit = new Uint8Array(0); + + /** + * the token's ticker + * + * @generated from field: string token_id = 2; + */ + tokenId = ""; + + /** + * base units: positive credited, negative debited + * + * @generated from field: sint64 amount_signed = 3; + */ + amountSigned = protoInt64.zero; + + /** + * rendered by Rust from the token's decimals + * + * @generated from field: string display_amount = 4; + */ + displayAmount = ""; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "dsm.TokenMove"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "policy_commit", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 2, name: "token_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 3, name: "amount_signed", kind: "scalar", T: 18 /* ScalarType.SINT64 */ }, + { no: 4, name: "display_amount", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): TokenMove { + return new TokenMove().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): TokenMove { + return new TokenMove().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): TokenMove { + return new TokenMove().fromJsonString(jsonString, options); + } + + static equals(a: TokenMove | PlainMessage | undefined, b: TokenMove | PlainMessage | undefined): boolean { + return proto3.util.equals(TokenMove, a, b); + } +} + /** * @generated from message dsm.WalletHistoryResponse */ diff --git a/dsm_client/frontend/src/stores/storageStore.ts b/dsm_client/frontend/src/stores/storageStore.ts index 4698c2344..e61c4e3e7 100644 --- a/dsm_client/frontend/src/stores/storageStore.ts +++ b/dsm_client/frontend/src/stores/storageStore.ts @@ -5,6 +5,13 @@ import { useSyncExternalStore } from 'react'; import { getStorageStatus } from '../dsm/storage'; import type { StorageStatus } from '../dsm/types'; import { listVaults, type VaultSummary } from '../services/bitcoinTap'; +import { vaults as listSofiVaults, type OwnedVault } from '../dsm/sofi'; + +/** The owner's liquidity vaults at their walked heads (sofi.vaults). */ +export type SofiVaultsView = + | { state: 'loading' } + | { state: 'ready'; vaults: OwnedVault[] } + | { state: 'error'; message: string }; type StorageStoreSnapshot = { status: StorageStatus | null; @@ -12,6 +19,7 @@ type StorageStoreSnapshot = { statusError: string | null; dlvs: VaultSummary[]; dlvLoading: boolean; + sofiVaults: SofiVaultsView; }; class StorageStore { @@ -21,6 +29,7 @@ class StorageStore { statusError: null, dlvs: [], dlvLoading: true, + sofiVaults: { state: 'loading' }, }; private listeners = new Set<() => void>(); @@ -62,6 +71,21 @@ class StorageStore { } }; + /** + * Ask the SDK for this device's liquidity vaults, each at its head. Either + * outcome lands in the snapshot: the vaults, or why they are not in hand. + */ + refreshSofiVaults = (): void => { + this.setState({ sofiVaults: { state: 'loading' } }); + listSofiVaults().then( + (vaults) => this.setState({ sofiVaults: { state: 'ready', vaults } }), + (e: unknown) => + this.setState({ + sofiVaults: { state: 'error', message: e instanceof Error ? e.message : String(e) }, + }), + ); + }; + private setState(patch: Partial): void { this.snapshot = { ...this.snapshot, diff --git a/proto/dsm_app.proto b/proto/dsm_app.proto index e1e76bc49..fddfdde01 100644 --- a/proto/dsm_app.proto +++ b/proto/dsm_app.proto @@ -76,6 +76,13 @@ enum TransactionType { TX_TYPE_ONLINE = 4; // Online transfer TX_TYPE_DBTC_MINT = 5; // BTC→dBTC deposit (mint) TX_TYPE_DBTC_BURN = 6; // dBTC→BTC withdrawal (burn) + // Token and SoFi events, written when their position realizes. Each names + // every token it moved, with its amount, in TransactionInfo.moves. + TX_TYPE_TOKEN_CREATE = 7; // a token created; its ERA fee paid + TX_TYPE_VAULT_CREATE = 8; // a vault created; both reserves paid in + TX_TYPE_SOFI_SETUP = 9; // set up with a vault; no token moves + TX_TYPE_SOFI_TRADE = 10; // a trade or route realized + TX_TYPE_SOFI_CLOSE = 11; // the owner's close realized; both reserves credited } message EvidenceOracle { @@ -2668,13 +2675,16 @@ message Envelope { TokenFeeScheduleResponse token_fee_schedule_response = 117; // SoFi routes (SoFi §27), local-only like the token responses. SofiVaultCreatedResponse sofi_vault_created_response = 120; - SofiSetupResponse sofi_setup_response = 121; + // 121 was sofi_setup_response: the setup is the first step of the first + // operation through a vault, never a route of its own (SoFi Amendment S16). SofiFindRouteResponse sofi_find_route_response = 122; SofiPositionResponse sofi_position_response = 123; SofiRelayResponse sofi_relay_response = 124; // A sealed spool payload (DSM Amendment A7). The envelope that carries it // has a message id and nothing else a node could read: no headers. SealedEnvelopeV1 sealed = 125; + // sofi.vaults: the owner's vaults at their walked heads. + SofiVaultsResponse sofi_vaults_response = 126; // Reply to `token.forget`. @@ -2690,6 +2700,8 @@ message Envelope { // device's strict envelope validator reads this oneof and these reservations // from the compiled proto; storage nodes do not open envelopes. reserved 114; + reserved 121; + reserved "sofi_setup_response"; reserved 115; // was token_mint_response: there is no minting after genesis (SoFi §48) reserved 98; // was reconciliation_response: bilateral.reconcile had no caller // 88 and 89 were storage_node_stats_response and storage_node_manage_response: @@ -2741,7 +2753,10 @@ message DeviceDirectoryEntryV1 { // The app reaches SoFi only through these routes (handlers/sofi_routes.rs). // Requests carry the user's intent; producers assemble, Core decides, and a // route never interprets a storage read (SoFi §26). Token commits are 32-byte -// policy_commits; vault ids are 32 bytes; amounts are base units. +// policy_commits; vault ids are 32 bytes. An amount the user enters travels as +// the text entered, in token units with the token's decimals ("1000.50"), and +// the SDK parses it against the decimals of the token's committed policy; an +// amount the SDK reports is base units with its display form beside it. // sofi.createVault (§28). The beta market family is constant product with // exact input and the beta release family is the owner's full close, so the @@ -2750,65 +2765,108 @@ message DeviceDirectoryEntryV1 { message SofiCreateVaultRequest { bytes token_a_policy_commit = 1 [(dsm_fixed_len)=32]; // token_a < token_b, bytewise bytes token_b_policy_commit = 2 [(dsm_fixed_len)=32]; - uint64 reserve_a = 3; // > 0 - uint64 reserve_b = 4; // > 0 + // 3 and 4 were reserve_a and reserve_b in base units. + reserved 3, 4; + reserved "reserve_a", "reserve_b"; uint32 fee_bps = 5; // < 10000 + string reserve_a_entered = 6; // token units, > 0 + string reserve_b_entered = 7; // token units, > 0 } message SofiVaultCreatedResponse { bytes vault_id = 1 [(dsm_fixed_len)=32]; uint64 position = 2; // the owner's economic position that carries the creation } -// sofi.setup (§29): set up with a vault once, before trading against it. -message SofiSetupRequest { - bytes vault_id = 1 [(dsm_fixed_len)=32]; -} -message SofiSetupResponse { - bytes setup_ref = 1 [(dsm_fixed_len)=32]; // ρ - uint64 position = 2; -} - -// sofi.findRoute (§30, §27): path search over walked vault heads. A hop list -// carries no authority. +// sofi.findRoute (§30, §27, Amendment S16): path search over the vaults the +// two tokens' indexes name, each at its walked head. Not limited to the vaults +// the trader is set up with; a quote needs no setup, and carries no authority. message SofiFindRouteRequest { bytes token_in_policy_commit = 1 [(dsm_fixed_len)=32]; bytes token_out_policy_commit = 2 [(dsm_fixed_len)=32]; - uint64 amount_in = 3; + // 3 was amount_in in base units. + reserved 3; + reserved "amount_in"; + string amount_in_entered = 4; // token units of token_in, > 0 } message SofiHopV1 { bytes vault_id = 1 [(dsm_fixed_len)=32]; bytes parent_root = 2 [(dsm_fixed_len)=32]; // the walked head the hop prices against bytes token_in_policy_commit = 3 [(dsm_fixed_len)=32]; bytes token_out_policy_commit = 4 [(dsm_fixed_len)=32]; - uint64 amount_in = 5; - uint64 amount_out = 6; + uint64 amount_in = 5; // base units + uint64 amount_out = 6; // base units + string amount_in_display = 7; // rendered by Rust from token_in's decimals + string amount_out_display = 8; // rendered by Rust from token_out's decimals +} +// How much of the token indexes the search established (Amendment S16). +enum SofiSearch { + SOFI_SEARCH_UNSPECIFIED = 0; + SOFI_SEARCH_COMPLETE = 1; // every candidate vault and its head was established + SOFI_SEARCH_PARTIAL = 2; // one was not: a better route may run through it } message SofiFindRouteResponse { - repeated SofiHopV1 hops = 1; // empty when no route exists + repeated SofiHopV1 hops = 1; // empty when no route exists among the vaults searched + SofiSearch search = 2; } -// sofi.trade (§31): one hop against one vault. +// sofi.trade (§31): one hop against one vault. A vault the trader has no +// setup with is set up with first, in the same call (Amendment S16). message SofiTradeRequest { bytes vault_id = 1 [(dsm_fixed_len)=32]; bytes token_in_policy_commit = 2 [(dsm_fixed_len)=32]; - uint64 amount_in = 3; - uint64 min_amount_out = 4; + // 3 and 4 were amount_in and min_amount_out in base units. + reserved 3, 4; + reserved "amount_in", "min_amount_out"; + string amount_in_entered = 5; // token units of the input token, > 0 + string min_amount_out_entered = 6; // token units of the output token + bytes token_out_policy_commit = 7 [(dsm_fixed_len)=32]; // the token the trader asks for; the route must give it } // sofi.route (§31): a multihop route, all or none, through distinct vaults in -// hop order (at most ROUTE_MAX_LEGS). +// hop order (at most ROUTE_MAX_LEGS), setting up first with any vault the +// trader has no setup with (Amendment S16). message SofiRouteRequest { repeated bytes vault_ids = 1 [(dsm_fixed_len)=32]; bytes token_in_policy_commit = 2 [(dsm_fixed_len)=32]; - uint64 amount_in = 3; - uint64 min_amount_out = 4; + reserved 3, 4; + reserved "amount_in", "min_amount_out"; + string amount_in_entered = 5; // token units of the input token, > 0 + string min_amount_out_entered = 6; // token units of the output token + bytes token_out_policy_commit = 7 [(dsm_fixed_len)=32]; // the token the trader asks for; the route must give it } -// sofi.close (§32): the owner closes its own vault under its release policy. +// sofi.close (§32): the owner closes its own vault under its release policy, +// setting up with it first if it has not (Amendment S16). message SofiCloseRequest { bytes vault_id = 1 [(dsm_fixed_len)=32]; } +// sofi.vaults: every vault this device created, walked to its head, so the +// owner sees the live reserves without closing. +message SofiVaultsRequest {} +enum SofiVaultStatus { + SOFI_VAULT_STATUS_UNSPECIFIED = 0; + SOFI_VAULT_STATUS_ACTIVE = 1; + SOFI_VAULT_STATUS_RETIRED = 2; // closed by its owner; it has no successor +} +message SofiOwnedVaultV1 { + bytes vault_id = 1 [(dsm_fixed_len)=32]; + bytes token_a_policy_commit = 2 [(dsm_fixed_len)=32]; + bytes token_b_policy_commit = 3 [(dsm_fixed_len)=32]; + string token_a_symbol = 4; + string token_b_symbol = 5; + uint64 reserve_a = 6; // base units + uint64 reserve_b = 7; // base units + string reserve_a_display = 8; + string reserve_b_display = 9; + uint32 fee_bps = 10; + uint64 generation = 11; // trades and closes the vault has taken + SofiVaultStatus status = 12; +} +message SofiVaultsResponse { + repeated SofiOwnedVaultV1 vaults = 1; +} + // sofi.resolve (§27): resolve and advance the device's pending position. message SofiResolveRequest {} @@ -3449,6 +3507,15 @@ message TransactionInfo { // Display form of `amount_signed`, rendered by Rust from the token's // registry decimals. `amount`/`amount_signed` stay canonical base units. string display_amount = 17; + // A token or SoFi event: every token it moved, with its signed amount. + // Empty for a transfer, which moves the one token above. + repeated TokenMove moves = 18; +} +message TokenMove { + bytes policy_commit = 1 [(dsm_fixed_len)=32]; + string token_id = 2; // the token's ticker + sint64 amount_signed = 3; // base units: positive credited, negative debited + string display_amount = 4; // rendered by Rust from the token's decimals } message WalletHistoryResponse { repeated TransactionInfo transactions = 1; } message ContactsListResponse { repeated ContactAddResponse contacts = 1; } diff --git a/specs/SoFi_Settlement_Specification.md b/specs/SoFi_Settlement_Specification.md index 6fd1bd951..ea2768ee7 100644 --- a/specs/SoFi_Settlement_Specification.md +++ b/specs/SoFi_Settlement_Specification.md @@ -671,6 +671,7 @@ is Unavailable, never Invalid. | PrecommitId | P | | `preimage_locator(E)` | P(E) | | `vault_genesis_locator(v)` | the vault genesis preimage | +| `vault_token_locator(t)` | the genesis preimage of each vault whose market pairs token `t` (Amendment S16) | | ρ | the setup body | | PolicyFulfillmentIdj | Gj | | the auxiliary reference | auxiliary evidence candidates | @@ -754,6 +755,7 @@ TAG_DSM_SOFI_ROUTE_DIGEST DSM/sofi/route-digest/v1 TAG_DSM_SOFI_PREIMAGE_LOCATOR DSM/sofi/preimage-locator/v1 locator of P (E) TAG_DSM_SOFI_VAULT_ID DSM/sofi/vault-id/v1 v TAG_DSM_SOFI_VAULT_GENESIS_LOCATOR DSM/sofi/vault-genesis-locator/v1 locator of vault genesis +TAG_DSM_SOFI_VAULT_TOKEN_LOCATOR DSM/sofi/vault-token-locator/v1 locator of the vaults of a token (Amendment S16) TAG_DSM_SOFI_VAULT_CREATION_KEY DSM/sofi/vault-creation-key/v1 key of the creation leaf TAG_DSM_SOFI_VAULT_STATE_KEY DSM/sofi/vault-state-key/v1 key of the vault state leaf TAG_DSM_SOFI_VAULT_LEAF_STATE DSM/sofi/vault-leaf-state/v1 DLV leaf values @@ -846,6 +848,7 @@ trader relationship under DSM/economic-leaf-state/v1 over the trader relatio value Xroute H(route-digest/v1; CCB(RouteDigestPreimage)) :89 vault genesis locator H(vault-genesis-locator/v1; v) :94 +vault token locator H(vault-token-locator/v1; t), t a token's policy commit (Amendment S16) vault_token_locator vault creation key H(vault-creation-key/v1; Go ∥ DevIDo ∥ v) :104 kT,v H(rel-key/v1; G ∥ DevID ∥ v) :112 σ H(setup-id/v1; G ∥ DevID ∥ u64be(p) ∥ v) :118 @@ -1720,6 +1723,16 @@ for a = 0, 1, . . . . walk (CORE/sofi/resolution.rs:412) classifies each attempt to the next. An unresolved attempt ends the walk: the head is Rn and that attempt is live. 4. The head’s vault state leaf gives the reserves and policies that price the next hop. +> **Amendment S16 (owner, 2026-10-01) — a vault is found by its tokens, and its setup is the first step of the first trade through it.** Phone-rig finding, 2026-10-01: `sofi.findRoute` searched only the vaults the trader had already set up with, so a trader could not find a vault without being told it, and the rig's first trade went through only because the trader set up by hand. This amends §11, §14.1, §15, §27, §28, §29, §30, §31 and §32. +> +> - **The token index.** Creating a vault also indexes its genesis preimage under `vault_token_locator(t) = H(vault-token-locator/v1; t)` for each of the two tokens `t` of its market pair, where `t` is the token's policy commit (§28 step 4). It is an index like every other (§11): public and append-only, anyone may append, a read returns the addresses in append order, and the member interprets nothing. +> - **Discovery carries no authority.** A reader keeps a candidate only when the preimage is accepted as the vault's genesis, bound to the owner's validated creation by `genesis_accepted` (§28 step 5), and the market policy that acceptance resolves pairs `t`. Anything else under the locator is not a vault of `t`, and is passed over. A candidate whose bytes, or whose owner's lineage, the reads do not establish leaves the discovery partial, never Invalid. The vaults the reads did establish are found all the same. +> - **Path search.** `sofi.findRoute` reads the token index of the input token and of the output token. It takes the vaults that pair them directly and, for two hops (`ROUTE_MAX_LEGS`), a vault of the input token and a vault of the output token that share their other token. It walks each one's head by §30 and prices each hop there. Path search finds its vaults by these two indexes and their heads by §30, and uses nothing else. It is not limited to the vaults the trader has set up with, and a quote needs no setup. A route found over a partial discovery says so. A quote carries no authority: the trade walks and prices each head again (§31 stage 2), and the trader's minimum output bounds what it accepts. +> - **The setup is still a transaction.** §16 and §29 stand: a trader sets up once per vault before its first operation against that vault, the setup body is published and `Stored`, and the trader's transition carries `SofiSetup` as a position of its own, which every later leg through that vault names by `ρ`. What changes is who starts it. When the trader has no setup with a vault on the route, the first trade or route through that vault admits the setup transaction first, one per such vault in hop order, and then builds the trade on the position after the last of them. Later trades reuse the setup. The owner's first Close of its own vault does the same (§32). +> - **Routes (§27).** `sofi.setup` is no longer a route of its own: the setup is the first step of the operation that needs it, run by the producer of `sofi.trade`, `sofi.route` and `sofi.close`. In its place, `sofi.vaults` lists the vaults the device created — the creation records its own validated root commits — each walked to its head by §30, so the owner sees the live reserves without closing (owner ruling, 2026-10-01). The app still reaches SoFi through eight routes. +> - **Another trader's conditional parent.** A walk that meets an exercise whose `P` names its trader's conditional position as its parent resolves that position from SoFi's public objects through frontier-relative verification of the trader's lineage (DSM Amendment A8, Amendment S15), exactly as it resolves one inside a lineage it verifies; it does not wait on the trader. Without it, any trader's second trade through a vault stalls every other device's walk of that vault. +> - **What it does not change.** The vault side, the walk, the resolution and every predicate are unchanged. Setting up is an ordinary admitted transition, so a setup admitted ahead of a trade that then fails, or is never built, stands as the trader's position. The next trade through that vault reuses it. + ### 31 A trade and a multihop route A single vault trade is a route with one hop. A multihop route is one operation whose hops run through distinct vaults, @@ -1753,6 +1766,13 @@ of those vaults’ next attempt goes live. There is no partial route and no coor The vault side needs no action. Once a hop is consumed, that vault’s head is its Vj◦ post root, and the owner and every later trader find it by walking. +> **Amendment S19 (owner, 2026-10-01) — a route chains or splits.** Owner ruling during the phone-rig run, on two vaults of one pair filling one order: "It should be no different. It just happens to be the same token," and "It should work either way." Two vaults of the same token pair are no different from two vaults of different pairs, and one order may be filled through both. This amends §19.5 and §31, and changes only what a Swap route's hops may be. +> +> - **Two shapes.** A Swap route's hops either chain — the output token and amount of hop j are the input token and amount of hop j + 1, as §19.5 states — or split: every hop trades the route's one pair, from the intent's input token to its output token, through distinct vaults. A route of one hop is both. +> - **A split's endpoints.** The hops' inputs sum to the intent's `amount_in`, and their outputs sum to its `exact_out`, in checked arithmetic. Each hop is priced by its own vault's constant product at its own head, exactly as a chained hop is (§19.5), and each vault takes its own fee. +> - **Everything else is unchanged.** The trader's core moves the intent's two endpoints only (one debit of `amount_in`, one credit of `exact_out`) and advances one relationship per vault. The route is one operation: every hop lands at its own vault's cell, the route realizes only when every hop does, and one defeated hop voids it all ("multihop is all or none", above). `ROUTE_MAX_LEGS` bounds both shapes. +> - **Who chooses the split.** The producer: `sofi.findRoute` weighs a split across two vaults of the pair beside every single hop and chain, and proposes whichever gives the trader the most. The trade prices the same split again at the heads it walks. Neither carries authority; RouteValidation checks the hops as stated. + > **Recommendation (owner, 2026-09-23) — not a rule.** Every vault must honour the policy of each of its tokens; that is a rule, not a choice (§49, MR-SOFI-0311). Within those policies, owners are encouraged to set up their vaults for a token in line with the rest of the market for that token, with only minor differences, so that their liquidity is usable by multihop routes and other traders' paths. Nothing enforces this, and no check depends on it. diff --git a/specs/requirements/CONFORMANCE_GAPS.md b/specs/requirements/CONFORMANCE_GAPS.md index 1acd78662..4756422e9 100644 --- a/specs/requirements/CONFORMANCE_GAPS.md +++ b/specs/requirements/CONFORMANCE_GAPS.md @@ -1842,16 +1842,57 @@ Mutation controls, run on 2026-09-30 and restored byte for byte: Known cost: the first time a receiver meets a payer it validates the payer's segment twice, once in prevalidation and once when it validates its own admission's credit, because a frontier recorded at the target cannot start a verification of that target. Recording every coordinate validated on the way would reduce the second to one step. +### 6.53 Vaults found by their tokens, setup inside the trade, the walk past another trader's SoFi parent, routes that split, and the wallet's records of SoFi (`feat/sofi-vault-discovery-auto-setup-and-realize-records`, 2026-10-01) + +**Phone-rig findings, 2026-10-01** (8XK owner, 9FF trader, GCP fleet): `sofi.findRoute` searched only the vaults the trader had set up with, so the rig's first trade went through only because 9FF set up by hand; neither phone's history held anything but faucet claims; after a realized trade or close the wallet showed pre-trade balances until a restart, because `balance_projections` had no SoFi writer and `balance.list` prefers the projection; and Storage → DLVs listed only dBTC vaults. + +**SoFi Amendment S16 (owner, 2026-10-01).** Creating a vault indexes its genesis under `vault_token_locator(t)` for each token of its pair; the verifier's `vaults_of_token` keeps a candidate only when `vault_genesis` accepts it and its market pairs `t`; path search reads the two tokens' indexes and is not limited to the trader's setups; a search over vaults the reads do not establish answers what it found and says it is partial (`SofiFindRouteResponse.search`), replacing §6.31's error. The setup is still a transaction of its own, admitted by `set_up_with` ahead of the first trade, route or close through a vault, after the route is priced at the walked heads. `sofi.setup` is no longer a route; `sofi.vaults` lists the vaults the device created (the VaultCreation leaves of its validated root), each walked to its head. + +**Another trader's conditional parent (found building S16, and a beta blocker).** A walk that met another trader's exercise whose P names its trader's conditional position as parent had no resolution of it: `establish_ground` answered `ParentUnresolved` and the walk stopped. So after any trader traded twice through a vault, every other device's walk of that vault stalled — the owner saw stale reserves and the next trader's attempt went stale. The walk now resolves that parent through `peer_root_at` (DSM Amendment A8: the segment from the walker's frontier, the position itself resolved by `PeerPositionResolver`, SoFi Amendment S15; reviewed by CORE), and counts it only as the very position and fulfillment P names (`parent_named`). Resolving a position bounds each vault's chain at the parent its leg names (`chain_until`): unbounded, the resolution walked past that parent into the exercise whose parent was being resolved, and the stack overflowed. The verified roots are kept per reads context, so a walk meeting one trader's exercises again does not walk that lineage again. + +**Known cost, a liveness bound.** Each `peer_root_at` walks from the walker's frontier for that trader with `WALK_STEP_BUDGET` = 512 steps, and a vault owner never receives from its traders, so that frontier is the trader's activation root. A trader with more than about 500 positions (faucet claims, sends, one-hop source steps included) is `Incomplete` for every walker without a frontier for it, and every walk of a vault that trader traded through twice stalls at that trader's exercise. Nothing records a frontier from a walk (DSM Amendment A8); whether a walk should is an owner question. + +**SoFi Amendment S19 (owner, 2026-10-01).** A Swap route's hops chain or split: every hop trades the intent's one pair through distinct vaults, the inputs and outputs summing to the intent in checked arithmetic. `validate_swap` decides the shape against the intent (`route_shape`, `split_sums`, `Invalid::SplitDoesNotSum`); `route_endpoints` is the one rule the producer states the intent by; the search weighs each pair of direct vaults as a split, the share searched over the inputs both legs price, and the trade plans the same split again at the heads it walks. + +**The wallet's records (owner rulings, 2026-10-01; display caches, not requirements).** Token creation, vault creation, setup, a realized trade or route and a realized close each write a history row naming every token moved with its signed amount (`TransactionInfo.moves`, types 7–11), and rebuild the projection of each token moved from the device head, keeping any lock. `balance.list` shows a realized trade at once. Amounts the user enters in the SoFi routes travel as text in token units and are parsed by the SDK against each token's committed decimals; every amount the SDK reports carries its display form. + +| Row | Was | Now | Why | +|---|---|---|---| +| MR-SOFI-0350 | — | Met | The token index, written at creation. | +| MR-SOFI-0351 | — | Met | Kept only when accepted and of the token; hostile appends passed over on the nodes. | +| MR-SOFI-0352 | — | Met | Undecided candidates and unread indexes make the discovery partial. | +| MR-SOFI-0353 | — | Met | Search over the two tokens' indexes, no setup behind a quote. | +| MR-SOFI-0354 | — | Met | Setups admitted inside trade, route and close; reused after. | +| MR-SOFI-0355 | — | Met | `sofi.vaults` from the creation records, walked to the head. | +| MR-SOFI-0356 | — | Met | Another trader's conditional parent resolved through `peer_root_at`. | +| MR-SOFI-0357 | — | Met | Chain or split, checked against the intent. | +| MR-SOFI-0358 | — | Met | A split realizes as one position on the nodes. | +| MR-SOFI-0359 | — | Met | The search proposes the split that gives the most. | +| MR-SOFI-0255 | Met | Met | Eight routes: `sofi.vaults` in, `sofi.setup` out. | +| MR-SOFI-0256 | Met | Met | A partial search says so, replacing §6.31's error. | +| MR-DSM-0219 | Partial | Partial | Cites the renamed search test. | + +Mutation controls, run on 2026-10-01 and restored byte for byte, each with a named test red: +- A partial discovery not marking the search: `a_route_search_that_cannot_see_its_vaults_says_so` red — below quorum the search reports complete with no route. +- The market check removed from `vaults_of_token`: `discovery_passes_over_what_is_not_a_vault_of_the_token` red — A's TKN/TKB vault, appended under ERA's locator, counted as a vault of ERA. +- `trade` without `set_up_with`: `every_sofi_route_reaches_its_producer` red — the route is refused, no setup with the vault. +- No projection rebuilt on realize: `a_realized_trade_shows_in_balances_and_history_at_once` red — `balance.list` shows 190 ERA where the head holds 180. +- Peer resolution walking each vault's chain to its head instead of `chain_until` the leg's parent: `every_sofi_route_reaches_its_producer` overflows its stack. +- No split candidate in the search: `one_order_fills_through_two_vaults_of_the_same_pair` red — one vault proposed. +- `parent_named` accepting any fulfillment, or skipping the position check: `only_the_position_and_fulfillment_p_names_resolve_its_parent` red. +- `peer_root_at` standing below `position` instead of `position + 1`: `a_frontier_recorded_at_the_position_is_its_root_and_nothing_is_read` red. +- No route read as a split: both split validation tests red; the split's sums unchecked: `a_split_that_does_not_sum_to_the_intent_is_invalid` red. + ## 7 Totals | Spec | Rows | Met | Partial | Missing | Violated | Not code | Deferred | |---|---|---|---|---|---|---|---| | DSM high-level (MR-DSM) | 276 | 94 | 96 | 39 | 0 | 29 | 18 | -| SoFi (MR-SOFI) | 348 | 223 | 86 | 18 | 4 | 17 | 0 | +| SoFi (MR-SOFI) | 358 | 233 | 86 | 18 | 4 | 17 | 0 | | dBTC (MR-DBTC) | 135 | 0 | 0 | 0 | 0 | 0 | 135 | | Storage node (MR-STOR) | 158 | 60 | 18 | 61 | 0 | 18 | 1 | | Storage §14 lines added after the pin (STOR-014) | 11 | 9 | 1 | 1 | 0 | 0 | 0 | -| **All** | **928** | **386** | **201** | **119** | **4** | **64** | **154** | +| **All** | **938** | **396** | **201** | **119** | **4** | **64** | **154** | ## 8 Per-requirement results @@ -2077,7 +2118,7 @@ Known cost: the first time a receiver meets a payer it validates the payer's seg | MR-DSM-0216 | Partial | `dsm::sofi::publication::recognize_setup`; `dsm::sofi::publication::recognize_fulfillment` | — | Recognition orders nothing and SoFi is now reachable through the sofi routes, but no test asserts that visibility of a settlement bundle grants no priority. | | MR-DSM-0217 | Missing | — | no test found | Confirmed: no "perpetual", "liquidation", or "funding_rate" code anywhere in `dsm/src`, `dsm_sdk/src`, or `proto/dsm_app.proto`. | | MR-DSM-0218 | Partial | `dsm::sofi::*` (no wall-clock/height/duration reads; `CommitmentContext.step_index` pattern used throughout instead) | no test found | No wall-clock, height or duration read in `dsm::sofi`; no test asserts it. | -| MR-DSM-0219 | Partial | `dsm_sdk::handlers::sofi_routes::handle_sofi_invoke` | `dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route` | Re-verified 2026-09-30 (§6.51). SoFi is reachable through its eight routes since #1056 and #1064 (G1), so the "unreachable" finding no longer holds. Every SoFi flow reads the vault's storage set, and a route search that cannot reach a vault is an error, not an empty route. Partial: no test shows that SoFi refuses the offline-bearer path. | +| MR-DSM-0219 | Partial | `dsm_sdk::handlers::sofi_routes::handle_sofi_invoke` | `dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so` | Re-verified 2026-09-30 (§6.51). SoFi is reachable through its eight routes since #1056 and #1064 (G1), so the "unreachable" finding no longer holds. Every SoFi flow reads the vault's storage set, and a route search that cannot reach a vault says it is partial, never a complete search with no route (SoFi Amendment S16, §6.53). Partial: no test shows that SoFi refuses the offline-bearer path. | | MR-DSM-0220 | Met | `dsm::sofi::lineage::genesis_accepted`; `dsm_sdk::sdk::storage_set::canonical_set`; `dsm::economic::native_reserve::release_constructible` | `dsm::sofi::lineage::genesis_acceptance::a_genesis_on_another_storage_set_is_refused`; `dsm::sofi::validation::tests::a_vault_in_another_storage_set_is_invalid`; `dsm::economic::native_reserve::tests::a_release_must_succeed_exactly_its_parent` | Vault genesis is refused unless it names the network's pinned set, canonical_set resolves only the pinned set, and a reserve release naming a foreign set is ReleaseRefusal::ForeignSet. | | MR-DSM-0221 | Deferred | — | — | DBTC, excluded this round (DSM-HL-064). | | MR-DSM-0222 | Deferred | — | — | DBTC, excluded this round (DSM-HL-064). | @@ -2394,8 +2435,8 @@ Known cost: the first time a receiver meets a payer it validates the payer's seg | MR-SOFI-0252 | Partial | dsm · sofi/resolution.rs (stateless verdict) | n/a | Challenge/drop-claim (storage §9.1) half absent — matches 0248/0329 | | MR-SOFI-0253 | Partial | dsm_sdk · sdk/sofi_sdk.rs / sofi_advance.rs (recompute-from-storage design) | no restart/crash test found | — | | MR-SOFI-0254 | Partial | `dsm_sdk::sdk::sofi_sdk::check_draft`; `dsm_sdk::sdk::sofi_flow::exercise_draft` | — | check_draft stops the producer on anything but Valid and sofi_flow advances only through Core, but the cited producer test was deleted in #977 and no SDK test fails if the stop is removed. | -| MR-SOFI-0255 | Met | `dsm_sdk::handlers::sofi_routes`; `dsm_sdk::handlers::app_router_impl::AppRouterImpl`; `dsm_sdk::sdk::sofi_flow::create_vault`; `dsm_sdk::sdk::sofi_flow::setup`; `dsm_sdk::sdk::sofi_flow::find_route`; `dsm_sdk::sdk::sofi_flow::trade`; `dsm_sdk::sdk::sofi_flow::close`; `dsm_sdk::sdk::sofi_flow::relay`; `dsm_sdk::sdk::sofi_flow::resolve` | `dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer`; `dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner`; `dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end`; `dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route`; `dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands` | Traced 2026-09-29 (§6.39). The router sends exactly the eight `sofi.*` methods to their routes, and each route hands its intent to its producer (`trade` serves `sofi.trade` and `sofi.route`). All eight run end to end on nodes, each to the result §27 names, and a ninth `sofi.` method is refused by the router; the close of a vault that has been traded through resolves since SoFi Amendment S12 (§6.40). | -| MR-SOFI-0256 | Met | `dsm_sdk::sdk::sofi_flow::find_route`; `dsm_sdk::sdk::sofi_flow::quote` | `dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route` | The search (`sofi.findRoute`, handlers/sofi_routes.rs) quotes hops at walked heads and carries nothing: a trade names its own hops and Core prices them again in `exercise_draft`. A vault whose head cannot be established is an error, not an empty route (§6.31). | +| MR-SOFI-0255 | Met | `dsm_sdk::handlers::sofi_routes`; `dsm_sdk::handlers::app_router_impl::AppRouterImpl`; `dsm_sdk::sdk::sofi_flow::create_vault`; `dsm_sdk::sdk::sofi_flow::find_route`; `dsm_sdk::sdk::sofi_flow::trade`; `dsm_sdk::sdk::sofi_flow::close`; `dsm_sdk::sdk::sofi_flow::relay`; `dsm_sdk::sdk::sofi_flow::resolve`; `dsm_sdk::sdk::sofi_flow::owned_vaults` | `dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer`; `dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner`; `dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end`; `dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so`; `dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands` | Traced 2026-09-29 (§6.39); routes per SoFi Amendment S16 since 2026-10-01 (§6.53). The router sends exactly the eight `sofi.*` methods to their routes — `sofi.setup` is gone, run by trade, route and close, and `sofi.vaults` is new — and each route hands its intent to its producer (`trade` serves `sofi.trade` and `sofi.route`). All eight run end to end on nodes, each to the result §27 names, and a ninth `sofi.` method is refused by the router. | +| MR-SOFI-0256 | Met | `dsm_sdk::sdk::sofi_flow::find_route`; `dsm_sdk::sdk::sofi_flow::quote`; `dsm_sdk::sdk::sofi_flow::plan` | `dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so`; `dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair` | The search (`sofi.findRoute`, handlers/sofi_routes.rs) quotes hops at walked heads and carries nothing: a trade names its own vaults, plans its hops again at the heads it walks, and Core prices them again in `exercise_draft`. Since SoFi Amendment S16 a search over vaults the reads do not establish answers what it found and says it is partial (§6.53), replacing the error of §6.31. | | MR-SOFI-0257 | Partial | dsm_sdk · sdk/sofi_sdk.rs · `build_vault_create`; dsm · sofi/lineage.rs · `genesis_root`, `vault_leaves_at_genesis` | `a_vault_creation_signs_the_operations_own_bytes`; `the_genesis_root_holds_only_the_state_leaf` | The vault-create producer is tested but has no production entry (§3 G1). | | MR-SOFI-0258 | Partial | dsm_sdk · sdk/sofi_sdk.rs · `build_setup` | `a_setup_signs_its_object_and_not_the_operation` | Producer tested, no route | | MR-SOFI-0259 | Partial | dsm_sdk · sdk/sofi_chain.rs · `ChainWalker::chain`/`chain_to_depth`; `dsm::sofi::resolution::VaultChain::{from_genesis, extend, from_recorded_generations}` | `dsm_sdk::handlers::node_e2e_tests::a_key_held_by_an_exercise_its_own_bytes_refute_is_skipped_on_those_bytes_alone` (the walk on the nodes, genesis then one consumption); `dsm::sofi::facts::tests::a_parent_the_chain_refutes_voids_and_one_it_has_not_placed_waits` | The chain grows only by Core-recomputed post states from an accepted genesis; the recorded prefix is this device's memo (§6.30 open). No test walks past one consumption. | @@ -2488,6 +2529,16 @@ Known cost: the first time a receiver meets a payer it validates the payer's seg | MR-SOFI-0346 | Partial | `dsm::sofi::resolve::Verifier::peer_position`; `dsm_sdk::sdk::economic_registers::resolve_peer` | `dsm_sdk::handlers::frontier_verification_tests::a_receiver_reads_nothing_behind_its_frontier`; `dsm_sdk::handlers::node_e2e_tests::a_trader_who_has_traded_can_pay` | SoFi Amendment S15 (wording made exact 2026-09-30: the setup positions the legs name are inside the segment and read through A8). The resolver reads q's position pair, P, the first leg's cell, the vault chains and q's evidence, and the trader's accepted claims at its setup positions through `resolve_peer`, which DSM core's walk bounds to the frontier (that test). Partial: no request-log test of the resolver's own read set yet. | | MR-SOFI-0347 | Met | `dsm_sdk::sdk::economic_registers::resolve_peer`; `dsm::sofi::validation::setup_valid` | `dsm_sdk::handlers::node_e2e_tests::a_trader_who_has_traded_can_pay`; `dsm::sofi::validation::tests::a_setup_on_a_lineage_known_invalid_is_invalid` | SoFi Amendment S15 (`feat/frontier-relative-peer-verification`). `SofiReads::accepted_claim_at` reads another trader's accepted claim at a setup position through `resolve_peer`, DSM core's frontier-relative walk with this resolver; the whole-lineage walk (`resolve_peer_with_cache`) no longer exists. A payee resolving a trader's SoFi position runs SetupValid this way in the P15-9 node test. | | MR-SOFI-0348 | Met | `dsm::sofi::lineage::advance_resolved`; `dsm::sofi::lineage::advance_peer_resolved` | `dsm::sofi::lineage::tests::a_realized_position_crediting_an_unadopted_token_is_refused`; `dsm::sofi::lineage::tests::another_verifier_resolves_the_position_without_the_traders_adoptions`; `dsm::sofi::lineage::tests::a_void_needs_no_adoption` | SoFi Amendment S15. The trader's own advance refuses a realized position crediting a token it has not adopted; another verifier's `advance_peer_resolved` derives the same root and accepted claim from the same facts with no adoption state of the trader's. Mutation: the adoption check run on the peer path → `another_verifier_resolves_the_position_without_the_traders_adoptions` red. | +| MR-SOFI-0350 | Met | `dsm::sofi::derive::vault_token_locator`; `dsm::sofi::publication::Publication::locators`; `dsm_sdk::sdk::sofi_flow::create_vault` | `dsm::sofi::publication::tests::vault_objects_land_where_the_verifier_looks`; `dsm_sdk::handlers::node_e2e_tests::discovery_passes_over_what_is_not_a_vault_of_the_token`; `dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer` | SoFi Amendment S16 (§6.53). The genesis publication carries the market policy its state commits and is indexed under the genesis locator and under `vault_token_locator(t)` for each token of the pair; a market that is not the committed one indexes nothing (`SofiWireError::MarketNotCommitted`). | +| MR-SOFI-0351 | Met | `dsm::sofi::resolve::Verifier::vaults_of_token`; `dsm_sdk::sdk::sofi_reads::LiveSofiReads` (its token candidate scan) | `dsm_sdk::handlers::node_e2e_tests::discovery_passes_over_what_is_not_a_vault_of_the_token` | SoFi Amendment S16 (§6.53). Every candidate under the locator goes through `vault_genesis` (bound to the owner's validated creation) and is kept only when the accepted market pairs the token. On the nodes, junk bytes, a genesis naming an owner position where no vault was created, and a real vault of another pair appended under ERA's locator are all passed over. | +| MR-SOFI-0352 | Met | `dsm::sofi::resolve::Verifier::vaults_of_token`; `dsm_sdk::sdk::sofi_flow::find_route` | `dsm_sdk::handlers::node_e2e_tests::discovery_passes_over_what_is_not_a_vault_of_the_token`; `dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so` | SoFi Amendment S16 (§6.53). A genesis naming an owner position not yet reached, a read that is not made, or a head not established leaves the discovery `Partial`; the vaults the reads established are still found and priced. | +| MR-SOFI-0353 | Met | `dsm_sdk::sdk::sofi_flow::find_route`; `dsm_sdk::sdk::sofi_flow::vaults_of`; `dsm_sdk::handlers::sofi_routes` | `dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer`; `dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so` | SoFi Amendment S16 (§6.53). The search reads the two tokens' indexes, not the trader's relationships; B, set up with nothing, is quoted ERA→TKN→TKB and ERA→TKN, and its history records no setup until it trades. `SofiFindRouteResponse.search` says whether the discovery was complete. | +| MR-SOFI-0354 | Met | `dsm_sdk::sdk::sofi_flow::set_up_with`; `dsm_sdk::sdk::sofi_flow::check_route`; `dsm_sdk::sdk::sofi_flow::trade`; `dsm_sdk::sdk::sofi_flow::close` | `dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer`; `dsm_sdk::handlers::node_e2e_tests::a_realized_trade_shows_in_balances_and_history_at_once`; `dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair` | SoFi Amendment S16 (§6.53). A route through two vaults B has no setup with admits two setups, then the route; the next trade through one of them admits none; the owner's first close admits its own. The route is priced at the walked heads before any setup is admitted for it. | +| MR-SOFI-0355 | Met | `dsm_sdk::sdk::sofi_flow::owned_vaults`; `dsm::sofi::resolve::LocalLeaves::vault_creations`; `dsm_sdk::handlers::sofi_routes` | `dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer`; `dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair` | SoFi Amendment S16 (§6.53). `sofi.vaults` reads the VaultCreation leaves of the device's validated root and walks each vault to its head: the reserves, fee, generation and status the owner sees are the head's, after other traders' trades and the owner's close. | +| MR-SOFI-0356 | Met | `dsm::sofi::resolve::Verifier::parent_for`; `dsm::sofi::resolve::parent_named`; `dsm::sofi::resolve::Verifier::chain_until`; `dsm::economic::peer_lineage::peer_root_at`; `dsm_sdk::sdk::sofi_reads::LiveSofiReads` (its trader root read) | `dsm::sofi::resolve::tests::only_the_position_and_fulfillment_p_names_resolve_its_parent`; `dsm::economic::peer_lineage::tests::a_frontier_recorded_at_the_position_is_its_root_and_nothing_is_read`; `dsm::economic::peer_lineage::tests::the_activation_root_names_no_parent`; `dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer`; `dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair` | SoFi Amendment S16 (§6.53). A walk meeting another trader's exercise whose P names a conditional parent resolves it through `peer_root_at` (the frontier-relative segment, the position itself resolved by S15); the parent counts only as the position and fulfillment P names. Resolving a position bounds each vault's chain at the parent its leg names (`chain_until`). Known cost: §6.53. | +| MR-SOFI-0357 | Met | `dsm::sofi::validation::route_endpoints`; `dsm::sofi::validation::swap_endpoints`; `dsm::sofi::validation::validate_swap`; `dsm::sofi::validation::route_shape`; `dsm::sofi::validation::split_sums`; `dsm::sofi::validation::chain_holds`; `dsm_sdk::sdk::sofi_sdk::draft_route` | `dsm::sofi::validation::tests::a_route_chains_or_splits_and_its_endpoints_follow`; `dsm::sofi::validation::tests::a_split_whose_legs_sum_to_the_intent_is_not_refuted_by_its_shape`; `dsm::sofi::validation::tests::a_split_that_does_not_sum_to_the_intent_is_invalid`; `dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair` | SoFi Amendment S19 (§6.53). RouteValidation accepts hops that chain or hops that all trade the intent's pair with inputs and outputs summing to the intent in checked arithmetic (`Invalid::SplitDoesNotSum` otherwise); each hop is priced by its own vault. The producer states the intent by the same rule. | +| MR-SOFI-0358 | Met | `dsm::sofi::validation::trader_movements`; `dsm::sofi::validation::validate_swap` | `dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair` | SoFi Amendment S19 (§6.53). On the nodes a split through two vaults of ERA/TKN realizes as one position: B is debited the whole input and credited the sum of both legs, and each vault moved by its own leg alone. | +| MR-SOFI-0359 | Met | `dsm_sdk::sdk::sofi_flow::find_route`; `dsm_sdk::sdk::sofi_flow::plan`; `dsm_sdk::sdk::sofi_flow::plan_split`; `dsm_sdk::sdk::sofi_flow::trade` | `dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair` | SoFi Amendment S19 (§6.53). The search weighs each pair of direct vaults as a split beside every single hop and chain and proposes the most; the split share is searched over the inputs both legs price. The trade plans the same split again at the heads it walks; min-out bounds what it accepts. | ### 8.3 dBTC native specification diff --git a/specs/requirements/INTENT_MANIFEST.tsv b/specs/requirements/INTENT_MANIFEST.tsv index 1ca2394d3..183407d33 100644 --- a/specs/requirements/INTENT_MANIFEST.tsv +++ b/specs/requirements/INTENT_MANIFEST.tsv @@ -428,16 +428,17 @@ MR-SOFI-0250 dsm::sofi::resolution::effect_of android MUST_REACH active dsm_sdk: MR-SOFI-0251 dsm::sofi::lineage::advance_resolved android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::advance_is_refused_on_each_missing_conjunct - CONFORMANCE §8 MR-SOFI-0251 (Met) MR-SOFI-0254 dsm_sdk::sdk::sofi_flow::exercise_draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0254 (Partial) MR-SOFI-0254 dsm_sdk::sdk::sofi_sdk::check_draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0254 (Partial) -MR-SOFI-0255 dsm_sdk::handlers::sofi_routes::AppRouterImpl::handle_sofi_invoke android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) -MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::create_vault android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) -MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::setup android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) -MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::find_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) -MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::trade android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) -MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::close android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) -MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::relay android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) -MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::resolve android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) -MR-SOFI-0256 dsm_sdk::sdk::sofi_flow::find_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route - CONFORMANCE §8 MR-SOFI-0256 (Met) -MR-SOFI-0256 dsm_sdk::sdk::sofi_flow::quote android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route - CONFORMANCE §8 MR-SOFI-0256 (Met) +MR-SOFI-0255 dsm_sdk::handlers::sofi_routes::AppRouterImpl::handle_sofi_invoke android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) +MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::create_vault android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) +MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::owned_vaults android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) +MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::find_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) +MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::trade android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) +MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::close android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) +MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::relay android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) +MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::resolve android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) +MR-SOFI-0256 dsm_sdk::sdk::sofi_flow::find_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so - CONFORMANCE §8 MR-SOFI-0256 (Met) +MR-SOFI-0256 dsm_sdk::sdk::sofi_flow::quote android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so - CONFORMANCE §8 MR-SOFI-0256 (Met) +MR-SOFI-0256 dsm_sdk::sdk::sofi_flow::plan android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0256 (Met) MR-SOFI-0260 dsm_sdk::sdk::sofi_sdk::build_fulfillment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0260 (Partial) MR-SOFI-0260 dsm_sdk::sdk::sofi_sdk::check_draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0260 (Partial) MR-SOFI-0260 dsm_sdk::sdk::sofi_sdk::draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0260 (Partial) @@ -536,6 +537,27 @@ MR-SOFI-0343 dsm::sofi::resolution::classify_attempt android MUST_REACH active d MR-SOFI-0344 dsm::sofi::resolve::Verifier::peer_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_trader_who_has_traded_can_pay - CONFORMANCE §8 MR-SOFI-0344 (Met) MR-SOFI-0344 dsm::sofi::lineage::advance_peer_resolved android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_trader_who_has_traded_can_pay - CONFORMANCE §8 MR-SOFI-0344 (Met) MR-SOFI-0348 dsm::sofi::lineage::advance_peer_resolved android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::another_verifier_resolves_the_position_without_the_traders_adoptions;dsm::sofi::lineage::tests::a_realized_position_crediting_an_unadopted_token_is_refused - CONFORMANCE §8 MR-SOFI-0348 (Met) +MR-SOFI-0350 dsm::sofi::derive::vault_token_locator android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::publication::tests::vault_objects_land_where_the_verifier_looks;dsm_sdk::handlers::node_e2e_tests::discovery_passes_over_what_is_not_a_vault_of_the_token - CONFORMANCE §8 MR-SOFI-0350 (Met) +MR-SOFI-0350 dsm::sofi::publication::Publication::locators android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::publication::tests::vault_objects_land_where_the_verifier_looks;dsm_sdk::handlers::node_e2e_tests::discovery_passes_over_what_is_not_a_vault_of_the_token - CONFORMANCE §8 MR-SOFI-0350 (Met) +MR-SOFI-0350 dsm_sdk::sdk::sofi_flow::create_vault android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::discovery_passes_over_what_is_not_a_vault_of_the_token;dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer - CONFORMANCE §8 MR-SOFI-0350 (Met) +MR-SOFI-0351 dsm::sofi::resolve::Verifier::vaults_of_token android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::discovery_passes_over_what_is_not_a_vault_of_the_token - CONFORMANCE §8 MR-SOFI-0351 (Met) +MR-SOFI-0352 dsm::sofi::resolve::Verifier::vaults_of_token android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::discovery_passes_over_what_is_not_a_vault_of_the_token;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so - CONFORMANCE §8 MR-SOFI-0352 (Met) +MR-SOFI-0353 dsm_sdk::sdk::sofi_flow::find_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so - CONFORMANCE §8 MR-SOFI-0353 (Met) +MR-SOFI-0353 dsm_sdk::sdk::sofi_flow::vaults_of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so - CONFORMANCE §8 MR-SOFI-0353 (Met) +MR-SOFI-0354 dsm_sdk::sdk::sofi_flow::set_up_with android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_realized_trade_shows_in_balances_and_history_at_once;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0354 (Met) +MR-SOFI-0354 dsm_sdk::sdk::sofi_flow::check_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_realized_trade_shows_in_balances_and_history_at_once;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0354 (Met) +MR-SOFI-0355 dsm_sdk::sdk::sofi_flow::owned_vaults android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0355 (Met) +MR-SOFI-0355 dsm::sofi::resolve::LocalLeaves::vault_creations android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0355 (Met) +MR-SOFI-0356 dsm::sofi::resolve::Verifier::parent_for android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0356 (Met) +MR-SOFI-0356 dsm::sofi::resolve::parent_named android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolve::tests::only_the_position_and_fulfillment_p_names_resolve_its_parent - CONFORMANCE §8 MR-SOFI-0356 (Met) +MR-SOFI-0356 dsm::sofi::resolve::Verifier::chain_until android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer - CONFORMANCE §8 MR-SOFI-0356 (Met) +MR-SOFI-0356 dsm::economic::peer_lineage::peer_root_at android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::peer_lineage::tests::a_frontier_recorded_at_the_position_is_its_root_and_nothing_is_read;dsm::economic::peer_lineage::tests::the_activation_root_names_no_parent;dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0356 (Met) +MR-SOFI-0357 dsm::sofi::validation::route_endpoints android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_route_chains_or_splits_and_its_endpoints_follow - CONFORMANCE §8 MR-SOFI-0357 (Met) +MR-SOFI-0357 dsm::sofi::validation::swap_endpoints android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_route_chains_or_splits_and_its_endpoints_follow;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0357 (Met) +MR-SOFI-0357 dsm::sofi::validation::validate_swap android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_split_whose_legs_sum_to_the_intent_is_not_refuted_by_its_shape;dsm::sofi::validation::tests::a_split_that_does_not_sum_to_the_intent_is_invalid;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0357 (Met) +MR-SOFI-0358 dsm::sofi::validation::trader_movements android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0358 (Met) +MR-SOFI-0359 dsm_sdk::sdk::sofi_flow::plan android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0359 (Met) +MR-SOFI-0359 dsm_sdk::sdk::sofi_flow::plan_split android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0359 (Met) MR-STOR-0006 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened;dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes - CONFORMANCE §8 MR-STOR-0006 (Met) MR-STOR-0006 dsm_storage_node::api::transport::b0x::router node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened;dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes - CONFORMANCE §8 MR-STOR-0006 (Met) MR-STOR-0007 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened;dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes - CONFORMANCE §8 MR-STOR-0007 (Met) diff --git a/specs/requirements/MASTER_REQUIREMENTS.md b/specs/requirements/MASTER_REQUIREMENTS.md index 9d6e0efde..caf9f80ac 100644 --- a/specs/requirements/MASTER_REQUIREMENTS.md +++ b/specs/requirements/MASTER_REQUIREMENTS.md @@ -15,11 +15,11 @@ Every extraction in this round is taken against exactly these bytes: | File | `git hash-object` | Lines | |---|---|---| | `specs/DSM_High_Level_Explainer.md` | `fad1940a13b806d53a0925e1bada409e5acc298c` | 4317 | -| `specs/SoFi_Settlement_Specification.md` | `6fd1bd951d5a57e50518749ca8361c07c331d561` | 2656 | +| `specs/SoFi_Settlement_Specification.md` | `ea2768ee76fee48956855955cdc001bdd9d42245` | 2676 | | `specs/dBTC_Native_Specification.md` | `233a3e72a5b16a023af830f4c8ffaad4ba9391a8` | 2160 | | `specs/DSM_Storage_Node_Specification.md` | `415a9b9c67c7a2b4b6df78b0af85fb3bc7282ae8` | 636 | -Pins updated 2026-09-30 after DSM Amendments A8 (frontier-relative verification) and A9 (the relationship-key tag is `DSM/smt-key`) and SoFi Amendments S14 (a final cell whose fulfillment can never register is skipped) and S15 (a trader's position resolved from public objects); before that, 2026-09-29 after SoFi Amendments S12 (the trader's balances before the trade) and S13 (a lineage known invalid); before that, 2026-09-26 after SoFi Amendment S11 (ERA's canonical policy); before that, 2026-09-24 after SoFi Amendments S8, S9 and S10 and the storage §9 rule on the leader first, one chain in route order and the completion proof (#977); before that, 2026-09-23 after storage §14 (#974), the set-identity amendment (SoFi Amendment S6, storage §10), the replication amendment (storage §12.5), the vault-consistency recommendation (SoFi §31), Amendment S7 (SoFi §24) and Amendment A7 (DSM §11, storage §8). The extractions of 2026-09-22 were taken against SoFi `4c62ee78…` (2597 lines) and storage `8d43ac02…` (571 lines); their line-based IDs refer to those bytes. +Pins updated 2026-10-01 after SoFi Amendments S16 (vaults found by their tokens; the setup inside the first operation through a vault; another trader's conditional parent resolved by a walk) and S19 (a route chains or splits); before that, 2026-09-30 after DSM Amendments A8 (frontier-relative verification) and A9 (the relationship-key tag is `DSM/smt-key`) and SoFi Amendments S14 (a final cell whose fulfillment can never register is skipped) and S15 (a trader's position resolved from public objects); before that, 2026-09-29 after SoFi Amendments S12 (the trader's balances before the trade) and S13 (a lineage known invalid); before that, 2026-09-26 after SoFi Amendment S11 (ERA's canonical policy); before that, 2026-09-24 after SoFi Amendments S8, S9 and S10 and the storage §9 rule on the leader first, one chain in route order and the completion proof (#977); before that, 2026-09-23 after storage §14 (#974), the set-identity amendment (SoFi Amendment S6, storage §10), the replication amendment (storage §12.5), the vault-consistency recommendation (SoFi §31), Amendment S7 (SoFi §24) and Amendment A7 (DSM §11, storage §8). The extractions of 2026-09-22 were taken against SoFi `4c62ee78…` (2597 lines) and storage `8d43ac02…` (571 lines); their line-based IDs refer to those bytes. The DSM and SoFi specifications were amended on 2026-09-22 (marked "Amendment" in their text). The storage-node specification was added to the corpus on 2026-09-22, before any other extractor started. The owner accepted it in full the same day. Extract its items marked **Open** with Flags `ambiguous` and a Requirement text that says so, never as settled requirements. @@ -157,6 +157,7 @@ Each extraction also has a Findings table: - **A fulfillment that can never register (2026-09-30).** Conformance finding (CONFORMANCE §8, MR-SOFI-0239): `route_impossible` carried a fifth arm, `PositionLost`, which §23.5 does not list and which depends on a particular F, not on P and E. Without it, an exercise whose fulfillment can never register, because another claim holds its position, strands the DLV parent's attempt chain (TLA `DSM_SofiFulfillment`, `LostPosition`). Owner decision: a separate skip, `RejectedFinalInadmissible`, which is not an arm of `RouteImpossible`; `RouteImpossible` stays scoped to P and E (SoFi Amendment S14). MR-SOFI-0343 added with source `amendment`; §1 re-pinned. - **Frontier-relative verification (2026-09-30).** Conformance finding (P15-9, and G16): a payee accepted a payer only by walking the payer's whole lineage from its activation root, re-validating every transition from evidence it fetched from the nodes, and a SoFi position in that history stopped the walk, so a trader who had traded could not pay. Owner decision: a receiver verifies forward from its own authenticated frontier: for each position of the segment it authenticates the authoritative root claim and verifies the transition producing that root with that transition's directly required evidence and provenance one hop back, never recursing behind that hop and never reading behind the frontier (DSM Amendment A8, corrected the same day: an authenticated root is not a valid transition, and a counterparty's acceptance does not stand for one); a SoFi position inside that segment is resolved from SoFi's public objects for that position alone, and adoption is not re-run by a later verifier (SoFi Amendment S15). MR-DSM-0273–0276 and MR-SOFI-0344–0348 added with source `amendment`; §1 re-pinned. - **The relationship-key tag (2026-09-30).** Conformance finding (CONFORMANCE §6.14, MR-DSM-0115, MR-DSM-0249): the explainer derived a relationship's SMT key under `DSM/smt-key/v1`, while the code and its golden vector use `DSM/smt-key`. Owner ruling: `DSM/smt-key` is the canonical relationship-SMT domain tag for beta, and `/v1` in the specification was an error (DSM Amendment A9). The formula in §26 and the example in §16 are corrected; no key migrates. MR-DSM-0115 rewritten; §1 re-pinned. +- **Vaults found by their tokens, setup inside the trade, and routes that split (2026-10-01).** Phone-rig findings: `sofi.findRoute` searched only the vaults the trader had set up with, so the rig's first trade went through only because the trader set up by hand; and the owner ruled that two vaults of one pair are no different from two of different pairs, so one order may fill through both. Owner decisions: a vault is indexed under each of its tokens and found there with no authority taken from the index, path search reads the two tokens' indexes, the first operation through a vault admits its setup first, `sofi.vaults` replaces `sofi.setup` among the eight routes, a walk resolves another trader's conditional parent through frontier-relative verification (SoFi Amendment S16); and a Swap route's hops chain or split (SoFi Amendment S19). MR-SOFI-0350–0359 added with source `amendment`; MR-SOFI-0255 updated; §1 re-pinned. - **Post-reconciliation amendment (2026-09-22): route-chain finality.** For finding GPT-4, finality was redefined as a route chain (storage spec §9, §12.6, §14, §22; DSM Amendment A6; SoFi Amendment S4). §1 pins the amended files. Canonical rows restating the old rule were rewritten, and rows for the new rules were added at the end of §8.1, §8.2 and §8.4 with source `amendment`. The extraction files in `extractions/` remain as extracted against the earlier hashes. ## 8 Canonical requirements @@ -171,7 +172,7 @@ Reconciled on 2026-09-22 from two extractions: `claude-chat` (798 rows) and `cha | DSM_Storage_Node_Specification.md | 128 | 122 | 6 | | **Total** | **859** | **652** | **207** | -Added afterwards by amendment (§7.1): DSM 7, SoFi 21, storage 30, for 917 canonical requirements in all. +Added afterwards by amendment (§7.1): DSM 7, SoFi 31, storage 30, for 927 canonical requirements in all. Columns: **ID** is the canonical ID (`MR--nnnn`, in document order). **Sources** are the extraction IDs merged into the row (`cc:` claude-chat, `gpt:` chatgpt); the first source locates the quote. **Flags** carry the findings in §8.7 that bear on the row. @@ -714,7 +715,7 @@ Columns: **ID** is the canonical ID (`MR--nnnn`, in document order). **Sou | MR-SOFI-0252 | prohibition | explicit | Realized, Void and Invalid are computed by each verifier from raw reads and never recorded; a position unresolved on one party can be challenged under storage §9.1 and, if dropped, resolves Void. | cc: SOFI-024/L1560; gpt: SOFI-024/L1560.a, SOFI-024/L1560.b | 2/2 | none | | MR-SOFI-0253 | transition | derived | Crash recovery: before F is registered nothing economic has happened and the trader may abandon; F held by members but not the leader is not exercised; F at the leader is settled and relayers complete copies; after registration any party completes the exercise; Realized only if the whole conjunction holds; missing evidence waits. | cc: SOFI-025/L1571; gpt: SOFI-025/L1571, SOFI-025/L1568, SOFI-025/L1575 | 2/2 | none | | MR-SOFI-0254 | prohibition | explicit | Producers assemble and publish; Core decides. A producer never interprets a storage read, never skips a Core check, and never advances state except through the Core transition with Core's result unchanged. | cc: SOFI-026/L1609; gpt: SOFI-026/L1609 | 2/2 | none | -| MR-SOFI-0255 | obligation | derived | Expose create, setup, findRoute, trade, route, close, relay and resolve through their specified SoFi routes. | gpt: SOFI-027/L1615 | 1/2: chatgpt | none | +| MR-SOFI-0255 | obligation | derived | Expose create, findRoute, trade, route, close, relay, resolve and vaults through their specified SoFi routes (the setup runs inside trade, route and close, Amendment S16). | gpt: SOFI-027/L1615; SoFi Amendment S16 (2026-10-01) | 1/2: chatgpt | none | | MR-SOFI-0256 | authority | derived | Path-search output carries no economic authority. | gpt: SOFI-027/L1621 | 1/2: chatgpt | none | | MR-SOFI-0257 | transition | derived | Vault creation: the owner chooses the pair, reserves, policies and the network's pinned storage set; the owner's transition carries the signed creation through the Core transition, debiting the funding and inserting the creation leaf; any trader accepts the vault by binding the signed operation to the accepted owner transition. | cc: SOFI-028/L1633; gpt: SOFI-028/L1637, SOFI-028/L1640 | 2/2 | none | | MR-SOFI-0258 | transition | derived | Setup: the setup body is stored and indexed under ρ (SetupRegistered once Stored), and the trader's transition carrying it inserts the relationship leaf h0. | cc: SOFI-029/L1650; gpt: SOFI-029/L1650 | 2/2 | none | @@ -808,6 +809,16 @@ Columns: **ID** is the canonical ID (`MR--nnnn`, in document order). **Sou | MR-SOFI-0346 | prohibition | explicit | Resolving another trader's position q reads no private object of the trader's and no position of the trader's outside the verifier's frontier-to-parent segment (within it, only q, the authenticated predecessor root at q − 1, and the accepted claim at each setup position explicitly named by P's legs, each authenticated through DSM Amendment A8); it reads no unrelated trader position and has no fallback lineage walk (owner ruling, 2026-09-30). | amendment: SoFi Amendment S15 (2026-09-30) | owner | none | | MR-SOFI-0347 | obligation | explicit | SetupValid reads the trader's accepted claim at a setup's position by frontier-relative verification of the trader's lineage (DSM Amendment A8), never by replaying the trader's history to genesis or recursing behind a step's one-hop evidence. | amendment: SoFi Amendment S15 (2026-09-30) | owner | none | | MR-SOFI-0348 | invariant | explicit | Adoption is a construction predicate of the trader's own transition, enforced when the trader installs a realized position; a later verifier resolving which root a historical position selected does not re-run it, and that resolution requires no adoption leaf or other private trader state. | amendment: SoFi Amendment S15 (2026-09-30) | owner | none | +| MR-SOFI-0350 | obligation | explicit | Creating a vault indexes its genesis preimage under `vault_token_locator(t) = H(vault-token-locator/v1; t)` for each of the two tokens `t` (policy commits) of its market pair, beside its genesis locator. | amendment: SoFi Amendment S16 (2026-10-01) | owner | none | +| MR-SOFI-0351 | prohibition | explicit | Discovery carries no authority: a candidate under a vault token locator is kept only when the preimage is accepted as the vault genesis bound to the owner's validated creation (`genesis_accepted`) and the market that acceptance resolves pairs `t`; anything else appended under the locator is passed over. | amendment: SoFi Amendment S16 (2026-10-01) | owner | none | +| MR-SOFI-0352 | obligation | explicit | A discovery candidate whose bytes or owner lineage the reads do not establish leaves the discovery partial, never Invalid, and does not hide the vaults the reads did establish. | amendment: SoFi Amendment S16 (2026-10-01) | owner | none | +| MR-SOFI-0353 | obligation | explicit | `sofi.findRoute` reads the token indexes of the input and output tokens, takes the vaults that pair them directly and, for two hops, a vault of each that share their other token, walks each head by §30 and prices each hop there; it is not limited to the vaults the trader has set up with, a quote needs no setup, and a route found over a partial discovery says so. | amendment: SoFi Amendment S16 (2026-10-01) | owner | none | +| MR-SOFI-0354 | obligation | explicit | When the trader has no setup with a vault on a route, the first trade or route through that vault admits the setup transaction first (one per such vault, in hop order) and builds the trade on the position after it; later trades reuse the setup, and the owner's first close of its own vault does the same. The setup remains a position of its own that later legs name by ρ (§16). | amendment: SoFi Amendment S16 (2026-10-01) | owner | none | +| MR-SOFI-0355 | obligation | explicit | `sofi.vaults` lists the vaults the device created, from the creation records its own validated root commits, each walked to its head by §30; `sofi.setup` is not a route of its own. | amendment: SoFi Amendment S16 (2026-10-01) | owner | none | +| MR-SOFI-0356 | obligation | explicit | A walk that meets an exercise whose `P` names its trader's conditional position as parent resolves that position from SoFi's public objects through frontier-relative verification of the trader's lineage (DSM Amendment A8, Amendment S15); it does not wait on the trader. | amendment: SoFi Amendment S16 (2026-10-01) | owner | none | +| MR-SOFI-0357 | obligation | explicit | A Swap route's hops either chain (§19.5) or split: every hop trades the intent's one pair through distinct vaults, the hops' inputs summing to `amount_in` and their outputs to `exact_out` in checked arithmetic, each hop priced by its own vault at its own head. | amendment: SoFi Amendment S19 (2026-10-01) | owner | none | +| MR-SOFI-0358 | invariant | explicit | A split route is one operation: every hop lands at its own vault's cell, the route realizes only when every hop does, the trader's core moves only the intent's two endpoints with one relationship per vault, and `ROUTE_MAX_LEGS` bounds both shapes. | amendment: SoFi Amendment S19 (2026-10-01) | owner | none | +| MR-SOFI-0359 | obligation | explicit | `sofi.findRoute` weighs a split across two vaults of the pair beside every single hop and chain and proposes the route that gives the trader the most; the trade prices the same split again at the heads it walks, and neither carries authority. | amendment: SoFi Amendment S19 (2026-10-01) | owner | none | ### 8.3 dBTC native specification diff --git a/specs/requirements/VERIFICATION_MATRIX.md b/specs/requirements/VERIFICATION_MATRIX.md index 80f6c1283..d550b76fd 100644 --- a/specs/requirements/VERIFICATION_MATRIX.md +++ b/specs/requirements/VERIFICATION_MATRIX.md @@ -83,7 +83,7 @@ Tests named `dsm_sdk::…` run on devices created as wallet creation creates the | SoFi §30, §44.4: the leaves of the generation an operation was built on are served after this device walked past it; a trader's second trade against a vault resolves | `dsm_sdk` · storage/client_db/sofi_vault_head.rs · `leaves_at`, `record_resolved_with_conn` | `dsm_sdk::handlers::node_e2e_tests::a_key_held_by_an_exercise_its_own_bytes_refute_is_skipped_on_those_bytes_alone` | `leaves_at` answers the head's generation whatever root is asked → the second trade is `RetriesExhausted` → red (2026-09-24). | — | | SoFi Amendment S7, storage §3, §6: a trade cut short by a refused write is `RetriesExhausted` with the position fenced while the pair or the exercise cannot land, records nothing, and realizes when the writes land; a refusal is an error, never the network status | `dsm_sdk` · sdk/sofi_register.rs · `install_fulfillment` (`LeaderUnreached`); sdk/sofi_advance.rs · `install_failure`, `complete_pending_fulfillment` (`Completion::NotTaken`), `exercise_legs`; sdk/sofi_flow.rs · `complete_and_settle`, `settle` | `dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands`; `dsm_sdk::sdk::sofi_advance::tests::only_an_install_the_network_did_not_take_is_the_network_status` | `LeaderUnreached` not refused at install → the trade reports a position it never installed → red (2026-09-24). `install_failure` answering `NotTaken::Evidence` for `NotConforming` → the mapping test red; `LeaderUnreached` refused again (the old mapping) → the mapping test and the e2e test red; `exercise_legs` reporting `Written` for a leg that did not reach its leader → the e2e test red at completion's answer for the refused leg (all 2026-09-26, restored, the named tests green again). | — | | SoFi §28–§29: a vault genesis or a setup is admitted only at the successor of the predecessor it was built on and names; a predecessor that moved since — a pending admission resumed on the way in — refuses the admission before its advance | `dsm_sdk` · sdk/economic_admission_flow.rs · `BuiltOn::admits` in `stage_admission`; sdk/sofi_flow.rs · `create_vault`, `setup` | `dsm_sdk::handlers::sender_admission_tests::a_creation_built_on_a_predecessor_the_device_no_longer_stands_on_is_refused_before_its_advance` | `BuiltOn::admits` evaluated but its refusal discarded in `stage_admission` → the creation built on position 1 is admitted at 3 under a genesis naming 2 → red (2026-09-26, restored). | — | -| SoFi §30, storage §4: a route search that cannot establish the head of a vault this device is set up with is an error, not an empty route | `dsm_sdk` · sdk/sofi_flow.rs · `find_route` | `dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route` | `find_route` leaving an unestablished vault out again (the old match: log and continue) → the search below quorum answers an empty route → red (2026-09-26, restored). | — | +| MR-SOFI-0352, MR-SOFI-0256, SoFi §30, Amendment S16, storage §4: a route search over vaults the reads do not establish answers what it found and says it is partial, never a complete search with no route | `dsm_sdk` · sdk/sofi_flow.rs · `find_route`, `vaults_of`; `dsm` · sofi/resolve.rs · `Verifier::vaults_of_token` | `dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so` | The partial discovery not marking the search (`vaults_of` dropping `Search::Partial`) → below quorum the search reports complete with no route → red (2026-10-01, restored). | — | | SoFi §9, §17.5; storage §9 rule 3: a signed SoFi object is recognized only when its signature verifies under the key its body commits, and an exercise or `K_ful(q)` candidate only when `F`'s key is `P`'s; unsigned bytes first at a leader hold nothing | `dsm` · sofi/publication.rs · `signed_body`; sofi/exercise.rs · `recognize_exercise`; sofi/registration.rs · `names_fulfillment_key` | `dsm::sofi::exercise::tests::an_exercise_counts_only_when_f_and_p_are_signed_under_the_key_p_commits`; `dsm::sofi::registration::tests::only_a_fulfillment_signed_under_its_precommits_key_names_the_key`; `dsm::sofi::publication::tests::an_envelope_is_recognized_only_when_its_signature_verifies_under_its_bodys_key`; `dsm::sofi::validation::tests::a_setup_is_the_traders_only_under_the_key_p_commits`; `dsm_sdk::handlers::node_e2e_tests::an_unsigned_exercise_at_a_successor_key_takes_nothing` | Signature check removed → 4 Core tests + e2e red; `F` key = `P` key removed at either recognizer → its test red (2026-09-25). | — | | MR-SOFI-0316, SoFi §51: a reserve release the claim policy does not allow never holds a successor cell; a whole-supply release first at the leader holds nothing and the claim lands | `dsm` · economic/native_reserve.rs · `release_constructible` | `dsm::economic::native_reserve::tests::a_release_of_any_amount_but_the_payout_never_holds_the_cell`; `dsm_sdk::handlers::faucet_flow_tests::a_release_of_the_whole_supply_holds_nothing_and_the_claim_lands` | Release-rule amount check removed → Core test and e2e red (2026-09-25). | — | | MR-STOR-0021, DSM Amendment A1: a register set not established, a member's 404, an unreadable cert-chain head, unreadable settlement state and an inbox no member answered for are never read as verdicts | `dsm` · economic/lineage.rs · `advance_validated`; `dsm_sdk` · sdk/storage_node_sdk.rs · `answer`; handlers/online_finalize.rs · `verify_acceptance_receipt`; sdk/inbox_poller.rs · `has_pending_settlement_work`; sdk/b0x_sdk.rs · `retrieve_from_b0x_v2` | `dsm::economic_admission_lifecycle::a_register_set_not_established_is_not_a_verdict_about_the_claimant`; `dsm_sdk::sdk::storage_node_sdk::tests::a_member_that_answers_404_took_nothing`; `dsm_sdk::handlers::online_finalize::tests::an_unreadable_counterparty_head_is_never_read_as_genesis`; `dsm_sdk::sdk::inbox_poller::tests::a_lifecycle_stop_is_declined_while_settlement_state_is_unreadable`; `dsm_sdk::handlers::node_e2e_tests::an_inbox_read_that_did_not_cover_every_delivery_is_not_a_complete_sync`; `dsm_sdk::sdk::b0x_sdk::tests::a_read_covers_every_delivery_only_from_the_quorum_intersection_up` | Each fix reverted → its test red (2026-09-25). | — | @@ -142,6 +142,12 @@ Tests named `dsm_sdk::…` run on devices created as wallet creation creates the | MR-SOFI-0241, SoFi §23.5: a final cell dead on facts that need no validation evidence is skipped while that evidence is outstanding | `dsm` · sofi/resolve.rs · `Verifier::facts_of` (the ground facts and `skip_without_evidence` before any evidence is acquired); sofi/resolution.rs · `skip_without_evidence`; sofi/facts.rs · `establish_ground` | `dsm_sdk::handlers::node_e2e_tests::a_key_whose_fulfillment_can_never_register_is_skipped_without_its_evidence` (the nodes' request logs: no evidence object is asked for, and the next key is live); `dsm::sofi::resolution::tests::a_dead_cell_skips_on_facts_that_need_no_evidence`; `dsm::sofi::resolution::tests::an_evidence_free_skip_answers_as_the_complete_facts_do` | Evidence acquired before the early skip → the node test red, naming the object read; the consumed-elsewhere arm removed → `a_dead_cell_skips_on_facts_that_need_no_evidence` red; the final-on-E check removed → that test and `an_evidence_free_skip_answers_as_the_complete_facts_do` red (2026-09-30, restored). | — | | MR-SOFI-0344, MR-SOFI-0347, SoFi Amendment S15 (P15-9): a verifier that is not the trader resolves the trader's SoFi position from public objects, and a trader who traded can pay | `dsm` · sofi/resolve.rs · `Verifier::peer_position`, `PeerPositionResolver`; sofi/lineage.rs · `advance_peer_resolved`; `dsm_sdk` · sdk/sofi_reads.rs · `accepted_claim_at` through `resolve_peer` | `dsm_sdk::handlers::node_e2e_tests::a_trader_who_has_traded_can_pay` | The resolver refusing every C_q → red; the resolver selecting the void root → red; in both the payee never credits (2026-09-30, restored). | — | | MR-SOFI-0348, SoFi Amendment S15: adoption is the trader's own construction predicate, not re-run by another verifier | `dsm` · sofi/lineage.rs · `advance_peer_resolved` (no `adoption_admits`), `advance_resolved` (with it) | `dsm::sofi::lineage::tests::another_verifier_resolves_the_position_without_the_traders_adoptions` | The adoption check run on the peer path → that test red (2026-09-30, restored). | — | +| MR-SOFI-0350, MR-SOFI-0351, SoFi Amendment S16: a vault is found under each of its tokens, and discovery carries no authority | `dsm` · sofi/publication.rs · `Publication::locators`; sofi/derive.rs · `vault_token_locator`; sofi/resolve.rs · `Verifier::vaults_of_token` | `dsm::sofi::publication::tests::vault_objects_land_where_the_verifier_looks`; `dsm_sdk::handlers::node_e2e_tests::discovery_passes_over_what_is_not_a_vault_of_the_token` | The market check removed from `vaults_of_token` → A's TKN/TKB vault, appended under ERA's locator, is counted as a vault of ERA → red (2026-10-01, restored). | — | +| MR-SOFI-0354, SoFi Amendment S16: the first trade, route or close through a vault admits its setup first, and later ones reuse it | `dsm_sdk` · sdk/sofi_flow.rs · `set_up_with`, `check_route`, `trade`, `close` | `dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer`; `dsm_sdk::handlers::node_e2e_tests::a_realized_trade_shows_in_balances_and_history_at_once` | `trade` without `set_up_with` → the route through two vaults B never set up with is refused ("no published setup with this vault is one this device admitted") → red (2026-10-01, restored). | — | +| MR-SOFI-0356, SoFi Amendment S16: a walk resolves another trader's conditional parent through frontier-relative verification, as only the position and fulfillment P names | `dsm` · sofi/resolve.rs · `Verifier::parent_for`, `parent_named`, `Verifier::chain_until`; economic/peer_lineage.rs · `peer_root_at`; `dsm_sdk` · sdk/sofi_reads.rs · `trader_root_at` | `dsm::sofi::resolve::tests::only_the_position_and_fulfillment_p_names_resolve_its_parent`; `dsm::economic::peer_lineage::tests::a_frontier_recorded_at_the_position_is_its_root_and_nothing_is_read`; `dsm::economic::peer_lineage::tests::the_activation_root_names_no_parent`; `dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer`; `dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair` | `parent_named` accepting any fulfillment, or skipping the position check → `only_the_position_and_fulfillment_p_names_resolve_its_parent` red; `peer_root_at` standing below `position` instead of `position + 1` → `a_frontier_recorded_at_the_position_is_its_root_and_nothing_is_read` red; peer resolution walking each vault's chain to its head instead of `chain_until` the leg's parent → `every_sofi_route_reaches_its_producer` overflows its stack (2026-10-01, all restored). | — | +| MR-SOFI-0357, MR-SOFI-0358, SoFi Amendment S19: a Swap route chains or splits, and a split sums to the intent | `dsm` · sofi/validation.rs · `validate_swap` (`route_shape`, `split_sums`), `route_endpoints`, `swap_endpoints` | `dsm::sofi::validation::tests::a_split_whose_legs_sum_to_the_intent_is_not_refuted_by_its_shape`; `dsm::sofi::validation::tests::a_split_that_does_not_sum_to_the_intent_is_invalid`; `dsm::sofi::validation::tests::a_route_chains_or_splits_and_its_endpoints_follow`; `dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair` | No route read as a split → both split tests red; the sums unchecked → `a_split_that_does_not_sum_to_the_intent_is_invalid` red (2026-10-01, restored). | — | +| MR-SOFI-0359, SoFi Amendment S19: the search proposes the split across two vaults of one pair when it gives the most | `dsm_sdk` · sdk/sofi_flow.rs · `find_route`, `plan`, `plan_split` | `dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair` | No split candidate weighed → the search proposes one vault alone → red (2026-10-01, restored). | — | +| Phone-rig rulings 2026-10-01 (not requirements): a realized trade shows in `balance.list` at once, and every token and SoFi event writes its history row | `dsm_sdk` · sdk/realized_records.rs · `record_realized`; sdk/sofi_advance.rs · `resolve_pending_position`; handlers/wallet_routes.rs · `event_transaction` | `dsm_sdk::handlers::node_e2e_tests::a_realized_trade_shows_in_balances_and_history_at_once`; `dsm_sdk::sdk::realized_records::tests::movements_survive_the_row_and_a_corrupt_row_is_refused` | No projection rebuilt on realize → `balance.list` shows the pre-trade ERA (190 against the head's 180) → red (2026-10-01, restored). | — | | MR-SOFI-0338, SoFi Amendment S12: a `TraderPreBalance` has one canonical encoding, a strictly positive amount and its own address namespace | `dsm` · sofi/wire/objects.rs · `TraderPreBalance::new`, `TraderPreBalance::decode`; sofi/derive.rs · `trader_pre_balance_addr`, `closure_content_address` | `dsm::sofi_v8_vault_bytes::a_trader_pre_balance_matches_the_independent_encoder_and_its_frozen_address` (the independent encoder and frozen address; zero, the wrong class, truncation and trailing bytes refused) | Zero-amount check removed → `a_trader_pre_balance_matches_the_independent_encoder_and_its_frozen_address` red (2026-09-29, restored). | — | | MR-SOFI-0339, MR-SOFI-0340, SoFi Amendment S12: `𝒞_E^pre` names exactly one `TraderPreBalance` of `P`'s trader for each balance `T°` states as present; a missing one is Invalid in hand, and a named one not in hand waits | `dsm` · sofi/validation.rs · `trader_pre_balances` (the count, the trader, one object per stated balance), `Evidence::pre_balance` (the address re-derived) | `dsm::sofi::validation::tests::a_balance_the_closure_does_not_carry_is_invalid`; `dsm::sofi::validation::tests::extra_balances_in_the_closure_are_invalid`; `dsm::sofi::validation::tests::a_balance_keyed_to_no_stated_balance_is_invalid`; `dsm::sofi::validation::tests::a_balance_of_another_trader_is_invalid`; `dsm::sofi::validation::tests::bytes_that_do_not_re_derive_the_named_address_prove_nothing`; `dsm::sofi::validation::tests::bytes_at_a_named_address_that_are_not_a_balance_are_invalid`; `dsm::sofi::validation::tests::a_named_balance_not_in_hand_waits` | Count check removed → `extra_balances_in_the_closure_are_invalid` red; trader check removed → `a_balance_of_another_trader_is_invalid` red; a stated balance without its number read as absent → `a_balance_keyed_to_no_stated_balance_is_invalid` red; address check weakened to "any address" → `bytes_that_do_not_re_derive_the_named_address_prove_nothing` red (2026-09-29, each restored). | — | | MR-SOFI-0341, SoFi Amendment S12: the carried balance counts only because it hashes to the leaf the core states, and every verifier judges the trader's side from it | `dsm` · sofi/validation.rs · `check_trader_balances` (pre and post values against `T°`), `trader_posts` | `dsm::sofi::validation::tests::a_balance_that_is_not_the_leaf_the_core_states_is_invalid`; `dsm::sofi::validation::tests::a_trade_that_does_not_debit_the_trader_is_invalid_from_the_exercise_alone`; `dsm::sofi::validation::tests::trader_post_states_are_recomputed_and_bound_to_the_stated_values`; `dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner` | Pre-value comparison removed → `a_balance_that_is_not_the_leaf_the_core_states_is_invalid` red; post-value comparison removed → `a_trade_that_does_not_debit_the_trader_is_invalid_from_the_exercise_alone` red; post arithmetic off the carried balance → `trader_post_states_are_recomputed_and_bound_to_the_stated_values` red (2026-09-29, each restored). | — | From 9dc6f84b23d234b96cf16adf1a71241245705c9a Mon Sep 17 00:00:00 2001 From: Cryptskii <47649969+cryptskii@users.noreply.github.com> Date: Thu, 1 Oct 2026 02:29:33 -0400 Subject: [PATCH 09/10] test(validation): the balance-replay trace derives its final balances The token_manager_balance_replay trace asserted 61 and 39, which are the faucet payout of 100 less the 39 it moves. ERA's payout is now 10,000 base units (SoFi Amendment S18), so the trace failed in CI (workspace-rest). The final balances are now the payout less the transfers' sum, and the transfers' sum, the same rule the per-step conservation check already states. dsm_vertical_validation: 28 passed / 0 failed, release. --- tools/vertical_validation/src/implementation_traces.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/vertical_validation/src/implementation_traces.rs b/tools/vertical_validation/src/implementation_traces.rs index f0e4f6640..88c41a17a 100644 --- a/tools/vertical_validation/src/implementation_traces.rs +++ b/tools/vertical_validation/src/implementation_traces.rs @@ -863,10 +863,11 @@ fn trace_token_manager_balance_replay( } } - if alice.era_balance() != 61 { + let moved: u64 = transfers.iter().sum(); + if alice.era_balance() != ERA_FAUCET_PAYOUT - moved { failures.push("final sender balance did not match the trace".into()); } - if bob.era_balance() != 39 { + if bob.era_balance() != moved { failures.push("final recipient balance did not match the trace".into()); } From 070429fd14e1daf31616c80a7f102a7ec7fcd618 Mon Sep 17 00:00:00 2001 From: Cryptskii <47649969+cryptskii@users.noreply.github.com> Date: Thu, 1 Oct 2026 03:27:18 -0400 Subject: [PATCH 10/10] chore(requirements): repin the intent pins at 83b6f616a, the combined head One repin for the SoFi, CORE and STORAGE changes together: - 25 new rows pinned; - 591 stale rows repinned (582 code-class, 9 with their evidence changed: the SoFi route rows whose cited tests moved); - the orphan pin of the removed `sofi_flow::setup` unpinned. Evidence, run at 83b6f616a: the 15 tests of the new rows; 241 tests for the 425 stale keys from the SoFi and CORE changes; STORAGE's 105 tests (11 runs) for the 167 keys from its files. All passed. `make requirement-map-intent` on CI's code map: 0 failing rows, 633 pinned, 0 failing pins. --- specs/requirements/INTENT_PINS.tsv | 1210 ++++++++++++++-------------- 1 file changed, 617 insertions(+), 593 deletions(-) diff --git a/specs/requirements/INTENT_PINS.tsv b/specs/requirements/INTENT_PINS.tsv index d16b6850d..01ffc7a19 100644 --- a/specs/requirements/INTENT_PINS.tsv +++ b/specs/requirements/INTENT_PINS.tsv @@ -10,612 +10,636 @@ # (PIN_STALE), a requirement row with no pin (UNPINNED), and a pin whose key # the manifest no longer has (ORPHAN_PIN). requirement symbol artifact reachability lifecycle root evidence exception cites row status outcome reading definition production tests tested_at pin -MR-DSM-0022 dsm::economic::lineage::advance_validated android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_admission_lifecycle::a_faucet_claim_transition_advances_the_validated_lineage - CONFORMANCE §8 MR-DSM-0022 (Met) Q2DFMXHSMJG9E6SDEVF43MMA322XHEYYMBHXMRSQYQDYTA7JDDS0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/lineage/advance_validated(). DA0Z5E6SCYFJ8C4AEQMVZWHPEDH21H4BHWX531NFN4H1R2CVAQ2G RB1ME3FRZVVH86Z5B2G3J9MJJCATDYTVC2V8VHKJ6923MX6G9BY0 b7d9468858f6bcdb31f97ed84937343e7eea7227 XZHBTQ62XXFHA9B8HQ1N0CA5CM7R5YCNKB3KRBQPY3ZJ60FNRSP0 -MR-DSM-0028 dsm::economic::peer_acceptance::resolve_expected_prev_pk android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_peer_evidence::ek_ancestry_walks_one_step_and_refuses_unhashed_substitution - CONFORMANCE §8 MR-DSM-0028 (Met) 2NZP48XANRPCNBBRWPG63HPD18YHM2E28HCM70EZ6W675BKYHG6G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/peer_acceptance/resolve_expected_prev_pk(). CENY4N5N83T7946GCR1SS61S0GR4PYHPTDCG438P3C9BY1RCC7H0 KKH26XSAR8BHKVPNNTA5012MM3G7K5DGQJSZY3PSJZH817G8V67G 375506f9333de6e529968767d19d565d189cc385 QKFJR0P8NQSE4ZVZSEM8VW7FS29J4PZMJ7YZ3WDZK6B5JX8V4HMG -MR-DSM-0030 dsm_sdk::sdk::economic_admission_flow::admitted_self_loop_operation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::sender_admission_tests::a_transfer_registers_the_senders_root_at_the_next_position;dsm_sdk::handlers::sender_admission_tests::token_routes_admit_create_and_burn_end_to_end;dsm_sdk::handlers::sender_admission_tests::an_admitted_burn_advances_the_lineage_and_is_foreign_walkable - CONFORMANCE §8 MR-DSM-0030 (Met) P4P6MGWP2XCZVFB7XWJYZBJA43DETSQM85R6WXAWK2B74W2JA38G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/economic_admission_flow/admitted_self_loop_operation(). 4VA14ENR49S9YX215FCPFKP867JABMX9EYK45ZNBYTW6M1G5B8F0 27SB21C9JBK4C1QJH5VWDTG31GX3YQY20CWFQ8EA0F4ABXEN6R4G;9BBRTKE8V3TTNRAPESEM1NXVN81PNB3SA2KNBAS3K08DR3E3T9YG;V7Q858BQ1Z83PNA76660278F4BY87AEDZ2G6DGWZRSW05HAW9S4G b7d9468858f6bcdb31f97ed84937343e7eea7227 7THAZF6AQ8N5TKR3FQJTCP0XD0HMW2868J6XE53NE8SJG43W635G -MR-DSM-0030 dsm_sdk::sdk::economic_admission_flow::finish_admission android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::sender_admission_tests::a_transfer_registers_the_senders_root_at_the_next_position;dsm_sdk::handlers::sender_admission_tests::token_routes_admit_create_and_burn_end_to_end;dsm_sdk::handlers::sender_admission_tests::an_admitted_burn_advances_the_lineage_and_is_foreign_walkable - CONFORMANCE §8 MR-DSM-0030 (Met) 45W7H0VMA58RHFRZ0VFNFNJF3HGBZFR1N65WNV6N94FXB46917M0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/economic_admission_flow/finish_admission(). 8KDRSTB03MM4AX0PGD1E5K65NNDBMR4VY238805ERTA6N515KF60 27SB21C9JBK4C1QJH5VWDTG31GX3YQY20CWFQ8EA0F4ABXEN6R4G;9BBRTKE8V3TTNRAPESEM1NXVN81PNB3SA2KNBAS3K08DR3E3T9YG;V7Q858BQ1Z83PNA76660278F4BY87AEDZ2G6DGWZRSW05HAW9S4G b7d9468858f6bcdb31f97ed84937343e7eea7227 X5F0SGBN18VVWG3HRX2VDJ7EZHZKZSEWD0P0T1QWQ61APTK86830 -MR-DSM-0030 dsm_sdk::sdk::economic_registers::register_economic_root android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::sender_admission_tests::a_transfer_registers_the_senders_root_at_the_next_position;dsm_sdk::handlers::sender_admission_tests::token_routes_admit_create_and_burn_end_to_end;dsm_sdk::handlers::sender_admission_tests::an_admitted_burn_advances_the_lineage_and_is_foreign_walkable - CONFORMANCE §8 MR-DSM-0030 (Met) 5RY4619P0HSD2PXYV27WJ3D6EG52Y816J8JB9EY9JAY7V1YPREAG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/economic_registers/register_economic_root(). 8RDCDKPW665TPSJ58J8SZFDYKAGCATFXPXVEE07X7V1KRFQE6QJG 27SB21C9JBK4C1QJH5VWDTG31GX3YQY20CWFQ8EA0F4ABXEN6R4G;9BBRTKE8V3TTNRAPESEM1NXVN81PNB3SA2KNBAS3K08DR3E3T9YG;V7Q858BQ1Z83PNA76660278F4BY87AEDZ2G6DGWZRSW05HAW9S4G b7d9468858f6bcdb31f97ed84937343e7eea7227 H6R53C38BGSAZKQC0SJ8B6TNSRQKAZ2P581BRBJR4PB3NRS4ZCWG -MR-DSM-0031 dsm::economic::register::economic_root_register_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_lineage_register::each_position_of_each_identity_is_its_own_cell - CONFORMANCE §8 MR-DSM-0031 (Met) 3128EQWZ1P3X1J4FHNTCZY0YXWHEBF7SZAC23RQ9SVTE9PCFK4MG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/economic_root_register_key(). 6BX8ZG0CJWF2Q6VEW408XFKN1T9MKHJ7WRB3FRDJ1GHRQCW1FWW0 G12DY0SDN22N65XYX2WM4HWZ5JZ8FH7AG1H9KAHFW37FCXA6J500 8b2814918a9f0cf54a83d29080a9c6bf177682d9 SB4X394M09ZR41R06MMS9DFWD7Q6JBK1EKQMB5NWWHM0F80288MG -MR-DSM-0032 dsm::economic::register::position_seed android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0032 (Met) B14XKEXTHFWXRZANJSC0X10D9ZX3JE0JB6F4YK3B4XYF2R1FX920 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/position_seed(). TB43HSGD44AFZGVXNP4WG535ETB9WMRS3J45XR6WCW1GP375XYWG BVXRH3S26GHXZQZTGRZ5G96BAWMRZ77KT31BHP0087QKZ7FMN1V0;W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 48RFTQ3BMW6BS9YY9FQ6XZS6N2Y0DME5KXEZS73A6W9SW75D7C1G -MR-DSM-0032 dsm::route_chain::Route::leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0032 (Met) AKA38PVW8YKSXYZ9EMT05C14S37JF7W4HF8RFB2ZYCJRS1PYBJC0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). BEX2CAGVT7VCZ341WGN9ZJBNNP0FTXRK2JGQ0VXAEVGZV2DGGBJG BVXRH3S26GHXZQZTGRZ5G96BAWMRZ77KT31BHP0087QKZ7FMN1V0;W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 YMK2YKSGBAPGDFERXDP8FX9FNWFZD5YYS1N6GXQW9G767VW8VQQ0 -MR-DSM-0032 dsm::route_chain::Route::of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0032 (Met) 2013F3M9AGR3DCKTBC99GGRT07CA4EQ27QNQ42X46MG5NF1WZ3G0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). 2H7D33H2YAHV1P8H49KSWBYX8C1X27V35D0EM1TNFQPRPA2YJB80 BVXRH3S26GHXZQZTGRZ5G96BAWMRZ77KT31BHP0087QKZ7FMN1V0;W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 8SHR4EESR8T3XETWBM3JDKF7ZJ6ZW4NH2E2K1VD9P2YE1Z0XVE40 -MR-DSM-0032 dsm::route_chain::RoutedCell::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0032 (Met) 8333YBAQFA06Z5TYA69FBXSQTPGAT6RKTQ57GGB8S5920Y4DEMR0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[RoutedCell]new(). 4SZQMENH08549QSKCVCF1SW6YKDK7A5G989H2M47JZEQ5BBXX8KG BVXRH3S26GHXZQZTGRZ5G96BAWMRZ77KT31BHP0087QKZ7FMN1V0;W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 ST6MSQ75JFYVX99XHVFG83Z63RSAQDK9X3MEJ6MCGDS239AQ0W70 -MR-DSM-0033 dsm::economic::register::RegisteredEconomicRoot::from_verified_single_root android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::register::registered_root_construction_tests::a_registered_root_is_a_projection_of_a_verified_claim;dsm::economic::register::registered_root_construction_tests::a_conditional_claim_has_nothing_to_construct_from - CONFORMANCE §8 MR-DSM-0033 (Met) VVBYPPQETBZNJF29J58W86Z2RK2AZ1K7EY90W60WA0GE1J7SNXZG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/impl#[RegisteredEconomicRoot]from_verified_single_root(). 4VDYNQTXA8HN8P2MJ9QQZ3GCP1W84BDK9PB4BA50GWMMT8CCRW60 07M6VXSBTEWZ6M28KY53WZJ91ZZBXME3W9DP5GG4F2CNN7D25Y80;HEKA3HZSRS4YZYZXM00VCTH7B3MP17S4M6Y9M3XYNFRB0CWRY8ZG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 Z9MJC0Y7HX12W92VRY6VTVDXE03CAEE19VHE4Z9CD7PAFBFH66HG -MR-DSM-0034 dsm_sdk::sdk::route_seats::continue_write android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::sender_admission_tests::a_transfer_registers_the_senders_root_at_the_next_position;dsm_sdk::sdk::route_seats::tests::a_value_the_leader_already_holds_is_not_written_there_again - CONFORMANCE §8 MR-DSM-0034 (Met) XGYWEXASDM0MS2KD0KWRZZ3MK9ZTSA7ANYRCSFCQH7QV6ZGJEHSG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/continue_write(). 6FMSY7E5JPM9NTAGFDDS1FAK03RDQYP038Y94XC5QYM13BMKR1EG 27SB21C9JBK4C1QJH5VWDTG31GX3YQY20CWFQ8EA0F4ABXEN6R4G;VN8FSTC6YC6M8AZ3B3Q7A64HGYZ05Z0QA1XNEWF1JKRD0PGBH3NG b7d9468858f6bcdb31f97ed84937343e7eea7227 FXTF2NJABNMKJM9FAE0TT5C9KH6MPMRTYK7MBZRM6FH1AH1K86V0 -MR-DSM-0034 dsm_sdk::sdk::route_seats::from_leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::sender_admission_tests::a_transfer_registers_the_senders_root_at_the_next_position;dsm_sdk::sdk::route_seats::tests::a_value_the_leader_already_holds_is_not_written_there_again - CONFORMANCE §8 MR-DSM-0034 (Met) H1CWTG6Q0T1HX9XKMD5DDP3JCR5M83QKBWPDSGZN94HVQCPXAZGG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/from_leader(). 9ZABMZ2N2RQEHFV3C93MP670EWE93FWBYPGBEAHNKVHVT392BY9G 27SB21C9JBK4C1QJH5VWDTG31GX3YQY20CWFQ8EA0F4ABXEN6R4G;VN8FSTC6YC6M8AZ3B3Q7A64HGYZ05Z0QA1XNEWF1JKRD0PGBH3NG b7d9468858f6bcdb31f97ed84937343e7eea7227 EBR3TV4MDYXYKGX39F96PP739XVCK4FNJ587R84X8DRAPHBTQC20 -MR-DSM-0034 dsm_sdk::sdk::route_seats::write_recorded android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::sender_admission_tests::a_transfer_registers_the_senders_root_at_the_next_position;dsm_sdk::sdk::route_seats::tests::a_value_the_leader_already_holds_is_not_written_there_again - CONFORMANCE §8 MR-DSM-0034 (Met) 2JSVRB7DW1KN8Y807FW3CV8PZ1Y1XJ8DX7GYKZFJCH9PDD37EBHG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/write_recorded(). 7D2QTHR6ZYNSGPJ22GM0RN524CPPJFJGPZCDKB09FHB2EXMTWJGG 27SB21C9JBK4C1QJH5VWDTG31GX3YQY20CWFQ8EA0F4ABXEN6R4G;VN8FSTC6YC6M8AZ3B3Q7A64HGYZ05Z0QA1XNEWF1JKRD0PGBH3NG b7d9468858f6bcdb31f97ed84937343e7eea7227 TYTXYVQ8HT0NRWR2TT0X29A9EJV7SDHSVG5DX5HMRK10QYQANSE0 -MR-DSM-0035 dsm::route_chain::CellEvidence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-DSM-0035 (Met) TCJEEWRQXVHNZC1132YNF90XXAQZQTZ3S5KGK6ZYWCTDV7AC04Q0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/CellEvidence# QV40SKJZ42A6MBZWKDQA4CJWH85MXYAY7PSKE4NAGGH7GD2MSRVG 59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;P9HAC0KWS1VJ4VSA5TH2988NV4XZS3FRHEXF3DY2RS3XF2GJG9WG;YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0 375506f9333de6e529968767d19d565d189cc385 57VVZ0JM90M1Q8H8RD4VF00NYVHFFXJEWD6681FB3C4NRWC0NPVG -MR-DSM-0035 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-DSM-0035 (Met) F9WS3MZKFTQYN31C5VR0D346EM2X9FSF30X16C5ZDHM9JZ4ZSAPG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG 59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;P9HAC0KWS1VJ4VSA5TH2988NV4XZS3FRHEXF3DY2RS3XF2GJG9WG;YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0 375506f9333de6e529968767d19d565d189cc385 80H4QNCSN1GD63GMZREVS0ADXSW0B7SYAFXX8HJVEFR630E3TRJG -MR-DSM-0036 dsm::economic::register::read_root_cell android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::register::registered_root_construction_tests::a_held_root_cell_carries_the_exact_bytes_that_hold_it;dsm::economic::register::registered_root_construction_tests::a_final_root_claim_has_a_completion_proof_that_checks;dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-DSM-0036 (Met) VM6MF12WPRK1X3YF3867K6YTNBMS3KTS84JJBMC59TCH2TREH3X0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/read_root_cell(). RZFX32A412E7RSJPV3Z1JP4JTV48EYKAJZP3DWK6MJGRSR1PWX40 D1QRPZ5RJWJT8SBK5VRYRM4Z3N0B46SM5R9A1Y6NGEEGGCXNA7NG;42P91M5ZGX188HDJDZ8K6MB7SNHDBNGM6ET0PY1ND0CHP84T2TQG;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;H4T19ZPDRZ06ZVP6FD61382XDW2QGTC37XTVWGTYN2NXMXWKS1RG 375506f9333de6e529968767d19d565d189cc385 9VGY4D148B6Y9E011EYCEH5M1W183DD83XY5C9R5QRWFHC22TSEG -MR-DSM-0036 dsm::economic::register::root_claim_naming android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::register::registered_root_construction_tests::a_held_root_cell_carries_the_exact_bytes_that_hold_it;dsm::economic::register::registered_root_construction_tests::a_final_root_claim_has_a_completion_proof_that_checks;dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-DSM-0036 (Met) RMD09R94G7GYW4RKV9YX7WP934294R39SV5KZNAECC2Y87AEB2ZG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/root_claim_naming(). QEYA3JT2D54DMDMQ9PXRYCPMPVK0SNQXPB8N6ZSQ57RHM0CWE8YG D1QRPZ5RJWJT8SBK5VRYRM4Z3N0B46SM5R9A1Y6NGEEGGCXNA7NG;42P91M5ZGX188HDJDZ8K6MB7SNHDBNGM6ET0PY1ND0CHP84T2TQG;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;H4T19ZPDRZ06ZVP6FD61382XDW2QGTC37XTVWGTYN2NXMXWKS1RG 375506f9333de6e529968767d19d565d189cc385 MBFTKZZGESKQ5VFCSE8JKHSGPS6XJ6VWWWR91F0JH77BC5EZW1D0 -MR-DSM-0036 dsm::route_chain::ChainState android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::register::registered_root_construction_tests::a_held_root_cell_carries_the_exact_bytes_that_hold_it;dsm::economic::register::registered_root_construction_tests::a_final_root_claim_has_a_completion_proof_that_checks;dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-DSM-0036 (Met) H20V5P9X9CMN1K36YXZSZJCZ8YP47PM58Q5YHNX69FFDD37PC7D0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/ChainState# CHXY693QW5TWC7T4105BZNBR0000FFCHQ1WXAKBHWGBQYX4WRD90 D1QRPZ5RJWJT8SBK5VRYRM4Z3N0B46SM5R9A1Y6NGEEGGCXNA7NG;42P91M5ZGX188HDJDZ8K6MB7SNHDBNGM6ET0PY1ND0CHP84T2TQG;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;H4T19ZPDRZ06ZVP6FD61382XDW2QGTC37XTVWGTYN2NXMXWKS1RG 375506f9333de6e529968767d19d565d189cc385 GNS2K2KFT8ZQA0Z9QAT29R9QSM6TS1A92DJZYZP1M2PZJG3ZB94G -MR-DSM-0036 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::register::registered_root_construction_tests::a_held_root_cell_carries_the_exact_bytes_that_hold_it;dsm::economic::register::registered_root_construction_tests::a_final_root_claim_has_a_completion_proof_that_checks;dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-DSM-0036 (Met) SMSTC0WB2MYFQ1J8YQ5AGTB7RFDFWBYSEKHVWE92AGS17D2EGG4G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG D1QRPZ5RJWJT8SBK5VRYRM4Z3N0B46SM5R9A1Y6NGEEGGCXNA7NG;42P91M5ZGX188HDJDZ8K6MB7SNHDBNGM6ET0PY1ND0CHP84T2TQG;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;H4T19ZPDRZ06ZVP6FD61382XDW2QGTC37XTVWGTYN2NXMXWKS1RG 375506f9333de6e529968767d19d565d189cc385 JSJTKZCMDMAWCYQFHA539WRA1GTC0Z4EJP0C647VRQWV2TEWD0HG -MR-DSM-0037 dsm::route_chain::Missing android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in;dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible - CONFORMANCE §8 MR-DSM-0037 (Met) V6SE6ADWQBSXPXN4W19QBFMHM2WV9MH37EABS8488T7D07QQ1190 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/Missing# 4GQ9KE7ZKDXRZ7GMZK12DN5HWWMD3TYJDP71ARZJBNDHAPHSYW3G WQDY8DW5G78YCK3CY71S1JY3M8NHPPPCH72GYJZ2MRX7A6G1WD7G;AVF2YVS4SZFHAHN40RRBSTTX945E4G3YEXG461FE0WK61YJCECMG 375506f9333de6e529968767d19d565d189cc385 QVW8B988QEYQ46P6KY2F548RNH4GDN7SA1BC0VF6FQ2XCYHD8N50 -MR-DSM-0037 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in;dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible - CONFORMANCE §8 MR-DSM-0037 (Met) WYKMP2KCAV7JETDCA7Q4QNQ2QNVH0T4NB83W0S250SF46M00C0MG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG WQDY8DW5G78YCK3CY71S1JY3M8NHPPPCH72GYJZ2MRX7A6G1WD7G;AVF2YVS4SZFHAHN40RRBSTTX945E4G3YEXG461FE0WK61YJCECMG 375506f9333de6e529968767d19d565d189cc385 CVH33DWAXA6KZ88S6GZ5RS5NX5R17EBJSWX9RNZKXJEH2GTERBBG -MR-DSM-0038 dsm::economic::lineage::advance_validated android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_admission_lifecycle::a_registered_root_disagreeing_with_the_witness_is_refused - CONFORMANCE §8 MR-DSM-0038 (Met) VJDAHBZD9AP763C223PV3D09C8Y4J78KH2RM7T37V2HGH0FFCCCG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/lineage/advance_validated(). DA0Z5E6SCYFJ8C4AEQMVZWHPEDH21H4BHWX531NFN4H1R2CVAQ2G J1NWD0BXZNY5V8JT8GDKS3N173ZX6BNKZB0EK7V34D67R5D4XHSG b7d9468858f6bcdb31f97ed84937343e7eea7227 P73HKFBWXQ7K1BGERSDYNPDW75WQTV66CJ02QQADPTTB5AAF7HMG -MR-DSM-0040 dsm::economic::lineage::advance_validated android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_admission_lifecycle::a_faucet_claim_transition_advances_the_validated_lineage - CONFORMANCE §8 MR-DSM-0040 (Met) F9X3KZ57V2CBM93C81YSMJ0NP7YVTCW16AP0QT72EA1JVDW8CFA0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/lineage/advance_validated(). DA0Z5E6SCYFJ8C4AEQMVZWHPEDH21H4BHWX531NFN4H1R2CVAQ2G RB1ME3FRZVVH86Z5B2G3J9MJJCATDYTVC2V8VHKJ6923MX6G9BY0 b7d9468858f6bcdb31f97ed84937343e7eea7227 EVEWYFYWQGXE6QKQW8C44GB3J8ZG5EC32MQC9PYBE3RW7VT0X680 -MR-DSM-0041 dsm::sofi::conformance::conformance_invalid_in_hand android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_key_held_by_an_exercise_its_own_bytes_refute_is_skipped_on_those_bytes_alone;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-DSM-0041 (Met) B6SN2Q5K0Y4E1SVFP3SXEZN86X2ATTDY9EBKMWBJRJXX27H4TTH0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/conformance_invalid_in_hand(). XS734GGRV7K9ZDF00Q857E98T6AGWQDTMEBSMZZMPEC6W5B016H0 DH1N3XGRW56NNW8ZNAJ1KDHFF4Z9EMVWTWEQJ4DR6D3AF741QEWG;19AT1XYWNCC37AQA0D8NZ8PG5F2B1P1PCNYQCJQFY22P1GXKNHJG b7d9468858f6bcdb31f97ed84937343e7eea7227 ZN3PEPGVKVFD3Z0XXPX4AANWKA5Z9VGHTM3T429H0DYZ4R1F5ZV0 -MR-DSM-0041 dsm::sofi::resolve::Verifier::facts_of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_key_held_by_an_exercise_its_own_bytes_refute_is_skipped_on_those_bytes_alone;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-DSM-0041 (Met) 1N4XNT85Q76YN37DP2WFRR1NWMA5N3CSKMVHYD406QS8ZTADSK5G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/impl#[`Verifier<'_, R>`]facts_of(). CHZNYRX5SBZRYM2VEWCHB3QRKNABTSDGED3ZQQJKD1A2A9GNW9ZG DH1N3XGRW56NNW8ZNAJ1KDHFF4Z9EMVWTWEQJ4DR6D3AF741QEWG;19AT1XYWNCC37AQA0D8NZ8PG5F2B1P1PCNYQCJQFY22P1GXKNHJG b7d9468858f6bcdb31f97ed84937343e7eea7227 M3QCW590KWYZP2NFM1EPN7S6NZGFJ8D1EADQJE304JMVD2WRXTWG -MR-DSM-0041 dsm::sofi::validation::route_invalid_in_hand android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_key_held_by_an_exercise_its_own_bytes_refute_is_skipped_on_those_bytes_alone;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-DSM-0041 (Met) 7102KK31228TCBHCXMQK5SRXTY17Z0TA2BH9FQ5412JSR2F1PGJG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/route_invalid_in_hand(). EG9G7Y2HWDNZSFY64W7QHBDCWDTBD9779RNGVF7XWAG58XJ2DS40 DH1N3XGRW56NNW8ZNAJ1KDHFF4Z9EMVWTWEQJ4DR6D3AF741QEWG;19AT1XYWNCC37AQA0D8NZ8PG5F2B1P1PCNYQCJQFY22P1GXKNHJG b7d9468858f6bcdb31f97ed84937343e7eea7227 EHBCE7X84BNK9JRK4CSGWBM6ED20FPK6B6Q22YXGEG034XKB8B50 -MR-DSM-0042 dsm::sofi::resolution::resolve_refuted_in_hand android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_key_held_by_an_exercise_its_own_bytes_refute_is_skipped_on_those_bytes_alone;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-DSM-0042 (Met) SNGEDXME4B1VBSVK909Z0F9PJ4H8T5XMRJH3JPZ7C5QW6K2VMRDG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_refuted_in_hand(). GM2VTZ67ZGJV2VV0JE97326WX55BWSMNPBMPWGVW7GW2JZWKJ6B0 DH1N3XGRW56NNW8ZNAJ1KDHFF4Z9EMVWTWEQJ4DR6D3AF741QEWG;19AT1XYWNCC37AQA0D8NZ8PG5F2B1P1PCNYQCJQFY22P1GXKNHJG b7d9468858f6bcdb31f97ed84937343e7eea7227 R5W31C0TS4QJ6DJBTXY54G4S40DMAJ0DWB5ZDN6TMF9Z4AR2J4AG -MR-DSM-0042 dsm::sofi::resolution::skip_in_hand android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_key_held_by_an_exercise_its_own_bytes_refute_is_skipped_on_those_bytes_alone;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-DSM-0042 (Met) SXW0JN0TC8KBG4AYS0CRZ7SFVX1RWBRF4Z2CN577NRTASZD7MRW0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/skip_in_hand(). 2VNCX5AZDNGRD8S7Q1QQG61AKV8H8J4DC832QYG9PBT6P4T1VP30 DH1N3XGRW56NNW8ZNAJ1KDHFF4Z9EMVWTWEQJ4DR6D3AF741QEWG;19AT1XYWNCC37AQA0D8NZ8PG5F2B1P1PCNYQCJQFY22P1GXKNHJG b7d9468858f6bcdb31f97ed84937343e7eea7227 SP51MNHBG064T8JJW3VRQBMTWBFY0J5RMR1Y7CEWYM10GP30SD3G -MR-DSM-0042 dsm::sofi::resolve::Verifier::facts_of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_key_held_by_an_exercise_its_own_bytes_refute_is_skipped_on_those_bytes_alone;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-DSM-0042 (Met) 5NNRGJY4MNJ1DHGZJD5M06QJRYJBCFGGD7VV7MZ49CPG4V7YG4PG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/impl#[`Verifier<'_, R>`]facts_of(). CHZNYRX5SBZRYM2VEWCHB3QRKNABTSDGED3ZQQJKD1A2A9GNW9ZG DH1N3XGRW56NNW8ZNAJ1KDHFF4Z9EMVWTWEQJ4DR6D3AF741QEWG;19AT1XYWNCC37AQA0D8NZ8PG5F2B1P1PCNYQCJQFY22P1GXKNHJG b7d9468858f6bcdb31f97ed84937343e7eea7227 52H1YJGW115VCERJG617REQ22VPFD9MJSEGHERVSVYKSYY2ZG0RG -MR-DSM-0046 dsm::economic::peer_lineage::validate_peer_lineage android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::peer_lineage::tests::a_claim_naming_other_coordinates_never_holds_the_root_cell;dsm::economic::peer_lineage::tests::a_claim_that_is_not_final_decides_nothing_yet;dsm::economic::register::registered_root_construction_tests::a_held_root_cell_carries_the_exact_bytes_that_hold_it - CONFORMANCE §8 MR-DSM-0046 (Met) Y8344W5VGVEY0P80K73CAVWWTXBZKM70AY60T5GG6RNH75HGWA00 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/peer_lineage/validate_peer_lineage(). Q3TGC2MH7KB0H2WJXH9YMS4S07S80HWBSTKD3NM64SX0WX5CM6VG GVDCPS3HBQ4KBQBYP0PXX37Z88G7Z15C97F4Y6WCNV3M3TAF7ASG;9NZSSEVY0BCPVCG4DWE74Z5ABBWQWXQ3M3QQ2Q2N4DJ2HQY2FE40;D1QRPZ5RJWJT8SBK5VRYRM4Z3N0B46SM5R9A1Y6NGEEGGCXNA7NG b7d9468858f6bcdb31f97ed84937343e7eea7227 X6FRG1W1TYD9VCD4RZZQFM9QZ4953549KJ60960V71GT6CA1EQY0 -MR-DSM-0046 dsm::economic::register::read_root_cell android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::peer_lineage::tests::a_claim_naming_other_coordinates_never_holds_the_root_cell;dsm::economic::peer_lineage::tests::a_claim_that_is_not_final_decides_nothing_yet;dsm::economic::register::registered_root_construction_tests::a_held_root_cell_carries_the_exact_bytes_that_hold_it - CONFORMANCE §8 MR-DSM-0046 (Met) 557KXMXJ8W98C7XN4ZXM29C7B7XH737VVWQ085NR91VBWN4KV2EG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/read_root_cell(). RZFX32A412E7RSJPV3Z1JP4JTV48EYKAJZP3DWK6MJGRSR1PWX40 GVDCPS3HBQ4KBQBYP0PXX37Z88G7Z15C97F4Y6WCNV3M3TAF7ASG;9NZSSEVY0BCPVCG4DWE74Z5ABBWQWXQ3M3QQ2Q2N4DJ2HQY2FE40;D1QRPZ5RJWJT8SBK5VRYRM4Z3N0B46SM5R9A1Y6NGEEGGCXNA7NG b7d9468858f6bcdb31f97ed84937343e7eea7227 T5G6QM2MJW1777BHHYYKSSB0GR1V2JF5V9YR2ZQDVPCHMDGRRGD0 -MR-DSM-0047 dsm::core::bilateral_transaction_manager::compute_smt_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::smt_tripwire_theorem::theorem1_relationship_scoped_keys - CONFORMANCE §8 MR-DSM-0047 (Met) 62Z2KC4ZVQCCCJ66KEQ34RJQKHP8BAMX75CZKP7RANSFZ27P4SX0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/bilateral_transaction_manager/compute_smt_key(). ES97MT63J11WBQ5E2PTXDX5HVJGFFARSYCVGVVRVX8VX92C8R3J0 FVZBXEMNNG32ST7HER4JY52E6F0GC07KZ66KEP70CTYW40ASQF1G 8b2814918a9f0cf54a83d29080a9c6bf177682d9 4FMQF3X2HDZ0K7FFAEMC1KWJ89GDR8S4V5EN0DE7EXA06KQNXRBG -MR-DSM-0047 dsm::types::device_state::RelationshipChainState android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::smt_tripwire_theorem::theorem1_relationship_scoped_keys - CONFORMANCE §8 MR-DSM-0047 (Met) G2JBQCWJ4G2G0WZ9PBXNKQPVJJTVE4BJEGHFHFEAGRFEV797W010 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/RelationshipChainState# P3FMDAWCE2EG2HFBJ1PYE3VDWTX2YN3NN2W5G4R05NP5MEXEXGFG FVZBXEMNNG32ST7HER4JY52E6F0GC07KZ66KEP70CTYW40ASQF1G 8b2814918a9f0cf54a83d29080a9c6bf177682d9 KEFXYE0SFS0QTG2N2ZNXCMARX3RVMFSNT3BB26Z3RVQNQ4PGNBE0 -MR-DSM-0052 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::only_malformed_requests_are_refused - CONFORMANCE §8 MR-DSM-0052 (Met) JRV6QB6HBT4524BR03QYV87V36JK7QRJ38BWSCMYB8T3E63NM800 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). GZ7EWHR37RDX3J8J1HVVPMX123TAWYFWP82BXDSQSWZ99K6JX02G 7B6Q8WQR1VTWG3N0S4SH6CB2JK4CZZYKSYZ17RE84Q9YNKHDZWRG 375506f9333de6e529968767d19d565d189cc385 7ZTBQREB6TKR75ZY3GN8CZQXZJBH3B5QX6TGJ5JND0GSPV626G8G -MR-DSM-0053 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes - CONFORMANCE §8 MR-DSM-0053 (Met) FYF5SY47XSXQFT04FS4P6X49KGK6BTYF9DTMK0X0JNEE9TFHY89G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). 7VMR8Q43YDYV2PEEA9GE2GCHNWTG39XQ987057JPD85E6TWNKEF0 CPXY5HCPPR8QPH0N4X2V394M0NNWBF1HH69MPDDZBH9G45KKZG50 8b2814918a9f0cf54a83d29080a9c6bf177682d9 G8957QE6V5XM3377MZ4HKNZ2JHTV7WBGZ4KNEASJ06REG5V5MZ7G -MR-DSM-0056 dsm_storage_node::api::objects::bytecommit::mirror_sync node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself;dsm_storage_node::bytecommit_chain::an_impostor_at_a_set_mates_endpoint_is_not_mirrored;dsm_storage_node::bytecommit_chain::a_rewritten_cycle_is_kept_beside_the_first - CONFORMANCE §8 MR-DSM-0056 (Met) AZBHNJ887CZ15MCSXRGCMPJVBN576B9A1N6443K8N6MDJ80M6CSG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/bytecommit/mirror_sync(). 0G47KCFM9T65FD5N74JAB11EF5ER54PRN2P06XHTQERSTTY369WG XSWCJEC1E6HQEZWQ98GADFX5BMR0FRE4E9K28E61PVGP1AYBKK2G;94J1A361NWMW7QKGVMYQMQRW9480QAT1M5MG4MG61VGJBVKWSK30;Z2DQHMPZ75KMGJT3CSHH5SKBXA0SV3RFBMKZNMZ8PZ8VZ9J5HTSG dc6ff253da4901e20f8b9c2a4affaafdf4179603 7ATFNW5PJMEQFF18BJ7VCETCX8N89BD1385BFA40Z17QQP7G6D50 -MR-DSM-0056 dsm_storage_node::api::objects::bytecommit::sync_one node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself;dsm_storage_node::bytecommit_chain::an_impostor_at_a_set_mates_endpoint_is_not_mirrored;dsm_storage_node::bytecommit_chain::a_rewritten_cycle_is_kept_beside_the_first - CONFORMANCE §8 MR-DSM-0056 (Met) ES0SCSQ7ZR6FJT7T86QMST63HB28AVBACQK6S9FJG6JY9JGCXKC0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/bytecommit/sync_one(). ZWPZZBG4W2QX7725WPQ0YXZCW9F2SYRXZ1RDQKNF5AB1EEWT8E80 XSWCJEC1E6HQEZWQ98GADFX5BMR0FRE4E9K28E61PVGP1AYBKK2G;94J1A361NWMW7QKGVMYQMQRW9480QAT1M5MG4MG61VGJBVKWSK30;Z2DQHMPZ75KMGJT3CSHH5SKBXA0SV3RFBMKZNMZ8PZ8VZ9J5HTSG dc6ff253da4901e20f8b9c2a4affaafdf4179603 HYMF1XJTKA47374ZAEZ65TZW1SVMSN7CYMRAAGYRN03PY1Q2JDAG -MR-DSM-0056 dsm_storage_node::set_client::pinned_set_client node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself;dsm_storage_node::bytecommit_chain::an_impostor_at_a_set_mates_endpoint_is_not_mirrored;dsm_storage_node::bytecommit_chain::a_rewritten_cycle_is_kept_beside_the_first - CONFORMANCE §8 MR-DSM-0056 (Met) EMSCZ0V9XMME84MXDVZHVN1TVBAAEWSPA4YH75TQR4X3CD4ATEXG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 set_client/pinned_set_client(). TWBKT2HE32QWBPNDBB6GDE1N222BAVDCMBJ4MC85E717T8SD77KG XSWCJEC1E6HQEZWQ98GADFX5BMR0FRE4E9K28E61PVGP1AYBKK2G;94J1A361NWMW7QKGVMYQMQRW9480QAT1M5MG4MG61VGJBVKWSK30;Z2DQHMPZ75KMGJT3CSHH5SKBXA0SV3RFBMKZNMZ8PZ8VZ9J5HTSG dc6ff253da4901e20f8b9c2a4affaafdf4179603 Y1M14HVNSMKSABZRBYX82BJY0CCGA6GMFB9SP0VQREC5SDZNQJT0 -MR-DSM-0065 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::store_properties::immutable_put_is_write_once_on_the_tuple;dsm_storage_node::db::store_properties::a_conflicting_put_leaves_the_first_write_untouched;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-DSM-0065 (Met) KXYPFRP1KVV1HC0CGEYBSBSDTB51PFNG2BPM0MBZMJTKJJ4QH340 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). GZ7EWHR37RDX3J8J1HVVPMX123TAWYFWP82BXDSQSWZ99K6JX02G SNVHDV2MY49QA91RM3ATM2T3HX0QABQQ1M1JM60A96EDVW971EEG;VA5XGPQ5GDRVNF96A1HRSTW54RSE8GSKF10H21T5RY330FM65D80;YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0 375506f9333de6e529968767d19d565d189cc385 Y1BNTK11JSMXY64DMC1TCBEGCN4HPQF0YM2WNS39QR2DNA6CJXQ0 -MR-DSM-0065 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::store_properties::immutable_put_is_write_once_on_the_tuple;dsm_storage_node::db::store_properties::a_conflicting_put_leaves_the_first_write_untouched;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-DSM-0065 (Met) 5WMP6V36MCM8YN229BGQMMQY7KGB52P5D6CESCFBJJ8RS1QZ9ZJ0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). 7VMR8Q43YDYV2PEEA9GE2GCHNWTG39XQ987057JPD85E6TWNKEF0 SNVHDV2MY49QA91RM3ATM2T3HX0QABQQ1M1JM60A96EDVW971EEG;VA5XGPQ5GDRVNF96A1HRSTW54RSE8GSKF10H21T5RY330FM65D80;YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0 375506f9333de6e529968767d19d565d189cc385 T6VJ52B7GE9ENNP3H003FC6YQGH7E82NXWDF2Y29PRAMR3J0JGB0 -MR-DSM-0072 dsm_storage_node::api::transport::b0x::router node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::a_submitted_envelope_is_read_back_from_its_spool;dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly - CONFORMANCE §8 MR-DSM-0072 (Met) WH3K1JQCF38B0TS230WN7Y45BBBZAT3JZ39ETVMV9M5FK8VPJY9G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/transport/b0x/router(). GTACWG9TCAD2JXSNZS1PDA4Y6SH6VNAJD5K8W7KMC9VJ6TRS5DYG YB9WYJ35M4FQP17X9950RSPM9XE33FR5KCSPE718KR39N4G2C710;PQB9NJN15XKF5FJ0273BPM0GR2WPR20J1T4N13MSHJJVAADVJNB0 375506f9333de6e529968767d19d565d189cc385 V5TB7ASCNQN4NDBKPHE3S2NWS26DN91DZ1XWAG6QSWBP8N0SBEPG -MR-DSM-0072 dsm_storage_node::storage_contract_router node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::a_submitted_envelope_is_read_back_from_its_spool;dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly - CONFORMANCE §8 MR-DSM-0072 (Met) XRWRETXY6WCEBB0QMCWRQBCQN7A8S7YJH98CKA8QTF3KPZS2TXH0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 storage_contract_router(). M46JH6SFF1YQ79ZYCY90CS59ZWPAG6YNXG5W2RHA81S9HZ21Y96G YB9WYJ35M4FQP17X9950RSPM9XE33FR5KCSPE718KR39N4G2C710;PQB9NJN15XKF5FJ0273BPM0GR2WPR20J1T4N13MSHJJVAADVJNB0 375506f9333de6e529968767d19d565d189cc385 T84GN7DY7PCM7D2F8G9BT0XN1J0JQFZVKMF1STNM4NK4Q4YH3TS0 -MR-DSM-0075 dsm_storage_node::storage_contract_router node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly;dsm_storage_node::api::transport::b0x::tests::a_submitted_envelope_is_read_back_from_its_spool - CONFORMANCE §8 MR-DSM-0075 (Met) SCCAKFT35PMDD501EGF3AC7WM5AX1Q5RQQ3SAXF4NM1Q66G7X05G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 storage_contract_router(). M46JH6SFF1YQ79ZYCY90CS59ZWPAG6YNXG5W2RHA81S9HZ21Y96G PQB9NJN15XKF5FJ0273BPM0GR2WPR20J1T4N13MSHJJVAADVJNB0;YB9WYJ35M4FQP17X9950RSPM9XE33FR5KCSPE718KR39N4G2C710 375506f9333de6e529968767d19d565d189cc385 DD84PS5SGA4JCEGX61RS3JJWGXBXZ6D1YTN7EC9P5Z2HDV4MRNP0 -MR-DSM-0077 dsm::storage_cell::ByteCommit android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::storage_cell::tests::the_bytecommit_digest_matches_the_spec_construction;dsm::storage_cell::tests::a_chain_link_needs_same_member_next_cycle_and_the_parent_digest;dsm_storage_node::bytecommit_chain::cycles_close_over_new_entries_and_commit_their_records - CONFORMANCE §8 MR-DSM-0077 (Met) P3RJJWP7W3C4WVSW36ZFE5KED60YN550DG8S5PDJ9T7HD280Z97G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 storage_cell/ByteCommit# SE4FR3Q2SC1EGK0PJ72MF53ZPE78M4Y0PYKFDQW46TRA4N17B6D0 06356KZH0WCSJ5KNDJE4C8D3E53B7XN7ZSTXY11V681Z1VF5WH1G;V63Y2HDKWCH86782NGBMN40FAKGD7EWVAHHKVMNFQ46C944ZYXTG;9HHVVXDV5R7TYE3DEQMTDXDMDERRKT9J8E2P7VY4459VRH6VXZAG 375506f9333de6e529968767d19d565d189cc385 DDDNXGQGVKPGJKTJ68BD2HDFCQA0F4R3V1YKX69BAED9DXH31N50 -MR-DSM-0081 dsm::economic::register::position_seed android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0081 (Met) 7V6X79FS3GNGZ8XQRJT3RKA30CVKB4FV0CY4P2SYTBDCN4BN9P10 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/position_seed(). TB43HSGD44AFZGVXNP4WG535ETB9WMRS3J45XR6WCW1GP375XYWG BVXRH3S26GHXZQZTGRZ5G96BAWMRZ77KT31BHP0087QKZ7FMN1V0;7NB7WHEC4FWCEBDEE5HE46BNM5CE1VHPVEEEB0FFV84CKYFFKSHG;W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 380175TWF42NC0ZHAV9623Y8Y0JW40CS8QZ35EDJ9G78DCDBRVTG -MR-DSM-0081 dsm::route_chain::Route::leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0081 (Met) EKAKSSHBJZ64K012THS4ZVTWFPY1E0GM2K0WV47KJR45Q0QXA9D0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). BEX2CAGVT7VCZ341WGN9ZJBNNP0FTXRK2JGQ0VXAEVGZV2DGGBJG BVXRH3S26GHXZQZTGRZ5G96BAWMRZ77KT31BHP0087QKZ7FMN1V0;7NB7WHEC4FWCEBDEE5HE46BNM5CE1VHPVEEEB0FFV84CKYFFKSHG;W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 R68TFZVQ9SFCQ20MYD2PQJA1VXGP9S9X0X788BNZN5NT8K5TH35G -MR-DSM-0081 dsm::route_chain::Route::of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0081 (Met) S8M8MYWMV296D8PJEGRG0PTTZBQRS4CZRY8E2ZG60X6KPV6Z2MKG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). 2H7D33H2YAHV1P8H49KSWBYX8C1X27V35D0EM1TNFQPRPA2YJB80 BVXRH3S26GHXZQZTGRZ5G96BAWMRZ77KT31BHP0087QKZ7FMN1V0;7NB7WHEC4FWCEBDEE5HE46BNM5CE1VHPVEEEB0FFV84CKYFFKSHG;W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 0307HHK55MT6R0A2QF5HW43Q90FWN9KB0ZD2XVT2HNP9KDKE3RJ0 -MR-DSM-0081 dsm::route_chain::RoutedCell::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0081 (Met) R1XJ51B00JYQ0CFW48TNVKP6AG1N7N6TM9XHFW45PZJXBZ531BG0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[RoutedCell]new(). 4SZQMENH08549QSKCVCF1SW6YKDK7A5G989H2M47JZEQ5BBXX8KG BVXRH3S26GHXZQZTGRZ5G96BAWMRZ77KT31BHP0087QKZ7FMN1V0;7NB7WHEC4FWCEBDEE5HE46BNM5CE1VHPVEEEB0FFV84CKYFFKSHG;W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 04RN0B957PD31NB6YRVG8Z02H9MZB5A9GV7CRGMGWY5TAEB1ZQE0 -MR-DSM-0081 dsm::sofi::derive::storage_seed android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0081 (Met) GX68RWZ2RZ2JNWRRNXJ1CXZNRWBRD8THRWAH0F6Q8S2A7VP5PWMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/storage_seed(). 5PY9J9KYQ3QX5BAFVGQF6TYSN1KVAXVGAVXNFZSD9HYSY7MKE5D0 BVXRH3S26GHXZQZTGRZ5G96BAWMRZ77KT31BHP0087QKZ7FMN1V0;7NB7WHEC4FWCEBDEE5HE46BNM5CE1VHPVEEEB0FFV84CKYFFKSHG;W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 1X6ZDGBTP4P5MYA25DPG2TSV1B0W87HH8HGD1KCB5P3P3635A3G0 -MR-DSM-0083 dsm_sdk::sdk::route_seats::continue_recorded_writes android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::faucet_flow_tests::a_release_cut_short_after_the_leader_is_carried_by_the_next_claimant_and_bricks_nothing;dsm_sdk::sdk::route_seats::tests::a_value_the_leader_already_holds_is_not_written_there_again - CONFORMANCE §8 MR-DSM-0083 (Met) WGPCPBM1SA4PGKPN9E59BT5AJJ72HY3CSJWRGYHTEPADGRD5B1JG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/continue_recorded_writes(). AXR590KCWG6RC4Y5F5J67AS63JQR5X1NXDY2FFYEWN4EB06K0B00 FM880FC21C4MN6PZQ7J0JDVAXPKJCZK086QTVD800A3HJV62D6P0;VN8FSTC6YC6M8AZ3B3Q7A64HGYZ05Z0QA1XNEWF1JKRD0PGBH3NG b7d9468858f6bcdb31f97ed84937343e7eea7227 QDWKN87DWCYJT1R1CB0P4ZWBJ1D4FMB924WBNQ9E04V741HZQ2Y0 -MR-DSM-0083 dsm_sdk::sdk::route_seats::from_leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::faucet_flow_tests::a_release_cut_short_after_the_leader_is_carried_by_the_next_claimant_and_bricks_nothing;dsm_sdk::sdk::route_seats::tests::a_value_the_leader_already_holds_is_not_written_there_again - CONFORMANCE §8 MR-DSM-0083 (Met) 02CADGVPDSJ5GP2ASASE3NZBTGRGY7NRFSG689ES0SPPV0R07D70 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/from_leader(). 9ZABMZ2N2RQEHFV3C93MP670EWE93FWBYPGBEAHNKVHVT392BY9G FM880FC21C4MN6PZQ7J0JDVAXPKJCZK086QTVD800A3HJV62D6P0;VN8FSTC6YC6M8AZ3B3Q7A64HGYZ05Z0QA1XNEWF1JKRD0PGBH3NG b7d9468858f6bcdb31f97ed84937343e7eea7227 CAT7H4NSAKEYP5C5AENRDXH9CCHXHWZJ8C1D05WTS7C0VN2RGYRG -MR-DSM-0083 dsm_sdk::sdk::route_seats::write_recorded android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::faucet_flow_tests::a_release_cut_short_after_the_leader_is_carried_by_the_next_claimant_and_bricks_nothing;dsm_sdk::sdk::route_seats::tests::a_value_the_leader_already_holds_is_not_written_there_again - CONFORMANCE §8 MR-DSM-0083 (Met) 61NGJNYCZR135GWM7YF08DXDZRQXHEJF8MM0F098KTRPA3ZJ28M0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/write_recorded(). 7D2QTHR6ZYNSGPJ22GM0RN524CPPJFJGPZCDKB09FHB2EXMTWJGG FM880FC21C4MN6PZQ7J0JDVAXPKJCZK086QTVD800A3HJV62D6P0;VN8FSTC6YC6M8AZ3B3Q7A64HGYZ05Z0QA1XNEWF1JKRD0PGBH3NG b7d9468858f6bcdb31f97ed84937343e7eea7227 5RA09ZNYZ3CSXAC6PTAT9HBZDG6YCRHQMSY9S8SKX6S09SYFD970 -MR-DSM-0084 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm_storage_node::cells_keep_everything::an_identical_value_put_twice_is_held_twice - CONFORMANCE §8 MR-DSM-0084 (Met) HHNF5NG9NYHNAH1NSX2483HBEFDM3S53KWZA7YGPSSQT88VG86MG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). GZ7EWHR37RDX3J8J1HVVPMX123TAWYFWP82BXDSQSWZ99K6JX02G YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0;RZXD867E5R3SXTNXZVK8BRBRKEJ61R3YAJATSNHKWK6BXYGBMBVG 375506f9333de6e529968767d19d565d189cc385 F80S6WS74CGCEDS8S1K80PKEPC2F8ZKJK5ZAXFM9DA41SG1XD360 -MR-DSM-0085 dsm::route_chain::ChainState android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::only_links_of_one_chain_count_toward_final - CONFORMANCE §8 MR-DSM-0085 (Met) T8N990ZNCAQHKVJZ6HFN9A1MM87W9BQMP5VMGX9MHHS083SJWYMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/ChainState# CHXY693QW5TWC7T4105BZNBR0000FFCHQ1WXAKBHWGBQYX4WRD90 59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;P9HAC0KWS1VJ4VSA5TH2988NV4XZS3FRHEXF3DY2RS3XF2GJG9WG;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;5W9841Y111S07377NM3VYDXBV71NH5N3Q62YCB6XJ7PRRS4B45B0 375506f9333de6e529968767d19d565d189cc385 YKN2VVJ5G3EFMF76TW2597HHGABACX3JW7XG66KXPE2BPR0PAN00 -MR-DSM-0085 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::only_links_of_one_chain_count_toward_final - CONFORMANCE §8 MR-DSM-0085 (Met) HGGVW2N3XNM8JACAV4XG0SWAAM580QR2FCXPDBPARHW6SX9G4KGG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG 59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;P9HAC0KWS1VJ4VSA5TH2988NV4XZS3FRHEXF3DY2RS3XF2GJG9WG;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;5W9841Y111S07377NM3VYDXBV71NH5N3Q62YCB6XJ7PRRS4B45B0 375506f9333de6e529968767d19d565d189cc385 454SBDN36ZNXKWXNK9GN2N1FPD7W4TA56KJG271M3R14TZ1FS030 -MR-DSM-0086 dsm::route_chain::ChainState android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-DSM-0086 (Met) ZQ5NG49RP6ERAY3PDRBXHMXNF74VFKR5RRKY597Y3SMJFMFGM3CG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/ChainState# CHXY693QW5TWC7T4105BZNBR0000FFCHQ1WXAKBHWGBQYX4WRD90 59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0;YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0 375506f9333de6e529968767d19d565d189cc385 4YKVW5NXNJC5B9S6P9FYHSYQXQG7FAZ0WQHRAFP8STSQ3ETWE3X0 -MR-DSM-0086 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-DSM-0086 (Met) SGF5EP26GSBJ4BPCB5WARGWN1S9E0JEJ7T4NK4J66WXHGJRQXDEG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG 59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0;YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0 375506f9333de6e529968767d19d565d189cc385 66HJFNXEDH8Y2NBFWJTSYDDW9BR3JZM2F64TA2ZSQPM72WGTDW5G -MR-DSM-0087 dsm::economic::lineage::ValidatedEconomicRoot android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated - CONFORMANCE §8 MR-DSM-0087 (Met) 3Q2CR6B5R69Z3D2MDX80KV9H51TYKCPGG1WSR7D2TAP58XVQRKF0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/lineage/ValidatedEconomicRoot# J88NF72SSACAF8WSR4AJF8QM2SQHRK7MBJ85TJ3K2R8SJBR12XGG 04KZHREB0Z2F8RCFWCA9QW3E6N0XQ31DWVNGJ27CVYWQ733AEHZG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 0QTQ7MT6BX9KK6DMKR0A020CPFMVBEACE4BQ92D22FWYNJQXR3NG -MR-DSM-0087 dsm::economic::register::RegisteredEconomicRoot android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated - CONFORMANCE §8 MR-DSM-0087 (Met) MJMEE2DBAX3WF03QQ5PRD1TM6VDVA6C3S7NZHAXW038NTVDP2320 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/RegisteredEconomicRoot# HAPPM09FS1CJR8S8B4C3YXHK01FXTQT8HSD4WB725HZRBNN4VECG 04KZHREB0Z2F8RCFWCA9QW3E6N0XQ31DWVNGJ27CVYWQ733AEHZG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 24V1EM66FA42P0FK8DNSK18HE385A3WZ7BN7R9QG4VYSPGX80JZG -MR-DSM-0096 dsm::crypto::blake3::dsm_domain_hasher android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::default_node_chain_consistency;dsm::merkle::sparse_merkle_tree::tests::verify_proof_against_root_static - CONFORMANCE §8 MR-DSM-0096 (Met) SEVYYZSJY2EEE0WRREQVNP88ZS7M2ADKT9BM3Q22S24H7E07F4P0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 crypto/blake3/dsm_domain_hasher(). KZEF8ZEFCFG0CCA7YFCG2MVH4MMZ3FHZ7EKCRFQJ6TVWGDVRRWEG RR560PTWGC4YPW6JH2EQMSBBXXAH0HNFX3A7PY6JD23ESSTG0VBG;QRKYDSZ5K4YW0K2052DA6EEDD98HJ7Q01B2GARBWDTK7W3JRWDC0 375506f9333de6e529968767d19d565d189cc385 S8E28AS5ZWHY9JQJWK2Z0Z5PKKM6CKEDQSMEAJG9F9K463HNR7BG -MR-DSM-0097 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes;dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened - CONFORMANCE §8 MR-DSM-0097 (Met) DQSAB5WYFWFJKFEDZE6EZACF8TCBWQ1RZM73SKW88946TB7TB0T0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). 7VMR8Q43YDYV2PEEA9GE2GCHNWTG39XQ987057JPD85E6TWNKEF0 CPXY5HCPPR8QPH0N4X2V394M0NNWBF1HH69MPDDZBH9G45KKZG50;D4CDXFTQCTE4Q6FJQ571P0AAM78VEQHQ48BR6YECWTJB578QJJT0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 NQ3JFHJE5TGSSW59XPAR30G7AQRJDHVMMXF4KJF0YF467EJZ3J8G -MR-DSM-0097 dsm_storage_node::api::transport::b0x::router node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes;dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened - CONFORMANCE §8 MR-DSM-0097 (Met) C1BHT89CQR7GHEQX1JGHZDMQ7G5XK6TRMR2RDQE0AVMVGM661YD0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/transport/b0x/router(). GTACWG9TCAD2JXSNZS1PDA4Y6SH6VNAJD5K8W7KMC9VJ6TRS5DYG CPXY5HCPPR8QPH0N4X2V394M0NNWBF1HH69MPDDZBH9G45KKZG50;D4CDXFTQCTE4Q6FJQ571P0AAM78VEQHQ48BR6YECWTJB578QJJT0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 F7DS6PED5P2CFGVKXC90B0E0YCBYND7PY8ERE0BFA4AGBZPVMQ6G -MR-DSM-0100 dsm::common::canonical_encoding::CanonicalEncode android MUST_REACH active - dsm::common::domain_tags::tests::all_tags_are_unique;dsm::common::domain_tags::tests::every_declared_domain_tag_reaches_the_registry - CONFORMANCE §8 MR-DSM-0100 (Partial) 9S06MX1BPRN8JV257T9ZFKKM3CS2Y9TEAD5MPHZPR38Y186M2Y0G Partial WIRING_GAP dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 common/canonical_encoding/CanonicalEncode# W25A8KVQCV4JVAKYRQ1TZZWYF37SSVKX7NGARGYTN9PBC3AJ4DK0 CH03A00JA32PN3QEA32V9NRT5267CY35JN5CQSYD0Y9RNKY6RZ30;VJPA06AAQ67GPF5KP9DBX5V2V7JE1ZB9FGP3NAWARBKSW0YSVYQ0 1d58ffa8846eaab4902a4912f44b359e16553bb3 R9M9H9PN3PGSS508JH4MAAJF4XR56YYYTVRQGS7YRNN1FVZP77W0 -MR-DSM-0107 dsm::types::device_state::relationship_chain_tip_v2 android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::tripwire_same_relationship_same_parent_different_children - CONFORMANCE §8 MR-DSM-0107 (Met) Q8CNJ48W5P1CVXZH21SCB8JXADH4WZQFXV3CNZ5TC3RK2DDN6XVG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/relationship_chain_tip_v2(). YRAENKNCGFR8V8NQ43AGBYW89C3S8AQ4Z7NK3FEPC149ZTKHN2E0 3DW17JCYMFNYV3GGJVWE0P3RNCMNKJXAQRVW8ZD9GK9KXERH3J80 375506f9333de6e529968767d19d565d189cc385 AE8EV6NS1VP4ES5T4XSMP8Z3FJ9NAHVD19BVRBT67ETX4TAR6D8G -MR-DSM-0108 dsm::types::device_state::relationship_chain_tip_v2 android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::verification::receipt_verification::tests::the_state_rules_hold_only_for_the_move_the_writes_prove;dsm::types::device_state::tests::changing_a_carried_byte_changes_the_derived_value_and_the_tip - CONFORMANCE §8 MR-DSM-0108 (Met) CMKGS1E83TX3S88A53WQVAH63BY967R5PMPQFY0W3WWFZX5S4K1G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/relationship_chain_tip_v2(). YRAENKNCGFR8V8NQ43AGBYW89C3S8AQ4Z7NK3FEPC149ZTKHN2E0 5X0FCQB850MWJ0TCYMMDNPMSAM0TPD0QDT6JSBEEV0TSFB4DX8YG;VGZDKAN8F1ZCWB0BWZF1ZFVNVJG07VM0QH69ZVVS7XB00BK92TR0 7cee0bed15d2731c582f4bad76252df1406b32d1 J94PNQCY38NWKHQ4A0YW7FXRE7SP7WHSJEMM6KC1JQ69YRDX9SX0 -MR-DSM-0108 dsm::verification::receipt_verification::verify_receipt_state android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::verification::receipt_verification::tests::the_state_rules_hold_only_for_the_move_the_writes_prove;dsm::types::device_state::tests::changing_a_carried_byte_changes_the_derived_value_and_the_tip - CONFORMANCE §8 MR-DSM-0108 (Met) RTSKTXH4A1KH7QMC7BX95JY4MHX8HR0059YQKJZA2DVANZX84Q10 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 verification/receipt_verification/verify_receipt_state(). 51Z73RGMBPTKE09TKPAHME7HSY7CZ408VG659WXMD3DASC9R4GY0 5X0FCQB850MWJ0TCYMMDNPMSAM0TPD0QDT6JSBEEV0TSFB4DX8YG;VGZDKAN8F1ZCWB0BWZF1ZFVNVJG07VM0QH69ZVVS7XB00BK92TR0 7cee0bed15d2731c582f4bad76252df1406b32d1 8BVRNTZ6T03XZ0YEMEZMCDZVJGSQTDA44DW7N0YBHE3B2VHK9ZY0 -MR-DSM-0109 dsm::core::bilateral_transaction_manager::compute_smt_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::multi_leaf_proofs - CONFORMANCE §8 MR-DSM-0109 (Met) 8QM69GWNVBNK22X7H5FQZBDQFTYDKCZCPDCZ297S7EP200H9D0EG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/bilateral_transaction_manager/compute_smt_key(). ES97MT63J11WBQ5E2PTXDX5HVJGFFARSYCVGVVRVX8VX92C8R3J0 85QMBWTKQK601YC9K9RBZGBKF0RDQH13EBV0G182AXQ0VG6GGQ50 375506f9333de6e529968767d19d565d189cc385 1E921Q6CJ77T6M6BAT6A1WVQSJYT84QXSPAEDHS9BRS1N901SCSG -MR-DSM-0114 dsm::merkle::sparse_merkle_tree::DEFAULT_SMT_HEIGHT android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::default_node_chain_consistency;dsm::merkle::sparse_merkle_tree::tests::empty_tree_root_matches_default_chain - CONFORMANCE §8 MR-DSM-0114 (Met) GPCRZ5S04C2B3D5NQAG11B5506R0B1EJ683F27EVQ3C6V2WXNBG0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 merkle/sparse_merkle_tree/DEFAULT_SMT_HEIGHT. F3PPA73S06640F8QYZ4YKR67BMK10M0TD8ARN3ACDCGHZBB6W4HG RR560PTWGC4YPW6JH2EQMSBBXXAH0HNFX3A7PY6JD23ESSTG0VBG;T1G6GJHA0NW718PTVDCQS05C5BDZ63N5A3VH72E18M8XM6D8HGDG 375506f9333de6e529968767d19d565d189cc385 8J4K9HDEKA34NC012EKEE9PKVMCNGN5BVAD7B880DGFKZCEY807G -MR-DSM-0114 dsm::merkle::sparse_merkle_tree::default_node android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::default_node_chain_consistency;dsm::merkle::sparse_merkle_tree::tests::empty_tree_root_matches_default_chain - CONFORMANCE §8 MR-DSM-0114 (Met) 42J5DHDRTFAZ397W6XRHKNW00DF8DSAAH5PWWV5ZTR1GPJ4THYR0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 merkle/sparse_merkle_tree/default_node(). ETQX78FHEJKWP8PGHC96S5QG9SCM9F8175QZNJNT2VWY06JAC600 RR560PTWGC4YPW6JH2EQMSBBXXAH0HNFX3A7PY6JD23ESSTG0VBG;T1G6GJHA0NW718PTVDCQS05C5BDZ63N5A3VH72E18M8XM6D8HGDG 375506f9333de6e529968767d19d565d189cc385 CN0MVS560S1VEZ372JZQTFMRZZFWQV2HMHF48A3R7P4MVG4BTPGG -MR-DSM-0115 dsm::common::domain_tags::dsm::core::TAG_SMT_KEY android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::smt_tripwire_vectors::smt_key_determinism_reversed_args;dsm::smt_tripwire_vectors::golden_tag_smt_key;dsm::smt_tripwire_theorem::theorem1_smt_key_deterministic - CONFORMANCE §8 MR-DSM-0115 (Partial) W814DH5DYH4PSK2DPK6SZMMG7XMPX5P7EXT6RNJ2QF25ZFCK58W0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 common/domain_tags/dsm/core/TAG_SMT_KEY. NVRNSXH229080GS8KZE1R49GWBS2KN70M7XJ6YA94QVQSM4X8J1G 442E2C1JQP7GZ64XFRMDMCDD6GQ77MY141KJWSCHVDP3G6NDE4PG;P95ET3V8YVZ51BY0RQ7VBFG99V5PY214XTHGWDWKENX0749N31QG;BZRS0W5T9YXESJTR399DH15JK2ZT49574Z0APEGVH5R3DNZ5XSWG 0d1228ff64e5b330ea0b03b5e13c6d4bc3be66c4 MWD611V94KMKG4RTMDYWZMB15FN92NFN8RF44RMX581ME4FV29RG -MR-DSM-0115 dsm::core::bilateral_transaction_manager::compute_smt_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::smt_tripwire_vectors::smt_key_determinism_reversed_args;dsm::smt_tripwire_vectors::golden_tag_smt_key;dsm::smt_tripwire_theorem::theorem1_smt_key_deterministic - CONFORMANCE §8 MR-DSM-0115 (Partial) 5X9GCKYC6E3YWGWM806FZPPC0RQCV5FNBFT4DQ5G7MNXDB4BK8N0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/bilateral_transaction_manager/compute_smt_key(). ES97MT63J11WBQ5E2PTXDX5HVJGFFARSYCVGVVRVX8VX92C8R3J0 442E2C1JQP7GZ64XFRMDMCDD6GQ77MY141KJWSCHVDP3G6NDE4PG;P95ET3V8YVZ51BY0RQ7VBFG99V5PY214XTHGWDWKENX0749N31QG;BZRS0W5T9YXESJTR399DH15JK2ZT49574Z0APEGVH5R3DNZ5XSWG 0d1228ff64e5b330ea0b03b5e13c6d4bc3be66c4 HSNB8H07EPAX2WQJ5CAFZGH01FY9XCV27RZTMF186GEMJVHPSMRG -MR-DSM-0116 dsm::merkle::sparse_merkle_tree::SparseMerkleTree::update_leaf android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationships_leaf_holds_its_current_head;dsm::types::device_state::tests::every_relationship_stays_in_the_root_past_the_old_capacity;dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed - CONFORMANCE §8 MR-DSM-0116 (Met) V0YGE1J84VTWHDPGTJR75098CPY4TPTBSE926P91BGDGV8XDS4X0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 merkle/sparse_merkle_tree/impl#[SparseMerkleTree]update_leaf(). 92JJV9P8Y2NYD73BXFJN7NWQ6CN60F4TT3N7ERWHZ3KXVMAWB1M0 J9145NF73J2G6S55GTNGX8Q7WV1BA769AKD42A7E6NEH686D7M80;P4S1K06Q3YNGE0N608HJ937P689B5Y3ZABQ9VJN8Y9V05PN4R0MG;47H9A519MJ5DKWAW2ZYRC81C96G0SB709CZF0H2CEBB5MCHMRGSG 375506f9333de6e529968767d19d565d189cc385 6GH4H0QAT445YXJ22BX9SRHCPH5C79T6K3EBFBJ90PR3MRQ1SKR0 -MR-DSM-0116 dsm::types::device_state::DeviceState::advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationships_leaf_holds_its_current_head;dsm::types::device_state::tests::every_relationship_stays_in_the_root_past_the_old_capacity;dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed - CONFORMANCE §8 MR-DSM-0116 (Met) 4WEKQA8B49NRK8GBVWD0FC5K54QAY6GJRS0QX0JD12PJWGE3V05G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]advance(). ZZ2VV07H48E8QY9YNMD5KTNEX65YMZSHA69K5WTJSBZF26486BT0 J9145NF73J2G6S55GTNGX8Q7WV1BA769AKD42A7E6NEH686D7M80;P4S1K06Q3YNGE0N608HJ937P689B5Y3ZABQ9VJN8Y9V05PN4R0MG;47H9A519MJ5DKWAW2ZYRC81C96G0SB709CZF0H2CEBB5MCHMRGSG 375506f9333de6e529968767d19d565d189cc385 V86ZNXEAWWHPX7AM3WDD0ZNBFK71K0K0SB2K7EFNGDHVAF4VPHK0 -MR-DSM-0119 dsm::merkle::sparse_merkle_tree::DEFAULT_SMT_HEIGHT android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::proof_size_bounding - CONFORMANCE §8 MR-DSM-0119 (Met) BTQXFD9YFJQ5Y2VJND00EM8TM1597YAMPDBC3S5YG99ZSC4NW75G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 merkle/sparse_merkle_tree/DEFAULT_SMT_HEIGHT. F3PPA73S06640F8QYZ4YKR67BMK10M0TD8ARN3ACDCGHZBB6W4HG R10P3J2MJQJZV7MN02D2H7W1VSPQDC7WCSVGPB0ZS3XA0WSAQHM0 375506f9333de6e529968767d19d565d189cc385 QYHHMTEJFDGE3S3PEDEKZA1KCRSFEEVE4VCVP66K60T3R0HJ39W0 -MR-DSM-0121 dsm::merkle::sparse_merkle_tree::SparseMerkleTree::update_leaf android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationships_leaf_holds_its_current_head;dsm::types::device_state::tests::every_relationship_stays_in_the_root_past_the_old_capacity - CONFORMANCE §8 MR-DSM-0121 (Met) 5YX2Y07HAW6G1G3HXN69NEZJT0MWHR0A62SGGSYFSP2ZSAR74Q80 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 merkle/sparse_merkle_tree/impl#[SparseMerkleTree]update_leaf(). 92JJV9P8Y2NYD73BXFJN7NWQ6CN60F4TT3N7ERWHZ3KXVMAWB1M0 J9145NF73J2G6S55GTNGX8Q7WV1BA769AKD42A7E6NEH686D7M80;P4S1K06Q3YNGE0N608HJ937P689B5Y3ZABQ9VJN8Y9V05PN4R0MG 375506f9333de6e529968767d19d565d189cc385 KK7KZ5D1HZRR0PJWQ52XT2TCFA4MHG5Y37WADY7YDB5Z08SDKMVG -MR-DSM-0121 dsm::types::device_state::DeviceState::advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationships_leaf_holds_its_current_head;dsm::types::device_state::tests::every_relationship_stays_in_the_root_past_the_old_capacity - CONFORMANCE §8 MR-DSM-0121 (Met) Z9G45FQCJ89PHVR0G566KSJRJNZP8C7SDWNJ87RGKKQ4EDFJ0TDG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]advance(). ZZ2VV07H48E8QY9YNMD5KTNEX65YMZSHA69K5WTJSBZF26486BT0 J9145NF73J2G6S55GTNGX8Q7WV1BA769AKD42A7E6NEH686D7M80;P4S1K06Q3YNGE0N608HJ937P689B5Y3ZABQ9VJN8Y9V05PN4R0MG 375506f9333de6e529968767d19d565d189cc385 9QMA9Q3DARZ76T10EH0R3Y8JQ8WNYP6BZ6EHQNGB3HGSGMQN1XD0 -MR-DSM-0136 dsm::types::device_state::RelationshipChainState android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::the_chain_tip_commits_succession_facts_and_no_balances - CONFORMANCE §8 MR-DSM-0136 (Met) 19E588K7AAJV7ZKN65WWMX8GBBEJK2N0KRTQTF3DZ0CA7YTQHN7G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/RelationshipChainState# P3FMDAWCE2EG2HFBJ1PYE3VDWTX2YN3NN2W5G4R05NP5MEXEXGFG MZHV8NNZMF3DZH8K3CN2P6PDTWQWKP9Z2SAWWV7KSR72061SEPMG 375506f9333de6e529968767d19d565d189cc385 TCJBMXG5A71QV3M3JADWK2DP11VFEP8RJV78CZNBQJAF2J3C4N70 -MR-DSM-0170 dsm::types::device_state::DeviceState::advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::tripwire_same_relationship_same_parent_different_children;dsm_sdk::storage::client_db::canonical_apply::tests::the_same_relationship_and_parent_with_a_different_transition_conflicts;dsm_sdk::storage::client_db::canonical_apply::tests::different_identity_reusing_nonce_or_parent_is_conflict - CONFORMANCE §8 MR-DSM-0170 (Met) A994EWEHE3GMYGNZYEKHMD77ZAJQQNM8V487JWP0VHQ0XRQW0MDG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]advance(). ZZ2VV07H48E8QY9YNMD5KTNEX65YMZSHA69K5WTJSBZF26486BT0 3DW17JCYMFNYV3GGJVWE0P3RNCMNKJXAQRVW8ZD9GK9KXERH3J80;T7ZQ7QHZS96PDVV6KVWYK50HX218NMEX8R54DQ8E8XMR4N1XCVDG;Y3YGZVKK6Q3ED7QSCV80QF07EMXJ5QTCZZSHZZCA1S7CTQB0WKR0 b7d9468858f6bcdb31f97ed84937343e7eea7227 8699G0QMZTMMW9F0FBM12KDYWX2H7K99BB9ZGNZRA8YD7RG4JR6G -MR-DSM-0170 dsm_sdk::storage::client_db::canonical_apply::insert_canonical_apply_identity_with_conn android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::tripwire_same_relationship_same_parent_different_children;dsm_sdk::storage::client_db::canonical_apply::tests::the_same_relationship_and_parent_with_a_different_transition_conflicts;dsm_sdk::storage::client_db::canonical_apply::tests::different_identity_reusing_nonce_or_parent_is_conflict - CONFORMANCE §8 MR-DSM-0170 (Met) PWTTDF53F2BT42EBX8RMVV9HCF9AGAKS4KEPX9S6MYGVZFYDQPAG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 storage/client_db/canonical_apply/insert_canonical_apply_identity_with_conn(). BDA8EFWXBBRNAS841GPXHPZEF8FM30HHJ92W3TV25XZKGRD3PVTG 3DW17JCYMFNYV3GGJVWE0P3RNCMNKJXAQRVW8ZD9GK9KXERH3J80;T7ZQ7QHZS96PDVV6KVWYK50HX218NMEX8R54DQ8E8XMR4N1XCVDG;Y3YGZVKK6Q3ED7QSCV80QF07EMXJ5QTCZZSHZZCA1S7CTQB0WKR0 b7d9468858f6bcdb31f97ed84937343e7eea7227 0N564MYJRNVQ9BMYG4JKXVD05SB41YS79TV232N75MP987EV6WM0 -MR-DSM-0170 dsm_sdk::storage::client_db::canonical_apply::lookup_canonical_apply_status android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::tripwire_same_relationship_same_parent_different_children;dsm_sdk::storage::client_db::canonical_apply::tests::the_same_relationship_and_parent_with_a_different_transition_conflicts;dsm_sdk::storage::client_db::canonical_apply::tests::different_identity_reusing_nonce_or_parent_is_conflict - CONFORMANCE §8 MR-DSM-0170 (Met) 66P66HYM0DWNZH6JN6HPFND5DV9EH6C9Z8YR65BJY7ZC30DKD19G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 storage/client_db/canonical_apply/lookup_canonical_apply_status(). HY8F5VHAQNDENBY5EAWZ2CN8MRD1KRJTDJJR3GCA0R3MVH1ZSJM0 3DW17JCYMFNYV3GGJVWE0P3RNCMNKJXAQRVW8ZD9GK9KXERH3J80;T7ZQ7QHZS96PDVV6KVWYK50HX218NMEX8R54DQ8E8XMR4N1XCVDG;Y3YGZVKK6Q3ED7QSCV80QF07EMXJ5QTCZZSHZZCA1S7CTQB0WKR0 b7d9468858f6bcdb31f97ed84937343e7eea7227 1ZJ6A1HM1F7YF49ZCJPE1WAEDH6EA08KWXAMA2B3HDE3NJT87R80 -MR-DSM-0181 dsm::ccb::decode::vault_state_at android MUST_REACH active - - - CONFORMANCE §8 MR-DSM-0181 (Partial) M3K01BQ0KJCG2GN4PTYX0J4VQNHVGB13XCKZY7SZTF872CSCV3Q0 Partial WIRING_GAP dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 ccb/decode/vault_state_at(). J9Q6ZMJT2KD9VCVB0BJGP80H6DFCGZNTJ5CKAGSNK6CQ91AK6630 - 8b2814918a9f0cf54a83d29080a9c6bf177682d9 WSPK39KHQZX66HNKGDXTJNVYFC5B88X7N9814YSRJ9XYCWPNW9AG -MR-DSM-0184 dsm::commitments::external_commitment::create_external_commitment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::commitments::external_commitment::tests::test_verify_external_commitment - CONFORMANCE §8 MR-DSM-0184 (Partial) N800DPEGSNFD71Z14RF8EVB6S8V9J1WV175GM74PMYJ35GAHTG60 Partial SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 commitments/external_commitment/create_external_commitment(). MHV7KYKVP84N350W2TBY3SKY978GB267QBNAFCKJK87D845DHXX0 2CATD76VZ9R22QT5HA9750FXE87VTBP9T02EWB2WH3EC5NRW8K2G 8b2814918a9f0cf54a83d29080a9c6bf177682d9 SZT5C0J5FPRHXRJA6DRGC60QKMAXPXBPJ6NZ08Z6Z7EGHJ0E39N0 -MR-DSM-0184 dsm::commitments::external_commitment::verify_external_commitment android MUST_REACH active - dsm::commitments::external_commitment::tests::test_verify_external_commitment - CONFORMANCE §8 MR-DSM-0184 (Partial) BMW4PGHZ31DZE1MDS99ZNNH7CPJC46DD4JT1913CQ7W7EF5PQHJG Partial WIRING_GAP dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 commitments/external_commitment/verify_external_commitment(). JDQKPJ6BFN60K0BGGFW150R1EBR81H695Q42SRTS9G84JXN7BG0G 2CATD76VZ9R22QT5HA9750FXE87VTBP9T02EWB2WH3EC5NRW8K2G 8b2814918a9f0cf54a83d29080a9c6bf177682d9 P4KAY8K3WGCTXDHCNQ6QJ64ZBSQD2TTZTFXZH0QS2SVPTJY5MF80 -MR-DSM-0185 dsm::types::device_state::DeviceState android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-DSM-0185 (Partial) QEDMHVE69S0J3KXVK9EGC60KZMHM3K91JYWCXPK4JYHEPX82M8V0 Partial SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/DeviceState# HA35M1YN03356B25WB3M842GPC5EYZBY55A0MP6EQ0YWMGZ3PS8G - 375506f9333de6e529968767d19d565d189cc385 790K3Z2FGJS4BPKHNZAS6YJYWE7TARFB1EK0KG9Z54J0JNKA2GDG -MR-DSM-0187 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-DSM-0187 (Partial) 3TJZMCC3GC20R2537E3P72FW4EP1PW6DAYX54NG03Z2MHPDC0EY0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 3RGXSFWYQ876BJBAT13HAVWXSDK3GK9Y9C818K0QESD3NV2N0GWG - a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 00WBFGX3FQQYVMAZV5WAQXGJ7JW5815JQAGAF6KZVS3Z426E69KG -MR-DSM-0189 dsm::core::token::policy::TokenPolicySystem::enforce_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::a_policy_is_registered_from_its_committed_bytes_alone;dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm::core::token::policy::policy_enforcement::tests::operation_restriction_is_case_sensitive - CONFORMANCE §8 MR-DSM-0189 (Met) V5KA1JRREMGA0R1AVZHFP5BXPBMATH7P2DF2YNVEZFVMG8HRPCV0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/impl#[TokenPolicySystem]enforce_policy(). 2XYBVY391K8808VQ0QQZT214A8SFADS1KBVF3XM9H4JH97AXXB8G X97GFZCKR8811524JP6ZQZQG137Y7MRZBJPWDN7TW7MY1ATRAYCG;R8XDYK58WCQP6X2QM069NZQZNFWSH31GTKN6ZV5GYSD8A2ERK9QG;AA1022GKBEF5BG22AY8CCT7V43KX1WC29302E633SGHPNHS7DYK0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 TEYS9QF8G13AVWTKSTZJNZQJ7V2CVK3D6P16Q14EEPJVWWFNGR4G -MR-DSM-0189 dsm::core::token::policy::TokenPolicySystem::register_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::a_policy_is_registered_from_its_committed_bytes_alone;dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm::core::token::policy::policy_enforcement::tests::operation_restriction_is_case_sensitive - CONFORMANCE §8 MR-DSM-0189 (Met) C1TMBK5FXPM4RBHMFWFJZ22YRX62H0QD009AH6KTH19YJ2KZ2FV0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/impl#[TokenPolicySystem]register_policy(). ZABYWG5EXPCACFGFRJJ0PZHFPHQ4WVQ6PW5RAHE59RFVRXTZS8V0 X97GFZCKR8811524JP6ZQZQG137Y7MRZBJPWDN7TW7MY1ATRAYCG;R8XDYK58WCQP6X2QM069NZQZNFWSH31GTKN6ZV5GYSD8A2ERK9QG;AA1022GKBEF5BG22AY8CCT7V43KX1WC29302E633SGHPNHS7DYK0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 YWPCKV6K2J31PNFY4VWPSN46NPNWSB8APBPVG1EJTWP5CBW6AVEG -MR-DSM-0189 dsm::core::token::policy::policy_enforcement::PolicyEnforcer::check_condition android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::a_policy_is_registered_from_its_committed_bytes_alone;dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm::core::token::policy::policy_enforcement::tests::operation_restriction_is_case_sensitive - CONFORMANCE §8 MR-DSM-0189 (Met) DK45ES3WS09G4QJYNRK49A2MPNG7SCZ6E5DTSSQEX0403ANXQRAG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/policy_enforcement/impl#[PolicyEnforcer]check_condition(). 8M3TKAHAANX8GGK2WCD1RM7V6TP45B2DCGVSAV9ES9HVRRWGHZTG X97GFZCKR8811524JP6ZQZQG137Y7MRZBJPWDN7TW7MY1ATRAYCG;R8XDYK58WCQP6X2QM069NZQZNFWSH31GTKN6ZV5GYSD8A2ERK9QG;AA1022GKBEF5BG22AY8CCT7V43KX1WC29302E633SGHPNHS7DYK0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 XGX70AN6TH2VH22E8F79VV3NW586WBAXC3FGQAHXR6XJ7E3ZV4ZG -MR-DSM-0190 dsm::economic::write_set::verify_operation_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_well_formed_swap_is_valid;dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg;dsm::sofi::validation::tests::an_intermediate_token_must_permit_transfer_too;dsm::sofi::validation::tests::a_token_outside_the_vaults_pair_is_invalid;dsm::sofi::validation::tests::an_off_by_one_output_is_invalid;dsm::sofi::lineage::tests::advance_is_refused_on_each_missing_conjunct - CONFORMANCE §8 MR-DSM-0190 (Met) K3QTKVPGR7NBW4T7TENP4QMW7158H39WJKYCTF5J80MC766WFETG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/verify_operation_write_set(). RXZKD709KXBTDD1K25TT67VBT84T5XM789MRTEEKBK4HG3DWP3RG 9SG9V529XN6CBDTJPZC1JRGNPQVTAYS1B2FENW5VCZFKVS2RVQM0;1Z8DHMH799QQNTMJYHACF3C4AZZ7JJ6WY44A74GJH98P1Y3JFP30;SF55H0K33HD1S6MJKBB74EG0JJNWQ5CDZWEYJV0KX1TWMNC1QGR0;JM4R2VEGSDT7KPSA9FYQCCHBFBRWQQ8J8Z790SJSYSHZD7Z4J38G;PDGJ90VEA6EGKVMZ0B1D25D64XYQHQG6VJXFVXTK0E6B24W4XFMG;PSHFKN7N24T985S2S6VHPE1831VY3YZJ5RHZ5HKTTXZG9JTT27B0 b7d9468858f6bcdb31f97ed84937343e7eea7227 CNAQQ6YSY3ZTQXFBHEVHPPJ1GQB8WD9H39WFYH59GT8KZHBJDZ4G -MR-DSM-0190 dsm::sofi::lineage::advance_resolved android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_well_formed_swap_is_valid;dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg;dsm::sofi::validation::tests::an_intermediate_token_must_permit_transfer_too;dsm::sofi::validation::tests::a_token_outside_the_vaults_pair_is_invalid;dsm::sofi::validation::tests::an_off_by_one_output_is_invalid;dsm::sofi::lineage::tests::advance_is_refused_on_each_missing_conjunct - CONFORMANCE §8 MR-DSM-0190 (Met) JCRCS8TY3CQ6DHP9Q41GAVCJTNS0EX2R7FH0W9JGB1Q14TQXZZWG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/advance_resolved(). 6693ZE7RZ7NQFKF1ZT468W6HVBV0SX4BQTEEF0D2AZXK6S2RRTN0 9SG9V529XN6CBDTJPZC1JRGNPQVTAYS1B2FENW5VCZFKVS2RVQM0;1Z8DHMH799QQNTMJYHACF3C4AZZ7JJ6WY44A74GJH98P1Y3JFP30;SF55H0K33HD1S6MJKBB74EG0JJNWQ5CDZWEYJV0KX1TWMNC1QGR0;JM4R2VEGSDT7KPSA9FYQCCHBFBRWQQ8J8Z790SJSYSHZD7Z4J38G;PDGJ90VEA6EGKVMZ0B1D25D64XYQHQG6VJXFVXTK0E6B24W4XFMG;PSHFKN7N24T985S2S6VHPE1831VY3YZJ5RHZ5HKTTXZG9JTT27B0 b7d9468858f6bcdb31f97ed84937343e7eea7227 0KH4549CM3JNA5TPTCVAPMV61VA0RCAW6711WAX734WH5FVKG6SG -MR-DSM-0190 dsm::sofi::validation::validate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_well_formed_swap_is_valid;dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg;dsm::sofi::validation::tests::an_intermediate_token_must_permit_transfer_too;dsm::sofi::validation::tests::a_token_outside_the_vaults_pair_is_invalid;dsm::sofi::validation::tests::an_off_by_one_output_is_invalid;dsm::sofi::lineage::tests::advance_is_refused_on_each_missing_conjunct - CONFORMANCE §8 MR-DSM-0190 (Met) SSES35HGCSWYKBZDFV5VBXRVMKY1E0AJH7WPGNW0TMG25FFJC2WG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate(). Q46WNDHC1NPK8Q2Y8AHBWA21XZTXGWEXTGVXCSHTPQ7TP9TS5TA0 9SG9V529XN6CBDTJPZC1JRGNPQVTAYS1B2FENW5VCZFKVS2RVQM0;1Z8DHMH799QQNTMJYHACF3C4AZZ7JJ6WY44A74GJH98P1Y3JFP30;SF55H0K33HD1S6MJKBB74EG0JJNWQ5CDZWEYJV0KX1TWMNC1QGR0;JM4R2VEGSDT7KPSA9FYQCCHBFBRWQQ8J8Z790SJSYSHZD7Z4J38G;PDGJ90VEA6EGKVMZ0B1D25D64XYQHQG6VJXFVXTK0E6B24W4XFMG;PSHFKN7N24T985S2S6VHPE1831VY3YZJ5RHZ5HKTTXZG9JTT27B0 b7d9468858f6bcdb31f97ed84937343e7eea7227 V97CC0N9SX7A0QVKX3NWBD1NJZ138SXGVA3HBBTEQNH1CCT1M600 -MR-DSM-0192 dsm::economic::lineage::advance_validated android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated;dsm::economic_admission_lifecycle::a_registered_root_disagreeing_with_the_witness_is_refused;dsm::economic::register::registered_root_construction_tests::a_registered_root_is_a_projection_of_a_verified_claim - CONFORMANCE §8 MR-DSM-0192 (Met) 8WADHXA6KEFEM2WGSW6J6JWEYR37VEWV9HANA1MZWR4MRZ5JJPMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/lineage/advance_validated(). DA0Z5E6SCYFJ8C4AEQMVZWHPEDH21H4BHWX531NFN4H1R2CVAQ2G 04KZHREB0Z2F8RCFWCA9QW3E6N0XQ31DWVNGJ27CVYWQ733AEHZG;J1NWD0BXZNY5V8JT8GDKS3N173ZX6BNKZB0EK7V34D67R5D4XHSG;07M6VXSBTEWZ6M28KY53WZJ91ZZBXME3W9DP5GG4F2CNN7D25Y80 b7d9468858f6bcdb31f97ed84937343e7eea7227 RX3Y7AB9NXFRDDY9NK9BVR6SPAD95NQTS17ZEY43J1DCFYF813X0 -MR-DSM-0192 dsm::economic::register::RegisteredEconomicRoot android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated;dsm::economic_admission_lifecycle::a_registered_root_disagreeing_with_the_witness_is_refused;dsm::economic::register::registered_root_construction_tests::a_registered_root_is_a_projection_of_a_verified_claim - CONFORMANCE §8 MR-DSM-0192 (Met) VEX8NJR27BTJMBNXXJQAF9DEA98GN9S0M82HVJ0D5TMXEHM6DEPG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/RegisteredEconomicRoot# HAPPM09FS1CJR8S8B4C3YXHK01FXTQT8HSD4WB725HZRBNN4VECG 04KZHREB0Z2F8RCFWCA9QW3E6N0XQ31DWVNGJ27CVYWQ733AEHZG;J1NWD0BXZNY5V8JT8GDKS3N173ZX6BNKZB0EK7V34D67R5D4XHSG;07M6VXSBTEWZ6M28KY53WZJ91ZZBXME3W9DP5GG4F2CNN7D25Y80 b7d9468858f6bcdb31f97ed84937343e7eea7227 NYG091CTBC9CSR5BT7H895X9W6P11BW8CGQXWYYBDKCMVTKNSP4G -MR-DSM-0192 dsm_sdk::sdk::economic_admission_flow::build_dsm_admission android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated;dsm::economic_admission_lifecycle::a_registered_root_disagreeing_with_the_witness_is_refused;dsm::economic::register::registered_root_construction_tests::a_registered_root_is_a_projection_of_a_verified_claim - CONFORMANCE §8 MR-DSM-0192 (Met) KGA26YYAWC7JHXTAN96WYSMYFCV9JT728P2BEDK8GJ59HF8J8FX0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/economic_admission_flow/build_dsm_admission(). G5TWTYBYK7TDEC9ZHC0JBXQBFQXTP2194X2DEJG7770FS7YVMY40 04KZHREB0Z2F8RCFWCA9QW3E6N0XQ31DWVNGJ27CVYWQ733AEHZG;J1NWD0BXZNY5V8JT8GDKS3N173ZX6BNKZB0EK7V34D67R5D4XHSG;07M6VXSBTEWZ6M28KY53WZJ91ZZBXME3W9DP5GG4F2CNN7D25Y80 b7d9468858f6bcdb31f97ed84937343e7eea7227 2RQ5S0900EJ40W1NNKH5GEWH40NY1BXSNEKWJCVH2WTR1MMVMM4G -MR-DSM-0194 dsm::types::policy_types::PolicyCondition android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-DSM-0194 (Partial) 1A092XYR2NS5GJ55H3SAXG0KJ79C67XTB5CNV1BAQGBJBACKVX7G Partial SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 types/policy_types/PolicyCondition# Z6PM6A9DBGTDXSM5FGDTZ326RZ2FCCX40CM96KK0XT60A0YFYZVG - 8b2814918a9f0cf54a83d29080a9c6bf177682d9 TJ4TR17N67EV7R7QAJ87CJ01QJYNJADHEC7CQYFHSHFRQCKSDAVG -MR-DSM-0197 dsm::economic::native_reserve::NativeReserveState::genesis android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::native_reserve::tests::no_valid_reserve_transition_can_mint_era;dsm::economic::native_reserve::tests::total_era_is_conserved_along_the_lineage;dsm::types::device_state::tests::a_builtin_token_cannot_be_created_at_the_accepting_transition;dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage - CONFORMANCE §8 MR-DSM-0197 (Met) R0BC619ZZDY255X5635CN6WN25BYX5X7YSENCAT9Y13EKFEPG730 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/native_reserve/impl#[NativeReserveState]genesis(). 1DVTRD1YF6917CFWV7JQ4N02HW27DWHB42KGY5ZQACD818Y4Q3A0 0Y183AF6X56P1E6AM0BV7AAASK8SBBG8FQZNVNJEAVXC8F8EG5QG;M4R953PJGGPZ9AEPA7G6YG9YPZQKRBQPTQYXC72NNCA274KQMGR0;CAQ2CJM54110TTV7ES0YNA7GVY3M6N9BT4NJ6GK0WDJ4KZ0A4TC0;91WRZVFK93AW3ZN7PR6HK5QD0P14NC5EQTKG1ZV0JRTD2P5G6RMG 375506f9333de6e529968767d19d565d189cc385 3ZHGSQKBDQXBMNBRJD148K1KDYRYC2GD4GN1NC8BR4A2W9WW8B1G -MR-DSM-0197 dsm::economic::native_reserve::release_constructible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::native_reserve::tests::no_valid_reserve_transition_can_mint_era;dsm::economic::native_reserve::tests::total_era_is_conserved_along_the_lineage;dsm::types::device_state::tests::a_builtin_token_cannot_be_created_at_the_accepting_transition;dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage - CONFORMANCE §8 MR-DSM-0197 (Met) JYKVNWDE5615T6JVWXD0FHPSYTZ6HJ9FFCHVZE0F8QX1MST9P2JG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/native_reserve/release_constructible(). KMVYP63WWPG52ATYQS3HTWRPHZZTXFFXZS3F85CE9PK654DF27H0 0Y183AF6X56P1E6AM0BV7AAASK8SBBG8FQZNVNJEAVXC8F8EG5QG;M4R953PJGGPZ9AEPA7G6YG9YPZQKRBQPTQYXC72NNCA274KQMGR0;CAQ2CJM54110TTV7ES0YNA7GVY3M6N9BT4NJ6GK0WDJ4KZ0A4TC0;91WRZVFK93AW3ZN7PR6HK5QD0P14NC5EQTKG1ZV0JRTD2P5G6RMG 375506f9333de6e529968767d19d565d189cc385 4JHW8SWCJXJD6FJ67EC227PBA51PMYQR1A8F8BE5F7PP0MAG3G7G -MR-DSM-0200 dsm::types::device_state::DeviceState::advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed - CONFORMANCE §8 MR-DSM-0200 (Met) W01BJTN54WZSKHXFTEWBJW184MEB0XV0CKF4ZDAZK4328PHVVAPG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]advance(). ZZ2VV07H48E8QY9YNMD5KTNEX65YMZSHA69K5WTJSBZF26486BT0 47H9A519MJ5DKWAW2ZYRC81C96G0SB709CZF0H2CEBB5MCHMRGSG 375506f9333de6e529968767d19d565d189cc385 2909KACF56XYDA6S4H112JWZVYAGZ8V9BF9YCTCN1R45RTVTF8TG -MR-DSM-0200 dsm::types::device_state::DeviceState::establish_relationship android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed - CONFORMANCE §8 MR-DSM-0200 (Met) XHF0TTJYNJ8CXPJQ5AHHCJZ6AAAJF2348RY2VCP1NN7H2M2K611G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]establish_relationship(). YR7WVRJM1XEXR1KEVP43105NPEAFPFV4NNKFCTF02JAQF6RY4GFG 47H9A519MJ5DKWAW2ZYRC81C96G0SB709CZF0H2CEBB5MCHMRGSG 375506f9333de6e529968767d19d565d189cc385 GZWNMVDDRN3GQRBAPZWWTGD8X5KQZSXNDQN9V3WKTS6WJY2PS1DG -MR-DSM-0200 dsm_sdk::sdk::core_sdk::CoreSDK::establish_relationship android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed - CONFORMANCE §8 MR-DSM-0200 (Met) 8JYVVPXRY1MS2GYAJ94N07GAMR37EYPMBG89S43WXSP570VA4QQG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/core_sdk/impl#[CoreSDK]establish_relationship(). JFY0BZWVVRCAZJ3B6NS5WR7YFQND7XWTRRJB8SRMB74VPPYFVG50 47H9A519MJ5DKWAW2ZYRC81C96G0SB709CZF0H2CEBB5MCHMRGSG b7d9468858f6bcdb31f97ed84937343e7eea7227 N73YYE9XX7BS1NZQ992VSGR4P15CWW43M05ET8CGG1AXY19T0620 -MR-DSM-0203 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_vault_creation_debits_exactly_its_two_funded_legs;dsm::economic_write_set::a_vault_creation_debits_the_pair_and_inserts_the_record - CONFORMANCE §8 MR-DSM-0203 (Met) P5YP5EG8AXHPS7SKFFSDWZQFANH5V1NCFQWEN482827RNCGF77F0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). G608SP6WY4FK1Z8C89NTNFCZKGAT0RAGA0C8MQ2P20V2GTQ5NR30 C738VETMC7HA5XBRNP2FR6KQD4WQKG8S8V5YNEZXR3P51QRCDQ00;QEJWR4CC17DM11SF02M3V5FDQHH4PEVSTP04MQ1NM167H9KV0AE0 1d58ffa8846eaab4902a4912f44b359e16553bb3 MQ7A8YFGXXER544PQQTV5RETHXRXZC00C0XWKBSB63C2YNM68K5G -MR-DSM-0203 dsm::types::device_state::validate_conservation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_vault_creation_debits_exactly_its_two_funded_legs;dsm::economic_write_set::a_vault_creation_debits_the_pair_and_inserts_the_record - CONFORMANCE §8 MR-DSM-0203 (Met) DWH3594K1R0YACCCZVCC5J0JJ9RN4RMSXWW4NTR5ZCS2MC74BVJ0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/validate_conservation(). 2W0DT0R5QASTTAYX1RV58A342N7Q5V34D4RKJPP327DA4HGCNY6G C738VETMC7HA5XBRNP2FR6KQD4WQKG8S8V5YNEZXR3P51QRCDQ00;QEJWR4CC17DM11SF02M3V5FDQHH4PEVSTP04MQ1NM167H9KV0AE0 1d58ffa8846eaab4902a4912f44b359e16553bb3 3QXNE4PQ4PM021THM4G5Y15E71ZB5QDYW60YTQMJW6YZPWEBNJNG -MR-DSM-0204 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::write_set::vault_create_binding_tests::policy_bytes_that_are_not_the_ones_the_state_names_are_refused;dsm::sofi::lineage::genesis_acceptance::a_carried_market_that_is_not_the_committed_one_is_refused;dsm::sofi::validation::tests::a_close_against_another_release_policy_is_invalid;dsm::sofi::validation::tests::an_off_by_one_output_is_invalid - CONFORMANCE §8 MR-DSM-0204 (Met) YTF354FNDE0NSBA2EST8CFX32V9WFFJT0445MRWZZC2EJZA1183G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). G608SP6WY4FK1Z8C89NTNFCZKGAT0RAGA0C8MQ2P20V2GTQ5NR30 RGEFFK269XV6338WZJBEYV27DCMPKPBNRREXQXXWZ0H0HRX51070;VRF5J02JEH7Z4R4G7R2DV8NAKBWQ2VXEF0TEA3M28S8907VVC5D0;Q24402MQ7ZWB0VAREZPB5QCGK3EHDP8ZBR1812J4J7DZ8THNN2QG;PDGJ90VEA6EGKVMZ0B1D25D64XYQHQG6VJXFVXTK0E6B24W4XFMG b7d9468858f6bcdb31f97ed84937343e7eea7227 XVJ9FKVBHTMJRQFEA2AN4RS1G9EWHFXZGMCJ4TT6PPFJ13EFFN9G -MR-DSM-0204 dsm::sofi::lineage::genesis_accepted android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::write_set::vault_create_binding_tests::policy_bytes_that_are_not_the_ones_the_state_names_are_refused;dsm::sofi::lineage::genesis_acceptance::a_carried_market_that_is_not_the_committed_one_is_refused;dsm::sofi::validation::tests::a_close_against_another_release_policy_is_invalid;dsm::sofi::validation::tests::an_off_by_one_output_is_invalid - CONFORMANCE §8 MR-DSM-0204 (Met) KXR3KAFAPE9E1SE2V85MBNPPS64G1NHXZFBSAAD27Z6YJWWTF1X0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/genesis_accepted(). 5VRDA0MFP5T6JC5JXDNHDX8F578BAPJWJ4Z0PW24JQ7VJWDM8YD0 RGEFFK269XV6338WZJBEYV27DCMPKPBNRREXQXXWZ0H0HRX51070;VRF5J02JEH7Z4R4G7R2DV8NAKBWQ2VXEF0TEA3M28S8907VVC5D0;Q24402MQ7ZWB0VAREZPB5QCGK3EHDP8ZBR1812J4J7DZ8THNN2QG;PDGJ90VEA6EGKVMZ0B1D25D64XYQHQG6VJXFVXTK0E6B24W4XFMG b7d9468858f6bcdb31f97ed84937343e7eea7227 PYBARFE7PFA2TVFC2EW4PA58PC2QEQEN4ZEX6PDTY6YXDXCQCDXG -MR-DSM-0204 dsm::sofi::validation::validate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::write_set::vault_create_binding_tests::policy_bytes_that_are_not_the_ones_the_state_names_are_refused;dsm::sofi::lineage::genesis_acceptance::a_carried_market_that_is_not_the_committed_one_is_refused;dsm::sofi::validation::tests::a_close_against_another_release_policy_is_invalid;dsm::sofi::validation::tests::an_off_by_one_output_is_invalid - CONFORMANCE §8 MR-DSM-0204 (Met) 73JER2CV08FJN8NH3SF4AND9JRRPG5C7ZVSVV3CZ8PP2MEEC92YG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate(). Q46WNDHC1NPK8Q2Y8AHBWA21XZTXGWEXTGVXCSHTPQ7TP9TS5TA0 RGEFFK269XV6338WZJBEYV27DCMPKPBNRREXQXXWZ0H0HRX51070;VRF5J02JEH7Z4R4G7R2DV8NAKBWQ2VXEF0TEA3M28S8907VVC5D0;Q24402MQ7ZWB0VAREZPB5QCGK3EHDP8ZBR1812J4J7DZ8THNN2QG;PDGJ90VEA6EGKVMZ0B1D25D64XYQHQG6VJXFVXTK0E6B24W4XFMG b7d9468858f6bcdb31f97ed84937343e7eea7227 Y4KBY9H08WG4CQPBCBXA7W6W65XYSGKGSCEPAQY50YFAEMFJ2MJ0 -MR-DSM-0206 dsm::route_chain::Route::leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s;dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root - CONFORMANCE §8 MR-DSM-0206 (Met) HVB1YSMRG3HYS6HJAZMMQ1N3ESJ2117T7GCKE6K199ZSP600CED0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). BEX2CAGVT7VCZ341WGN9ZJBNNP0FTXRK2JGQ0VXAEVGZV2DGGBJG P52Q4ZD292XXTV1GMMWMB0VE3ZWJAJYEBRAPBFAQSEWSQKTT8QCG;7NB7WHEC4FWCEBDEE5HE46BNM5CE1VHPVEEEB0FFV84CKYFFKSHG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 3ZT0HQW8VF9050467D2J9TCQVYA3578C3NA6S01AK9ZW9PQ301J0 -MR-DSM-0206 dsm::route_chain::Route::of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s;dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root - CONFORMANCE §8 MR-DSM-0206 (Met) 28A26JH6E4PRQ0B2MW344P3DTKGHFD8CBEKXVDK06R7ZYG52EKC0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). 2H7D33H2YAHV1P8H49KSWBYX8C1X27V35D0EM1TNFQPRPA2YJB80 P52Q4ZD292XXTV1GMMWMB0VE3ZWJAJYEBRAPBFAQSEWSQKTT8QCG;7NB7WHEC4FWCEBDEE5HE46BNM5CE1VHPVEEEB0FFV84CKYFFKSHG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 PPB6EKP6XR6TEZN3MTK86PQEMN6K505PC164RJ18Q9APQYA30N1G -MR-DSM-0207 dsm::sofi::exercise::recognize_exercise android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_exercise_whose_parts_are_not_one_operations_is_nothing;dsm::sofi::exercise::tests::an_exercise_round_trips_and_rebuilds_into_bound_objects;dsm::sofi::exercise::tests::an_exercise_counts_only_when_f_and_p_are_signed_under_the_key_p_commits;dsm_sdk::handlers::node_e2e_tests::an_unsigned_exercise_at_a_successor_key_takes_nothing - CONFORMANCE §8 MR-DSM-0207 (Met) M6V2G012VMHG24V6855M8M7KEDKG2624JHW2QNPA3SSC21ZN9V60 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/recognize_exercise(). HBM8GH8Q198E8RG0MSJJVMSGZWNXJ4KZ77DWDCGS30BZRN1XD4CG Z0HF0SB08Y9QDAP9JNM144EQHEGS6B1J09DCNZBJMEVK38B23FYG;Q4ATNHBTWRNNSRFGT77DQ3ETY9WCZVTGHPYHS0S14CYX1PP3D0BG;JPHRYAPYW3J73BMYMH0794XTCRMPK3CHWYBJS7YXBP4NNK55X0PG;Q49NTT37ERV0NDB7PVRG4GZ683MJ787HNB2NHFB7G476VNHHJEBG b7d9468858f6bcdb31f97ed84937343e7eea7227 HMR0XHQ9P3A2E6K5MHDQM4TJ804K6K90VZ1RSRYVWTSWXPWBMF0G -MR-DSM-0208 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::a_copy_at_another_position_or_of_another_value_does_not_count;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::exercise::tests::an_exercise_counts_only_when_f_and_p_are_signed_under_the_key_p_commits;dsm_sdk::handlers::node_e2e_tests::an_unsigned_exercise_at_a_successor_key_takes_nothing - CONFORMANCE §8 MR-DSM-0208 (Met) N0QK31P1SYGJGZZGJ59R58CBFZ9XDZDB7QF9F5X439655ESN4YM0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG 59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;WFEE1ERPXRTEWA86GKWZM9B9Z5TKVPKE3WWBB8CZ57RWKNMH6TR0;PEXCGPBJZHCW8GJMEMZEPS6GNGDXPF5JQGBJRP8B55M7YFFQF440;JPHRYAPYW3J73BMYMH0794XTCRMPK3CHWYBJS7YXBP4NNK55X0PG;Q49NTT37ERV0NDB7PVRG4GZ683MJ787HNB2NHFB7G476VNHHJEBG b7d9468858f6bcdb31f97ed84937343e7eea7227 W6HC8Z10JR206JN639E8N4AFP7EG1YFTZB7KSNZMPAD9CHQP4W2G -MR-DSM-0208 dsm::sofi::exercise::attempt_resolution android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::a_copy_at_another_position_or_of_another_value_does_not_count;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::exercise::tests::an_exercise_counts_only_when_f_and_p_are_signed_under_the_key_p_commits;dsm_sdk::handlers::node_e2e_tests::an_unsigned_exercise_at_a_successor_key_takes_nothing - CONFORMANCE §8 MR-DSM-0208 (Met) 2ZRAK4G42XFMYXVN6PMJ4J0Z2BYTD43TCK7EM03PT5963NE3A3KG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/attempt_resolution(). SNN86J5J70RV6J8NCYP9JTH3QD9DSHJ3TKR0VCGWFFYVX3992V1G 59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;WFEE1ERPXRTEWA86GKWZM9B9Z5TKVPKE3WWBB8CZ57RWKNMH6TR0;PEXCGPBJZHCW8GJMEMZEPS6GNGDXPF5JQGBJRP8B55M7YFFQF440;JPHRYAPYW3J73BMYMH0794XTCRMPK3CHWYBJS7YXBP4NNK55X0PG;Q49NTT37ERV0NDB7PVRG4GZ683MJ787HNB2NHFB7G476VNHHJEBG b7d9468858f6bcdb31f97ed84937343e7eea7227 WZQTNXE6Z1ZBT5S1626ATFRCHD6Z30FF59XS5SABNFG16P555FY0 -MR-DSM-0209 dsm::sofi::resolution::walk android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_walk_is_chunking_equivalent - CONFORMANCE §8 MR-DSM-0209 (Partial) HQ8GHB5BYHJ3AGANY6QA5DHA9D3SH8XCE3SGX7BCWM3VZGKZQSG0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/walk(). QBQH86N4BEPKWJ5TTRDP1F4XXNYEK3EYPBB7697HMW8AQEWEP6J0 036YZG6YKBACPF8QJ32EKPSTB8MHB871ZF2D0JAY7X3PENF1KRVG f874698f19cfbf70dc6226e653c0d5abb49a05d0 FCHW59N89MHKJRH13WEHVG8EJ5N7ZFMA0CHVARKTV76TGNFNC4E0 -MR-DSM-0210 dsm::sofi::derive::storage_seed android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root - CONFORMANCE §8 MR-DSM-0210 (Met) DPB199KNGZ8919DQPEKHXQ09SE5RYJN1WBK6QG1GP7TJSE54N0P0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/storage_seed(). 5PY9J9KYQ3QX5BAFVGQF6TYSN1KVAXVGAVXNFZSD9HYSY7MKE5D0 7NB7WHEC4FWCEBDEE5HE46BNM5CE1VHPVEEEB0FFV84CKYFFKSHG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 Z85EW6KPZ2JECKAQTGN28ET943X7KD4SSTV1AKBFPSJT9DB94FBG -MR-DSM-0210 dsm::sofi::exercise::AttemptCell android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root - CONFORMANCE §8 MR-DSM-0210 (Met) D9ME7AZ8AQEY16Q0GE4FKQWSMFKFJ4PKMRPWR4VKMZ6EV7MZ6JS0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/AttemptCell# X6DSS28H11EVMVZD0TZFMNA2Y805BFDR9H4J33ZKSN4EVQZ040Q0 7NB7WHEC4FWCEBDEE5HE46BNM5CE1VHPVEEEB0FFV84CKYFFKSHG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 EXTTVNPDJ0NG4SDB4TRMQGMSPHEMCWQ5FYC43BTMZWK7F51ZB03G -MR-DSM-0212 dsm::sofi::resolution::effect_of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::an_orphaned_parent_voids_a_valid_route_and_never_invalidates_it - CONFORMANCE §8 MR-DSM-0212 (Partial) 9N3D0DW36MC6P1GRPHZNWVGTYGPS0YZQG7QRX4TCXQYARVCB6RA0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/effect_of(). PYQTE6N9Z11HKXSPGEKD5PHQ3YGE02TNYQ191R4H3326Q8PQPH5G A80TEJT4Y74BFFS38Y2T7WC9481QFZHF8VMCWQE67DPKHQYMRQYG f874698f19cfbf70dc6226e653c0d5abb49a05d0 MC52689VB1DFQMHB6RNX077DR7KXSKKZ8ZTSDEHYT7SAKKR6J0C0 -MR-DSM-0215 dsm::dlv::route_commit::constant_product_output_classified android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::an_off_by_one_output_is_invalid;dsm::sofi::validation::tests::an_overflowing_reserve_is_invalid - CONFORMANCE §8 MR-DSM-0215 (Partial) KKFESVAXC5RA66DM2PH91CVR1GHAFCQMKBC1KJRZ2AT0X78TKFB0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 dlv/route_commit/constant_product_output_classified(). ED8RH5QS1T8XT563EW29K3VX0JPRQW3DDD02N8XFX8RFG0PFY09G PDGJ90VEA6EGKVMZ0B1D25D64XYQHQG6VJXFVXTK0E6B24W4XFMG;XM4EDHJ29PGA8HHK6DAVA7V92GTTAWDJQ1FHBE2SJ3M72JMK0ZSG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 1BEPRG4MAF80CZ8DC5JPE2R7786V16Q58Z9596NNVBGW139CWTTG -MR-DSM-0215 dsm::sofi::validation::swap_vault_post android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::an_off_by_one_output_is_invalid;dsm::sofi::validation::tests::an_overflowing_reserve_is_invalid - CONFORMANCE §8 MR-DSM-0215 (Partial) JSK6B0JXRS0G0HZCB6R8PT1N4F2JYQJ0HQTST36SGMZS13EBMF50 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/swap_vault_post(). RYQBNTHRXVK0P0CBM5GF5ZKR0SBZ5J9E0FTCMFEJWYZ8EKQSD6Q0 PDGJ90VEA6EGKVMZ0B1D25D64XYQHQG6VJXFVXTK0E6B24W4XFMG;XM4EDHJ29PGA8HHK6DAVA7V92GTTAWDJQ1FHBE2SJ3M72JMK0ZSG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 XA6BFGPMVNW1KA9R7X68YFRK9YWP3BKAY0RH74YZG8A2PM2RC6R0 -MR-DSM-0216 dsm::sofi::publication::recognize_fulfillment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-DSM-0216 (Partial) 1FB4F381PFS81TH9A5TXJHK9W1J0Z5V37HCP4WH6T1BA3ARTM0Z0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/publication/recognize_fulfillment(). 4JDVRWC3HEYCDM0XXM0E4YZV96YZJ37W5WXK7ED54DMRJBH55A3G - 1d58ffa8846eaab4902a4912f44b359e16553bb3 623NFBJNZVC9BJ7ZT6RQFM46DB2KRVAZN59JQ5JG61YEMK8R79JG -MR-DSM-0216 dsm::sofi::publication::recognize_setup android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-DSM-0216 (Partial) ZVMV34VM74Z815FCNTZFC59HGJ2KSVB1WJ5D74PKZ30R6W1Z3PF0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/publication/recognize_setup(). 8FF8RQCCYM89KC4B3718EP9M9CA1VQ7RVXPFHBQN18AFVBTXAAG0 - 1d58ffa8846eaab4902a4912f44b359e16553bb3 N8E0C998HFG90E3400SMYRZ5GAFPP2SDQK8AJPHDCDJJHM2ERZ9G -MR-DSM-0220 dsm::economic::native_reserve::release_constructible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::genesis_acceptance::a_genesis_on_another_storage_set_is_refused;dsm::sofi::validation::tests::a_vault_in_another_storage_set_is_invalid;dsm::economic::native_reserve::tests::a_release_must_succeed_exactly_its_parent - CONFORMANCE §8 MR-DSM-0220 (Met) 08M3QC7XRZ24CD47C6C085DW0KBG31BW2YND1KN19J70XG12SAQG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/native_reserve/release_constructible(). KMVYP63WWPG52ATYQS3HTWRPHZZTXFFXZS3F85CE9PK654DF27H0 JXQ2T0Z20XZNBVKZX7W6D6FVKPN5211MK2AM77F4BXCEWDWWKZVG;8KEN3GCCSDD3PVZH7VBHW655ZE1948FB56FN15VD1M7NXVH20Y4G;NVENV72509NJVBFW3NR6THZYBK444W6A8T0YVWSNB6EZZRSY82Z0 b7d9468858f6bcdb31f97ed84937343e7eea7227 AZFBS910F9QXYM4W7XB7ZRKVAF0E0858QWH9WG13S439CPF9A9K0 -MR-DSM-0220 dsm::sofi::lineage::genesis_accepted android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::genesis_acceptance::a_genesis_on_another_storage_set_is_refused;dsm::sofi::validation::tests::a_vault_in_another_storage_set_is_invalid;dsm::economic::native_reserve::tests::a_release_must_succeed_exactly_its_parent - CONFORMANCE §8 MR-DSM-0220 (Met) EKNZBG2EJ5SZ7GAPVENTSF34CPWHS2J2DRXH4MJ8FZ32ZQB8ZKCG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/genesis_accepted(). 5VRDA0MFP5T6JC5JXDNHDX8F578BAPJWJ4Z0PW24JQ7VJWDM8YD0 JXQ2T0Z20XZNBVKZX7W6D6FVKPN5211MK2AM77F4BXCEWDWWKZVG;8KEN3GCCSDD3PVZH7VBHW655ZE1948FB56FN15VD1M7NXVH20Y4G;NVENV72509NJVBFW3NR6THZYBK444W6A8T0YVWSNB6EZZRSY82Z0 b7d9468858f6bcdb31f97ed84937343e7eea7227 7NMCVWFCGMQDXA2XTJDWPM94Z9S34V9XTWE9NJ793RA0P5TCVAV0 -MR-DSM-0220 dsm_sdk::sdk::storage_set::canonical_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::genesis_acceptance::a_genesis_on_another_storage_set_is_refused;dsm::sofi::validation::tests::a_vault_in_another_storage_set_is_invalid;dsm::economic::native_reserve::tests::a_release_must_succeed_exactly_its_parent - CONFORMANCE §8 MR-DSM-0220 (Met) B8EXGTXQG8MJH12FW7AG843ZB85MP41VFT338MNJ4KAP071S3C70 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/storage_set/canonical_set(). 46WG96DEBX6ANTDXAH7KYYT8NNS27KQSZADY2D4W05Q0523VKH1G JXQ2T0Z20XZNBVKZX7W6D6FVKPN5211MK2AM77F4BXCEWDWWKZVG;8KEN3GCCSDD3PVZH7VBHW655ZE1948FB56FN15VD1M7NXVH20Y4G;NVENV72509NJVBFW3NR6THZYBK444W6A8T0YVWSNB6EZZRSY82Z0 b7d9468858f6bcdb31f97ed84937343e7eea7227 NMD1SE7JSDF6C7ZZ3EHCFNXX3PYH2WB6KTD5EM0YDZVJRPBXFTA0 -MR-DSM-0242 dsm::economic::peer_lineage::validate_peer_lineage android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::recipient_admission_tests::fabricated_sender_coordinates_are_refused_before_any_durable_state;dsm::economic::peer_lineage::tests::a_claim_that_is_not_final_decides_nothing_yet;dsm::economic_lineage_register::each_position_of_each_identity_is_its_own_cell - CONFORMANCE §8 MR-DSM-0242 (Met) 1KH742523613Z1FDAYSNWNEHP1F0N247HWEPYKFJ3JMGYFT2QB00 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/peer_lineage/validate_peer_lineage(). Q3TGC2MH7KB0H2WJXH9YMS4S07S80HWBSTKD3NM64SX0WX5CM6VG QMASSXVSGC2JQ7VV4E309VAFVNFZ8EWEYQV8KX3A96HKJZ9VWRWG;9NZSSEVY0BCPVCG4DWE74Z5ABBWQWXQ3M3QQ2Q2N4DJ2HQY2FE40;G12DY0SDN22N65XYX2WM4HWZ5JZ8FH7AG1H9KAHFW37FCXA6J500 b7d9468858f6bcdb31f97ed84937343e7eea7227 8V4ZEKY9ZDH5Z0YXP7T775TGRCR3ZF48W7R7PA04439XH7JWYDWG -MR-DSM-0242 dsm::economic::register::read_root_cell android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::recipient_admission_tests::fabricated_sender_coordinates_are_refused_before_any_durable_state;dsm::economic::peer_lineage::tests::a_claim_that_is_not_final_decides_nothing_yet;dsm::economic_lineage_register::each_position_of_each_identity_is_its_own_cell - CONFORMANCE §8 MR-DSM-0242 (Met) YXNN15S7ZG4B319H0J7EPMMNWWH81CVR507MSB0M3K1FB3GSSPY0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/read_root_cell(). RZFX32A412E7RSJPV3Z1JP4JTV48EYKAJZP3DWK6MJGRSR1PWX40 QMASSXVSGC2JQ7VV4E309VAFVNFZ8EWEYQV8KX3A96HKJZ9VWRWG;9NZSSEVY0BCPVCG4DWE74Z5ABBWQWXQ3M3QQ2Q2N4DJ2HQY2FE40;G12DY0SDN22N65XYX2WM4HWZ5JZ8FH7AG1H9KAHFW37FCXA6J500 b7d9468858f6bcdb31f97ed84937343e7eea7227 3ZG17CBW6PJ992CT1BTJE3TPC9GQQ65CFS0J2CQKK6ECVCTKWB2G -MR-DSM-0242 dsm_sdk::sdk::economic_admission_flow::prevalidate_incoming_transfer_admission android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::recipient_admission_tests::fabricated_sender_coordinates_are_refused_before_any_durable_state;dsm::economic::peer_lineage::tests::a_claim_that_is_not_final_decides_nothing_yet;dsm::economic_lineage_register::each_position_of_each_identity_is_its_own_cell - CONFORMANCE §8 MR-DSM-0242 (Met) 5K0G2KSNXBAJQJ8KFWW3B7EWZ51NTGZ7QHYKEVC58V3FJC4CW530 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/economic_admission_flow/prevalidate_incoming_transfer_admission(). NF058V509207BKVWYDQWXHM53T6TQYBZV700HTFVB5PSRBM0S4S0 QMASSXVSGC2JQ7VV4E309VAFVNFZ8EWEYQV8KX3A96HKJZ9VWRWG;9NZSSEVY0BCPVCG4DWE74Z5ABBWQWXQ3M3QQ2Q2N4DJ2HQY2FE40;G12DY0SDN22N65XYX2WM4HWZ5JZ8FH7AG1H9KAHFW37FCXA6J500 b7d9468858f6bcdb31f97ed84937343e7eea7227 G3370Z9FBWY9B94PS0DQR5EX2J41KVHD34TP2T53PNCMBBD9FP9G -MR-DSM-0245 dsm::types::device_state::DeviceState::advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-DSM-0245 (Partial) KY63Y2JJDQV3C9JKPMHQY00YSK9YSNZQ9WRZ2C9NJFMBD5K3H4J0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]advance(). ZZ2VV07H48E8QY9YNMD5KTNEX65YMZSHA69K5WTJSBZF26486BT0 - 375506f9333de6e529968767d19d565d189cc385 0T5D48M6WNA38PHB9ER950MW9D1AQBP11SMQBSA9CPR1AD6HAB90 +MR-DSM-0022 dsm::economic::lineage::advance_validated android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_admission_lifecycle::a_faucet_claim_transition_advances_the_validated_lineage - CONFORMANCE §8 MR-DSM-0022 (Met) Q2DFMXHSMJG9E6SDEVF43MMA322XHEYYMBHXMRSQYQDYTA7JDDS0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/lineage/advance_validated(). 6YC5BB68ZGK1M7HBFGNPCJQVTDHP7KA1VB4Y135GBYBX5GP74QPG M0YWK1MWC35K0MPJXXEJVSKYP3MJ3PBHFMAHR91MQAZ7ZAXPZ62G 83b6f616ac244334064c4c56d391c23eb42a7ce6 RMJAHRBBZ815MSJR4C5KTFH5PNQF5ZG3T0297BMP66KV3G5X2900 +MR-DSM-0028 dsm::economic::peer_acceptance::resolve_expected_prev_pk android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_peer_evidence::ek_ancestry_walks_one_step_and_refuses_unhashed_substitution - CONFORMANCE §8 MR-DSM-0028 (Met) 2NZP48XANRPCNBBRWPG63HPD18YHM2E28HCM70EZ6W675BKYHG6G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/peer_acceptance/resolve_expected_prev_pk(). W6YS5SB8Z80MZKW2M7VKVJSWAG2XREPPF73KAHSD0Q3PC5664H60 62VT01T520RAW98FTV3AF567B5Z635NXZZTH13RTWFXHSK8YK8E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 2NWETAMFDCXM6FXXFXNN71GZK1TP7KDA40B5Y024XVEYKHJ14ADG +MR-DSM-0030 dsm_sdk::sdk::economic_admission_flow::admitted_self_loop_operation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::sender_admission_tests::a_transfer_registers_the_senders_root_at_the_next_position;dsm_sdk::handlers::sender_admission_tests::token_routes_admit_create_and_burn_end_to_end;dsm_sdk::handlers::sender_admission_tests::an_admitted_burn_advances_the_lineage_and_is_foreign_walkable - CONFORMANCE §8 MR-DSM-0030 (Met) P4P6MGWP2XCZVFB7XWJYZBJA43DETSQM85R6WXAWK2B74W2JA38G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/economic_admission_flow/admitted_self_loop_operation(). MYZJ9FNNPXVJEE6FH1F58ZW82NQ1RA4RHWDM91B9VG11ZKVMPM7G 713SXV4R73FC3MVYHDF91S7VXTA5J35HFNMD9MKCRW5HESGQB24G;EKGK9TFRR2QK8SPVFAB47KZGVVP2ED3F7W79JP0QNSERS7Q7S90G;DSDKA6B9Z5NN4TS82RSWS48640KEAJB5YEJX628D6Y33BK9MMM4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 HVSJVH951JVNT999TVB6WHTMXZQ0XKWA711S6WK7MY08PH53VCX0 +MR-DSM-0030 dsm_sdk::sdk::economic_admission_flow::finish_admission android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::sender_admission_tests::a_transfer_registers_the_senders_root_at_the_next_position;dsm_sdk::handlers::sender_admission_tests::token_routes_admit_create_and_burn_end_to_end;dsm_sdk::handlers::sender_admission_tests::an_admitted_burn_advances_the_lineage_and_is_foreign_walkable - CONFORMANCE §8 MR-DSM-0030 (Met) 45W7H0VMA58RHFRZ0VFNFNJF3HGBZFR1N65WNV6N94FXB46917M0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/economic_admission_flow/finish_admission(). A4SFTH6K6B336J76MYHH3EPJXRWFQXVJSF1X820C09DXVSR4SEY0 713SXV4R73FC3MVYHDF91S7VXTA5J35HFNMD9MKCRW5HESGQB24G;EKGK9TFRR2QK8SPVFAB47KZGVVP2ED3F7W79JP0QNSERS7Q7S90G;DSDKA6B9Z5NN4TS82RSWS48640KEAJB5YEJX628D6Y33BK9MMM4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 AEY8A6EVEB0GWJVWHZM525A41ZVCQCP2K512976ENKTM23BR1VS0 +MR-DSM-0030 dsm_sdk::sdk::economic_registers::register_economic_root android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::sender_admission_tests::a_transfer_registers_the_senders_root_at_the_next_position;dsm_sdk::handlers::sender_admission_tests::token_routes_admit_create_and_burn_end_to_end;dsm_sdk::handlers::sender_admission_tests::an_admitted_burn_advances_the_lineage_and_is_foreign_walkable - CONFORMANCE §8 MR-DSM-0030 (Met) 5RY4619P0HSD2PXYV27WJ3D6EG52Y816J8JB9EY9JAY7V1YPREAG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/economic_registers/register_economic_root(). X5D531WZQJQRW364WQXKH739CW4SF2NE7DK4EYFJG7T7EBA2JKB0 713SXV4R73FC3MVYHDF91S7VXTA5J35HFNMD9MKCRW5HESGQB24G;EKGK9TFRR2QK8SPVFAB47KZGVVP2ED3F7W79JP0QNSERS7Q7S90G;DSDKA6B9Z5NN4TS82RSWS48640KEAJB5YEJX628D6Y33BK9MMM4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 QQHJEQRGP96FK34Y7FGHZMZ4XJGER9N6BPGM897C80CPT8MBS3PG +MR-DSM-0031 dsm::economic::register::economic_root_register_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_lineage_register::each_position_of_each_identity_is_its_own_cell - CONFORMANCE §8 MR-DSM-0031 (Met) 3128EQWZ1P3X1J4FHNTCZY0YXWHEBF7SZAC23RQ9SVTE9PCFK4MG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/economic_root_register_key(). 599VPRZ0DT0F1C300RGKGRBEAEWE0S0SH3X5J3QJQ8XA1FJ9B020 DFZGKFRXASC6MBP2WT869VTFXWZ6EBBN8ZRM9YD9WSQ14HQ1131G 83b6f616ac244334064c4c56d391c23eb42a7ce6 0WF82X8ME7D4B7D0BHMJG6GEK1VDHXHNSX20NQVWS0VS7942ENE0 +MR-DSM-0032 dsm::economic::register::position_seed android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0032 (Met) B14XKEXTHFWXRZANJSC0X10D9ZX3JE0JB6F4YK3B4XYF2R1FX920 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/position_seed(). 9Z4XC810WDEMAW9RQX5DN6P1AJ4Y1T1NA7ZCT41ZYJ91AK6X6Y30 50AW036QSCS9KG3SFSEDJ1KZ4H8EMWV8VTA0KR6PWEENZM922RQG;P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 H22XPY4GVZ8KSGCRY896E252R30KH8CFDGYYJ5TKYKFH397TJW9G +MR-DSM-0032 dsm::route_chain::Route::leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0032 (Met) AKA38PVW8YKSXYZ9EMT05C14S37JF7W4HF8RFB2ZYCJRS1PYBJC0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). AP8MB1KX5PEG4TXH8S51H81SX8Q58PEKS1YYCZ34EC93V5Y36Z80 50AW036QSCS9KG3SFSEDJ1KZ4H8EMWV8VTA0KR6PWEENZM922RQG;P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 1RJDR55V8DYMYNCWP4VB7E8D3AA3SE1QGR9Z0HZNJ2CHR8084HS0 +MR-DSM-0032 dsm::route_chain::Route::of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0032 (Met) 2013F3M9AGR3DCKTBC99GGRT07CA4EQ27QNQ42X46MG5NF1WZ3G0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). GNVEG361ZYQB62572RJWMJKYZAVXPDXWVBH5KS2963VJ7ZTY1YV0 50AW036QSCS9KG3SFSEDJ1KZ4H8EMWV8VTA0KR6PWEENZM922RQG;P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 208V78S834XTK32V1TTEJ3FXY9XXB0JE8W9CQCGCJRF2TENA89GG +MR-DSM-0032 dsm::route_chain::RoutedCell::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0032 (Met) 8333YBAQFA06Z5TYA69FBXSQTPGAT6RKTQ57GGB8S5920Y4DEMR0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[RoutedCell]new(). B7HHXTRYNBXMEKYBB1DCVV7DJD9EFT8FX93QHJD3Z3Z03BBXMARG 50AW036QSCS9KG3SFSEDJ1KZ4H8EMWV8VTA0KR6PWEENZM922RQG;P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 5M523XAG962QN04FZD0TR4103FN9XDKZ52VF8GTHNRSTW94YY1TG +MR-DSM-0033 dsm::economic::register::RegisteredEconomicRoot::from_verified_single_root android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::register::registered_root_construction_tests::a_registered_root_is_a_projection_of_a_verified_claim;dsm::economic::register::registered_root_construction_tests::a_conditional_claim_has_nothing_to_construct_from - CONFORMANCE §8 MR-DSM-0033 (Met) VVBYPPQETBZNJF29J58W86Z2RK2AZ1K7EY90W60WA0GE1J7SNXZG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/impl#[RegisteredEconomicRoot]from_verified_single_root(). A2TCM2Q91SVX3A9YDQK561QWGRQWS4A5RF61DKRVHJ4GQEECAY1G J3GET690S4G9TEM6KSDNYXE2YWD78PWAQQ6EV4HPTN8YPN75KYZ0;HP32FJ9PT5FACSX5CMN0XTWKCTNS00BKBT3FA722JQ2AECPNQB40 83b6f616ac244334064c4c56d391c23eb42a7ce6 8YEBSG2G0EBKF7PMH0B9Z6JM5R7C9AZWZ7B3ECJWBS5GMDWWYKT0 +MR-DSM-0034 dsm_sdk::sdk::route_seats::continue_write android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::sender_admission_tests::a_transfer_registers_the_senders_root_at_the_next_position;dsm_sdk::sdk::route_seats::tests::a_value_the_leader_already_holds_is_not_written_there_again - CONFORMANCE §8 MR-DSM-0034 (Met) XGYWEXASDM0MS2KD0KWRZZ3MK9ZTSA7ANYRCSFCQH7QV6ZGJEHSG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/continue_write(). P8MZ6TZ8CH8JTG1JSRDNPCDWS32BTJPXME0DBHAR0VH5M5NMSQ20 713SXV4R73FC3MVYHDF91S7VXTA5J35HFNMD9MKCRW5HESGQB24G;9J6MKRXKZ04GYVQ2QQS9HK152TP3TA6SPJH9Q1AYMG9BS02A97V0 83b6f616ac244334064c4c56d391c23eb42a7ce6 JCJE7Z41TTRYTP9EKYWXYT712ZNP75CVACDAY5R5N6XFE6N75S3G +MR-DSM-0034 dsm_sdk::sdk::route_seats::from_leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::sender_admission_tests::a_transfer_registers_the_senders_root_at_the_next_position;dsm_sdk::sdk::route_seats::tests::a_value_the_leader_already_holds_is_not_written_there_again - CONFORMANCE §8 MR-DSM-0034 (Met) H1CWTG6Q0T1HX9XKMD5DDP3JCR5M83QKBWPDSGZN94HVQCPXAZGG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/from_leader(). 8V86ZJQRJXK6WAM9GM94NG5PYN3XX4H60BN9CNNRJE5MZAD6X6V0 713SXV4R73FC3MVYHDF91S7VXTA5J35HFNMD9MKCRW5HESGQB24G;9J6MKRXKZ04GYVQ2QQS9HK152TP3TA6SPJH9Q1AYMG9BS02A97V0 83b6f616ac244334064c4c56d391c23eb42a7ce6 4C25P1EGQ37X2MZJZRMCY14G6JPMDP837W7WD0X0T715WMXQW0F0 +MR-DSM-0034 dsm_sdk::sdk::route_seats::write_recorded android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::sender_admission_tests::a_transfer_registers_the_senders_root_at_the_next_position;dsm_sdk::sdk::route_seats::tests::a_value_the_leader_already_holds_is_not_written_there_again - CONFORMANCE §8 MR-DSM-0034 (Met) 2JSVRB7DW1KN8Y807FW3CV8PZ1Y1XJ8DX7GYKZFJCH9PDD37EBHG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/write_recorded(). KXTEY8EW31PWTPS5NQMBDKM0EQZEJANTJFSBZW5E30M1SM368YNG 713SXV4R73FC3MVYHDF91S7VXTA5J35HFNMD9MKCRW5HESGQB24G;9J6MKRXKZ04GYVQ2QQS9HK152TP3TA6SPJH9Q1AYMG9BS02A97V0 83b6f616ac244334064c4c56d391c23eb42a7ce6 TVXDJJ4A92K34JEG1DKYDHEMR0PJHGJ42GA9219W2NYT5ZM424Z0 +MR-DSM-0035 dsm::route_chain::CellEvidence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-DSM-0035 (Met) TCJEEWRQXVHNZC1132YNF90XXAQZQTZ3S5KGK6ZYWCTDV7AC04Q0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/CellEvidence# QV40SKJZ42A6MBZWKDQA4CJWH85MXYAY7PSKE4NAGGH7GD2MSRVG XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;64RSG57CVNW08F2D8RAQBCV6WA08SGK23V2MDJB1W6Z0WGK06RY0;T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G 83b6f616ac244334064c4c56d391c23eb42a7ce6 G1M1ZAA76S32WKBAYYPREFFMY0V3E3J52FJNBT62PMXY0M495XS0 +MR-DSM-0035 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-DSM-0035 (Met) F9WS3MZKFTQYN31C5VR0D346EM2X9FSF30X16C5ZDHM9JZ4ZSAPG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;64RSG57CVNW08F2D8RAQBCV6WA08SGK23V2MDJB1W6Z0WGK06RY0;T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G 83b6f616ac244334064c4c56d391c23eb42a7ce6 9RX2RE6KP1VTMRHESSG3EZQSRVQ7B9T566FEEWD47VXW6N97XY60 +MR-DSM-0036 dsm::economic::register::read_root_cell android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::register::registered_root_construction_tests::a_held_root_cell_carries_the_exact_bytes_that_hold_it;dsm::economic::register::registered_root_construction_tests::a_final_root_claim_has_a_completion_proof_that_checks;dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-DSM-0036 (Met) VM6MF12WPRK1X3YF3867K6YTNBMS3KTS84JJBMC59TCH2TREH3X0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/read_root_cell(). 3FGJADXQV69STHQP4KMM3NS1CE8376DAJTQ0ZW11ZGWTMSVFT9GG EZQKAEXYHR0RFWPSZGGT6H13N4P6TQ7KP5TWM8PDSP3CWZYZJRG0;47KF35Q0RM3MJGZFP9X3C6KE7SSMSYK2WYAX1TXQN5K9FK1R2SA0;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;G3VHSF069HY7VBH7TQ79KCV1430W8MY90CVNB2D0NYFE4GAF0ZY0 83b6f616ac244334064c4c56d391c23eb42a7ce6 RH75DH212AAX289E26PQQZR6CNQ2RH4307XQZN2N4N74WGCKNCVG +MR-DSM-0036 dsm::economic::register::root_claim_naming android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::register::registered_root_construction_tests::a_held_root_cell_carries_the_exact_bytes_that_hold_it;dsm::economic::register::registered_root_construction_tests::a_final_root_claim_has_a_completion_proof_that_checks;dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-DSM-0036 (Met) RMD09R94G7GYW4RKV9YX7WP934294R39SV5KZNAECC2Y87AEB2ZG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/root_claim_naming(). 98V6MZBJVAWME3MV4AK49GF7XJEJC8PBWAFHDA654CF36X0B1XMG EZQKAEXYHR0RFWPSZGGT6H13N4P6TQ7KP5TWM8PDSP3CWZYZJRG0;47KF35Q0RM3MJGZFP9X3C6KE7SSMSYK2WYAX1TXQN5K9FK1R2SA0;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;G3VHSF069HY7VBH7TQ79KCV1430W8MY90CVNB2D0NYFE4GAF0ZY0 83b6f616ac244334064c4c56d391c23eb42a7ce6 7EBQ5TG6X96ZKBS8T4ACX41V94MDY6S3ZRGM9TT9DBM7X54ZFZ4G +MR-DSM-0036 dsm::route_chain::ChainState android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::register::registered_root_construction_tests::a_held_root_cell_carries_the_exact_bytes_that_hold_it;dsm::economic::register::registered_root_construction_tests::a_final_root_claim_has_a_completion_proof_that_checks;dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-DSM-0036 (Met) H20V5P9X9CMN1K36YXZSZJCZ8YP47PM58Q5YHNX69FFDD37PC7D0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/ChainState# CHXY693QW5TWC7T4105BZNBR0000FFCHQ1WXAKBHWGBQYX4WRD90 EZQKAEXYHR0RFWPSZGGT6H13N4P6TQ7KP5TWM8PDSP3CWZYZJRG0;47KF35Q0RM3MJGZFP9X3C6KE7SSMSYK2WYAX1TXQN5K9FK1R2SA0;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;G3VHSF069HY7VBH7TQ79KCV1430W8MY90CVNB2D0NYFE4GAF0ZY0 83b6f616ac244334064c4c56d391c23eb42a7ce6 VMJDXH3S6VSYHQ0CY3FRJGXKEFPCXB9JSCED0FGV0AZEWTPAZBZG +MR-DSM-0036 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::register::registered_root_construction_tests::a_held_root_cell_carries_the_exact_bytes_that_hold_it;dsm::economic::register::registered_root_construction_tests::a_final_root_claim_has_a_completion_proof_that_checks;dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-DSM-0036 (Met) SMSTC0WB2MYFQ1J8YQ5AGTB7RFDFWBYSEKHVWE92AGS17D2EGG4G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 EZQKAEXYHR0RFWPSZGGT6H13N4P6TQ7KP5TWM8PDSP3CWZYZJRG0;47KF35Q0RM3MJGZFP9X3C6KE7SSMSYK2WYAX1TXQN5K9FK1R2SA0;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;G3VHSF069HY7VBH7TQ79KCV1430W8MY90CVNB2D0NYFE4GAF0ZY0 83b6f616ac244334064c4c56d391c23eb42a7ce6 YZ87BA4M5ASX7JENJYK10D40GNMVXTPR8ZNSVME1P0XXXSB3X62G +MR-DSM-0037 dsm::route_chain::Missing android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in;dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible - CONFORMANCE §8 MR-DSM-0037 (Met) V6SE6ADWQBSXPXN4W19QBFMHM2WV9MH37EABS8488T7D07QQ1190 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/Missing# 4GQ9KE7ZKDXRZ7GMZK12DN5HWWMD3TYJDP71ARZJBNDHAPHSYW3G X7FYBCPH3Q9E2N8Z97Y23SF0XG73V1SS12G3PKG0ACZ6AXBBGMX0;430GCFQAPJGHQKY4ZDMD9295BCW3T4AN692W4VVAYA4GCKR0EFFG 83b6f616ac244334064c4c56d391c23eb42a7ce6 VDJA1H1SCDP6WFFBWHVYB11ZWCYR0VBD0C3G3HCCD1YED4VPEB0G +MR-DSM-0037 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in;dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible - CONFORMANCE §8 MR-DSM-0037 (Met) WYKMP2KCAV7JETDCA7Q4QNQ2QNVH0T4NB83W0S250SF46M00C0MG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 X7FYBCPH3Q9E2N8Z97Y23SF0XG73V1SS12G3PKG0ACZ6AXBBGMX0;430GCFQAPJGHQKY4ZDMD9295BCW3T4AN692W4VVAYA4GCKR0EFFG 83b6f616ac244334064c4c56d391c23eb42a7ce6 W17K8T79PFQGZ4WXBR999QY58FD772S447XCD8RNM2P9ABGNWXQ0 +MR-DSM-0038 dsm::economic::lineage::advance_validated android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_admission_lifecycle::a_registered_root_disagreeing_with_the_witness_is_refused - CONFORMANCE §8 MR-DSM-0038 (Met) VJDAHBZD9AP763C223PV3D09C8Y4J78KH2RM7T37V2HGH0FFCCCG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/lineage/advance_validated(). 6YC5BB68ZGK1M7HBFGNPCJQVTDHP7KA1VB4Y135GBYBX5GP74QPG JPY0R0A846Q0DQ0506RA9FK1KH1S1EX7N8JZ575D2JKG47QAP3GG 83b6f616ac244334064c4c56d391c23eb42a7ce6 VR1STN9YTEWHP9VP9TNGZK9VT4SWJ6DZRNV77645MM6FQEHM7JX0 +MR-DSM-0040 dsm::economic::lineage::advance_validated android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_admission_lifecycle::a_faucet_claim_transition_advances_the_validated_lineage - CONFORMANCE §8 MR-DSM-0040 (Met) F9X3KZ57V2CBM93C81YSMJ0NP7YVTCW16AP0QT72EA1JVDW8CFA0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/lineage/advance_validated(). 6YC5BB68ZGK1M7HBFGNPCJQVTDHP7KA1VB4Y135GBYBX5GP74QPG M0YWK1MWC35K0MPJXXEJVSKYP3MJ3PBHFMAHR91MQAZ7ZAXPZ62G 83b6f616ac244334064c4c56d391c23eb42a7ce6 7KS02617FM9FJXN86FBGYJMV2NZB2XYMAS6C072W73NGAEHMHSY0 +MR-DSM-0041 dsm::sofi::conformance::conformance_invalid_in_hand android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_key_held_by_an_exercise_its_own_bytes_refute_is_skipped_on_those_bytes_alone;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-DSM-0041 (Met) B6SN2Q5K0Y4E1SVFP3SXEZN86X2ATTDY9EBKMWBJRJXX27H4TTH0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/conformance_invalid_in_hand(). 35BHCMEREPBV0P6V216MG7V8D8NS4TJSDWP9Q9F76T5D8TKYPYJ0 DKM0673S5DM9927BAVAW99VNBM62SYYNA5CW2V1TE2KPF1Y82BQG;ZNHRDPFDRN5DSFFGA0XCSFN1GYFSPCXREKTK0MXQKX2D5PRPN810 83b6f616ac244334064c4c56d391c23eb42a7ce6 4NW1ZX9R4J5MAPNKEXPZE8ZNQNZJYQG1XK1M0RWZYVY0CZJSPKQ0 +MR-DSM-0041 dsm::sofi::resolve::Verifier::facts_of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_key_held_by_an_exercise_its_own_bytes_refute_is_skipped_on_those_bytes_alone;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-DSM-0041 (Met) 1N4XNT85Q76YN37DP2WFRR1NWMA5N3CSKMVHYD406QS8ZTADSK5G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/impl#[`Verifier<'_, R>`]facts_of(). 0TQ1VZ3480H4AA139P5339X04RP1N7QNNG9AJHX3B0JQ5T6QAZW0 DKM0673S5DM9927BAVAW99VNBM62SYYNA5CW2V1TE2KPF1Y82BQG;ZNHRDPFDRN5DSFFGA0XCSFN1GYFSPCXREKTK0MXQKX2D5PRPN810 83b6f616ac244334064c4c56d391c23eb42a7ce6 7VX9T7FBJ1NMYYMPP045JSJCDT4B8PX29JM7YW27SGJ2YMRC3MJG +MR-DSM-0041 dsm::sofi::validation::route_invalid_in_hand android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_key_held_by_an_exercise_its_own_bytes_refute_is_skipped_on_those_bytes_alone;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-DSM-0041 (Met) 7102KK31228TCBHCXMQK5SRXTY17Z0TA2BH9FQ5412JSR2F1PGJG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/route_invalid_in_hand(). 5X0MZR9V4EJ4WNR6WTCCX7EYY0KBEBHGST622NMT1021HE7WDWSG DKM0673S5DM9927BAVAW99VNBM62SYYNA5CW2V1TE2KPF1Y82BQG;ZNHRDPFDRN5DSFFGA0XCSFN1GYFSPCXREKTK0MXQKX2D5PRPN810 83b6f616ac244334064c4c56d391c23eb42a7ce6 28ATQYWD8D3BV6DFJFNWVC6R1CQEWAQRYEFDYKXN0W19RZK7YYC0 +MR-DSM-0042 dsm::sofi::resolution::resolve_refuted_in_hand android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_key_held_by_an_exercise_its_own_bytes_refute_is_skipped_on_those_bytes_alone;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-DSM-0042 (Met) SNGEDXME4B1VBSVK909Z0F9PJ4H8T5XMRJH3JPZ7C5QW6K2VMRDG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_refuted_in_hand(). GM2VTZ67ZGJV2VV0JE97326WX55BWSMNPBMPWGVW7GW2JZWKJ6B0 DKM0673S5DM9927BAVAW99VNBM62SYYNA5CW2V1TE2KPF1Y82BQG;ZNHRDPFDRN5DSFFGA0XCSFN1GYFSPCXREKTK0MXQKX2D5PRPN810 83b6f616ac244334064c4c56d391c23eb42a7ce6 5P5BE9H69R7YYK2MXF5GC13WZ9EQC8TPX0CX1H2TY9QGBJSXD6S0 +MR-DSM-0042 dsm::sofi::resolution::skip_in_hand android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_key_held_by_an_exercise_its_own_bytes_refute_is_skipped_on_those_bytes_alone;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-DSM-0042 (Met) SXW0JN0TC8KBG4AYS0CRZ7SFVX1RWBRF4Z2CN577NRTASZD7MRW0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/skip_in_hand(). 2PR5HGMPFZ8K7NNMSSAVVQGCCGJ6F978YFSA5T3XEGMXSVVXX9VG DKM0673S5DM9927BAVAW99VNBM62SYYNA5CW2V1TE2KPF1Y82BQG;ZNHRDPFDRN5DSFFGA0XCSFN1GYFSPCXREKTK0MXQKX2D5PRPN810 83b6f616ac244334064c4c56d391c23eb42a7ce6 NTE45AF86RR624W60E5F8V73BRE467M9B1KGM27VY97XCZQKTJH0 +MR-DSM-0042 dsm::sofi::resolve::Verifier::facts_of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_key_held_by_an_exercise_its_own_bytes_refute_is_skipped_on_those_bytes_alone;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-DSM-0042 (Met) 5NNRGJY4MNJ1DHGZJD5M06QJRYJBCFGGD7VV7MZ49CPG4V7YG4PG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/impl#[`Verifier<'_, R>`]facts_of(). 0TQ1VZ3480H4AA139P5339X04RP1N7QNNG9AJHX3B0JQ5T6QAZW0 DKM0673S5DM9927BAVAW99VNBM62SYYNA5CW2V1TE2KPF1Y82BQG;ZNHRDPFDRN5DSFFGA0XCSFN1GYFSPCXREKTK0MXQKX2D5PRPN810 83b6f616ac244334064c4c56d391c23eb42a7ce6 MJZS7EBD4F73X8HXEYRCT1N4TDBGBQZG0DH6DWPPPG9J0JXZMMRG +MR-DSM-0046 dsm::economic::peer_lineage::validate_peer_lineage android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::peer_lineage::tests::a_claim_naming_other_coordinates_never_holds_the_root_cell;dsm::economic::peer_lineage::tests::a_claim_that_is_not_final_decides_nothing_yet;dsm::economic::register::registered_root_construction_tests::a_held_root_cell_carries_the_exact_bytes_that_hold_it - CONFORMANCE §8 MR-DSM-0046 (Met) Y8344W5VGVEY0P80K73CAVWWTXBZKM70AY60T5GG6RNH75HGWA00 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/peer_lineage/validate_peer_lineage(). J5REJCC2BQZ9397BFJB4XVNPWRB34QPXDCQ2HFX0SE1GZY4RNX60 18K0N5PT29YQAC4TP656K8QPMF4YXJQ7GPM8YMCGJM58NW3TXCPG;69SKTHWPJENVVX3GZ6FQG6Y2H4BSMMYEE8NTW4JYN95W6ET0PED0;EZQKAEXYHR0RFWPSZGGT6H13N4P6TQ7KP5TWM8PDSP3CWZYZJRG0 83b6f616ac244334064c4c56d391c23eb42a7ce6 HC0DGCTBSBPPNMAB1FBH7F9DBWHVYZJBDWAGYHF86CMZT6QV19Q0 +MR-DSM-0046 dsm::economic::register::read_root_cell android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::peer_lineage::tests::a_claim_naming_other_coordinates_never_holds_the_root_cell;dsm::economic::peer_lineage::tests::a_claim_that_is_not_final_decides_nothing_yet;dsm::economic::register::registered_root_construction_tests::a_held_root_cell_carries_the_exact_bytes_that_hold_it - CONFORMANCE §8 MR-DSM-0046 (Met) 557KXMXJ8W98C7XN4ZXM29C7B7XH737VVWQ085NR91VBWN4KV2EG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/read_root_cell(). 3FGJADXQV69STHQP4KMM3NS1CE8376DAJTQ0ZW11ZGWTMSVFT9GG 18K0N5PT29YQAC4TP656K8QPMF4YXJQ7GPM8YMCGJM58NW3TXCPG;69SKTHWPJENVVX3GZ6FQG6Y2H4BSMMYEE8NTW4JYN95W6ET0PED0;EZQKAEXYHR0RFWPSZGGT6H13N4P6TQ7KP5TWM8PDSP3CWZYZJRG0 83b6f616ac244334064c4c56d391c23eb42a7ce6 EDF8C60831YFDAF2K7KMM14YN4G92HG7DNPV6CFAASGZ97SQ3S70 +MR-DSM-0047 dsm::core::bilateral_transaction_manager::compute_smt_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::smt_tripwire_theorem::theorem1_relationship_scoped_keys - CONFORMANCE §8 MR-DSM-0047 (Met) 62Z2KC4ZVQCCCJ66KEQ34RJQKHP8BAMX75CZKP7RANSFZ27P4SX0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/bilateral_transaction_manager/compute_smt_key(). 946Y25JXAME5F1DANERFR5HDH3X8GVVSHVBRXVTQ3VK5GF1MBVC0 MHWY2HE1R13Z6PGCVR8PKTEK5211K536H9G851A4YD8ZSWNY1RA0 83b6f616ac244334064c4c56d391c23eb42a7ce6 F54MZZ6MK535DH34J9PZ1RSKXWJSWEH0KW90QC708YD10XRBNS20 +MR-DSM-0047 dsm::types::device_state::RelationshipChainState android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::smt_tripwire_theorem::theorem1_relationship_scoped_keys - CONFORMANCE §8 MR-DSM-0047 (Met) G2JBQCWJ4G2G0WZ9PBXNKQPVJJTVE4BJEGHFHFEAGRFEV797W010 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/RelationshipChainState# P3FMDAWCE2EG2HFBJ1PYE3VDWTX2YN3NN2W5G4R05NP5MEXEXGFG MHWY2HE1R13Z6PGCVR8PKTEK5211K536H9G851A4YD8ZSWNY1RA0 83b6f616ac244334064c4c56d391c23eb42a7ce6 Y72QYTDQZPD28ZDKKFPTANXFC7X7BFX1Y334X5TWBM38TKK9GXSG +MR-DSM-0052 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::only_malformed_requests_are_refused - CONFORMANCE §8 MR-DSM-0052 (Met) JRV6QB6HBT4524BR03QYV87V36JK7QRJ38BWSCMYB8T3E63NM800 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). PG9D9T049JFWQH6JZV03094SYAQAENXNC7NFP2A5TXV7EJWDECKG 644XD2DPTFEYNN29TWCTB31BZF37AZ04Z4DDS4JGBC89NY7TPSVG 83b6f616ac244334064c4c56d391c23eb42a7ce6 B09J5PPQHWQD98AC051M7RFAFH78J1SSHFGPPMY9ME4JMBY2JZ30 +MR-DSM-0053 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes - CONFORMANCE §8 MR-DSM-0053 (Met) FYF5SY47XSXQFT04FS4P6X49KGK6BTYF9DTMK0X0JNEE9TFHY89G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). TFRDYBH6HSA6CVY40SPX839PDAKFKNBHG40NGN0E8971PY6C9D9G 4PT54QECJQASYJXVBMFGXQ3W60KM6W4BP2N2F2AXMGJ1Q0TT0RA0 83b6f616ac244334064c4c56d391c23eb42a7ce6 THE9EW2EAYJP3MM686DTX1NC9RD8G5G5P6VT4QR1FBT5MDFEJRK0 +MR-DSM-0056 dsm_storage_node::api::objects::bytecommit::mirror_sync node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself;dsm_storage_node::bytecommit_chain::an_impostor_at_a_set_mates_endpoint_is_not_mirrored;dsm_storage_node::bytecommit_chain::a_rewritten_cycle_is_kept_beside_the_first - CONFORMANCE §8 MR-DSM-0056 (Met) AZBHNJ887CZ15MCSXRGCMPJVBN576B9A1N6443K8N6MDJ80M6CSG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/bytecommit/mirror_sync(). M28F4CAFF4BN567ST8KT16RB9J9Q1XB9Q6KHT9WSP4GK7JPF9CS0 BFRDX4FBSS6JE6E4X6RPR7NHFC6B3W16S8V6BRBDBA0572R42YG0;WJ46MFBER4NFG7QTNE75FMM7GN3T1YFS9WAMEFYS8K6XAV75GV7G;C0R57B7TKZD7A0M7ME800FS5W916R3N5EKC6CZEQ47D0MMF8KBCG 83b6f616ac244334064c4c56d391c23eb42a7ce6 P28QRMAGX12FWG7A2WT9E9XQKG7P0DN76Y52DJ4MZCKDD3A8D4A0 +MR-DSM-0056 dsm_storage_node::api::objects::bytecommit::sync_one node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself;dsm_storage_node::bytecommit_chain::an_impostor_at_a_set_mates_endpoint_is_not_mirrored;dsm_storage_node::bytecommit_chain::a_rewritten_cycle_is_kept_beside_the_first - CONFORMANCE §8 MR-DSM-0056 (Met) ES0SCSQ7ZR6FJT7T86QMST63HB28AVBACQK6S9FJG6JY9JGCXKC0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/bytecommit/sync_one(). 8STKRD3W5B8KQ7WFRHN8X5Q7AHFRS5V70DJQG4TJ94VERBD5B13G BFRDX4FBSS6JE6E4X6RPR7NHFC6B3W16S8V6BRBDBA0572R42YG0;WJ46MFBER4NFG7QTNE75FMM7GN3T1YFS9WAMEFYS8K6XAV75GV7G;C0R57B7TKZD7A0M7ME800FS5W916R3N5EKC6CZEQ47D0MMF8KBCG 83b6f616ac244334064c4c56d391c23eb42a7ce6 2616549Y30F8MDGC8A7RSQC2B9DWAQH0B32EFAE2EPZB1YP9MTC0 +MR-DSM-0056 dsm_storage_node::set_client::pinned_set_client node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself;dsm_storage_node::bytecommit_chain::an_impostor_at_a_set_mates_endpoint_is_not_mirrored;dsm_storage_node::bytecommit_chain::a_rewritten_cycle_is_kept_beside_the_first - CONFORMANCE §8 MR-DSM-0056 (Met) EMSCZ0V9XMME84MXDVZHVN1TVBAAEWSPA4YH75TQR4X3CD4ATEXG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 set_client/pinned_set_client(). QBSHW43G9SRKHMSEYSH47Z0ND7NTJ7WTA4SYPC5GFH1T8G27X0T0 BFRDX4FBSS6JE6E4X6RPR7NHFC6B3W16S8V6BRBDBA0572R42YG0;WJ46MFBER4NFG7QTNE75FMM7GN3T1YFS9WAMEFYS8K6XAV75GV7G;C0R57B7TKZD7A0M7ME800FS5W916R3N5EKC6CZEQ47D0MMF8KBCG 83b6f616ac244334064c4c56d391c23eb42a7ce6 QYHM38XY3ABH7ZFQ4YVB1747TN2EJSMST2S9EQCQ3771JH4E30HG +MR-DSM-0065 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::store_properties::immutable_put_is_write_once_on_the_tuple;dsm_storage_node::db::store_properties::a_conflicting_put_leaves_the_first_write_untouched;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-DSM-0065 (Met) KXYPFRP1KVV1HC0CGEYBSBSDTB51PFNG2BPM0MBZMJTKJJ4QH340 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). PG9D9T049JFWQH6JZV03094SYAQAENXNC7NFP2A5TXV7EJWDECKG 4ADKBP06ZMWT8H24W5DF15P97K15F09W34D9MQHDSRX6T162H11G;NAK3P9XP1QNF9K18YAENCW1PJ8NRVF290Y4YNNYD5REED9NNVZJ0;T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G 83b6f616ac244334064c4c56d391c23eb42a7ce6 YQW0KY4FMCEXT1VCJM5NBRQ614PQ4XNVM4ZMM4YZY4V8CPY73R1G +MR-DSM-0065 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::store_properties::immutable_put_is_write_once_on_the_tuple;dsm_storage_node::db::store_properties::a_conflicting_put_leaves_the_first_write_untouched;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-DSM-0065 (Met) 5WMP6V36MCM8YN229BGQMMQY7KGB52P5D6CESCFBJJ8RS1QZ9ZJ0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). TFRDYBH6HSA6CVY40SPX839PDAKFKNBHG40NGN0E8971PY6C9D9G 4ADKBP06ZMWT8H24W5DF15P97K15F09W34D9MQHDSRX6T162H11G;NAK3P9XP1QNF9K18YAENCW1PJ8NRVF290Y4YNNYD5REED9NNVZJ0;T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G 83b6f616ac244334064c4c56d391c23eb42a7ce6 H0C6AG1NAY2T5ZMBBG5PKETA4J41JKCAWNG8T5SSAHBABXGMMWEG +MR-DSM-0072 dsm_storage_node::api::transport::b0x::router node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::a_submitted_envelope_is_read_back_from_its_spool;dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly - CONFORMANCE §8 MR-DSM-0072 (Met) WH3K1JQCF38B0TS230WN7Y45BBBZAT3JZ39ETVMV9M5FK8VPJY9G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/transport/b0x/router(). SK0QJXZFCCZEJYT223Q7E7B7BN0EWJ81MFKBBDS3CMEPX5F5WJ0G P4QAKY5KKVEG2GFVN8B70JY7942VD4KQCY1E64SNGSH401VC4BD0;7YNNQ8C9MMDCRZBWBN3W9N6V6MG4ZSYBXNZEEZ9JT5VTQ0N6SAG0 83b6f616ac244334064c4c56d391c23eb42a7ce6 W6PF8HTW9A80532CM6QM44TX4H8EB86C61P3XR39P8C5EKHSB08G +MR-DSM-0072 dsm_storage_node::storage_contract_router node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::a_submitted_envelope_is_read_back_from_its_spool;dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly - CONFORMANCE §8 MR-DSM-0072 (Met) XRWRETXY6WCEBB0QMCWRQBCQN7A8S7YJH98CKA8QTF3KPZS2TXH0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 storage_contract_router(). HFYRD5M223V04JGR5SX1JHV19Z8K3QNCC5XZS8MZ8VRAGEQ513E0 P4QAKY5KKVEG2GFVN8B70JY7942VD4KQCY1E64SNGSH401VC4BD0;7YNNQ8C9MMDCRZBWBN3W9N6V6MG4ZSYBXNZEEZ9JT5VTQ0N6SAG0 83b6f616ac244334064c4c56d391c23eb42a7ce6 M18QDB6DDYBJ60R0CQBFJ5EPSAS6GTY5PBGMFD0636HH90QAKFGG +MR-DSM-0075 dsm_storage_node::storage_contract_router node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly;dsm_storage_node::api::transport::b0x::tests::a_submitted_envelope_is_read_back_from_its_spool - CONFORMANCE §8 MR-DSM-0075 (Met) SCCAKFT35PMDD501EGF3AC7WM5AX1Q5RQQ3SAXF4NM1Q66G7X05G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 storage_contract_router(). HFYRD5M223V04JGR5SX1JHV19Z8K3QNCC5XZS8MZ8VRAGEQ513E0 7YNNQ8C9MMDCRZBWBN3W9N6V6MG4ZSYBXNZEEZ9JT5VTQ0N6SAG0;P4QAKY5KKVEG2GFVN8B70JY7942VD4KQCY1E64SNGSH401VC4BD0 83b6f616ac244334064c4c56d391c23eb42a7ce6 V4362PK63BVRZZ5EB25R757CWQX814STX7GFAHDWRQVWPDVE78JG +MR-DSM-0077 dsm::storage_cell::ByteCommit android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::storage_cell::tests::the_bytecommit_digest_matches_the_spec_construction;dsm::storage_cell::tests::a_chain_link_needs_same_member_next_cycle_and_the_parent_digest;dsm_storage_node::bytecommit_chain::cycles_close_over_new_entries_and_commit_their_records - CONFORMANCE §8 MR-DSM-0077 (Met) P3RJJWP7W3C4WVSW36ZFE5KED60YN550DG8S5PDJ9T7HD280Z97G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 storage_cell/ByteCommit# SE4FR3Q2SC1EGK0PJ72MF53ZPE78M4Y0PYKFDQW46TRA4N17B6D0 4M419BEVZKHDVXBW80FPHQWHM5399AS0WFEJN8EP1PDP4N1DD500;7S64GHXW5ECQNBT35WXPE3SQ13NZ2EAYGP1PD3Q46E62M4JZS6Q0;R83TECPZSJ932BGQ9G6MMG7BC6K8JWJS5B8GYY3TXX2K6XP6D4N0 83b6f616ac244334064c4c56d391c23eb42a7ce6 1EA54W4ZSX2T6M41CGFQ5CBVRF82V3H7M6Q8HDRHYBAVH5T4DHEG +MR-DSM-0081 dsm::economic::register::position_seed android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0081 (Met) 7V6X79FS3GNGZ8XQRJT3RKA30CVKB4FV0CY4P2SYTBDCN4BN9P10 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/position_seed(). 9Z4XC810WDEMAW9RQX5DN6P1AJ4Y1T1NA7ZCT41ZYJ91AK6X6Y30 50AW036QSCS9KG3SFSEDJ1KZ4H8EMWV8VTA0KR6PWEENZM922RQG;CH04V8GRWNKC470EQJH19KTRNY0VEWVNY4X8TC3KZQ0PPPWSWYPG;P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 A5J9CMTPG8ZSPT8NRDQJZ7SDSFZM32883YBXCEKN99V13ET2X4E0 +MR-DSM-0081 dsm::route_chain::Route::leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0081 (Met) EKAKSSHBJZ64K012THS4ZVTWFPY1E0GM2K0WV47KJR45Q0QXA9D0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). AP8MB1KX5PEG4TXH8S51H81SX8Q58PEKS1YYCZ34EC93V5Y36Z80 50AW036QSCS9KG3SFSEDJ1KZ4H8EMWV8VTA0KR6PWEENZM922RQG;CH04V8GRWNKC470EQJH19KTRNY0VEWVNY4X8TC3KZQ0PPPWSWYPG;P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 SMNNEBGAQTKAMV076ZCXKBRNWV6BA2Q96PC3S1FGCPM6W9GBX5TG +MR-DSM-0081 dsm::route_chain::Route::of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0081 (Met) S8M8MYWMV296D8PJEGRG0PTTZBQRS4CZRY8E2ZG60X6KPV6Z2MKG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). GNVEG361ZYQB62572RJWMJKYZAVXPDXWVBH5KS2963VJ7ZTY1YV0 50AW036QSCS9KG3SFSEDJ1KZ4H8EMWV8VTA0KR6PWEENZM922RQG;CH04V8GRWNKC470EQJH19KTRNY0VEWVNY4X8TC3KZQ0PPPWSWYPG;P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 H3FJN6F6TEW161H7YCN3B584KGNMZMRDECBEZHZ3G1F5FQ2926HG +MR-DSM-0081 dsm::route_chain::RoutedCell::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0081 (Met) R1XJ51B00JYQ0CFW48TNVKP6AG1N7N6TM9XHFW45PZJXBZ531BG0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[RoutedCell]new(). B7HHXTRYNBXMEKYBB1DCVV7DJD9EFT8FX93QHJD3Z3Z03BBXMARG 50AW036QSCS9KG3SFSEDJ1KZ4H8EMWV8VTA0KR6PWEENZM922RQG;CH04V8GRWNKC470EQJH19KTRNY0VEWVNY4X8TC3KZQ0PPPWSWYPG;P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 QESQ0DFV5T8KGQJ6YPANY68C7DTRATMTZ6J625XXMYA8E5J79BYG +MR-DSM-0081 dsm::sofi::derive::storage_seed android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::different_seeds_can_choose_different_first_members;dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-DSM-0081 (Met) GX68RWZ2RZ2JNWRRNXJ1CXZNRWBRD8THRWAH0F6Q8S2A7VP5PWMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/storage_seed(). BGAMPSWB9YQ2Z7KQ6EKWFAVRZ5RGRZEH4WQ533ZH2D2MSCB070X0 50AW036QSCS9KG3SFSEDJ1KZ4H8EMWV8VTA0KR6PWEENZM922RQG;CH04V8GRWNKC470EQJH19KTRNY0VEWVNY4X8TC3KZQ0PPPWSWYPG;P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 0E3TGBMSA8VYZ4B0SA9CB1AV7BW4KXKYMR6X17AJ0M6YPM7KB7WG +MR-DSM-0083 dsm_sdk::sdk::route_seats::continue_recorded_writes android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::faucet_flow_tests::a_release_cut_short_after_the_leader_is_carried_by_the_next_claimant_and_bricks_nothing;dsm_sdk::sdk::route_seats::tests::a_value_the_leader_already_holds_is_not_written_there_again - CONFORMANCE §8 MR-DSM-0083 (Met) WGPCPBM1SA4PGKPN9E59BT5AJJ72HY3CSJWRGYHTEPADGRD5B1JG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/continue_recorded_writes(). 256Q8V7HNG0Q9P15QS9105HAZF5320TXD96XDR9X5HPH1XWBNG90 RVDYW1V9M8F7X71977SYN5F527KQ2X65HG31WCMZD9P6N6MCCJC0;9J6MKRXKZ04GYVQ2QQS9HK152TP3TA6SPJH9Q1AYMG9BS02A97V0 83b6f616ac244334064c4c56d391c23eb42a7ce6 NPR38806S1R18EJBN2Z509PTWY34THP18D1KXXZK98EH9B20HVBG +MR-DSM-0083 dsm_sdk::sdk::route_seats::from_leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::faucet_flow_tests::a_release_cut_short_after_the_leader_is_carried_by_the_next_claimant_and_bricks_nothing;dsm_sdk::sdk::route_seats::tests::a_value_the_leader_already_holds_is_not_written_there_again - CONFORMANCE §8 MR-DSM-0083 (Met) 02CADGVPDSJ5GP2ASASE3NZBTGRGY7NRFSG689ES0SPPV0R07D70 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/from_leader(). 8V86ZJQRJXK6WAM9GM94NG5PYN3XX4H60BN9CNNRJE5MZAD6X6V0 RVDYW1V9M8F7X71977SYN5F527KQ2X65HG31WCMZD9P6N6MCCJC0;9J6MKRXKZ04GYVQ2QQS9HK152TP3TA6SPJH9Q1AYMG9BS02A97V0 83b6f616ac244334064c4c56d391c23eb42a7ce6 AZAWVWMQCNE918FK8N3T29FF3332RBPA8A05TDESQ3N99A23AFTG +MR-DSM-0083 dsm_sdk::sdk::route_seats::write_recorded android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::faucet_flow_tests::a_release_cut_short_after_the_leader_is_carried_by_the_next_claimant_and_bricks_nothing;dsm_sdk::sdk::route_seats::tests::a_value_the_leader_already_holds_is_not_written_there_again - CONFORMANCE §8 MR-DSM-0083 (Met) 61NGJNYCZR135GWM7YF08DXDZRQXHEJF8MM0F098KTRPA3ZJ28M0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/write_recorded(). KXTEY8EW31PWTPS5NQMBDKM0EQZEJANTJFSBZW5E30M1SM368YNG RVDYW1V9M8F7X71977SYN5F527KQ2X65HG31WCMZD9P6N6MCCJC0;9J6MKRXKZ04GYVQ2QQS9HK152TP3TA6SPJH9Q1AYMG9BS02A97V0 83b6f616ac244334064c4c56d391c23eb42a7ce6 643V8NDTZ7AKK81RJME04Z4MP7BTVYAZBQNWEYP466W89VAWPC90 +MR-DSM-0084 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm_storage_node::cells_keep_everything::an_identical_value_put_twice_is_held_twice - CONFORMANCE §8 MR-DSM-0084 (Met) HHNF5NG9NYHNAH1NSX2483HBEFDM3S53KWZA7YGPSSQT88VG86MG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). PG9D9T049JFWQH6JZV03094SYAQAENXNC7NFP2A5TXV7EJWDECKG T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G;QEJ4G59XX312JFSJKZXCWXJH0ZVK3G9PRC2N1XKGCBEY2BJ281E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 SQCGTS50DBJFAH3QY309Y3D11C0EV40H8F7YD5ZR0EQXD6C64070 +MR-DSM-0085 dsm::route_chain::ChainState android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::only_links_of_one_chain_count_toward_final - CONFORMANCE §8 MR-DSM-0085 (Met) T8N990ZNCAQHKVJZ6HFN9A1MM87W9BQMP5VMGX9MHHS083SJWYMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/ChainState# CHXY693QW5TWC7T4105BZNBR0000FFCHQ1WXAKBHWGBQYX4WRD90 XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;64RSG57CVNW08F2D8RAQBCV6WA08SGK23V2MDJB1W6Z0WGK06RY0;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;MZ42GGZT84Y702WNV2VVMMNZFW53D5YV1WP3GVYQCH7DXXNTDE1G 83b6f616ac244334064c4c56d391c23eb42a7ce6 AYY1XC3G65FFZ9YCJ5Z4WVQW4EGS2BHPJP1049HVM6MFSWCD9XJG +MR-DSM-0085 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::only_links_of_one_chain_count_toward_final - CONFORMANCE §8 MR-DSM-0085 (Met) HGGVW2N3XNM8JACAV4XG0SWAAM580QR2FCXPDBPARHW6SX9G4KGG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;64RSG57CVNW08F2D8RAQBCV6WA08SGK23V2MDJB1W6Z0WGK06RY0;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;MZ42GGZT84Y702WNV2VVMMNZFW53D5YV1WP3GVYQCH7DXXNTDE1G 83b6f616ac244334064c4c56d391c23eb42a7ce6 3WHMZ8EXEAP401NNEF9AG8SF6P73DTS674EBPK401R6T76R3RG90 +MR-DSM-0086 dsm::route_chain::ChainState android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-DSM-0086 (Met) ZQ5NG49RP6ERAY3PDRBXHMXNF74VFKR5RRKY597Y3SMJFMFGM3CG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/ChainState# CHXY693QW5TWC7T4105BZNBR0000FFCHQ1WXAKBHWGBQYX4WRD90 XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G;T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G 83b6f616ac244334064c4c56d391c23eb42a7ce6 E1J5K8087A57Z0HEB9CWKJQQGS86RNZFT5VRNV1EDNQRA7Q0F340 +MR-DSM-0086 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-DSM-0086 (Met) SGF5EP26GSBJ4BPCB5WARGWN1S9E0JEJ7T4NK4J66WXHGJRQXDEG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G;T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G 83b6f616ac244334064c4c56d391c23eb42a7ce6 BNB7AE2VHTSCGE8C7JRKJFJ2NCTPDFGEWAE0DPQW760BQPC0PBFG +MR-DSM-0087 dsm::economic::lineage::ValidatedEconomicRoot android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated - CONFORMANCE §8 MR-DSM-0087 (Met) 3Q2CR6B5R69Z3D2MDX80KV9H51TYKCPGG1WSR7D2TAP58XVQRKF0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/lineage/ValidatedEconomicRoot# J88NF72SSACAF8WSR4AJF8QM2SQHRK7MBJ85TJ3K2R8SJBR12XGG ER09GD1QWRX81Z4C8B404XMKY2KG2VJRY6X7TFTPAAH577ND301G 83b6f616ac244334064c4c56d391c23eb42a7ce6 WZ601A17T8ABY4QY6YZG2QFBTBP5KD4J1R8VNNKFF1M2RK0CRB9G +MR-DSM-0087 dsm::economic::register::RegisteredEconomicRoot android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated - CONFORMANCE §8 MR-DSM-0087 (Met) MJMEE2DBAX3WF03QQ5PRD1TM6VDVA6C3S7NZHAXW038NTVDP2320 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/RegisteredEconomicRoot# HAPPM09FS1CJR8S8B4C3YXHK01FXTQT8HSD4WB725HZRBNN4VECG ER09GD1QWRX81Z4C8B404XMKY2KG2VJRY6X7TFTPAAH577ND301G 83b6f616ac244334064c4c56d391c23eb42a7ce6 D1GGWG015TZH2Q4ZPCZP4KN214Y47DR19N7M0T7ZRPYYK28ZDNPG +MR-DSM-0096 dsm::crypto::blake3::dsm_domain_hasher android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::default_node_chain_consistency;dsm::merkle::sparse_merkle_tree::tests::verify_proof_against_root_static - CONFORMANCE §8 MR-DSM-0096 (Met) SEVYYZSJY2EEE0WRREQVNP88ZS7M2ADKT9BM3Q22S24H7E07F4P0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 crypto/blake3/dsm_domain_hasher(). 4CYA67FZ6QY8NACZGVN551BBEFCXYBHVW3XVP2JCKFJ3BE11R430 65ZPGSKGD2281WP4TS1T69ZVJ15045ANQ0G9288GFXSGGB0E1MXG;N1M2TVG6RNAMTD2KT2X2V54QPJPX4FG9GM8S2V44DW0TXP6KMS9G 83b6f616ac244334064c4c56d391c23eb42a7ce6 D66BHGT4K95D8VW0KWQ7RZAE6DCZXH8Q7Z53RVGQR2QE1W3T4M6G +MR-DSM-0097 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes;dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened - CONFORMANCE §8 MR-DSM-0097 (Met) DQSAB5WYFWFJKFEDZE6EZACF8TCBWQ1RZM73SKW88946TB7TB0T0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). TFRDYBH6HSA6CVY40SPX839PDAKFKNBHG40NGN0E8971PY6C9D9G 4PT54QECJQASYJXVBMFGXQ3W60KM6W4BP2N2F2AXMGJ1Q0TT0RA0;HCK61232DNXXVAW14Z74A6EJ4H1X5AN1Z660JTSV05YC781JXDE0 83b6f616ac244334064c4c56d391c23eb42a7ce6 S9K4EN07E0EF2H8AXRW7F8NVSWW82VD3PQ2BPKVPXQSNH51E2H2G +MR-DSM-0097 dsm_storage_node::api::transport::b0x::router node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes;dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened - CONFORMANCE §8 MR-DSM-0097 (Met) C1BHT89CQR7GHEQX1JGHZDMQ7G5XK6TRMR2RDQE0AVMVGM661YD0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/transport/b0x/router(). SK0QJXZFCCZEJYT223Q7E7B7BN0EWJ81MFKBBDS3CMEPX5F5WJ0G 4PT54QECJQASYJXVBMFGXQ3W60KM6W4BP2N2F2AXMGJ1Q0TT0RA0;HCK61232DNXXVAW14Z74A6EJ4H1X5AN1Z660JTSV05YC781JXDE0 83b6f616ac244334064c4c56d391c23eb42a7ce6 W1Q0GR2PFNRTHAWTBW17VDDWKH9T53YXD70K443SDAJ70RS67MK0 +MR-DSM-0100 dsm::common::canonical_encoding::CanonicalEncode android MUST_REACH active - dsm::common::domain_tags::tests::all_tags_are_unique;dsm::common::domain_tags::tests::every_declared_domain_tag_reaches_the_registry - CONFORMANCE §8 MR-DSM-0100 (Partial) 9S06MX1BPRN8JV257T9ZFKKM3CS2Y9TEAD5MPHZPR38Y186M2Y0G Partial WIRING_GAP dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 common/canonical_encoding/CanonicalEncode# W25A8KVQCV4JVAKYRQ1TZZWYF37SSVKX7NGARGYTN9PBC3AJ4DK0 M10XFD5265JHC3H33FXJAQV9V0ZKD4A6F0FHJQRDAGB2B3M27PN0;PBH6WV187N4NEJKKTKD6C6YQBNKQA24CFWQDN3ZCP6P5HAEHVXJG 83b6f616ac244334064c4c56d391c23eb42a7ce6 956QNWT7VQRBTTX71NFY92PWK62MMFD9CFJQPF0V2BAQZDDG1JV0 +MR-DSM-0107 dsm::types::device_state::relationship_chain_tip_v2 android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::tripwire_same_relationship_same_parent_different_children - CONFORMANCE §8 MR-DSM-0107 (Met) Q8CNJ48W5P1CVXZH21SCB8JXADH4WZQFXV3CNZ5TC3RK2DDN6XVG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/relationship_chain_tip_v2(). 6Z770CM70P8GK1XZDXP0EAMGHYWZ381W0708V2N6MRXVDEB1AY50 GYR79MYP0AX5S0Z121HE4T9WZXSRPRQ17F9848S4TMJVAX2HN8PG 83b6f616ac244334064c4c56d391c23eb42a7ce6 NCEWNADZF5Q0NKVVT8W4WY7JVQ7FZ86PFED75PB7RBXW7CM0MKV0 +MR-DSM-0108 dsm::types::device_state::relationship_chain_tip_v2 android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::verification::receipt_verification::tests::the_state_rules_hold_only_for_the_move_the_writes_prove;dsm::types::device_state::tests::changing_a_carried_byte_changes_the_derived_value_and_the_tip - CONFORMANCE §8 MR-DSM-0108 (Met) CMKGS1E83TX3S88A53WQVAH63BY967R5PMPQFY0W3WWFZX5S4K1G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/relationship_chain_tip_v2(). 6Z770CM70P8GK1XZDXP0EAMGHYWZ381W0708V2N6MRXVDEB1AY50 9090EA9BTD2H3VW6SYAWQNZB2B5C008XF9TT48BE7BXCPRYJMJXG;C7YWS786S2WKQZSN711F0P9TYK9TX9BXXCTWG7XAGJ7EQYY5N1C0 83b6f616ac244334064c4c56d391c23eb42a7ce6 Y48C8B8EH2HEVP1PP125VCBNNY03YE9N3F721V3WWW3FE4TS26KG +MR-DSM-0108 dsm::verification::receipt_verification::verify_receipt_state android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::verification::receipt_verification::tests::the_state_rules_hold_only_for_the_move_the_writes_prove;dsm::types::device_state::tests::changing_a_carried_byte_changes_the_derived_value_and_the_tip - CONFORMANCE §8 MR-DSM-0108 (Met) RTSKTXH4A1KH7QMC7BX95JY4MHX8HR0059YQKJZA2DVANZX84Q10 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 verification/receipt_verification/verify_receipt_state(). 1KT9ZX8KBW495MEZ68N19ZJKMGS5XZW080CFAP1MHXSR9VRVVGM0 9090EA9BTD2H3VW6SYAWQNZB2B5C008XF9TT48BE7BXCPRYJMJXG;C7YWS786S2WKQZSN711F0P9TYK9TX9BXXCTWG7XAGJ7EQYY5N1C0 83b6f616ac244334064c4c56d391c23eb42a7ce6 GJ2PP1S4QMG9WNJPBY26XSTTFFTE6ZCAXJ37MKMMRNKD41D8PX7G +MR-DSM-0109 dsm::core::bilateral_transaction_manager::compute_smt_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::multi_leaf_proofs - CONFORMANCE §8 MR-DSM-0109 (Met) 8QM69GWNVBNK22X7H5FQZBDQFTYDKCZCPDCZ297S7EP200H9D0EG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/bilateral_transaction_manager/compute_smt_key(). 946Y25JXAME5F1DANERFR5HDH3X8GVVSHVBRXVTQ3VK5GF1MBVC0 XD85A42M30WFG954RNKS68X8JG51ZF7HMWTHHKSCM4CXC8VYJDG0 83b6f616ac244334064c4c56d391c23eb42a7ce6 KBT9EXRFJ2JKN62EQNQT32AJXFEBFH79FRX40XN4MH13NSYF9XAG +MR-DSM-0114 dsm::merkle::sparse_merkle_tree::DEFAULT_SMT_HEIGHT android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::default_node_chain_consistency;dsm::merkle::sparse_merkle_tree::tests::empty_tree_root_matches_default_chain - CONFORMANCE §8 MR-DSM-0114 (Met) GPCRZ5S04C2B3D5NQAG11B5506R0B1EJ683F27EVQ3C6V2WXNBG0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 merkle/sparse_merkle_tree/DEFAULT_SMT_HEIGHT. F3PPA73S06640F8QYZ4YKR67BMK10M0TD8ARN3ACDCGHZBB6W4HG 65ZPGSKGD2281WP4TS1T69ZVJ15045ANQ0G9288GFXSGGB0E1MXG;13SZM6BAJS94AVPJ757H1M6T0CTYSQA69EQ33SQ3BP8WAM9MTEG0 83b6f616ac244334064c4c56d391c23eb42a7ce6 2B6RR8B7TKYEWM3VVE8W4RE9WK7QHRC1MEYNK76DP5FT9WA1RFJG +MR-DSM-0114 dsm::merkle::sparse_merkle_tree::default_node android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::default_node_chain_consistency;dsm::merkle::sparse_merkle_tree::tests::empty_tree_root_matches_default_chain - CONFORMANCE §8 MR-DSM-0114 (Met) 42J5DHDRTFAZ397W6XRHKNW00DF8DSAAH5PWWV5ZTR1GPJ4THYR0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 merkle/sparse_merkle_tree/default_node(). 3B6H1DPGZ5N74KYT7Y8XFTKN9MQA9PH0J030YS8H8D9CTQ7HW26G 65ZPGSKGD2281WP4TS1T69ZVJ15045ANQ0G9288GFXSGGB0E1MXG;13SZM6BAJS94AVPJ757H1M6T0CTYSQA69EQ33SQ3BP8WAM9MTEG0 83b6f616ac244334064c4c56d391c23eb42a7ce6 4S5QXMPK1AA0J2V9ZRYBHR40SVR1FXYQF935GY5YH959DCV8DNNG +MR-DSM-0115 dsm::common::domain_tags::dsm::core::TAG_SMT_KEY android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::smt_tripwire_vectors::smt_key_determinism_reversed_args;dsm::smt_tripwire_vectors::golden_tag_smt_key;dsm::smt_tripwire_theorem::theorem1_smt_key_deterministic - CONFORMANCE §8 MR-DSM-0115 (Partial) W814DH5DYH4PSK2DPK6SZMMG7XMPX5P7EXT6RNJ2QF25ZFCK58W0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 common/domain_tags/dsm/core/TAG_SMT_KEY. NVRNSXH229080GS8KZE1R49GWBS2KN70M7XJ6YA94QVQSM4X8J1G GRJ64XRNTJZE67DYYX0W0F8Y4WTB79QKA4GXM7TZ8MMX2KPW2XC0;STBFKE0WT0GSFKZGY363WHGG7AB1FB9ZNDC5YE7HAHF2S7F84KFG;0C62MQN3VKW69Z5FH61GZV6FSDFHA6X2GE1HXPA719V27T7Y088G 83b6f616ac244334064c4c56d391c23eb42a7ce6 GSDKCGX6BEKBTHZN5HD1WJBW35DWH99DY5JDE3Y8S46ETZ2KGRTG +MR-DSM-0115 dsm::core::bilateral_transaction_manager::compute_smt_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::smt_tripwire_vectors::smt_key_determinism_reversed_args;dsm::smt_tripwire_vectors::golden_tag_smt_key;dsm::smt_tripwire_theorem::theorem1_smt_key_deterministic - CONFORMANCE §8 MR-DSM-0115 (Partial) 5X9GCKYC6E3YWGWM806FZPPC0RQCV5FNBFT4DQ5G7MNXDB4BK8N0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/bilateral_transaction_manager/compute_smt_key(). 946Y25JXAME5F1DANERFR5HDH3X8GVVSHVBRXVTQ3VK5GF1MBVC0 GRJ64XRNTJZE67DYYX0W0F8Y4WTB79QKA4GXM7TZ8MMX2KPW2XC0;STBFKE0WT0GSFKZGY363WHGG7AB1FB9ZNDC5YE7HAHF2S7F84KFG;0C62MQN3VKW69Z5FH61GZV6FSDFHA6X2GE1HXPA719V27T7Y088G 83b6f616ac244334064c4c56d391c23eb42a7ce6 78YZE44DPYYDM3CDBA51TDRS8X7Q28MVW8J87HM8KDJFDDA9QKF0 +MR-DSM-0116 dsm::merkle::sparse_merkle_tree::SparseMerkleTree::update_leaf android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationships_leaf_holds_its_current_head;dsm::types::device_state::tests::every_relationship_stays_in_the_root_past_the_old_capacity;dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed - CONFORMANCE §8 MR-DSM-0116 (Met) V0YGE1J84VTWHDPGTJR75098CPY4TPTBSE926P91BGDGV8XDS4X0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 merkle/sparse_merkle_tree/impl#[SparseMerkleTree]update_leaf(). MPKTVZJMQVJW34S1MGCQFJPFAATME587EEAQ761BXFFEY2TTJTFG EP38MQSVKJZ2CKYD35T38WSK7V7AV1JADAW3CETCEMGS4WVSFGS0;TVMHGAYVJPN8P90PEVEHTXA9S2FHX9C1E534VV7SHV4AEJ4H24DG;99YMQSKTKHT8BW6NS7CS5PH1VS803NTAC80Z3VKYNPJKMAGQBJMG 83b6f616ac244334064c4c56d391c23eb42a7ce6 RSYWCGFS29P1F9K9XMPWEJYPX5ZT81GC0BG9SX62YQNKNQMVR040 +MR-DSM-0116 dsm::types::device_state::DeviceState::advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationships_leaf_holds_its_current_head;dsm::types::device_state::tests::every_relationship_stays_in_the_root_past_the_old_capacity;dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed - CONFORMANCE §8 MR-DSM-0116 (Met) 4WEKQA8B49NRK8GBVWD0FC5K54QAY6GJRS0QX0JD12PJWGE3V05G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]advance(). E5QPEKJEDVGQSAAG5TC98KNJRQZ88Y5K3MGJED5GPR0F8TPKHH20 EP38MQSVKJZ2CKYD35T38WSK7V7AV1JADAW3CETCEMGS4WVSFGS0;TVMHGAYVJPN8P90PEVEHTXA9S2FHX9C1E534VV7SHV4AEJ4H24DG;99YMQSKTKHT8BW6NS7CS5PH1VS803NTAC80Z3VKYNPJKMAGQBJMG 83b6f616ac244334064c4c56d391c23eb42a7ce6 2W2CEPKMTPK1EQRCR6GCYVJ8ZJ4KSSAN1VZ9XFRESK143G1GWEG0 +MR-DSM-0119 dsm::merkle::sparse_merkle_tree::DEFAULT_SMT_HEIGHT android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::proof_size_bounding - CONFORMANCE §8 MR-DSM-0119 (Met) BTQXFD9YFJQ5Y2VJND00EM8TM1597YAMPDBC3S5YG99ZSC4NW75G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 merkle/sparse_merkle_tree/DEFAULT_SMT_HEIGHT. F3PPA73S06640F8QYZ4YKR67BMK10M0TD8ARN3ACDCGHZBB6W4HG 90MYYKXXDKYYD3XW6YR8M4B84YXQHVDJESSZDKB8F66GJREE4G30 83b6f616ac244334064c4c56d391c23eb42a7ce6 GH0Q78PFNWQ4AB6SD4TA56YTAMM4PTMZZM5WYGGQ1N5EQRXG5SSG +MR-DSM-0121 dsm::merkle::sparse_merkle_tree::SparseMerkleTree::update_leaf android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationships_leaf_holds_its_current_head;dsm::types::device_state::tests::every_relationship_stays_in_the_root_past_the_old_capacity - CONFORMANCE §8 MR-DSM-0121 (Met) 5YX2Y07HAW6G1G3HXN69NEZJT0MWHR0A62SGGSYFSP2ZSAR74Q80 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 merkle/sparse_merkle_tree/impl#[SparseMerkleTree]update_leaf(). MPKTVZJMQVJW34S1MGCQFJPFAATME587EEAQ761BXFFEY2TTJTFG EP38MQSVKJZ2CKYD35T38WSK7V7AV1JADAW3CETCEMGS4WVSFGS0;TVMHGAYVJPN8P90PEVEHTXA9S2FHX9C1E534VV7SHV4AEJ4H24DG 83b6f616ac244334064c4c56d391c23eb42a7ce6 0Z7YN1ED3J2M7NX783VKBN8TBN0C2DCT7NNHE9F61YDPZT9V4QA0 +MR-DSM-0121 dsm::types::device_state::DeviceState::advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationships_leaf_holds_its_current_head;dsm::types::device_state::tests::every_relationship_stays_in_the_root_past_the_old_capacity - CONFORMANCE §8 MR-DSM-0121 (Met) Z9G45FQCJ89PHVR0G566KSJRJNZP8C7SDWNJ87RGKKQ4EDFJ0TDG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]advance(). E5QPEKJEDVGQSAAG5TC98KNJRQZ88Y5K3MGJED5GPR0F8TPKHH20 EP38MQSVKJZ2CKYD35T38WSK7V7AV1JADAW3CETCEMGS4WVSFGS0;TVMHGAYVJPN8P90PEVEHTXA9S2FHX9C1E534VV7SHV4AEJ4H24DG 83b6f616ac244334064c4c56d391c23eb42a7ce6 QGMY5RRVDWP2JKNR6E5QEN8CQ5CG2PDCQ86449XCY4DPZG4K6JM0 +MR-DSM-0136 dsm::types::device_state::RelationshipChainState android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::the_chain_tip_commits_succession_facts_and_no_balances - CONFORMANCE §8 MR-DSM-0136 (Met) 19E588K7AAJV7ZKN65WWMX8GBBEJK2N0KRTQTF3DZ0CA7YTQHN7G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/RelationshipChainState# P3FMDAWCE2EG2HFBJ1PYE3VDWTX2YN3NN2W5G4R05NP5MEXEXGFG 8HBREF3HTEPKMYPWFF7WYVRHM90BB2WXMT375HZKAGZA016XMGY0 83b6f616ac244334064c4c56d391c23eb42a7ce6 PG7QEV2RTSK8ZJXSNTKHEFJGS65CC5D3P39Q7NVJKVR521J6ZG40 +MR-DSM-0170 dsm::types::device_state::DeviceState::advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::tripwire_same_relationship_same_parent_different_children;dsm_sdk::storage::client_db::canonical_apply::tests::the_same_relationship_and_parent_with_a_different_transition_conflicts;dsm_sdk::storage::client_db::canonical_apply::tests::different_identity_reusing_nonce_or_parent_is_conflict - CONFORMANCE §8 MR-DSM-0170 (Met) A994EWEHE3GMYGNZYEKHMD77ZAJQQNM8V487JWP0VHQ0XRQW0MDG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]advance(). E5QPEKJEDVGQSAAG5TC98KNJRQZ88Y5K3MGJED5GPR0F8TPKHH20 GYR79MYP0AX5S0Z121HE4T9WZXSRPRQ17F9848S4TMJVAX2HN8PG;KNBBJB8BBQ861ZK63G2Y4HPS1XGSJGDB7H0VN15ZCKGRV0338P3G;NRJ0HDZJNK4K3XPC87P2YYNZRJ3S678JN5304E0KXW0STX83D69G 83b6f616ac244334064c4c56d391c23eb42a7ce6 AHWK95AKGPC1RF8XW6RP9Z4RVKASDDPTM666S85K7BCZ7HDS7040 +MR-DSM-0170 dsm_sdk::storage::client_db::canonical_apply::insert_canonical_apply_identity_with_conn android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::tripwire_same_relationship_same_parent_different_children;dsm_sdk::storage::client_db::canonical_apply::tests::the_same_relationship_and_parent_with_a_different_transition_conflicts;dsm_sdk::storage::client_db::canonical_apply::tests::different_identity_reusing_nonce_or_parent_is_conflict - CONFORMANCE §8 MR-DSM-0170 (Met) PWTTDF53F2BT42EBX8RMVV9HCF9AGAKS4KEPX9S6MYGVZFYDQPAG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 storage/client_db/canonical_apply/insert_canonical_apply_identity_with_conn(). 68D1Z2H2VRY1S3M2EFDK4Y36QG23BXX024GKH2WYP892ECN1HVW0 GYR79MYP0AX5S0Z121HE4T9WZXSRPRQ17F9848S4TMJVAX2HN8PG;KNBBJB8BBQ861ZK63G2Y4HPS1XGSJGDB7H0VN15ZCKGRV0338P3G;NRJ0HDZJNK4K3XPC87P2YYNZRJ3S678JN5304E0KXW0STX83D69G 83b6f616ac244334064c4c56d391c23eb42a7ce6 GRHJANWHZRMWBHJ617YG3YS95230FBX0T4FPJ52P0T1DJ5Y83F70 +MR-DSM-0170 dsm_sdk::storage::client_db::canonical_apply::lookup_canonical_apply_status android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::tripwire_same_relationship_same_parent_different_children;dsm_sdk::storage::client_db::canonical_apply::tests::the_same_relationship_and_parent_with_a_different_transition_conflicts;dsm_sdk::storage::client_db::canonical_apply::tests::different_identity_reusing_nonce_or_parent_is_conflict - CONFORMANCE §8 MR-DSM-0170 (Met) 66P66HYM0DWNZH6JN6HPFND5DV9EH6C9Z8YR65BJY7ZC30DKD19G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 storage/client_db/canonical_apply/lookup_canonical_apply_status(). 1HGA0ZF1VNY8W33W2EHXJPKP3PZ8PDZ4NAFX53JJYFD9Z2DB7YFG GYR79MYP0AX5S0Z121HE4T9WZXSRPRQ17F9848S4TMJVAX2HN8PG;KNBBJB8BBQ861ZK63G2Y4HPS1XGSJGDB7H0VN15ZCKGRV0338P3G;NRJ0HDZJNK4K3XPC87P2YYNZRJ3S678JN5304E0KXW0STX83D69G 83b6f616ac244334064c4c56d391c23eb42a7ce6 9B1FG04S9RCP2H2AJGP3A813G41V9N786JGNCMYV92GS59WQ03NG +MR-DSM-0181 dsm::ccb::decode::vault_state_at android MUST_REACH active - - - CONFORMANCE §8 MR-DSM-0181 (Partial) M3K01BQ0KJCG2GN4PTYX0J4VQNHVGB13XCKZY7SZTF872CSCV3Q0 Partial WIRING_GAP dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 ccb/decode/vault_state_at(). 6GJC6KA8B800K662Q650G1V67BBQFZB1D1WJ1R2C3DJV1VHNB17G - 83b6f616ac244334064c4c56d391c23eb42a7ce6 21MM18ZRCTFZD1SPFKNZVT055PVZTTFPYXX65DSAS7TZS0YDMHF0 +MR-DSM-0184 dsm::commitments::external_commitment::create_external_commitment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::commitments::external_commitment::tests::test_verify_external_commitment - CONFORMANCE §8 MR-DSM-0184 (Partial) N800DPEGSNFD71Z14RF8EVB6S8V9J1WV175GM74PMYJ35GAHTG60 Partial SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 commitments/external_commitment/create_external_commitment(). 0CV3RDY7WC923HR9FRE9AVSYJK82954SSVEQDPD82VNNGD04V6TG FA8F2VRP1VYNEQ82BF2CW2AZ7TSMABGWAMZPAJWWMEJGRGQE91JG 83b6f616ac244334064c4c56d391c23eb42a7ce6 8PHSFZZ5REMM3D66BD1TGB7AZ9Z1NTJRZQSGZQ7B9FM1RNXFZXWG +MR-DSM-0184 dsm::commitments::external_commitment::verify_external_commitment android MUST_REACH active - dsm::commitments::external_commitment::tests::test_verify_external_commitment - CONFORMANCE §8 MR-DSM-0184 (Partial) BMW4PGHZ31DZE1MDS99ZNNH7CPJC46DD4JT1913CQ7W7EF5PQHJG Partial WIRING_GAP dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 commitments/external_commitment/verify_external_commitment(). 6W5AF6GWV583X3YWFGRHEQ2295DCNGV45J1CVTRCTG2KJYZ5QF80 FA8F2VRP1VYNEQ82BF2CW2AZ7TSMABGWAMZPAJWWMEJGRGQE91JG 83b6f616ac244334064c4c56d391c23eb42a7ce6 47QGKENT2TWTJ7RS34AVJGSFM2MM0NM51895AKXFZK4K8Z6ECZA0 +MR-DSM-0185 dsm::types::device_state::DeviceState android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-DSM-0185 (Partial) QEDMHVE69S0J3KXVK9EGC60KZMHM3K91JYWCXPK4JYHEPX82M8V0 Partial SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/DeviceState# RWK5XTRA36V8A3GGGHSY4KBXJZ1B0CR3MN558X9RJPCFQAX83QPG - 83b6f616ac244334064c4c56d391c23eb42a7ce6 CP73BYVVWKXQRCDX91Y23P8NAHWBEDRJZKQEV67F54NMCQKARJD0 +MR-DSM-0187 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-DSM-0187 (Partial) 3TJZMCC3GC20R2537E3P72FW4EP1PW6DAYX54NG03Z2MHPDC0EY0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 7Y3EZ17CGFBPV07EBJM0FWYJX312MVGZN38YZBRH5Q09BQC99410 - 83b6f616ac244334064c4c56d391c23eb42a7ce6 C0QJWW9Z1SCPP0PN7XYY95MN1Y8XKEFZQ6DD8A0SKY68J7MSDHJG +MR-DSM-0189 dsm::core::token::policy::TokenPolicySystem::enforce_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::a_policy_is_registered_from_its_committed_bytes_alone;dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm::core::token::policy::policy_enforcement::tests::operation_restriction_is_case_sensitive - CONFORMANCE §8 MR-DSM-0189 (Met) V5KA1JRREMGA0R1AVZHFP5BXPBMATH7P2DF2YNVEZFVMG8HRPCV0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/impl#[TokenPolicySystem]enforce_policy(). KK8YN4NPMXJFS1YK3TSGZEX0MXJ8JVS9XRYB0M7YEQB40GA1HHF0 Z8Y4HRYZFX0JP1K4WPG7GRQVVA92FMGD8JX39X1ENSHRYPMFFNV0;CSBK9FAYE0EC1FV9ZJBV2VFBBP96YFJHHDWRZHVW8JFZRWWGW3AG;6V04YP7ANF402A8MJDFWK5GSRT3FDNTZ68XX7PEMDJZV7H8T78PG 83b6f616ac244334064c4c56d391c23eb42a7ce6 CGZE0EA7YDK0SVKJ3RR0SM3XBNSRBXZ3D0B4PQKZDSZRCBXQNV60 +MR-DSM-0189 dsm::core::token::policy::TokenPolicySystem::register_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::a_policy_is_registered_from_its_committed_bytes_alone;dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm::core::token::policy::policy_enforcement::tests::operation_restriction_is_case_sensitive - CONFORMANCE §8 MR-DSM-0189 (Met) C1TMBK5FXPM4RBHMFWFJZ22YRX62H0QD009AH6KTH19YJ2KZ2FV0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/impl#[TokenPolicySystem]register_policy(). 2STDH2RDMH3C09CVHKDH4YV2QV07YHSPCYW5Z0T7Z667M89JP350 Z8Y4HRYZFX0JP1K4WPG7GRQVVA92FMGD8JX39X1ENSHRYPMFFNV0;CSBK9FAYE0EC1FV9ZJBV2VFBBP96YFJHHDWRZHVW8JFZRWWGW3AG;6V04YP7ANF402A8MJDFWK5GSRT3FDNTZ68XX7PEMDJZV7H8T78PG 83b6f616ac244334064c4c56d391c23eb42a7ce6 QC41355YD8S0KEW3N5K752CQM6FWT00GKDDBS26JRP6J913FYMKG +MR-DSM-0189 dsm::core::token::policy::policy_enforcement::PolicyEnforcer::check_condition android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::a_policy_is_registered_from_its_committed_bytes_alone;dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm::core::token::policy::policy_enforcement::tests::operation_restriction_is_case_sensitive - CONFORMANCE §8 MR-DSM-0189 (Met) DK45ES3WS09G4QJYNRK49A2MPNG7SCZ6E5DTSSQEX0403ANXQRAG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/policy_enforcement/impl#[PolicyEnforcer]check_condition(). JBHWYZQ5NVYJ3979AY1P00YEQ94QWNJ6KYHHMAM750BZTTCEMK80 Z8Y4HRYZFX0JP1K4WPG7GRQVVA92FMGD8JX39X1ENSHRYPMFFNV0;CSBK9FAYE0EC1FV9ZJBV2VFBBP96YFJHHDWRZHVW8JFZRWWGW3AG;6V04YP7ANF402A8MJDFWK5GSRT3FDNTZ68XX7PEMDJZV7H8T78PG 83b6f616ac244334064c4c56d391c23eb42a7ce6 NAN5SSN57V15JPKAA548DDQ9DSC5YKD2B5J78EDEXYDBX7R5E2AG +MR-DSM-0190 dsm::economic::write_set::verify_operation_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_well_formed_swap_is_valid;dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg;dsm::sofi::validation::tests::an_intermediate_token_must_permit_transfer_too;dsm::sofi::validation::tests::a_token_outside_the_vaults_pair_is_invalid;dsm::sofi::validation::tests::an_off_by_one_output_is_invalid;dsm::sofi::lineage::tests::advance_is_refused_on_each_missing_conjunct - CONFORMANCE §8 MR-DSM-0190 (Met) K3QTKVPGR7NBW4T7TENP4QMW7158H39WJKYCTF5J80MC766WFETG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/verify_operation_write_set(). 483MQWSAYNEGZKZWJ3S50M2GVVAG2SATA4MPKRG3B7SM2W371MH0 WQ9KRPVFQC3EYZZJPRJR523H0N9S7HRWN5X6YZB5VE3JMST2KCE0;GNEX9J4XY0C0RXR35MJ8Q0WRDKKR55QWQ824GVEJWPXHDX5J6QKG;73P606F0MC5C3W72R70Y14XSHJ3YFJDCPHZZ5ERZ1ZYSBQDV9PCG;PCQGCBY65HXSNKF6AFZ2C84J9FC4S3GAZHZDEXWANSDGE9KKQEE0;KBM0PTZFEZ40CPPXPNYEN117S4K48368APXR8JMSTYN6A657W1W0;Q62TGEDTPCRBDWCQYETJRZP5R9Z92ZTEDB1K205S6Y365YYMG8QG 83b6f616ac244334064c4c56d391c23eb42a7ce6 WR8PZHG5JCXD43FCDRFGQVGKEFWSDDKHTPTB8J8PNGM790K6GJGG +MR-DSM-0190 dsm::sofi::lineage::advance_resolved android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_well_formed_swap_is_valid;dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg;dsm::sofi::validation::tests::an_intermediate_token_must_permit_transfer_too;dsm::sofi::validation::tests::a_token_outside_the_vaults_pair_is_invalid;dsm::sofi::validation::tests::an_off_by_one_output_is_invalid;dsm::sofi::lineage::tests::advance_is_refused_on_each_missing_conjunct - CONFORMANCE §8 MR-DSM-0190 (Met) JCRCS8TY3CQ6DHP9Q41GAVCJTNS0EX2R7FH0W9JGB1Q14TQXZZWG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/advance_resolved(). 7XMHFHYKJAJ1EBD6C4WNEX5ABNYDQ6RA1Q8EWNAAEP036WYG8WEG WQ9KRPVFQC3EYZZJPRJR523H0N9S7HRWN5X6YZB5VE3JMST2KCE0;GNEX9J4XY0C0RXR35MJ8Q0WRDKKR55QWQ824GVEJWPXHDX5J6QKG;73P606F0MC5C3W72R70Y14XSHJ3YFJDCPHZZ5ERZ1ZYSBQDV9PCG;PCQGCBY65HXSNKF6AFZ2C84J9FC4S3GAZHZDEXWANSDGE9KKQEE0;KBM0PTZFEZ40CPPXPNYEN117S4K48368APXR8JMSTYN6A657W1W0;Q62TGEDTPCRBDWCQYETJRZP5R9Z92ZTEDB1K205S6Y365YYMG8QG 83b6f616ac244334064c4c56d391c23eb42a7ce6 M016G34Y1YTBSG6D0BHTSNB2Y8KHBXBVVPS5B1DCK8AD6NM1DN5G +MR-DSM-0190 dsm::sofi::validation::validate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_well_formed_swap_is_valid;dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg;dsm::sofi::validation::tests::an_intermediate_token_must_permit_transfer_too;dsm::sofi::validation::tests::a_token_outside_the_vaults_pair_is_invalid;dsm::sofi::validation::tests::an_off_by_one_output_is_invalid;dsm::sofi::lineage::tests::advance_is_refused_on_each_missing_conjunct - CONFORMANCE §8 MR-DSM-0190 (Met) SSES35HGCSWYKBZDFV5VBXRVMKY1E0AJH7WPGNW0TMG25FFJC2WG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate(). 4GFFRATK8W7QWFC6CD22F8KA4MQH5F1489SCGW2864FJ14BE5CVG WQ9KRPVFQC3EYZZJPRJR523H0N9S7HRWN5X6YZB5VE3JMST2KCE0;GNEX9J4XY0C0RXR35MJ8Q0WRDKKR55QWQ824GVEJWPXHDX5J6QKG;73P606F0MC5C3W72R70Y14XSHJ3YFJDCPHZZ5ERZ1ZYSBQDV9PCG;PCQGCBY65HXSNKF6AFZ2C84J9FC4S3GAZHZDEXWANSDGE9KKQEE0;KBM0PTZFEZ40CPPXPNYEN117S4K48368APXR8JMSTYN6A657W1W0;Q62TGEDTPCRBDWCQYETJRZP5R9Z92ZTEDB1K205S6Y365YYMG8QG 83b6f616ac244334064c4c56d391c23eb42a7ce6 BBQ60PSWTW6DT55MCB0QY27V06XRHB3VKBFPDSAACPXWQJVS384G +MR-DSM-0192 dsm::economic::lineage::advance_validated android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated;dsm::economic_admission_lifecycle::a_registered_root_disagreeing_with_the_witness_is_refused;dsm::economic::register::registered_root_construction_tests::a_registered_root_is_a_projection_of_a_verified_claim - CONFORMANCE §8 MR-DSM-0192 (Met) 8WADHXA6KEFEM2WGSW6J6JWEYR37VEWV9HANA1MZWR4MRZ5JJPMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/lineage/advance_validated(). 6YC5BB68ZGK1M7HBFGNPCJQVTDHP7KA1VB4Y135GBYBX5GP74QPG ER09GD1QWRX81Z4C8B404XMKY2KG2VJRY6X7TFTPAAH577ND301G;JPY0R0A846Q0DQ0506RA9FK1KH1S1EX7N8JZ575D2JKG47QAP3GG;J3GET690S4G9TEM6KSDNYXE2YWD78PWAQQ6EV4HPTN8YPN75KYZ0 83b6f616ac244334064c4c56d391c23eb42a7ce6 6E34TBWGFHY1HJ3A89NVNR5PMN8KPK7S8152V8QRCY6A8T858XHG +MR-DSM-0192 dsm::economic::register::RegisteredEconomicRoot android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated;dsm::economic_admission_lifecycle::a_registered_root_disagreeing_with_the_witness_is_refused;dsm::economic::register::registered_root_construction_tests::a_registered_root_is_a_projection_of_a_verified_claim - CONFORMANCE §8 MR-DSM-0192 (Met) VEX8NJR27BTJMBNXXJQAF9DEA98GN9S0M82HVJ0D5TMXEHM6DEPG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/RegisteredEconomicRoot# HAPPM09FS1CJR8S8B4C3YXHK01FXTQT8HSD4WB725HZRBNN4VECG ER09GD1QWRX81Z4C8B404XMKY2KG2VJRY6X7TFTPAAH577ND301G;JPY0R0A846Q0DQ0506RA9FK1KH1S1EX7N8JZ575D2JKG47QAP3GG;J3GET690S4G9TEM6KSDNYXE2YWD78PWAQQ6EV4HPTN8YPN75KYZ0 83b6f616ac244334064c4c56d391c23eb42a7ce6 0X9VCYN5FGVZ8BX7NZWK0FV6X89W8D2SDFCM8AV8GJDM9R0268JG +MR-DSM-0192 dsm_sdk::sdk::economic_admission_flow::build_dsm_admission android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated;dsm::economic_admission_lifecycle::a_registered_root_disagreeing_with_the_witness_is_refused;dsm::economic::register::registered_root_construction_tests::a_registered_root_is_a_projection_of_a_verified_claim - CONFORMANCE §8 MR-DSM-0192 (Met) KGA26YYAWC7JHXTAN96WYSMYFCV9JT728P2BEDK8GJ59HF8J8FX0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/economic_admission_flow/build_dsm_admission(). GANGQ0MB6XAZAP4M0ANF1AP583D0TKGTSQTX12NREJG5A33FX76G ER09GD1QWRX81Z4C8B404XMKY2KG2VJRY6X7TFTPAAH577ND301G;JPY0R0A846Q0DQ0506RA9FK1KH1S1EX7N8JZ575D2JKG47QAP3GG;J3GET690S4G9TEM6KSDNYXE2YWD78PWAQQ6EV4HPTN8YPN75KYZ0 83b6f616ac244334064c4c56d391c23eb42a7ce6 BY43DQMQY24ESHSBMPK8X04BNQ2N0X9TXD2X7RRS7XWAY92WT7E0 +MR-DSM-0194 dsm::types::policy_types::PolicyCondition android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-DSM-0194 (Partial) 1A092XYR2NS5GJ55H3SAXG0KJ79C67XTB5CNV1BAQGBJBACKVX7G Partial SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 types/policy_types/PolicyCondition# H87HG57T7YQZVA89FTY577W2TGZ85KBP62TT8SGRWB2MB7KB083G - 83b6f616ac244334064c4c56d391c23eb42a7ce6 KHN926B0F9JQAWDFX7C26YR2DX87WVZVYPK30Q5AMQBCPDZ8K1ZG +MR-DSM-0197 dsm::economic::native_reserve::NativeReserveState::genesis android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::native_reserve::tests::no_valid_reserve_transition_can_mint_era;dsm::economic::native_reserve::tests::total_era_is_conserved_along_the_lineage;dsm::types::device_state::tests::a_builtin_token_cannot_be_created_at_the_accepting_transition;dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage - CONFORMANCE §8 MR-DSM-0197 (Met) R0BC619ZZDY255X5635CN6WN25BYX5X7YSENCAT9Y13EKFEPG730 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/native_reserve/impl#[NativeReserveState]genesis(). XETNKDJFM1JQ6RYJXE2NEPEC6B78K935S4NH8CQDYZE1Z0V7MH90 BJX793B9SDWDAHEHBBAWWE8SPHQB27JJXRXP49DP81576M8DPR50;WDGEYE0MHCYMYA5QAJ6D970AQTWRFTW2DHFAQ5EXR46PSFY5EB50;08R2R79MDDTFCK5HC0XEN3BQS7C65CQAYY4HKEAP8V85F94NBMA0;YS57YHRZH8RG97YF1DBE17SJ2YGXKQT3H1DTGW4GS8QBA3QJ1ARG 83b6f616ac244334064c4c56d391c23eb42a7ce6 G08EFRB4C3KVQWMB2YGFMEJ8CM05RJK68MR0GPHXWR68KFZD4MWG +MR-DSM-0197 dsm::economic::native_reserve::release_constructible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::native_reserve::tests::no_valid_reserve_transition_can_mint_era;dsm::economic::native_reserve::tests::total_era_is_conserved_along_the_lineage;dsm::types::device_state::tests::a_builtin_token_cannot_be_created_at_the_accepting_transition;dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage - CONFORMANCE §8 MR-DSM-0197 (Met) JYKVNWDE5615T6JVWXD0FHPSYTZ6HJ9FFCHVZE0F8QX1MST9P2JG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/native_reserve/release_constructible(). WEPHSMA1D6CJJN4MJ6J2Y7DZ7KV6RQKS2F7TNYK5DP5G3Z6GBT80 BJX793B9SDWDAHEHBBAWWE8SPHQB27JJXRXP49DP81576M8DPR50;WDGEYE0MHCYMYA5QAJ6D970AQTWRFTW2DHFAQ5EXR46PSFY5EB50;08R2R79MDDTFCK5HC0XEN3BQS7C65CQAYY4HKEAP8V85F94NBMA0;YS57YHRZH8RG97YF1DBE17SJ2YGXKQT3H1DTGW4GS8QBA3QJ1ARG 83b6f616ac244334064c4c56d391c23eb42a7ce6 Z4W17V35D0MM03724WEPAMH3BSSN933C5T9CG6C050BQHZRASJ80 +MR-DSM-0200 dsm::types::device_state::DeviceState::advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed - CONFORMANCE §8 MR-DSM-0200 (Met) W01BJTN54WZSKHXFTEWBJW184MEB0XV0CKF4ZDAZK4328PHVVAPG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]advance(). E5QPEKJEDVGQSAAG5TC98KNJRQZ88Y5K3MGJED5GPR0F8TPKHH20 99YMQSKTKHT8BW6NS7CS5PH1VS803NTAC80Z3VKYNPJKMAGQBJMG 83b6f616ac244334064c4c56d391c23eb42a7ce6 KJ2S09P6X3MS3QNRSM53XP0ESR3037WFPACAJPBE0YEFYY7G1Z7G +MR-DSM-0200 dsm::types::device_state::DeviceState::establish_relationship android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed - CONFORMANCE §8 MR-DSM-0200 (Met) XHF0TTJYNJ8CXPJQ5AHHCJZ6AAAJF2348RY2VCP1NN7H2M2K611G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]establish_relationship(). VQ5M2RD4T51C6Q4Q43DVKNEH4GQX4BF9G7CCNJ2QYDY8HE4VT5Q0 99YMQSKTKHT8BW6NS7CS5PH1VS803NTAC80Z3VKYNPJKMAGQBJMG 83b6f616ac244334064c4c56d391c23eb42a7ce6 5KVNK8YZX0A0N8DNWCQS995AMPM7531GXZVY27DN7Z1EY9WFTHQ0 +MR-DSM-0200 dsm_sdk::sdk::core_sdk::CoreSDK::establish_relationship android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed - CONFORMANCE §8 MR-DSM-0200 (Met) 8JYVVPXRY1MS2GYAJ94N07GAMR37EYPMBG89S43WXSP570VA4QQG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/core_sdk/impl#[CoreSDK]establish_relationship(). VZ9RNCJPBYFPW75Q288AVAXNS9TPG7VK44E7J9T9JFD3QCQQ2EZG 99YMQSKTKHT8BW6NS7CS5PH1VS803NTAC80Z3VKYNPJKMAGQBJMG 83b6f616ac244334064c4c56d391c23eb42a7ce6 DEQ7YHHSJS8NQQK48DAZQJAWY2TG2ZXRDH8ZWCKBW85SHB1G5EM0 +MR-DSM-0203 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_vault_creation_debits_exactly_its_two_funded_legs;dsm::economic_write_set::a_vault_creation_debits_the_pair_and_inserts_the_record - CONFORMANCE §8 MR-DSM-0203 (Met) P5YP5EG8AXHPS7SKFFSDWZQFANH5V1NCFQWEN482827RNCGF77F0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). ZHP08EX4NHJGE0M8MSVJETQ4AYSP7X053J607M9VZ2BED8MY5CN0 N8FZDJEVTDV8XA29GECH67QZHSQZK8EDBTN1HZB11MN52YS330G0;T9HV50M30SV6W2NG7Z7M8A87BEQVGP8A9P86TMAKB3RMQ8TV1EV0 83b6f616ac244334064c4c56d391c23eb42a7ce6 AD1VQ52Z7A4N00G4T4Y65E2XVMDK1D1SZ3ET5FNZDX3DDS0CCHVG +MR-DSM-0203 dsm::types::device_state::validate_conservation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_vault_creation_debits_exactly_its_two_funded_legs;dsm::economic_write_set::a_vault_creation_debits_the_pair_and_inserts_the_record - CONFORMANCE §8 MR-DSM-0203 (Met) DWH3594K1R0YACCCZVCC5J0JJ9RN4RMSXWW4NTR5ZCS2MC74BVJ0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/validate_conservation(). 60G8QTY9E1Q0SE9EMXEEDZSR2RSGR6ZNCS1ZDT6R97TBTV1R8M20 N8FZDJEVTDV8XA29GECH67QZHSQZK8EDBTN1HZB11MN52YS330G0;T9HV50M30SV6W2NG7Z7M8A87BEQVGP8A9P86TMAKB3RMQ8TV1EV0 83b6f616ac244334064c4c56d391c23eb42a7ce6 JRNNCHNHKTV5F9PXTZYAES89PN98SV35X6KW0MXPRTB77VEBW8W0 +MR-DSM-0204 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::write_set::vault_create_binding_tests::policy_bytes_that_are_not_the_ones_the_state_names_are_refused;dsm::sofi::lineage::genesis_acceptance::a_carried_market_that_is_not_the_committed_one_is_refused;dsm::sofi::validation::tests::a_close_against_another_release_policy_is_invalid;dsm::sofi::validation::tests::an_off_by_one_output_is_invalid - CONFORMANCE §8 MR-DSM-0204 (Met) YTF354FNDE0NSBA2EST8CFX32V9WFFJT0445MRWZZC2EJZA1183G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). ZHP08EX4NHJGE0M8MSVJETQ4AYSP7X053J607M9VZ2BED8MY5CN0 8QJAGGDJMCD2Q60C412NYE1MEA71EJZANPZYDMKQXY91C4XH9ARG;ZK6B34BKRH4NAAM3DM2MKKTXT472K4F3PB2RBQQAXEXCF102FPVG;TWVSG8C12DWWHWGGK61QSNBZP6PZRM1Y463TTXFA1MT878NAA0KG;KBM0PTZFEZ40CPPXPNYEN117S4K48368APXR8JMSTYN6A657W1W0 83b6f616ac244334064c4c56d391c23eb42a7ce6 JWSWQCWSGHEANCAES8T2F4J2S89CCZYZFA3CYVEXXDWYTM3TJSE0 +MR-DSM-0204 dsm::sofi::lineage::genesis_accepted android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::write_set::vault_create_binding_tests::policy_bytes_that_are_not_the_ones_the_state_names_are_refused;dsm::sofi::lineage::genesis_acceptance::a_carried_market_that_is_not_the_committed_one_is_refused;dsm::sofi::validation::tests::a_close_against_another_release_policy_is_invalid;dsm::sofi::validation::tests::an_off_by_one_output_is_invalid - CONFORMANCE §8 MR-DSM-0204 (Met) KXR3KAFAPE9E1SE2V85MBNPPS64G1NHXZFBSAAD27Z6YJWWTF1X0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/genesis_accepted(). FVVEKJY3C3B7Y5WVFA4VP5W59NY32NAK0MVT6JH3QV9AWQCSF3YG 8QJAGGDJMCD2Q60C412NYE1MEA71EJZANPZYDMKQXY91C4XH9ARG;ZK6B34BKRH4NAAM3DM2MKKTXT472K4F3PB2RBQQAXEXCF102FPVG;TWVSG8C12DWWHWGGK61QSNBZP6PZRM1Y463TTXFA1MT878NAA0KG;KBM0PTZFEZ40CPPXPNYEN117S4K48368APXR8JMSTYN6A657W1W0 83b6f616ac244334064c4c56d391c23eb42a7ce6 CKY0X4X34SZHYYP0EBG87PR2KJ1SJ187ME7DXZRR3KC2WGFQ7WX0 +MR-DSM-0204 dsm::sofi::validation::validate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::write_set::vault_create_binding_tests::policy_bytes_that_are_not_the_ones_the_state_names_are_refused;dsm::sofi::lineage::genesis_acceptance::a_carried_market_that_is_not_the_committed_one_is_refused;dsm::sofi::validation::tests::a_close_against_another_release_policy_is_invalid;dsm::sofi::validation::tests::an_off_by_one_output_is_invalid - CONFORMANCE §8 MR-DSM-0204 (Met) 73JER2CV08FJN8NH3SF4AND9JRRPG5C7ZVSVV3CZ8PP2MEEC92YG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate(). 4GFFRATK8W7QWFC6CD22F8KA4MQH5F1489SCGW2864FJ14BE5CVG 8QJAGGDJMCD2Q60C412NYE1MEA71EJZANPZYDMKQXY91C4XH9ARG;ZK6B34BKRH4NAAM3DM2MKKTXT472K4F3PB2RBQQAXEXCF102FPVG;TWVSG8C12DWWHWGGK61QSNBZP6PZRM1Y463TTXFA1MT878NAA0KG;KBM0PTZFEZ40CPPXPNYEN117S4K48368APXR8JMSTYN6A657W1W0 83b6f616ac244334064c4c56d391c23eb42a7ce6 P41DC60D72XYV0BMA3EH2WNDNPHBKCT5GMRJT2TCT3SDHGWTXMNG +MR-DSM-0206 dsm::route_chain::Route::leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s;dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root - CONFORMANCE §8 MR-DSM-0206 (Met) HVB1YSMRG3HYS6HJAZMMQ1N3ESJ2117T7GCKE6K199ZSP600CED0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). AP8MB1KX5PEG4TXH8S51H81SX8Q58PEKS1YYCZ34EC93V5Y36Z80 HX4ACGD8KC7XDVQZWPT2B45F9BHRW2NZ82XHDV52P2E6DQFMRADG;CH04V8GRWNKC470EQJH19KTRNY0VEWVNY4X8TC3KZQ0PPPWSWYPG 83b6f616ac244334064c4c56d391c23eb42a7ce6 PXQAZZVCX3Z3RGK2BK8HE4RPCTKVV1HGJ39XTMRZKRGEB8RT7JRG +MR-DSM-0206 dsm::route_chain::Route::of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s;dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root - CONFORMANCE §8 MR-DSM-0206 (Met) 28A26JH6E4PRQ0B2MW344P3DTKGHFD8CBEKXVDK06R7ZYG52EKC0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). GNVEG361ZYQB62572RJWMJKYZAVXPDXWVBH5KS2963VJ7ZTY1YV0 HX4ACGD8KC7XDVQZWPT2B45F9BHRW2NZ82XHDV52P2E6DQFMRADG;CH04V8GRWNKC470EQJH19KTRNY0VEWVNY4X8TC3KZQ0PPPWSWYPG 83b6f616ac244334064c4c56d391c23eb42a7ce6 HZEBRMXBH43DGTN9GXN3SERN3PJBSVJ392SXCEZ1YNQG3RQ2EA40 +MR-DSM-0207 dsm::sofi::exercise::recognize_exercise android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_exercise_whose_parts_are_not_one_operations_is_nothing;dsm::sofi::exercise::tests::an_exercise_round_trips_and_rebuilds_into_bound_objects;dsm::sofi::exercise::tests::an_exercise_counts_only_when_f_and_p_are_signed_under_the_key_p_commits;dsm_sdk::handlers::node_e2e_tests::an_unsigned_exercise_at_a_successor_key_takes_nothing - CONFORMANCE §8 MR-DSM-0207 (Met) M6V2G012VMHG24V6855M8M7KEDKG2624JHW2QNPA3SSC21ZN9V60 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/recognize_exercise(). T695GDW3PS5TB27FCYMPR8DEVKRD53C2DHJFFE2V3B7APBCN32W0 RPJPT1RACJWEKM0RKXEMVWMT3A8A6GJFRR2Y1YEZQ2HFTNFEBVW0;BDG6Q7WG4JX014MVWP0FRNVYDDPC9AWJ1MSTHK65TVJ828TG251G;HGV91KKBWF0DQ6JBNJ31XGVFYH4E7EPKSEHES5DCVN91MRTFCWG0;23967GQXCW7RXZV376E5HVD895VM1JS3235YT01D2D4T7VEKEYB0 83b6f616ac244334064c4c56d391c23eb42a7ce6 R1Z6269FW9AS059135EGHM8YYY8C03SJMPJJQ3J8VSY6X65Q6MF0 +MR-DSM-0208 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::a_copy_at_another_position_or_of_another_value_does_not_count;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::exercise::tests::an_exercise_counts_only_when_f_and_p_are_signed_under_the_key_p_commits;dsm_sdk::handlers::node_e2e_tests::an_unsigned_exercise_at_a_successor_key_takes_nothing - CONFORMANCE §8 MR-DSM-0208 (Met) N0QK31P1SYGJGZZGJ59R58CBFZ9XDZDB7QF9F5X439655ESN4YM0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;5YK0E08XN7ND8NZFZ5JW6R8E5AD6NP7879A715D86H0QVBBXCP7G;A077PA4PM12TWH3KX6E55ZKHXSSPTA6BSSS99F5TFG1HPNA3E38G;HGV91KKBWF0DQ6JBNJ31XGVFYH4E7EPKSEHES5DCVN91MRTFCWG0;23967GQXCW7RXZV376E5HVD895VM1JS3235YT01D2D4T7VEKEYB0 83b6f616ac244334064c4c56d391c23eb42a7ce6 PWK9NFMP5PCAPX2RFDRNWFVSHJ82B8K95G773NCBA4G5YVQARJG0 +MR-DSM-0208 dsm::sofi::exercise::attempt_resolution android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::a_copy_at_another_position_or_of_another_value_does_not_count;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::exercise::tests::an_exercise_counts_only_when_f_and_p_are_signed_under_the_key_p_commits;dsm_sdk::handlers::node_e2e_tests::an_unsigned_exercise_at_a_successor_key_takes_nothing - CONFORMANCE §8 MR-DSM-0208 (Met) 2ZRAK4G42XFMYXVN6PMJ4J0Z2BYTD43TCK7EM03PT5963NE3A3KG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/attempt_resolution(). GQDBM8E9QP6M1E0ATYVZPT2N2SN9EZMZJMG5R1AAP3V7112JQRAG XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;5YK0E08XN7ND8NZFZ5JW6R8E5AD6NP7879A715D86H0QVBBXCP7G;A077PA4PM12TWH3KX6E55ZKHXSSPTA6BSSS99F5TFG1HPNA3E38G;HGV91KKBWF0DQ6JBNJ31XGVFYH4E7EPKSEHES5DCVN91MRTFCWG0;23967GQXCW7RXZV376E5HVD895VM1JS3235YT01D2D4T7VEKEYB0 83b6f616ac244334064c4c56d391c23eb42a7ce6 XX3BJBV06S5KF8F08W5K63JVQR1PP2D6QB2W21KM0HK58KRZSWS0 +MR-DSM-0209 dsm::sofi::resolution::walk android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_walk_is_chunking_equivalent - CONFORMANCE §8 MR-DSM-0209 (Partial) HQ8GHB5BYHJ3AGANY6QA5DHA9D3SH8XCE3SGX7BCWM3VZGKZQSG0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/walk(). DRK88CS0FWSWR1KHE9PQTGDGSX807EXVNFSTT4K5PN7TEEJBXB20 MP95E0DTXJE1EY3MX3A1QNCQSSRYS4AMTNFQYC304JPFSEVDSTTG 83b6f616ac244334064c4c56d391c23eb42a7ce6 BFJC3MRWQMMNRFZGM1ZGMHWRDZCF8MR31PDK2QDDSNRSDCVYH6RG +MR-DSM-0210 dsm::sofi::derive::storage_seed android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root - CONFORMANCE §8 MR-DSM-0210 (Met) DPB199KNGZ8919DQPEKHXQ09SE5RYJN1WBK6QG1GP7TJSE54N0P0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/storage_seed(). BGAMPSWB9YQ2Z7KQ6EKWFAVRZ5RGRZEH4WQ533ZH2D2MSCB070X0 CH04V8GRWNKC470EQJH19KTRNY0VEWVNY4X8TC3KZQ0PPPWSWYPG 83b6f616ac244334064c4c56d391c23eb42a7ce6 K5ZQ8G8DMRFEC29946SB99R7AG3YGW7VPC9RP3SBWGADTHP9Q7SG +MR-DSM-0210 dsm::sofi::exercise::AttemptCell android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root - CONFORMANCE §8 MR-DSM-0210 (Met) D9ME7AZ8AQEY16Q0GE4FKQWSMFKFJ4PKMRPWR4VKMZ6EV7MZ6JS0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/AttemptCell# X6DSS28H11EVMVZD0TZFMNA2Y805BFDR9H4J33ZKSN4EVQZ040Q0 CH04V8GRWNKC470EQJH19KTRNY0VEWVNY4X8TC3KZQ0PPPWSWYPG 83b6f616ac244334064c4c56d391c23eb42a7ce6 35JV00EQNXNFYH9V46JMGH45B1KY1TNAGBJYMRDFJVMBTGQS6H50 +MR-DSM-0212 dsm::sofi::resolution::effect_of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::an_orphaned_parent_voids_a_valid_route_and_never_invalidates_it - CONFORMANCE §8 MR-DSM-0212 (Partial) 9N3D0DW36MC6P1GRPHZNWVGTYGPS0YZQG7QRX4TCXQYARVCB6RA0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/effect_of(). PYQTE6N9Z11HKXSPGEKD5PHQ3YGE02TNYQ191R4H3326Q8PQPH5G 00T0HW7YWQ9EXR3HJ70911F0YQMWVECCQ83AYNY0AGRJ7Y8DCZ0G 83b6f616ac244334064c4c56d391c23eb42a7ce6 VCKXB5Z7QEP6KWFZ6BJ32YWKN0RJGEFJSNZYAK00BE3A47XFA6X0 +MR-DSM-0215 dsm::dlv::route_commit::constant_product_output_classified android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::an_off_by_one_output_is_invalid;dsm::sofi::validation::tests::an_overflowing_reserve_is_invalid - CONFORMANCE §8 MR-DSM-0215 (Partial) KKFESVAXC5RA66DM2PH91CVR1GHAFCQMKBC1KJRZ2AT0X78TKFB0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 dlv/route_commit/constant_product_output_classified(). ED8RH5QS1T8XT563EW29K3VX0JPRQW3DDD02N8XFX8RFG0PFY09G KBM0PTZFEZ40CPPXPNYEN117S4K48368APXR8JMSTYN6A657W1W0;XXQD032N470M18KQWAB0SFYFH2JCSG9YGAM7B7DKPPVFMJ1FJ790 83b6f616ac244334064c4c56d391c23eb42a7ce6 6N3GVWTJWRKS8B5Y2X48K3AN1YB0X3BKKX24JBQPWZ7MT9EEWGW0 +MR-DSM-0215 dsm::sofi::validation::swap_vault_post android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::an_off_by_one_output_is_invalid;dsm::sofi::validation::tests::an_overflowing_reserve_is_invalid - CONFORMANCE §8 MR-DSM-0215 (Partial) JSK6B0JXRS0G0HZCB6R8PT1N4F2JYQJ0HQTST36SGMZS13EBMF50 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/swap_vault_post(). TT4TB522J4FYEKKM3SCKVG3321982ZGPJ2N27FWFT4Y1Q633PSD0 KBM0PTZFEZ40CPPXPNYEN117S4K48368APXR8JMSTYN6A657W1W0;XXQD032N470M18KQWAB0SFYFH2JCSG9YGAM7B7DKPPVFMJ1FJ790 83b6f616ac244334064c4c56d391c23eb42a7ce6 DHVWRN9ATV74DXPB0N7YM9TQ8MT84BE3FTNH6WP6BMBMD3CBD5F0 +MR-DSM-0216 dsm::sofi::publication::recognize_fulfillment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-DSM-0216 (Partial) 1FB4F381PFS81TH9A5TXJHK9W1J0Z5V37HCP4WH6T1BA3ARTM0Z0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/publication/recognize_fulfillment(). CHVYZGT5KYKS7S1BTFG637QARBG7HYFJXEH9HB87NXPS82G99F5G - 83b6f616ac244334064c4c56d391c23eb42a7ce6 65S1BBP3JDSXTG5QDVNGJ7CDP93J071B0DBXM2VSMENJN1BQ4GJ0 +MR-DSM-0216 dsm::sofi::publication::recognize_setup android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-DSM-0216 (Partial) ZVMV34VM74Z815FCNTZFC59HGJ2KSVB1WJ5D74PKZ30R6W1Z3PF0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/publication/recognize_setup(). 5NNPFB9QBA4NVHCV40YYT01R07D3VD1Q00YN35ZBHBYV8ACTMFB0 - 83b6f616ac244334064c4c56d391c23eb42a7ce6 6XTQCY7S4RME1V5HBRKDDQTDBNA0RKR99MECBY2AMCZ6ZCDNQKSG +MR-DSM-0220 dsm::economic::native_reserve::release_constructible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::genesis_acceptance::a_genesis_on_another_storage_set_is_refused;dsm::sofi::validation::tests::a_vault_in_another_storage_set_is_invalid;dsm::economic::native_reserve::tests::a_release_must_succeed_exactly_its_parent - CONFORMANCE §8 MR-DSM-0220 (Met) 08M3QC7XRZ24CD47C6C085DW0KBG31BW2YND1KN19J70XG12SAQG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/native_reserve/release_constructible(). WEPHSMA1D6CJJN4MJ6J2Y7DZ7KV6RQKS2F7TNYK5DP5G3Z6GBT80 HP1A3CE9K34AYNKJB41T0N1NX5ETCPMNJ0XXK4C4N0RGBQ2Z00VG;5FBJXH85V5QPAZS7YZWNFHRCSKPZNZ95MEZMCVV52W5PZBD0J9M0;XW8SC4TS912GKDES5NJPXN3GAK864NVCM9SYS6QPM1PTTGN23TBG 83b6f616ac244334064c4c56d391c23eb42a7ce6 480W4Z20BW0SK67TZ3RMGH3G28N5Y7GE0WAEF7JSE2Z7B9C1FFVG +MR-DSM-0220 dsm::sofi::lineage::genesis_accepted android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::genesis_acceptance::a_genesis_on_another_storage_set_is_refused;dsm::sofi::validation::tests::a_vault_in_another_storage_set_is_invalid;dsm::economic::native_reserve::tests::a_release_must_succeed_exactly_its_parent - CONFORMANCE §8 MR-DSM-0220 (Met) EKNZBG2EJ5SZ7GAPVENTSF34CPWHS2J2DRXH4MJ8FZ32ZQB8ZKCG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/genesis_accepted(). FVVEKJY3C3B7Y5WVFA4VP5W59NY32NAK0MVT6JH3QV9AWQCSF3YG HP1A3CE9K34AYNKJB41T0N1NX5ETCPMNJ0XXK4C4N0RGBQ2Z00VG;5FBJXH85V5QPAZS7YZWNFHRCSKPZNZ95MEZMCVV52W5PZBD0J9M0;XW8SC4TS912GKDES5NJPXN3GAK864NVCM9SYS6QPM1PTTGN23TBG 83b6f616ac244334064c4c56d391c23eb42a7ce6 WKKRTS4F8PQR03MZQGGZKKF8PKFJYTTBZ8CNSRFXA601HQPWV5AG +MR-DSM-0220 dsm_sdk::sdk::storage_set::canonical_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::genesis_acceptance::a_genesis_on_another_storage_set_is_refused;dsm::sofi::validation::tests::a_vault_in_another_storage_set_is_invalid;dsm::economic::native_reserve::tests::a_release_must_succeed_exactly_its_parent - CONFORMANCE §8 MR-DSM-0220 (Met) B8EXGTXQG8MJH12FW7AG843ZB85MP41VFT338MNJ4KAP071S3C70 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/storage_set/canonical_set(). WK1330R0M00JCWNYV012A1AGXG1WDJZY7WP78PGY0MCEYWDYNJQG HP1A3CE9K34AYNKJB41T0N1NX5ETCPMNJ0XXK4C4N0RGBQ2Z00VG;5FBJXH85V5QPAZS7YZWNFHRCSKPZNZ95MEZMCVV52W5PZBD0J9M0;XW8SC4TS912GKDES5NJPXN3GAK864NVCM9SYS6QPM1PTTGN23TBG 83b6f616ac244334064c4c56d391c23eb42a7ce6 B55347ZYTB55NSD7E5V7ZE0EZXKJTTFJDXD2ZF2ET4A8V70PMX30 +MR-DSM-0242 dsm::economic::peer_lineage::validate_peer_lineage android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::recipient_admission_tests::fabricated_sender_coordinates_are_refused_before_any_durable_state;dsm::economic::peer_lineage::tests::a_claim_that_is_not_final_decides_nothing_yet;dsm::economic_lineage_register::each_position_of_each_identity_is_its_own_cell - CONFORMANCE §8 MR-DSM-0242 (Met) 1KH742523613Z1FDAYSNWNEHP1F0N247HWEPYKFJ3JMGYFT2QB00 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/peer_lineage/validate_peer_lineage(). J5REJCC2BQZ9397BFJB4XVNPWRB34QPXDCQ2HFX0SE1GZY4RNX60 3Y2XBGKTXBFER61VGVGQJHTNY7T7XDM68CD28SYWSVYQXJ130DN0;69SKTHWPJENVVX3GZ6FQG6Y2H4BSMMYEE8NTW4JYN95W6ET0PED0;DFZGKFRXASC6MBP2WT869VTFXWZ6EBBN8ZRM9YD9WSQ14HQ1131G 83b6f616ac244334064c4c56d391c23eb42a7ce6 E54ZCMQMG6GKE1AN9R15PZ1J5E8E5SB7BX062H4HXFJJHCNTE9J0 +MR-DSM-0242 dsm::economic::register::read_root_cell android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::recipient_admission_tests::fabricated_sender_coordinates_are_refused_before_any_durable_state;dsm::economic::peer_lineage::tests::a_claim_that_is_not_final_decides_nothing_yet;dsm::economic_lineage_register::each_position_of_each_identity_is_its_own_cell - CONFORMANCE §8 MR-DSM-0242 (Met) YXNN15S7ZG4B319H0J7EPMMNWWH81CVR507MSB0M3K1FB3GSSPY0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/read_root_cell(). 3FGJADXQV69STHQP4KMM3NS1CE8376DAJTQ0ZW11ZGWTMSVFT9GG 3Y2XBGKTXBFER61VGVGQJHTNY7T7XDM68CD28SYWSVYQXJ130DN0;69SKTHWPJENVVX3GZ6FQG6Y2H4BSMMYEE8NTW4JYN95W6ET0PED0;DFZGKFRXASC6MBP2WT869VTFXWZ6EBBN8ZRM9YD9WSQ14HQ1131G 83b6f616ac244334064c4c56d391c23eb42a7ce6 XZ5W1XY0SVYKVATD8FM1EKDWANDDS3F4YYT80R1819A0PR8Y1W90 +MR-DSM-0242 dsm_sdk::sdk::economic_admission_flow::prevalidate_incoming_transfer_admission android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::recipient_admission_tests::fabricated_sender_coordinates_are_refused_before_any_durable_state;dsm::economic::peer_lineage::tests::a_claim_that_is_not_final_decides_nothing_yet;dsm::economic_lineage_register::each_position_of_each_identity_is_its_own_cell - CONFORMANCE §8 MR-DSM-0242 (Met) 5K0G2KSNXBAJQJ8KFWW3B7EWZ51NTGZ7QHYKEVC58V3FJC4CW530 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/economic_admission_flow/prevalidate_incoming_transfer_admission(). VPTVSXB2RG52T2HYKGXM0CRX34BDC042MSZ6JE6THJ8QNHHE8QMG 3Y2XBGKTXBFER61VGVGQJHTNY7T7XDM68CD28SYWSVYQXJ130DN0;69SKTHWPJENVVX3GZ6FQG6Y2H4BSMMYEE8NTW4JYN95W6ET0PED0;DFZGKFRXASC6MBP2WT869VTFXWZ6EBBN8ZRM9YD9WSQ14HQ1131G 83b6f616ac244334064c4c56d391c23eb42a7ce6 C9GZTG89SM1YH48FN1VA45CCDAF6B2AQN8533754VJ47K86G4Z30 +MR-DSM-0245 dsm::types::device_state::DeviceState::advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-DSM-0245 (Partial) KY63Y2JJDQV3C9JKPMHQY00YSK9YSNZQ9WRZ2C9NJFMBD5K3H4J0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]advance(). E5QPEKJEDVGQSAAG5TC98KNJRQZ88Y5K3MGJED5GPR0F8TPKHH20 - 83b6f616ac244334064c4c56d391c23eb42a7ce6 KAW1YVFJAZ7QAD209C7GDKY4BXNC6JMAN92R7J26A8Y61KVPKVA0 MR-DSM-0248 dsm::crypto::canonical_lp::write_lp android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-DSM-0248 (Partial) SP8DKSRP1WAVE4548GN30BZ6CKJ8B25T0JEKQGDKECQ9WV0X9Q00 Partial SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 crypto/canonical_lp/write_lp(). VFYZZCYQ744J9WM6P64V79A7N6Z3J8JZXSE0GANPK1PMTANAXKWG - 8b2814918a9f0cf54a83d29080a9c6bf177682d9 FBMDG90427Y48PXJQACZGC4WDQ867MJB4FVCJ6P33KJEY58AVGPG -MR-DSM-0249 dsm::core::bilateral_transaction_manager::compute_smt_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::smt_tripwire_vectors::golden_tag_smt_key;dsm::smt_tripwire_vectors::smt_key_determinism_reversed_args - CONFORMANCE §8 MR-DSM-0249 (Partial) QWHZ72M7NMD56C1C2PHK3SAMXPDQ32M7H072BBGYA24ZDMH993JG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/bilateral_transaction_manager/compute_smt_key(). ES97MT63J11WBQ5E2PTXDX5HVJGFFARSYCVGVVRVX8VX92C8R3J0 P95ET3V8YVZ51BY0RQ7VBFG99V5PY214XTHGWDWKENX0749N31QG;442E2C1JQP7GZ64XFRMDMCDD6GQ77MY141KJWSCHVDP3G6NDE4PG 0d1228ff64e5b330ea0b03b5e13c6d4bc3be66c4 SYH9FF3CBM055082RGRC2RBM1YCPMZ7SEE7NTS2ZVB3ZQ9TGQBK0 -MR-DSM-0252 dsm::merkle::batch_fold::verify_batch android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::verify_proof_against_root_static;dsm::merkle::sparse_merkle_tree::tests::inclusion_proof_trailing_bytes_rejected;dsm::verification::receipt_verification::tests::the_state_rules_hold_only_for_the_move_the_writes_prove;dsm::merkle::batch_fold::tests::device_paths_of_two_trees_are_refused - CONFORMANCE §8 MR-DSM-0252 (Met) 2NX6C5D6KNCN6NPM0Q382T7EGG61MS0MV3WCCYQMJ9Z4PCVX3X2G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 merkle/batch_fold/verify_batch(). 9D1V05ECY3C44XX3B3Z68CARHMJJH48XV9BMZN16Y260BCAGJW70 QRKYDSZ5K4YW0K2052DA6EEDD98HJ7Q01B2GARBWDTK7W3JRWDC0;7ECV5FR531Z0GE5XY61YHDT4BYAQ5DGVCXGTE1ZAXF5GDTNE5FX0;5X0FCQB850MWJ0TCYMMDNPMSAM0TPD0QDT6JSBEEV0TSFB4DX8YG;P0G82HBCY8YNXGMKB0S8MTHCYZDWEFY3A8SCYQJYH9JK2H14M4S0 7cee0bed15d2731c582f4bad76252df1406b32d1 PKEGM0AAQMQAZSSK2CAR051PPN61N7ANM7V56KHM7GA3CMZ3E9Q0 -MR-DSM-0252 dsm::merkle::smt_path::decode android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::verify_proof_against_root_static;dsm::merkle::sparse_merkle_tree::tests::inclusion_proof_trailing_bytes_rejected;dsm::verification::receipt_verification::tests::the_state_rules_hold_only_for_the_move_the_writes_prove;dsm::merkle::batch_fold::tests::device_paths_of_two_trees_are_refused - CONFORMANCE §8 MR-DSM-0252 (Met) AQ9639ZGFY8GPS9E76MR6E45FR5F9A848448NAV733H8FYVYNDG0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 merkle/smt_path/decode(). A1TG2CWHQ5CAMHC23YB07WHQ0P98FGK548128JFCNBC6AKP9ZYT0 QRKYDSZ5K4YW0K2052DA6EEDD98HJ7Q01B2GARBWDTK7W3JRWDC0;7ECV5FR531Z0GE5XY61YHDT4BYAQ5DGVCXGTE1ZAXF5GDTNE5FX0;5X0FCQB850MWJ0TCYMMDNPMSAM0TPD0QDT6JSBEEV0TSFB4DX8YG;P0G82HBCY8YNXGMKB0S8MTHCYZDWEFY3A8SCYQJYH9JK2H14M4S0 7cee0bed15d2731c582f4bad76252df1406b32d1 68KP74A81S4XVQ2N8NT0ZXZ044CPH8BJZS41A6ZCDRRTBTGQX5K0 -MR-DSM-0252 dsm::merkle::sparse_merkle_tree::SparseMerkleTree::get_inclusion_proof android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::verify_proof_against_root_static;dsm::merkle::sparse_merkle_tree::tests::inclusion_proof_trailing_bytes_rejected;dsm::verification::receipt_verification::tests::the_state_rules_hold_only_for_the_move_the_writes_prove;dsm::merkle::batch_fold::tests::device_paths_of_two_trees_are_refused - CONFORMANCE §8 MR-DSM-0252 (Met) B2NNFTPQKFPBG4NRZHN263SH7N28Q2PCQG0BNDPMYA2M69TMJC30 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 merkle/sparse_merkle_tree/impl#[SparseMerkleTree]get_inclusion_proof(). JE0K70A2PTGZB6KJSVKW6PSB2XKQC33K6GNZ0D2J7PHZ9FC1ESF0 QRKYDSZ5K4YW0K2052DA6EEDD98HJ7Q01B2GARBWDTK7W3JRWDC0;7ECV5FR531Z0GE5XY61YHDT4BYAQ5DGVCXGTE1ZAXF5GDTNE5FX0;5X0FCQB850MWJ0TCYMMDNPMSAM0TPD0QDT6JSBEEV0TSFB4DX8YG;P0G82HBCY8YNXGMKB0S8MTHCYZDWEFY3A8SCYQJYH9JK2H14M4S0 7cee0bed15d2731c582f4bad76252df1406b32d1 VS3X3WG50N1TP6MYCGXTSH2TZ2448M8J2Q6R0VSB47C437G04SAG -MR-DSM-0252 dsm::merkle::sparse_merkle_tree::SparseMerkleTree::verify_proof_against_root android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::verify_proof_against_root_static;dsm::merkle::sparse_merkle_tree::tests::inclusion_proof_trailing_bytes_rejected;dsm::verification::receipt_verification::tests::the_state_rules_hold_only_for_the_move_the_writes_prove;dsm::merkle::batch_fold::tests::device_paths_of_two_trees_are_refused - CONFORMANCE §8 MR-DSM-0252 (Met) BDJSG0BNMBVSE77RB35PGGW49PWZ3PAWP7BJ0SM7Y6VJDE8PXHAG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 merkle/sparse_merkle_tree/impl#[SparseMerkleTree]verify_proof_against_root(). 20XNHNQ0YP98M23MK8KPKZ0475K9PJY1DQFXFRMH9K7ABQ2MZAYG QRKYDSZ5K4YW0K2052DA6EEDD98HJ7Q01B2GARBWDTK7W3JRWDC0;7ECV5FR531Z0GE5XY61YHDT4BYAQ5DGVCXGTE1ZAXF5GDTNE5FX0;5X0FCQB850MWJ0TCYMMDNPMSAM0TPD0QDT6JSBEEV0TSFB4DX8YG;P0G82HBCY8YNXGMKB0S8MTHCYZDWEFY3A8SCYQJYH9JK2H14M4S0 7cee0bed15d2731c582f4bad76252df1406b32d1 CRM0FXBYSY4D67KMD2FKH5GAE2EPGZM1HJRZGSSCZ0127J0FGXV0 -MR-DSM-0256 dsm_storage_node::NodeStorageSet::new node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::cell_properties::every_value_put_at_a_key_is_held_in_arrival_order;dsm_storage_node::db::cell_properties::concurrent_writers_on_one_key_lose_nothing;dsm_storage_node::db::cell_properties::held_values_and_index_entries_survive_reopening_the_store;dsm_storage_node::db::pg::durable_posture_tests::a_weaker_posture_is_refused_and_the_refusal_names_the_setting;dsm_storage_node::storage_set_tests::a_node_whose_register_was_rebuilt_refuses_to_serve_the_configured_set - CONFORMANCE §8 MR-DSM-0256 (Met) ZYTT2TAQD59DHRXNGPXKQYBENW1KS6XHJGGVFJ8ZVMJE0HZE0QGG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 impl#[NodeStorageSet]new(). 79JNF57X3PR0FX4DTGNE5T6VAM87616FYR3FDBPA7S7DJWQQ29FG H457ZDVGJV78N1XRHCF24JC8YTP2TYRDCHRJ1ZH9N3NQ0P9NQHRG;CT78D3DR1HBRBR6Y0A9YSFQHYWVVXHPDXTT7ZGYAY21441B3NMA0;PAHS16TX12B97F85C75Y2TKP6XZ44XVT3TEHKRP4F11N9RR2GZ40;DWZ3SC14BNR50B26NS35MB8Q1D0A2AEDT2WSQFM59024V5JBGXB0;XJGCKBCXNFSPFS5ZVPYCWCB8SCY3Z42XRFHKGA4Y8K89G9MJ4JPG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 BXQP7AFJ71HNAGBX1G7RHKHNWNZPH539BXT9PJ6XP9VWT93WQ1E0 -MR-DSM-0256 dsm_storage_node::db::pg::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::cell_properties::every_value_put_at_a_key_is_held_in_arrival_order;dsm_storage_node::db::cell_properties::concurrent_writers_on_one_key_lose_nothing;dsm_storage_node::db::cell_properties::held_values_and_index_entries_survive_reopening_the_store;dsm_storage_node::db::pg::durable_posture_tests::a_weaker_posture_is_refused_and_the_refusal_names_the_setting;dsm_storage_node::storage_set_tests::a_node_whose_register_was_rebuilt_refuses_to_serve_the_configured_set - CONFORMANCE §8 MR-DSM-0256 (Met) FK8HWSMDNQ3E5CAET9C2C299TJ11ZY0S95FECGMDVMBZJPTPNKE0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/put_cell(). TH6ZTSP2PK3ET11A0H69JNHR8QTTN5H758HDJF2Y81Z4C1F0GXJ0 H457ZDVGJV78N1XRHCF24JC8YTP2TYRDCHRJ1ZH9N3NQ0P9NQHRG;CT78D3DR1HBRBR6Y0A9YSFQHYWVVXHPDXTT7ZGYAY21441B3NMA0;PAHS16TX12B97F85C75Y2TKP6XZ44XVT3TEHKRP4F11N9RR2GZ40;DWZ3SC14BNR50B26NS35MB8Q1D0A2AEDT2WSQFM59024V5JBGXB0;XJGCKBCXNFSPFS5ZVPYCWCB8SCY3Z42XRFHKGA4Y8K89G9MJ4JPG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 JZWE0A18FPQHW10N45ECT54NPDHSEMC8PBD656G00XBHPEDVP510 -MR-DSM-0256 dsm_storage_node::db::pg::register_incarnation node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::cell_properties::every_value_put_at_a_key_is_held_in_arrival_order;dsm_storage_node::db::cell_properties::concurrent_writers_on_one_key_lose_nothing;dsm_storage_node::db::cell_properties::held_values_and_index_entries_survive_reopening_the_store;dsm_storage_node::db::pg::durable_posture_tests::a_weaker_posture_is_refused_and_the_refusal_names_the_setting;dsm_storage_node::storage_set_tests::a_node_whose_register_was_rebuilt_refuses_to_serve_the_configured_set - CONFORMANCE §8 MR-DSM-0256 (Met) 4B0XMGFSRF2ZW16H960QKJGV0QEFAG4EMP6NA7S9XBKWKF9V9S70 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/register_incarnation(). QS4VWYVQ0Z79Z9VP7SNP8DTS63KDSW3BMD2H323T3CMTFXMPMMBG H457ZDVGJV78N1XRHCF24JC8YTP2TYRDCHRJ1ZH9N3NQ0P9NQHRG;CT78D3DR1HBRBR6Y0A9YSFQHYWVVXHPDXTT7ZGYAY21441B3NMA0;PAHS16TX12B97F85C75Y2TKP6XZ44XVT3TEHKRP4F11N9RR2GZ40;DWZ3SC14BNR50B26NS35MB8Q1D0A2AEDT2WSQFM59024V5JBGXB0;XJGCKBCXNFSPFS5ZVPYCWCB8SCY3Z42XRFHKGA4Y8K89G9MJ4JPG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 APAM563CNRBS4FZE33RJEPP6NBA41X50X1QG34TWRCPJRPSX1260 -MR-DSM-0256 dsm_storage_node::db::pg::require_durable_commit_posture node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::cell_properties::every_value_put_at_a_key_is_held_in_arrival_order;dsm_storage_node::db::cell_properties::concurrent_writers_on_one_key_lose_nothing;dsm_storage_node::db::cell_properties::held_values_and_index_entries_survive_reopening_the_store;dsm_storage_node::db::pg::durable_posture_tests::a_weaker_posture_is_refused_and_the_refusal_names_the_setting;dsm_storage_node::storage_set_tests::a_node_whose_register_was_rebuilt_refuses_to_serve_the_configured_set - CONFORMANCE §8 MR-DSM-0256 (Met) ERM00K8WQDS2002RPAYMFR3RM80W6Q3WT2RZ41KX25VAQGZXSBZG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/require_durable_commit_posture(). F5VAN4026RN5HJBYH5F19C8NGVYZ2PDHDGMYE2HJPQYRR1S07HWG H457ZDVGJV78N1XRHCF24JC8YTP2TYRDCHRJ1ZH9N3NQ0P9NQHRG;CT78D3DR1HBRBR6Y0A9YSFQHYWVVXHPDXTT7ZGYAY21441B3NMA0;PAHS16TX12B97F85C75Y2TKP6XZ44XVT3TEHKRP4F11N9RR2GZ40;DWZ3SC14BNR50B26NS35MB8Q1D0A2AEDT2WSQFM59024V5JBGXB0;XJGCKBCXNFSPFS5ZVPYCWCB8SCY3Z42XRFHKGA4Y8K89G9MJ4JPG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 EQAA157ZHHVGNVY4AZM0531B49AQ22MDDJQ627H6B0X0JR1ZQP90 -MR-DSM-0257 dsm::economic::native_reserve::SuccessorCell::of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set;dsm::route_chain::tests::a_cell_is_routed_only_over_the_committed_set;dsm::economic::native_reserve::tests::a_successor_cell_is_routed_over_the_set_its_parent_commits;dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible - CONFORMANCE §8 MR-DSM-0257 (Met) 2ZH5PHRZBBDN03Q5BW05D5ESNDNHPMK5NPWKVHWW23NXF43Q65RG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/native_reserve/impl#[SuccessorCell]of(). CWJ63Q1ZEC1GKVSZ8FAN212BRZFDX3JXRM2F6DVTWVK4MMZBGWJ0 W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG;WTBCD6HV6R2BM20SSDE146SRVMJ3NB40HY51SDJ3M0PZNWKXTAM0;Q1YTNPQKF84T2BDHZFC3T9M9BA7A8XJTMB16T1XT9GM3PW8FM650;AVF2YVS4SZFHAHN40RRBSTTX945E4G3YEXG461FE0WK61YJCECMG 375506f9333de6e529968767d19d565d189cc385 FT91G564AXAAQGHDY5TBV3HM88EW05EX9B8BQ16E9BXMXYX2AJWG -MR-DSM-0257 dsm::route_chain::Route::of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set;dsm::route_chain::tests::a_cell_is_routed_only_over_the_committed_set;dsm::economic::native_reserve::tests::a_successor_cell_is_routed_over_the_set_its_parent_commits;dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible - CONFORMANCE §8 MR-DSM-0257 (Met) KCYNBG0PNNSS98REQAB8HXEN3V5QKRKBV8SPE1MNXSBX3V61K9Y0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). 2H7D33H2YAHV1P8H49KSWBYX8C1X27V35D0EM1TNFQPRPA2YJB80 W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG;WTBCD6HV6R2BM20SSDE146SRVMJ3NB40HY51SDJ3M0PZNWKXTAM0;Q1YTNPQKF84T2BDHZFC3T9M9BA7A8XJTMB16T1XT9GM3PW8FM650;AVF2YVS4SZFHAHN40RRBSTTX945E4G3YEXG461FE0WK61YJCECMG 375506f9333de6e529968767d19d565d189cc385 YGH2T406D5YGR8D98239Z18AJC72D2X692BHBJAJ18ASM1J1YFT0 -MR-DSM-0257 dsm::route_chain::RoutedCell::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set;dsm::route_chain::tests::a_cell_is_routed_only_over_the_committed_set;dsm::economic::native_reserve::tests::a_successor_cell_is_routed_over_the_set_its_parent_commits;dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible - CONFORMANCE §8 MR-DSM-0257 (Met) MTDJKJCHS5E1BNVPMARZSF8YY7B37ADKWJNXQKHF6B0SJ2F85Q5G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[RoutedCell]new(). 4SZQMENH08549QSKCVCF1SW6YKDK7A5G989H2M47JZEQ5BBXX8KG W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG;WTBCD6HV6R2BM20SSDE146SRVMJ3NB40HY51SDJ3M0PZNWKXTAM0;Q1YTNPQKF84T2BDHZFC3T9M9BA7A8XJTMB16T1XT9GM3PW8FM650;AVF2YVS4SZFHAHN40RRBSTTX945E4G3YEXG461FE0WK61YJCECMG 375506f9333de6e529968767d19d565d189cc385 3J6GZ1JWKVBY5Q55R844AMPEB00EVFABRABF1WKQ4HZ6Y6RXFH4G -MR-DSM-0258 dsm::economic::native_reserve::walk_lineage android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in;dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible;dsm::economic::native_reserve::tests::the_walk_never_turns_unavailable_or_budget_into_a_head - CONFORMANCE §8 MR-DSM-0258 (Met) DK1VQEXNVXMKFEKA3VMMG4JST9BT7T87NT7S2KMBJ9ZG93ZYS8Z0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/native_reserve/walk_lineage(). 5E095X3V201X0V7WWG9KG9QNT8HJ31QMJN9JE33CDM3BFQS4XQM0 WQDY8DW5G78YCK3CY71S1JY3M8NHPPPCH72GYJZ2MRX7A6G1WD7G;6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0;AVF2YVS4SZFHAHN40RRBSTTX945E4G3YEXG461FE0WK61YJCECMG;E5NT372B6YC62PQ42NEF50FH35J6KZCX27RWF8P383Y1CQAHF2K0 375506f9333de6e529968767d19d565d189cc385 C0J8QE96408FJJEWGCT80SEK8WR9TJBDMPSF804CS9W0S3KFR750 -MR-DSM-0258 dsm::route_chain::Missing android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in;dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible;dsm::economic::native_reserve::tests::the_walk_never_turns_unavailable_or_budget_into_a_head - CONFORMANCE §8 MR-DSM-0258 (Met) 9Z80AQNJ8VPQJB2CKPVNDW1GJWV7WC299XJC3ETP0YP5WAEJJFA0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/Missing# 4GQ9KE7ZKDXRZ7GMZK12DN5HWWMD3TYJDP71ARZJBNDHAPHSYW3G WQDY8DW5G78YCK3CY71S1JY3M8NHPPPCH72GYJZ2MRX7A6G1WD7G;6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0;AVF2YVS4SZFHAHN40RRBSTTX945E4G3YEXG461FE0WK61YJCECMG;E5NT372B6YC62PQ42NEF50FH35J6KZCX27RWF8P383Y1CQAHF2K0 375506f9333de6e529968767d19d565d189cc385 9B826F193CQMMB8XQX7VBCJ5TRD05B4C5ZW4Z8ZP13S3BAM7SPHG -MR-DSM-0258 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in;dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible;dsm::economic::native_reserve::tests::the_walk_never_turns_unavailable_or_budget_into_a_head - CONFORMANCE §8 MR-DSM-0258 (Met) 47JG38W0VQNJQH5RZ39JDB7PPBQ1DW9KK8DMYW8F6N7HCK9VFS70 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG WQDY8DW5G78YCK3CY71S1JY3M8NHPPPCH72GYJZ2MRX7A6G1WD7G;6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0;AVF2YVS4SZFHAHN40RRBSTTX945E4G3YEXG461FE0WK61YJCECMG;E5NT372B6YC62PQ42NEF50FH35J6KZCX27RWF8P383Y1CQAHF2K0 375506f9333de6e529968767d19d565d189cc385 F9SRWFM77DBB7XEYDT1HAB2KMJ4KHRMC2FS36F2R3R2DDPAK7380 -MR-DSM-0269 dsm::route_chain::Route::leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell - CONFORMANCE §8 MR-DSM-0269 (Met) QDFJCRMPDR062989EF4MP8EYXC80V7GGJ1J29VWZ49S7DNE246W0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). BEX2CAGVT7VCZ341WGN9ZJBNNP0FTXRK2JGQ0VXAEVGZV2DGGBJG AVF2YVS4SZFHAHN40RRBSTTX945E4G3YEXG461FE0WK61YJCECMG;59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG 375506f9333de6e529968767d19d565d189cc385 NTY84A2FF454WR0HDWWH5SQPP705PZRP1FRM408NDRTT0JVQAYB0 -MR-DSM-0269 dsm::route_chain::RoutedCell::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell - CONFORMANCE §8 MR-DSM-0269 (Met) GTJ0G9FBC81CKHYT13PVDWKCA5DMK5X8S1RGVN06Y2FJJCYR7170 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[RoutedCell]new(). 4SZQMENH08549QSKCVCF1SW6YKDK7A5G989H2M47JZEQ5BBXX8KG AVF2YVS4SZFHAHN40RRBSTTX945E4G3YEXG461FE0WK61YJCECMG;59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG 375506f9333de6e529968767d19d565d189cc385 W12YWCHTHW3X6EGDE2J9D781ZC22ABH6NNQE483P8838M8ND1XKG -MR-DSM-0269 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell - CONFORMANCE §8 MR-DSM-0269 (Met) VD8MMG2KKPEAPNP4KNP0DZ7X0MWB7EPT1HZDS10Z5MD4HYFASG5G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG AVF2YVS4SZFHAHN40RRBSTTX945E4G3YEXG461FE0WK61YJCECMG;59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG 375506f9333de6e529968767d19d565d189cc385 GBQDN6R3C0EPF8SWF2WBVA0968V85VZYWWBWFG0KT0WW3C434WCG -MR-DSM-0270 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::only_links_of_one_chain_count_toward_final;dsm::route_chain::tests::a_byte_commit_backs_a_link_only_when_it_follows_its_parent;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-DSM-0270 (Met) QXBEC52453SR74F4P593P9YWJRXXS76VPJD3B8HSG6YWV602AAY0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;5W9841Y111S07377NM3VYDXBV71NH5N3Q62YCB6XJ7PRRS4B45B0;DNVB82QTG3A7DTYYDJN885V9JDB62GS2WSW3CG6VA07NDJ6N93WG;YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0 375506f9333de6e529968767d19d565d189cc385 9ENNYHE00VRZVYH7JBCQ9YP2PXVS8PTMSB51PVXJXDSXE5JVWR20 -MR-DSM-0270 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::only_links_of_one_chain_count_toward_final;dsm::route_chain::tests::a_byte_commit_backs_a_link_only_when_it_follows_its_parent;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-DSM-0270 (Met) H3D3J44ZJD8ZH46J63GWGCM60NWNK7SPZCFFGRDXCXNWDNQ94PNG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). GZ7EWHR37RDX3J8J1HVVPMX123TAWYFWP82BXDSQSWZ99K6JX02G RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;5W9841Y111S07377NM3VYDXBV71NH5N3Q62YCB6XJ7PRRS4B45B0;DNVB82QTG3A7DTYYDJN885V9JDB62GS2WSW3CG6VA07NDJ6N93WG;YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0 375506f9333de6e529968767d19d565d189cc385 CN3KBJNTN9K4KCH2TCTJ03ZWE1XP1JJQWH4DE08QR2P5VRVM3N20 -MR-DSM-0272 dsm_sdk::sdk::b0x_sdk::seal_for android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_transfer_reaches_the_nodes_only_sealed_and_arrives;dsm::crypto::spool_seal::tests::a_sealed_payload_opens_to_its_bytes;dsm::crypto::spool_seal::tests::it_opens_under_nothing_else - CONFORMANCE §8 MR-DSM-0272 (Partial) PSAE3QZFBTQG0ET3D6M23GSWKX2BNCW0VMFZZBPYED290BBB6EN0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/b0x_sdk/seal_for(). BE8YJDNJV31F9HF8BHE70HPGEZYDJNG5WT9QFGN4P86T0WHDDJN0 8HDXXK2AZNAYWK3VG4PBM9E4PMX3N5EBXHJFFRJPERG97TK1NKDG;F3JFTYMWT6QDCG3Z3ECZSNQWD858VZN20EWQZ74VJWBK1PFK0RA0;C9VT0PEBC4ZS4DJ4MRBPTVDNDMSA0WZT9S7CX9PDXKVR94PE5EG0 b7d9468858f6bcdb31f97ed84937343e7eea7227 DA5WEFQCQEHCCC2ZB2A1KTZMABXCFN9MBE5ERJP99HMG0TH937XG -MR-DSM-0272 dsm::crypto::spool_seal::seal android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_transfer_reaches_the_nodes_only_sealed_and_arrives;dsm::crypto::spool_seal::tests::a_sealed_payload_opens_to_its_bytes;dsm::crypto::spool_seal::tests::it_opens_under_nothing_else - CONFORMANCE §8 MR-DSM-0272 (Partial) M3NGBPCYSJ1HVDAF8HQ2ETXPDD3ZP8XY9T186SCJBHDWWKREHZE0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 crypto/spool_seal/seal(). AP4TEA889J92KWXB41EV4TJK7QY65787HVCT2ZNF6F93AKSMDWPG 8HDXXK2AZNAYWK3VG4PBM9E4PMX3N5EBXHJFFRJPERG97TK1NKDG;F3JFTYMWT6QDCG3Z3ECZSNQWD858VZN20EWQZ74VJWBK1PFK0RA0;C9VT0PEBC4ZS4DJ4MRBPTVDNDMSA0WZT9S7CX9PDXKVR94PE5EG0 b7d9468858f6bcdb31f97ed84937343e7eea7227 RG0CCZ5EJDTG4VJXAMCZ4QVV7Z2D2GZ9BWHECN5QPB90ZR5JXTS0 -MR-DSM-0273 dsm::economic::peer_lineage::validate_peer_lineage android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::frontier_verification_tests::a_root_no_transition_explains_is_refused_where_it_sits;dsm_sdk::handlers::frontier_verification_tests::a_credits_source_is_validated_one_hop_back_and_no_further - CONFORMANCE §8 MR-DSM-0273 (Met) XJG1K9XV422EMG517HB2JNQQ6E8BE3PRC32CZ5QM6672FZR8N18G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/peer_lineage/validate_peer_lineage(). Q3TGC2MH7KB0H2WJXH9YMS4S07S80HWBSTKD3NM64SX0WX5CM6VG 2F89355SSVNX0WHJXQXS1R62CBPCSGB04558K4AEAAM2Z8W9DBFG;7BVKYZWVBW956DYQZX7T4Y9VH6NHRZE0E659S8Q6MH3SE5T97A60 b7d9468858f6bcdb31f97ed84937343e7eea7227 VT5XGBAASHNPH112V1A3CVMW9XET55SP0D1XY59AFZ25GNSWNCRG -MR-DSM-0274 dsm_sdk::storage::client_db::economic_lineage::record_frontier_in_tx android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::frontier_verification_tests::a_receiver_reads_nothing_behind_its_frontier - CONFORMANCE §8 MR-DSM-0274 (Met) 1KJSJTWCCM78ZFV23RC5X489E80VEXF3HHQD5CQC7FRJJSEABFZ0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 storage/client_db/economic_lineage/record_frontier_in_tx(). NTXBN9S75MEMGHRDTX9MKKNZDHJV35Y4BBV9SKKK5WZ0Y5HERH1G DT720A4K355TC2J3ERX54V7CGZVPSV1SKJH11BJXT1QZGS89HVEG b7d9468858f6bcdb31f97ed84937343e7eea7227 XQVNVP6BPN5XEBQ05W1HT8DKT6QG7XKTJPWW2N7G9K66GWSDG700 -MR-DSM-0275 dsm_sdk::sdk::economic_registers::resolve_peer android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::frontier_verification_tests::a_receiver_reads_nothing_behind_its_frontier;dsm_sdk::handlers::frontier_verification_tests::a_credits_source_is_validated_one_hop_back_and_no_further - CONFORMANCE §8 MR-DSM-0275 (Met) XDWW3BXXSWNP64G5M6MCK02HGMS0QDC3J82FPYG3CPQGQ5HGZHWG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/economic_registers/resolve_peer(). D07D59CZCJ8YD8794MVHCWFHTAPPTYY7E8MQW0MT3KZFDCBA8720 DT720A4K355TC2J3ERX54V7CGZVPSV1SKJH11BJXT1QZGS89HVEG;7BVKYZWVBW956DYQZX7T4Y9VH6NHRZE0E659S8Q6MH3SE5T97A60 b7d9468858f6bcdb31f97ed84937343e7eea7227 0VREXAKRRVK3Y40X688ZPM2DQC6ME4GVJWDATKRPYCQTRJZTA570 -MR-DSM-0276 dsm::economic::peer_lineage::validate_peer_lineage android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_trader_who_has_traded_can_pay - CONFORMANCE §8 MR-DSM-0276 (Met) TKVT1KHPASS9HC5M85WY7W9HW454W7AG5MBW0J6AE75Z363P1G40 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/peer_lineage/validate_peer_lineage(). Q3TGC2MH7KB0H2WJXH9YMS4S07S80HWBSTKD3NM64SX0WX5CM6VG K81W2M8AATK67N7M9YZAS4M59CCSTAVQR4A3PRMSGWC2Q31HR080 b7d9468858f6bcdb31f97ed84937343e7eea7227 WM0YK35AZY0KGXEFSF6KDHF4PM6SQ7PJ52P0977ADWZ2135829EG -MR-SOFI-0006 dsm::sofi::signature::verify_operation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_setup_signs_its_own_digest;dsm::sofi::signature::tests::a_vault_creation_signs_the_operation - CONFORMANCE §8 MR-SOFI-0006 (Met) WNZ3P5G6GRFSRT7F901DDMMKKB8T6XP5P5ASWFD73YQDD08AW2S0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/signature/verify_operation(). D3Z1YXJP113506EXC2TGBXM1RS12C5EV1RA0RPYV5C3BJQCTAC80 N9CG5A3J90RBNN3PWCNQP27BHATQ80Z1RJ88NMSNP84EH5DDQMG0;GMMAYXGAHMWCRWNZVZ676H602J9KRX7C3AH3BV55J850W1X9RBZ0 1d58ffa8846eaab4902a4912f44b359e16553bb3 NTQ8ZEV7BTSX1VERRBD1HYAFMDY32VK0CR784Z12CK47F486S0WG -MR-SOFI-0008 dsm::sofi::wire::objects::TraderPrecommitBody android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::precommit_roots_that_do_not_match_the_cores_are_invalid - CONFORMANCE §8 MR-SOFI-0008 (Met) 5DW9FS566JVVE2Y8YYG5GTV06B51GTV12XNEXPR3B2Y44X8ZM0T0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/TraderPrecommitBody# GCCQGR3F9V4622KDTQD4G32SM0FMX92Z4G1RR6XG16E0VY6W63YG N91A1G94TW5EQBQQMJV66R0DJHZ15BV7P20T2DG59027VGTPH37G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 31M7CRQC3CTBA4XMS3QEB175PV5ZKWCQZYXA3E09BV8H3MD6FXG0 -MR-SOFI-0010 dsm::sofi::derive::successor_attempt_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::successor_attempt_keys_are_o1_and_distinct - CONFORMANCE §8 MR-SOFI-0010 (Met) NR1WVHSBGWMNZ4F4450MESST9PTC0ANWC960SWFBT926HZZ1ST2G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/successor_attempt_key(). 05AHR30RVB43GTXTJTJ34YX5CKH6ZDW9RP8N8NDVZGKHA1646C4G QJTKDE9J9M2HTPKX1C5TZ5P7DXD8YSWPY5PTZ1ZS4Y29SN3K1BV0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 2FMVYT4E1BA5SDKV5VV60JY5GFWXG7S98QEQ9RG6801QVJPQJ3SG -MR-SOFI-0011 dsm::sofi::derive::external_commitment_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs;dsm::sofi::validation::tests::a_preimage_e_does_not_commit_to_is_invalid;dsm::sofi::exercise::tests::an_exercise_whose_parts_are_not_one_operations_is_nothing - CONFORMANCE §8 MR-SOFI-0011 (Met) J999QPH4W0S00K0KXTD985YF3D9JZE34DHFEWNTE12NR12HKMX4G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/external_commitment_route(). JFJR10CGBM39H1K5F69TNTYGKVEVGHZR6CKM5X0SGZZEQPTPHZE0 BD38JBEMA7KSGCMRYZN0M0XSFDSZJE3D8BJ5NSNK3Y6YD77G5PK0;04XQKFAB45M2SV0413DJ3EXAAM8688NYZTT8SW37K22MSPV6AH40;Z0HF0SB08Y9QDAP9JNM144EQHEGS6B1J09DCNZBJMEVK38B23FYG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 JJ181EBKAGPVG543W0YWEWP44SKNVGE2XT1DK53GMJPNERQT0AHG -MR-SOFI-0011 dsm::sofi::derive::external_commitment_single android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs;dsm::sofi::validation::tests::a_preimage_e_does_not_commit_to_is_invalid;dsm::sofi::exercise::tests::an_exercise_whose_parts_are_not_one_operations_is_nothing - CONFORMANCE §8 MR-SOFI-0011 (Met) Z2YH17DXEHMM35QHTFT6CKTR3A78H6CHW6B7AHDQM6NNDBR7YKVG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/external_commitment_single(). VFXF3TGX1G8RZHX77X86D37W09TQRH14J9X0G7H9S5M8WXGY85ZG BD38JBEMA7KSGCMRYZN0M0XSFDSZJE3D8BJ5NSNK3Y6YD77G5PK0;04XQKFAB45M2SV0413DJ3EXAAM8688NYZTT8SW37K22MSPV6AH40;Z0HF0SB08Y9QDAP9JNM144EQHEGS6B1J09DCNZBJMEVK38B23FYG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 W6CT9W6PYHXM5D61ZWD8WG8N066Q5WWCT2TM6KN7GXNK7W9Y0DG0 -MR-SOFI-0011 dsm::sofi::derive::recompute_e android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs;dsm::sofi::validation::tests::a_preimage_e_does_not_commit_to_is_invalid;dsm::sofi::exercise::tests::an_exercise_whose_parts_are_not_one_operations_is_nothing - CONFORMANCE §8 MR-SOFI-0011 (Met) PYBGY38WZT8M73QRS1HH709EY3EK4VYB3D54DYQP3QG3FZH3NRJ0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/recompute_e(). Y485RDS22CFCG1A5JWZQYHE3Q9XBK83CV031WXNEXKC57FZ1DNF0 BD38JBEMA7KSGCMRYZN0M0XSFDSZJE3D8BJ5NSNK3Y6YD77G5PK0;04XQKFAB45M2SV0413DJ3EXAAM8688NYZTT8SW37K22MSPV6AH40;Z0HF0SB08Y9QDAP9JNM144EQHEGS6B1J09DCNZBJMEVK38B23FYG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 4S6HM09FQD4EAHM52QK6DFNMQCJZGEZ3D67WKFGKF8RK6XDEMMR0 -MR-SOFI-0011 dsm::sofi::exercise::recognize_exercise android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs;dsm::sofi::validation::tests::a_preimage_e_does_not_commit_to_is_invalid;dsm::sofi::exercise::tests::an_exercise_whose_parts_are_not_one_operations_is_nothing - CONFORMANCE §8 MR-SOFI-0011 (Met) 5H4HE86357VP5FV85XZM0JCD5A3ETHS6SVK83AXM2GX0R8WFRNBG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/recognize_exercise(). HBM8GH8Q198E8RG0MSJJVMSGZWNXJ4KZ77DWDCGS30BZRN1XD4CG BD38JBEMA7KSGCMRYZN0M0XSFDSZJE3D8BJ5NSNK3Y6YD77G5PK0;04XQKFAB45M2SV0413DJ3EXAAM8688NYZTT8SW37K22MSPV6AH40;Z0HF0SB08Y9QDAP9JNM144EQHEGS6B1J09DCNZBJMEVK38B23FYG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 NC2QNXR2AS0BNGW9WZ5T3XHSVFQ8M9VKEB8D3BST29GYDP60D9BG -MR-SOFI-0012 dsm::sofi::wire::objects::VaultStateLeaf android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0012 (Met) 0C9FY9RMKRNZBNS52EVXM388XQWFW4MPAMJQEBXQA9S2FPV8R1PG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/VaultStateLeaf# VE7FW1C4JD6R1ZBV5M5109YZ7B4QKDVGMHA5TQ7NYBP8XD8SWKC0 7AGVD2F2XM61A30E1NB25ZZ638K3ZF35RNXPY58AFECAP7SGWYG0 1d58ffa8846eaab4902a4912f44b359e16553bb3 RSGVYZTZ3W6YBE3QMX3CYS952F4TNZVB04QH77M42MDW9JMW6PF0 -MR-SOFI-0015 dsm::sofi::derive::resolution_claim android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim - CONFORMANCE §8 MR-SOFI-0015 (Met) 338RZ8N1G0F76G1XW091AZV0TT0AYEYDJCPDQS21H656TRY0BMMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/resolution_claim(). GC9FXYAWKN55XJTJMFSNVDBQHCP78WVQBEPJYJJMZ7NRY6XVSNM0 GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 RD4X74KZJ4XR2XCQRRHMC1M8J5JXCF731CJN9REATQPFGEG499FG -MR-SOFI-0016 dsm::route_chain::CellReading android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_leader_holding_no_recognized_value_leaves_the_cell_open;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm::economic::native_reserve::tests::unrecognized_bytes_never_occupy_the_cell - CONFORMANCE §8 MR-SOFI-0016 (Met) S66KA4V952NX4Y6F8SZ418VBH3RVMGP9DQTAAG57834NF7CHWVH0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/CellReading# MYKZ748BAJJ92YAKDM4F8AYWBH01SRGZXDVFDE95D2P9EV2VJP90 7B6CJD2HH1F9FJ7V34SVP1CJ993B176F8RB26MTYXHV3QZK4SGAG;P9HAC0KWS1VJ4VSA5TH2988NV4XZS3FRHEXF3DY2RS3XF2GJG9WG;36WNJHBNSHRJD86RRBGJGRFGCQJB9V3MN077GVFAQD86KMBN7TE0 375506f9333de6e529968767d19d565d189cc385 77BQPZN92MVPSKCDBA9268RV351N9053VSY34QTW6XR5JVKGYXNG -MR-SOFI-0016 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_leader_holding_no_recognized_value_leaves_the_cell_open;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm::economic::native_reserve::tests::unrecognized_bytes_never_occupy_the_cell - CONFORMANCE §8 MR-SOFI-0016 (Met) C8CMM7FM85374510QZ0HFHWJNP1AA187NHKX0XQBK6PBK2Z1RKH0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG 7B6CJD2HH1F9FJ7V34SVP1CJ993B176F8RB26MTYXHV3QZK4SGAG;P9HAC0KWS1VJ4VSA5TH2988NV4XZS3FRHEXF3DY2RS3XF2GJG9WG;36WNJHBNSHRJD86RRBGJGRFGCQJB9V3MN077GVFAQD86KMBN7TE0 375506f9333de6e529968767d19d565d189cc385 PXWTW391CXCXAK5K4V1SACPY7ZEG5S8MBY675R2V5Z8TQP8GDM30 -MR-SOFI-0024 dsm::crypto::blake3::dsm_domain_hasher android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0024 (Met) 9RYX54WPP06R6VTRADSJ5AZTJEJE40YBK4W7HEHK947NAHYYHKJ0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 crypto/blake3/dsm_domain_hasher(). KZEF8ZEFCFG0CCA7YFCG2MVH4MMZ3FHZ7EKCRFQJ6TVWGDVRRWEG 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG 1d58ffa8846eaab4902a4912f44b359e16553bb3 JN9N966KW0HQ3WCMBS98R1RZC1XH9BQG6GNNFC3JZ92582PXVF30 -MR-SOFI-0025 dsm::sofi::derive::h android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0025 (Met) 1M5WEXAR4AXZA2W9EXZYV55ZW2R1R3H85KVYCGGTVZPCFEN12A60 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/h(). SG7Q6ERTFPYFSAST5TB1PSHSRKEMJSBV10ZYW6X30AVHFHP3FKRG 7AGVD2F2XM61A30E1NB25ZZ638K3ZF35RNXPY58AFECAP7SGWYG0 1d58ffa8846eaab4902a4912f44b359e16553bb3 T3CT25YZEZEJ5X8GRPV1V97470CAHMNRWPEVN66KN6EBTSFNVEKG -MR-SOFI-0028 dsm::sofi::wire::next_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::counters_are_checked_never_wrapped - CONFORMANCE §8 MR-SOFI-0028 (Met) E8NGHW9H69A2HGTG6WARK1PBDZ50QYT5XQ4ZGYWDX2K6BZKHC3R0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/next_position(). HZKME22ZJT45SS0729X12V23JNEQHTV43H2RZQYA2NP2ESW22K9G BTFRR6RT4H6HMCX5WZGNPYYTDXZZFWNZYAKYCSA0V4Z31F1B0DCG 1d58ffa8846eaab4902a4912f44b359e16553bb3 AW2MDWPSDFH7MV3YHTWG7SG4ZRFZRHDJCY97SZEHGJC5DQVQ67QG -MR-SOFI-0029 dsm::sofi::validation::Verdict::finish android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::invalid_dominates_the_conjunction;dsm::sofi::conformance::tests::invalid_dominates_missing_in_item_order;dsm::sofi::validation::tests::missing_evidence_is_named_never_invalid;dsm::sofi::validation::tests::a_provable_invalidity_is_not_masked_by_missing_evidence - CONFORMANCE §8 MR-SOFI-0029 (Met) 16S1GW543TDMR3CP719QHXR2AB0MAH76FGMY8A05QCWRGA0MA0V0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/impl#[Verdict]finish(). SK04GZ2B1ZZM93XZYCG4RS4XK3SBE1R33AZ20PMHAASWM7MSGP9G 09V7J65F73HPJ7A2BJFBY9GMY20C68HZA2S7PD3MZB59EAN37W10;FFA40AGC0X6Z8QABEFV6XPGEYJWG0KS4X3QC196CYXE4SC9K9D80;S6T8Q0SGHX2XDZ6KQW4QX0T0NKRSSQ5ZHGJM07FXB47WGWT0XN6G;K7K1S0Q4HHQ0YWZE2726TDZCWR01GA68KSY8T3543F8EXKW1GRY0 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 M588B42XGP86GF4W0E1ADRJMXTC8RPCGC64AWFTW3CYWA95X4810 -MR-SOFI-0029 dsm::sofi::validation::Verdict::note android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::invalid_dominates_the_conjunction;dsm::sofi::conformance::tests::invalid_dominates_missing_in_item_order;dsm::sofi::validation::tests::missing_evidence_is_named_never_invalid;dsm::sofi::validation::tests::a_provable_invalidity_is_not_masked_by_missing_evidence - CONFORMANCE §8 MR-SOFI-0029 (Met) GGEXE6J5JYXMRBHYTFNERF11NAM9R71RBD1F5MJ17EFBS0DMB2H0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/impl#[Verdict]note(). X4A2D7RQ8031E580KKDYHWGH7NYGPT9YG3BEDZZWM8E1BW0PFCM0 09V7J65F73HPJ7A2BJFBY9GMY20C68HZA2S7PD3MZB59EAN37W10;FFA40AGC0X6Z8QABEFV6XPGEYJWG0KS4X3QC196CYXE4SC9K9D80;S6T8Q0SGHX2XDZ6KQW4QX0T0NKRSSQ5ZHGJM07FXB47WGWT0XN6G;K7K1S0Q4HHQ0YWZE2726TDZCWR01GA68KSY8T3543F8EXKW1GRY0 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 BQ6SCRDG8DZ7DC72DTCKW4D23S361HZ1WW8ERKWYHTQPDZ1A0950 -MR-SOFI-0029 dsm::sofi::validation::validate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::invalid_dominates_the_conjunction;dsm::sofi::conformance::tests::invalid_dominates_missing_in_item_order;dsm::sofi::validation::tests::missing_evidence_is_named_never_invalid;dsm::sofi::validation::tests::a_provable_invalidity_is_not_masked_by_missing_evidence - CONFORMANCE §8 MR-SOFI-0029 (Met) TVE4697V0ERV2NCSR3VNSNES5X4BW5HXMX37JSTWCKZ8R4EXZZ2G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate(). Q46WNDHC1NPK8Q2Y8AHBWA21XZTXGWEXTGVXCSHTPQ7TP9TS5TA0 09V7J65F73HPJ7A2BJFBY9GMY20C68HZA2S7PD3MZB59EAN37W10;FFA40AGC0X6Z8QABEFV6XPGEYJWG0KS4X3QC196CYXE4SC9K9D80;S6T8Q0SGHX2XDZ6KQW4QX0T0NKRSSQ5ZHGJM07FXB47WGWT0XN6G;K7K1S0Q4HHQ0YWZE2726TDZCWR01GA68KSY8T3543F8EXKW1GRY0 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 AW970ZY8Q6B2V00YEEZ32H8FNCKVVNPJVD50RSKRN2BVYCWWS5F0 -MR-SOFI-0035 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::wrong_bytes_never_count;dsm::sofi::storage::tests::silence_never_counts;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing - CONFORMANCE §8 MR-SOFI-0035 (Met) 8S2MT4FY76Z0BASZZZJ74WG3RH45PZ3N15D30FVESCNEZRQYMF20 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG MCQJB3ES8YM15QG3G9VBKS4JGPYW1DZ61Y8RVEE8QCYFH95CH4FG;6SCENHZ9S2AQ46PKGT2DTTW8XTV70MDBDRZ6ZS0MABQ9B8PQB1C0;P9HAC0KWS1VJ4VSA5TH2988NV4XZS3FRHEXF3DY2RS3XF2GJG9WG 375506f9333de6e529968767d19d565d189cc385 Q7M6HYQX4X0Z9662SP6CKQJ150CWVK6KX3GMBHVCVDGKA6YNEJH0 -MR-SOFI-0035 dsm::sofi::storage::StoredFact android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::wrong_bytes_never_count;dsm::sofi::storage::tests::silence_never_counts;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing - CONFORMANCE §8 MR-SOFI-0035 (Met) XQHBB74Q99PXEX3TDFFWFCMQ7Z55AVF5PS3TSPEDR3NP4MY6HFN0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/StoredFact# 4PDW3Q44VVNB1911BSA63RBZSAG0WH8B6MFS9P3MRQTWW86BSJWG MCQJB3ES8YM15QG3G9VBKS4JGPYW1DZ61Y8RVEE8QCYFH95CH4FG;6SCENHZ9S2AQ46PKGT2DTTW8XTV70MDBDRZ6ZS0MABQ9B8PQB1C0;P9HAC0KWS1VJ4VSA5TH2988NV4XZS3FRHEXF3DY2RS3XF2GJG9WG 375506f9333de6e529968767d19d565d189cc385 ERACHKJCH17K8SRGWW3AB7F1MQGT86BAFCMFTYZQXRJ5EJEHSCXG -MR-SOFI-0035 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::wrong_bytes_never_count;dsm::sofi::storage::tests::silence_never_counts;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing - CONFORMANCE §8 MR-SOFI-0035 (Met) ZZ02XJWSW237AYD7TG5QYPMDFEEHJNZVPASJJS89WJZ19QM8Y8ZG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). JJN597TCWXMBBABP8QEW2RR360M1A3HK5BTTY2S14Q5K4RQNYY8G MCQJB3ES8YM15QG3G9VBKS4JGPYW1DZ61Y8RVEE8QCYFH95CH4FG;6SCENHZ9S2AQ46PKGT2DTTW8XTV70MDBDRZ6ZS0MABQ9B8PQB1C0;P9HAC0KWS1VJ4VSA5TH2988NV4XZS3FRHEXF3DY2RS3XF2GJG9WG 375506f9333de6e529968767d19d565d189cc385 0Q73AZDK7YW9SG3DZQFJ0FG8AZ3YH01YNA9JJB7SSZ1M81H8MKX0 -MR-SOFI-0040 dsm::economic::register::RegisteredEconomicRoot android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed;dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated - CONFORMANCE §8 MR-SOFI-0040 (Met) GNXZXVE61FBV38BG2WEYCRCVJ92DCSM703P8MXRPDH0ZD2656WRG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/RegisteredEconomicRoot# HAPPM09FS1CJR8S8B4C3YXHK01FXTQT8HSD4WB725HZRBNN4VECG GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG;FE3RYRZ231ZE11ZHNDG1A51PEMZBS040Q0X2YBX2S0PAPBJ9TD6G;94KRS8YDM5113GTMH3NBBYGEVSKRDS8CHFWCTXX7VRNDMM8FBH6G;04KZHREB0Z2F8RCFWCA9QW3E6N0XQ31DWVNGJ27CVYWQ733AEHZG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 JK1BEM58GXEWTQ9WM8KBFG9N1BKS7BV1TG2RMFN0WADCH8T0ZCCG -MR-SOFI-0040 dsm::route_chain::ChainState android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed;dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated - CONFORMANCE §8 MR-SOFI-0040 (Met) 330F67B6AWV7ZKATWSNBPPFXK2PVSCZW20FP9BE53PWD5HTXQ960 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/ChainState# CHXY693QW5TWC7T4105BZNBR0000FFCHQ1WXAKBHWGBQYX4WRD90 GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG;FE3RYRZ231ZE11ZHNDG1A51PEMZBS040Q0X2YBX2S0PAPBJ9TD6G;94KRS8YDM5113GTMH3NBBYGEVSKRDS8CHFWCTXX7VRNDMM8FBH6G;04KZHREB0Z2F8RCFWCA9QW3E6N0XQ31DWVNGJ27CVYWQ733AEHZG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 AEV22XJGBYZ853ZPMHNMJHT4345ERBPAXGNEMKHD7C7SGTQMD50G -MR-SOFI-0040 dsm::sofi::registration::Registration android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed;dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated - CONFORMANCE §8 MR-SOFI-0040 (Met) PJVX69BPPK9SXFA808RJFQ3MBDVK0GRJ4FBYQ3CRRB6KCS2GMVDG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/registration/Registration# DH718B1WMK2GPJN6CW6TQ460TMYB51KXVPXJ9GQ3G9ZEFT45HB10 GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG;FE3RYRZ231ZE11ZHNDG1A51PEMZBS040Q0X2YBX2S0PAPBJ9TD6G;94KRS8YDM5113GTMH3NBBYGEVSKRDS8CHFWCTXX7VRNDMM8FBH6G;04KZHREB0Z2F8RCFWCA9QW3E6N0XQ31DWVNGJ27CVYWQ733AEHZG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 FS2FSWM33MBH1XJ1S0XC5Z2NEQVW9PM2AQ3EMYXYKAREQJDVR8Z0 -MR-SOFI-0040 dsm::sofi::resolution::Resolution android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed;dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated - CONFORMANCE §8 MR-SOFI-0040 (Met) 5T4CQ5EDR4CTZ8YV4CE1APKXYNT4236CZF907Z9MH7Q3M810Y11G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/Resolution# RHZK0QWCQN38CFBCTAH0PBME1Q8K74B3ST7MNE1T8AQHQAVS7K4G GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG;FE3RYRZ231ZE11ZHNDG1A51PEMZBS040Q0X2YBX2S0PAPBJ9TD6G;94KRS8YDM5113GTMH3NBBYGEVSKRDS8CHFWCTXX7VRNDMM8FBH6G;04KZHREB0Z2F8RCFWCA9QW3E6N0XQ31DWVNGJ27CVYWQ733AEHZG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 ME5TG6D3Y8NZBD61W2NY7VEWD9MJFSW0E3GQ9759APEK84TC9JE0 -MR-SOFI-0040 dsm::sofi::resolution::consumed_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed;dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated - CONFORMANCE §8 MR-SOFI-0040 (Met) XW9171XH0KPZHWTH3TGF5ET0RJEFX8RCG5VSYGR31Y9R6XA15WE0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/consumed_route(). NR7GA1AMN11EW5VRSG9V0PZ11P35WHHJ4T16JYYCD3WW1K309GF0 GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG;FE3RYRZ231ZE11ZHNDG1A51PEMZBS040Q0X2YBX2S0PAPBJ9TD6G;94KRS8YDM5113GTMH3NBBYGEVSKRDS8CHFWCTXX7VRNDMM8FBH6G;04KZHREB0Z2F8RCFWCA9QW3E6N0XQ31DWVNGJ27CVYWQ733AEHZG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 CHN6BWQGPBDEDKZ56XA78E7350CZVJ8NDY3AV49S1P61WHYB5KJ0 -MR-SOFI-0040 dsm::sofi::storage::StoredFact android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed;dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated - CONFORMANCE §8 MR-SOFI-0040 (Met) 4SG7DTPTVQ4MG7M7DT7WT758E7JEGBH238M45CQH09P0EBTV1580 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/StoredFact# 4PDW3Q44VVNB1911BSA63RBZSAG0WH8B6MFS9P3MRQTWW86BSJWG GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG;FE3RYRZ231ZE11ZHNDG1A51PEMZBS040Q0X2YBX2S0PAPBJ9TD6G;94KRS8YDM5113GTMH3NBBYGEVSKRDS8CHFWCTXX7VRNDMM8FBH6G;04KZHREB0Z2F8RCFWCA9QW3E6N0XQ31DWVNGJ27CVYWQ733AEHZG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 S4NX7SBBH219QN7AW0WTEY005XWZW32W45FF9P07XT2KXVT9EAMG -MR-SOFI-0042 dsm::sofi::wire::objects::DlvPolicyFulfillmentBody android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::an_unsupported_body_class_is_refused_at_both_ends - CONFORMANCE §8 MR-SOFI-0042 (Met) RHH2P4X8FD15Z6JRZYQHB9HTJGQPHF4QCJQW2XHRBWYMNBT8C9D0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/DlvPolicyFulfillmentBody# ZZA27CDMH4Q68G0J94P8JNA2JMC51YACX7W23PNBP28579RSMCD0 37VBJVJ76PWYQT9GYFWMW02SD0TNX7QN3FT20M1FJ398FCV2CCJG 1d58ffa8846eaab4902a4912f44b359e16553bb3 AMAQSSJKB23W4Z9AQSHHSK9W03S8HRKGPZVX6R56VD63VAGHW82G -MR-SOFI-0043 dsm::sofi::signature::verify_fulfillment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_fulfillment_signs_its_own_digest - CONFORMANCE §8 MR-SOFI-0043 (Met) RSJGVGS1BH9F25YXV1SSAQR82JRDEHNWZ0HV3YDJK2T4M08FX82G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/signature/verify_fulfillment(). VZ5PFFJSYHQDJ18GWE97SSDQNE37EHR5YXQ9ANZRP999CQ8AN7G0 50ZZXNJ2AQG8C1CQEN1PAH0D0E6C4XVBQ1F9QP0YH1KD323XJA60 1d58ffa8846eaab4902a4912f44b359e16553bb3 Y4RBEGAQ460SCED00AVSXRNFB9DYFV74BBHX3EX5PXBGFSS2BQJG -MR-SOFI-0044 dsm::sofi::registration::fulfillment_registered android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim - CONFORMANCE §8 MR-SOFI-0044 (Met) YBX2ZGTPRB5A7JZPHMXVYEQC94N16JTER67MJYYD0WDGM2T3Q2DG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/registration/fulfillment_registered(). ASX58D92VYCP1C4DNGR9QV94Y1EAZTGQFC56HVSQFT6GEDBWAE5G GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 81W9QHD4BM8V00DAZKBGHCKZCHDVMTQX56GC5X2FN8HFTS6KS7YG -MR-SOFI-0045 dsm::sofi::storage::StoredFact android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::stored_returns_exact_bytes - CONFORMANCE §8 MR-SOFI-0045 (Met) W9W4SPKVR2TV193XJ5X95363JJDGMAS11ZBVPJQYXZV8MCD05JA0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/StoredFact# 4PDW3Q44VVNB1911BSA63RBZSAG0WH8B6MFS9P3MRQTWW86BSJWG 8RMV59HTPWSMFTCZ6XBVDVCDVBPVZJDYCWG8PK31KYP15Z18P1YG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 MG4QX68JG6XWYQC297JNNZKCABT9E2F1HPASW3HW2GDYR119MVVG -MR-SOFI-0054 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::wrong_bytes_never_count - CONFORMANCE §8 MR-SOFI-0054 (Met) R05KC6ZD9N1VJVP47Y2CVRC3ZCZP07ZDTN1KXQX25PTPJ3J86HV0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). JJN597TCWXMBBABP8QEW2RR360M1A3HK5BTTY2S14Q5K4RQNYY8G MCQJB3ES8YM15QG3G9VBKS4JGPYW1DZ61Y8RVEE8QCYFH95CH4FG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 QV5XR04C5WYVRZM2RV621H5HT7KV1EY8WBDMM1M5QJRHBFP1HM90 -MR-SOFI-0055 dsm::sofi::publication::recognize_setup android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_body_cannot_name_its_own_signer;dsm::sofi::signature::tests::nothing_passes_without_a_verifying_signature;dsm::sofi::publication::tests::an_envelope_is_recognized_only_when_its_signature_verifies_under_its_bodys_key;dsm::sofi::storage::tests::wrong_bytes_never_count - CONFORMANCE §8 MR-SOFI-0055 (Met) N27HGPHHYR5W3JTFYXQJHHGW1Q0B7YN7Z24G4BCK6B3GW9C472J0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/publication/recognize_setup(). 8FF8RQCCYM89KC4B3718EP9M9CA1VQ7RVXPFHBQN18AFVBTXAAG0 W375KBQ42NZ6QSWEGF76YX37ZMSCTWZ26V9PJQVDYM3FEBS6KEG0;8SM9DTSMBVSAEK1VJA70V934P4V5J4EC699VYNG2DKZ79TWZ5R3G;E0PP3MPWZNCZ91H6TAY0AD2SQP297BGEBYJKBHXY5SHCQN31MDMG;MCQJB3ES8YM15QG3G9VBKS4JGPYW1DZ61Y8RVEE8QCYFH95CH4FG 1d58ffa8846eaab4902a4912f44b359e16553bb3 K3PEYEKTMYGGW3T7CHKA29ZAD99NQ2RFNQEHSYS936F36AP05VHG -MR-SOFI-0055 dsm::sofi::signature::verify_operation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_body_cannot_name_its_own_signer;dsm::sofi::signature::tests::nothing_passes_without_a_verifying_signature;dsm::sofi::publication::tests::an_envelope_is_recognized_only_when_its_signature_verifies_under_its_bodys_key;dsm::sofi::storage::tests::wrong_bytes_never_count - CONFORMANCE §8 MR-SOFI-0055 (Met) 64X71GJY3VZCNJA4CXX7FNJQ81D6T3FVX25676WV88M8HPJCSWTG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/signature/verify_operation(). D3Z1YXJP113506EXC2TGBXM1RS12C5EV1RA0RPYV5C3BJQCTAC80 W375KBQ42NZ6QSWEGF76YX37ZMSCTWZ26V9PJQVDYM3FEBS6KEG0;8SM9DTSMBVSAEK1VJA70V934P4V5J4EC699VYNG2DKZ79TWZ5R3G;E0PP3MPWZNCZ91H6TAY0AD2SQP297BGEBYJKBHXY5SHCQN31MDMG;MCQJB3ES8YM15QG3G9VBKS4JGPYW1DZ61Y8RVEE8QCYFH95CH4FG 1d58ffa8846eaab4902a4912f44b359e16553bb3 NJ0XBG7616R1BYHCYGT8JB3DKSG0VF672WHKDTK24VVM8MAKY1TG -MR-SOFI-0055 dsm::sofi::signature::verify_setup android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_body_cannot_name_its_own_signer;dsm::sofi::signature::tests::nothing_passes_without_a_verifying_signature;dsm::sofi::publication::tests::an_envelope_is_recognized_only_when_its_signature_verifies_under_its_bodys_key;dsm::sofi::storage::tests::wrong_bytes_never_count - CONFORMANCE §8 MR-SOFI-0055 (Met) 1ZZWBMN7HPG0JZNCFG4MT1Y2JNDBMP4YRWHH706GQMPJK2CEE900 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/signature/verify_setup(). F52BKHR5326X7SY15NTDBJPBCK89NYCA7RNWKY74PNV0FF43NWK0 W375KBQ42NZ6QSWEGF76YX37ZMSCTWZ26V9PJQVDYM3FEBS6KEG0;8SM9DTSMBVSAEK1VJA70V934P4V5J4EC699VYNG2DKZ79TWZ5R3G;E0PP3MPWZNCZ91H6TAY0AD2SQP297BGEBYJKBHXY5SHCQN31MDMG;MCQJB3ES8YM15QG3G9VBKS4JGPYW1DZ61Y8RVEE8QCYFH95CH4FG 1d58ffa8846eaab4902a4912f44b359e16553bb3 84BGBCCMTGXQ60ZSBBE1DZXXNR8SRYN4X4R2EQ1730JKK6WN0WA0 -MR-SOFI-0055 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_body_cannot_name_its_own_signer;dsm::sofi::signature::tests::nothing_passes_without_a_verifying_signature;dsm::sofi::publication::tests::an_envelope_is_recognized_only_when_its_signature_verifies_under_its_bodys_key;dsm::sofi::storage::tests::wrong_bytes_never_count - CONFORMANCE §8 MR-SOFI-0055 (Met) 97NZEVEFPW0RSN8W2BE16SYKQJNW25NT0GWA9YJMJV0DESZX9V90 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). JJN597TCWXMBBABP8QEW2RR360M1A3HK5BTTY2S14Q5K4RQNYY8G W375KBQ42NZ6QSWEGF76YX37ZMSCTWZ26V9PJQVDYM3FEBS6KEG0;8SM9DTSMBVSAEK1VJA70V934P4V5J4EC699VYNG2DKZ79TWZ5R3G;E0PP3MPWZNCZ91H6TAY0AD2SQP297BGEBYJKBHXY5SHCQN31MDMG;MCQJB3ES8YM15QG3G9VBKS4JGPYW1DZ61Y8RVEE8QCYFH95CH4FG 1d58ffa8846eaab4902a4912f44b359e16553bb3 5BV9RY3Y8RXB318D166DQ2HNMFJWRPQRBY8V9AV7RVPAAYNAAVY0 -MR-SOFI-0063 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed;dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in - CONFORMANCE §8 MR-SOFI-0063 (Met) 7SKZWRH257VPDX42ZVN118Z1DD75PGAHT1GXXRCMM7DD3WGDKAC0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG J6G0S0D19S14QEE6ZHAQZB6XFD9T9BX502KZ67VKWFYFJDZDTJG0;WQDY8DW5G78YCK3CY71S1JY3M8NHPPPCH72GYJZ2MRX7A6G1WD7G a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 YD4FM0H04AM02713VCTC350ZD637BYX71FQ7DSB3BFT2PSZCZEM0 -MR-SOFI-0063 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed;dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in - CONFORMANCE §8 MR-SOFI-0063 (Met) 4NR3057D12FNZDKWADP0N3JB05WCA18V72C4V6GKN0T43MNGW8M0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 3RGXSFWYQ876BJBAT13HAVWXSDK3GK9Y9C818K0QESD3NV2N0GWG J6G0S0D19S14QEE6ZHAQZB6XFD9T9BX502KZ67VKWFYFJDZDTJG0;WQDY8DW5G78YCK3CY71S1JY3M8NHPPPCH72GYJZ2MRX7A6G1WD7G a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 JCW08RDS48SY8TMMRMEF53HG9V1FJ5MR8V1PQ9QZQAHNCG607QS0 -MR-SOFI-0064 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_final_cell_whose_fulfillment_lost_its_position_is_skipped;dsm::sofi::resolution::tests::void_requires_storage_resolution - CONFORMANCE §8 MR-SOFI-0064 (Met) B3CKJWH3X9FDG3AMPPSYBBME6GX9A6KSZRF0GGVSF11MNF09GPZ0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). ZQQ66FECNSE6F7FPVTHD4P81YD8P954F4X3E4601VXZ9RRD2DW70 JZXJ8S91DH34X5NCXEYG13APMJ5C6AZZBWBSZFJSAQ48YHAB9SC0;0BCSSHQQYJE62JWS8QV9H2K6J9QSB5F808TJGS5WTXMRFM8JQ690 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 N38Y7620195PQR0KJTQ93JZAKRRHTJ6SM1DBP5RXAXCN6C12GY20 -MR-SOFI-0064 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_final_cell_whose_fulfillment_lost_its_position_is_skipped;dsm::sofi::resolution::tests::void_requires_storage_resolution - CONFORMANCE §8 MR-SOFI-0064 (Met) 3QKSVVQRP0DXEP53QMVD1Z1PRS3JG6JEVCE552SNABS1WKSM3RE0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 3RGXSFWYQ876BJBAT13HAVWXSDK3GK9Y9C818K0QESD3NV2N0GWG JZXJ8S91DH34X5NCXEYG13APMJ5C6AZZBWBSZFJSAQ48YHAB9SC0;0BCSSHQQYJE62JWS8QV9H2K6J9QSB5F808TJGS5WTXMRFM8JQ690 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 P12SGTH26XKWJX4FPXFNKCQ1HFZ9NP05ZZNKPFRC2XZ4XSMFNZR0 -MR-SOFI-0066 dsm::sofi::wire::next_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::counters_are_checked_never_wrapped - CONFORMANCE §8 MR-SOFI-0066 (Met) XCENDGR9WB922EVXBAPBA0W0A6HEKPGH0GRVSA1NGZEDVY7R1F2G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/next_attempt(). ZCV97VR4DGC5421WCT12NNN5P31SMF1C9Q5RXGTAMV11316V6K2G BTFRR6RT4H6HMCX5WZGNPYYTDXZZFWNZYAKYCSA0V4Z31F1B0DCG 1d58ffa8846eaab4902a4912f44b359e16553bb3 3Q5EJKX81XS7KK52MSKSBMVDPJX8KQHVGVBFM5YXKFXTRPP2REA0 -MR-SOFI-0066 dsm::sofi::wire::next_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::counters_are_checked_never_wrapped - CONFORMANCE §8 MR-SOFI-0066 (Met) XYTR82XP61XMP8GAHQ574QVZ2P87SMYRV3Q2CRBZH6TJZCW5R7S0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/next_position(). HZKME22ZJT45SS0729X12V23JNEQHTV43H2RZQYA2NP2ESW22K9G BTFRR6RT4H6HMCX5WZGNPYYTDXZZFWNZYAKYCSA0V4Z31F1B0DCG 1d58ffa8846eaab4902a4912f44b359e16553bb3 DPF1AH65RREKV6927QGQE24Q7WNXEFJGBGP8TZT8W04FBE9QQP90 +MR-DSM-0249 dsm::core::bilateral_transaction_manager::compute_smt_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::smt_tripwire_vectors::golden_tag_smt_key;dsm::smt_tripwire_vectors::smt_key_determinism_reversed_args - CONFORMANCE §8 MR-DSM-0249 (Partial) QWHZ72M7NMD56C1C2PHK3SAMXPDQ32M7H072BBGYA24ZDMH993JG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/bilateral_transaction_manager/compute_smt_key(). 946Y25JXAME5F1DANERFR5HDH3X8GVVSHVBRXVTQ3VK5GF1MBVC0 STBFKE0WT0GSFKZGY363WHGG7AB1FB9ZNDC5YE7HAHF2S7F84KFG;GRJ64XRNTJZE67DYYX0W0F8Y4WTB79QKA4GXM7TZ8MMX2KPW2XC0 83b6f616ac244334064c4c56d391c23eb42a7ce6 9XANYFBCQDB9RZ46X1ME3AP15RW2GH0ER1V904V7Y4HJKV74ENX0 +MR-DSM-0252 dsm::merkle::batch_fold::verify_batch android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::verify_proof_against_root_static;dsm::merkle::sparse_merkle_tree::tests::inclusion_proof_trailing_bytes_rejected;dsm::verification::receipt_verification::tests::the_state_rules_hold_only_for_the_move_the_writes_prove;dsm::merkle::batch_fold::tests::device_paths_of_two_trees_are_refused - CONFORMANCE §8 MR-DSM-0252 (Met) 2NX6C5D6KNCN6NPM0Q382T7EGG61MS0MV3WCCYQMJ9Z4PCVX3X2G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 merkle/batch_fold/verify_batch(). 3DY21TK4D73EM902Y3DTCEX5P39ZHXX2SB3NK473638DKTJ7ZB4G N1M2TVG6RNAMTD2KT2X2V54QPJPX4FG9GM8S2V44DW0TXP6KMS9G;GH6BKNHA653MWTGAWEK9NDWY0QDMJT95XHRM0KG05FTGDKS0DQJ0;9090EA9BTD2H3VW6SYAWQNZB2B5C008XF9TT48BE7BXCPRYJMJXG;V3RDGCSPS65R3AG4DRCS78D7WA5GEBQ1PY8JK34KBKK94F99S7CG 83b6f616ac244334064c4c56d391c23eb42a7ce6 7DDYQERDGMC76TX7T7GTB1N2ERRYPBKEGECMFTB4VFPTH73KYMPG +MR-DSM-0252 dsm::merkle::smt_path::decode android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::verify_proof_against_root_static;dsm::merkle::sparse_merkle_tree::tests::inclusion_proof_trailing_bytes_rejected;dsm::verification::receipt_verification::tests::the_state_rules_hold_only_for_the_move_the_writes_prove;dsm::merkle::batch_fold::tests::device_paths_of_two_trees_are_refused - CONFORMANCE §8 MR-DSM-0252 (Met) AQ9639ZGFY8GPS9E76MR6E45FR5F9A848448NAV733H8FYVYNDG0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 merkle/smt_path/decode(). CV2P9XEWBHP75J463YPRRF3A0MJMBJ2JASNG3YJTJP5X3RKSSEMG N1M2TVG6RNAMTD2KT2X2V54QPJPX4FG9GM8S2V44DW0TXP6KMS9G;GH6BKNHA653MWTGAWEK9NDWY0QDMJT95XHRM0KG05FTGDKS0DQJ0;9090EA9BTD2H3VW6SYAWQNZB2B5C008XF9TT48BE7BXCPRYJMJXG;V3RDGCSPS65R3AG4DRCS78D7WA5GEBQ1PY8JK34KBKK94F99S7CG 83b6f616ac244334064c4c56d391c23eb42a7ce6 4VEFZ6R7KSSJ634DJ9QQJH6437F51Y0H6SZKJG018JDKPKAF3SVG +MR-DSM-0252 dsm::merkle::sparse_merkle_tree::SparseMerkleTree::get_inclusion_proof android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::verify_proof_against_root_static;dsm::merkle::sparse_merkle_tree::tests::inclusion_proof_trailing_bytes_rejected;dsm::verification::receipt_verification::tests::the_state_rules_hold_only_for_the_move_the_writes_prove;dsm::merkle::batch_fold::tests::device_paths_of_two_trees_are_refused - CONFORMANCE §8 MR-DSM-0252 (Met) B2NNFTPQKFPBG4NRZHN263SH7N28Q2PCQG0BNDPMYA2M69TMJC30 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 merkle/sparse_merkle_tree/impl#[SparseMerkleTree]get_inclusion_proof(). W3KC231J0ZYWZ60VNPA44D06CN8S2Y706HMJGNN5VZEDZ87PWWTG N1M2TVG6RNAMTD2KT2X2V54QPJPX4FG9GM8S2V44DW0TXP6KMS9G;GH6BKNHA653MWTGAWEK9NDWY0QDMJT95XHRM0KG05FTGDKS0DQJ0;9090EA9BTD2H3VW6SYAWQNZB2B5C008XF9TT48BE7BXCPRYJMJXG;V3RDGCSPS65R3AG4DRCS78D7WA5GEBQ1PY8JK34KBKK94F99S7CG 83b6f616ac244334064c4c56d391c23eb42a7ce6 7HKGYBTQEY2PDNGNF3J2TS5YMA6H7FXQS628H3K2CH8HYZNP226G +MR-DSM-0252 dsm::merkle::sparse_merkle_tree::SparseMerkleTree::verify_proof_against_root android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::merkle::sparse_merkle_tree::tests::verify_proof_against_root_static;dsm::merkle::sparse_merkle_tree::tests::inclusion_proof_trailing_bytes_rejected;dsm::verification::receipt_verification::tests::the_state_rules_hold_only_for_the_move_the_writes_prove;dsm::merkle::batch_fold::tests::device_paths_of_two_trees_are_refused - CONFORMANCE §8 MR-DSM-0252 (Met) BDJSG0BNMBVSE77RB35PGGW49PWZ3PAWP7BJ0SM7Y6VJDE8PXHAG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 merkle/sparse_merkle_tree/impl#[SparseMerkleTree]verify_proof_against_root(). KTV78VG2E4FWXH410DKTXRTFS0R3KN50W4GF7GSBWRVYX52TPX6G N1M2TVG6RNAMTD2KT2X2V54QPJPX4FG9GM8S2V44DW0TXP6KMS9G;GH6BKNHA653MWTGAWEK9NDWY0QDMJT95XHRM0KG05FTGDKS0DQJ0;9090EA9BTD2H3VW6SYAWQNZB2B5C008XF9TT48BE7BXCPRYJMJXG;V3RDGCSPS65R3AG4DRCS78D7WA5GEBQ1PY8JK34KBKK94F99S7CG 83b6f616ac244334064c4c56d391c23eb42a7ce6 E4VXB01GSSQ8H1FPTS71NQH691DN7C80S02XEN2BXWWCFSW11PK0 +MR-DSM-0256 dsm_storage_node::NodeStorageSet::new node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::cell_properties::every_value_put_at_a_key_is_held_in_arrival_order;dsm_storage_node::db::cell_properties::concurrent_writers_on_one_key_lose_nothing;dsm_storage_node::db::cell_properties::held_values_and_index_entries_survive_reopening_the_store;dsm_storage_node::db::pg::durable_posture_tests::a_weaker_posture_is_refused_and_the_refusal_names_the_setting;dsm_storage_node::storage_set_tests::a_node_whose_register_was_rebuilt_refuses_to_serve_the_configured_set - CONFORMANCE §8 MR-DSM-0256 (Met) ZYTT2TAQD59DHRXNGPXKQYBENW1KS6XHJGGVFJ8ZVMJE0HZE0QGG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 impl#[NodeStorageSet]new(). R4G6B5PNW2K42RF25SA0RG8EK3538430HFA1B9KSX0H7AM1QFN20 C0HNXB6WR4QQ63AXPEJ8EK65BVABTJDDA2AM7XC46FETW7PQNYW0;N3ZJED46Y9YFJXJ6RXAA11PYRPA8800V8FYZKBBCY10WJQWR24G0;E9GV1THS7NA6Y8678HPBRPXWHYPK2T90S2J3XEKP7V28K404A440;5GKJJT92NA4CEKZV2G7A9NA2QCB1VHZVDC6NASPC72VZS3CM3KK0;TRA9HRDWD8C7NZN1PCCPFXT7Z3NKV3WRF8ATE0JY0DADK4Q53JC0 83b6f616ac244334064c4c56d391c23eb42a7ce6 G9S8CV0DZP9SE3ZJFW3YYRHBPMCW49BRAC1CP4GYQ580A888451G +MR-DSM-0256 dsm_storage_node::db::pg::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::cell_properties::every_value_put_at_a_key_is_held_in_arrival_order;dsm_storage_node::db::cell_properties::concurrent_writers_on_one_key_lose_nothing;dsm_storage_node::db::cell_properties::held_values_and_index_entries_survive_reopening_the_store;dsm_storage_node::db::pg::durable_posture_tests::a_weaker_posture_is_refused_and_the_refusal_names_the_setting;dsm_storage_node::storage_set_tests::a_node_whose_register_was_rebuilt_refuses_to_serve_the_configured_set - CONFORMANCE §8 MR-DSM-0256 (Met) FK8HWSMDNQ3E5CAET9C2C299TJ11ZY0S95FECGMDVMBZJPTPNKE0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/put_cell(). TZW10DQGRED0SV1G9FVEQ74EYRPYCS75T2CER48G2HK3K22ES1Q0 C0HNXB6WR4QQ63AXPEJ8EK65BVABTJDDA2AM7XC46FETW7PQNYW0;N3ZJED46Y9YFJXJ6RXAA11PYRPA8800V8FYZKBBCY10WJQWR24G0;E9GV1THS7NA6Y8678HPBRPXWHYPK2T90S2J3XEKP7V28K404A440;5GKJJT92NA4CEKZV2G7A9NA2QCB1VHZVDC6NASPC72VZS3CM3KK0;TRA9HRDWD8C7NZN1PCCPFXT7Z3NKV3WRF8ATE0JY0DADK4Q53JC0 83b6f616ac244334064c4c56d391c23eb42a7ce6 TX6Y1F7V9X2W864W9MX086YBXV3K92ZRD7NQ8AVHW7JM5C3EB480 +MR-DSM-0256 dsm_storage_node::db::pg::register_incarnation node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::cell_properties::every_value_put_at_a_key_is_held_in_arrival_order;dsm_storage_node::db::cell_properties::concurrent_writers_on_one_key_lose_nothing;dsm_storage_node::db::cell_properties::held_values_and_index_entries_survive_reopening_the_store;dsm_storage_node::db::pg::durable_posture_tests::a_weaker_posture_is_refused_and_the_refusal_names_the_setting;dsm_storage_node::storage_set_tests::a_node_whose_register_was_rebuilt_refuses_to_serve_the_configured_set - CONFORMANCE §8 MR-DSM-0256 (Met) 4B0XMGFSRF2ZW16H960QKJGV0QEFAG4EMP6NA7S9XBKWKF9V9S70 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/register_incarnation(). JA1PQ4R79S1KXB33BA54FPSR1N47NP8Q5XCC8XC4K58SS9FB6RJG C0HNXB6WR4QQ63AXPEJ8EK65BVABTJDDA2AM7XC46FETW7PQNYW0;N3ZJED46Y9YFJXJ6RXAA11PYRPA8800V8FYZKBBCY10WJQWR24G0;E9GV1THS7NA6Y8678HPBRPXWHYPK2T90S2J3XEKP7V28K404A440;5GKJJT92NA4CEKZV2G7A9NA2QCB1VHZVDC6NASPC72VZS3CM3KK0;TRA9HRDWD8C7NZN1PCCPFXT7Z3NKV3WRF8ATE0JY0DADK4Q53JC0 83b6f616ac244334064c4c56d391c23eb42a7ce6 A6GMDZPHMA5Z5CHZF7M10A5479RE6SD72A5BW63MZW112GNWQHB0 +MR-DSM-0256 dsm_storage_node::db::pg::require_durable_commit_posture node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::cell_properties::every_value_put_at_a_key_is_held_in_arrival_order;dsm_storage_node::db::cell_properties::concurrent_writers_on_one_key_lose_nothing;dsm_storage_node::db::cell_properties::held_values_and_index_entries_survive_reopening_the_store;dsm_storage_node::db::pg::durable_posture_tests::a_weaker_posture_is_refused_and_the_refusal_names_the_setting;dsm_storage_node::storage_set_tests::a_node_whose_register_was_rebuilt_refuses_to_serve_the_configured_set - CONFORMANCE §8 MR-DSM-0256 (Met) ERM00K8WQDS2002RPAYMFR3RM80W6Q3WT2RZ41KX25VAQGZXSBZG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/require_durable_commit_posture(). FDNEAX02KMW82QNN1ZK2AV9K84Y7JC0PJ1ESTQZPC863NP3WC130 C0HNXB6WR4QQ63AXPEJ8EK65BVABTJDDA2AM7XC46FETW7PQNYW0;N3ZJED46Y9YFJXJ6RXAA11PYRPA8800V8FYZKBBCY10WJQWR24G0;E9GV1THS7NA6Y8678HPBRPXWHYPK2T90S2J3XEKP7V28K404A440;5GKJJT92NA4CEKZV2G7A9NA2QCB1VHZVDC6NASPC72VZS3CM3KK0;TRA9HRDWD8C7NZN1PCCPFXT7Z3NKV3WRF8ATE0JY0DADK4Q53JC0 83b6f616ac244334064c4c56d391c23eb42a7ce6 VYEVDQ7MAX52NDFQAH2QY1R2CZFZJ8756PBNMA4EX4C0XEVJSTVG +MR-DSM-0257 dsm::economic::native_reserve::SuccessorCell::of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set;dsm::route_chain::tests::a_cell_is_routed_only_over_the_committed_set;dsm::economic::native_reserve::tests::a_successor_cell_is_routed_over_the_set_its_parent_commits;dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible - CONFORMANCE §8 MR-DSM-0257 (Met) 2ZH5PHRZBBDN03Q5BW05D5ESNDNHPMK5NPWKVHWW23NXF43Q65RG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/native_reserve/impl#[SuccessorCell]of(). QW624HRMH25P438WKXJK3Y872QC6SD7V110X3T8TQ92ZB8GCV00G P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G;YGMHQP5XDH3YRR0XMK6BHCYMHAM09C85XC4DHZH1YWN53N69VB70;Y5D42FQAVGPR7E520JQH6218ZCYSVK6Y6MXDEG6JSAXX391Q4A6G;430GCFQAPJGHQKY4ZDMD9295BCW3T4AN692W4VVAYA4GCKR0EFFG 83b6f616ac244334064c4c56d391c23eb42a7ce6 YHSVKZVSV4WVV1GWJ3MY84SM42XRC9431TCVHRQ5STN3MC7YN2PG +MR-DSM-0257 dsm::route_chain::Route::of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set;dsm::route_chain::tests::a_cell_is_routed_only_over_the_committed_set;dsm::economic::native_reserve::tests::a_successor_cell_is_routed_over_the_set_its_parent_commits;dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible - CONFORMANCE §8 MR-DSM-0257 (Met) KCYNBG0PNNSS98REQAB8HXEN3V5QKRKBV8SPE1MNXSBX3V61K9Y0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). GNVEG361ZYQB62572RJWMJKYZAVXPDXWVBH5KS2963VJ7ZTY1YV0 P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G;YGMHQP5XDH3YRR0XMK6BHCYMHAM09C85XC4DHZH1YWN53N69VB70;Y5D42FQAVGPR7E520JQH6218ZCYSVK6Y6MXDEG6JSAXX391Q4A6G;430GCFQAPJGHQKY4ZDMD9295BCW3T4AN692W4VVAYA4GCKR0EFFG 83b6f616ac244334064c4c56d391c23eb42a7ce6 9J5EBQQRH93YW8Y275Z23JQJWAV1G0J232SBQ12QNXJWW9APCDC0 +MR-DSM-0257 dsm::route_chain::RoutedCell::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set;dsm::route_chain::tests::a_cell_is_routed_only_over_the_committed_set;dsm::economic::native_reserve::tests::a_successor_cell_is_routed_over_the_set_its_parent_commits;dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible - CONFORMANCE §8 MR-DSM-0257 (Met) MTDJKJCHS5E1BNVPMARZSF8YY7B37ADKWJNXQKHF6B0SJ2F85Q5G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[RoutedCell]new(). B7HHXTRYNBXMEKYBB1DCVV7DJD9EFT8FX93QHJD3Z3Z03BBXMARG P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G;YGMHQP5XDH3YRR0XMK6BHCYMHAM09C85XC4DHZH1YWN53N69VB70;Y5D42FQAVGPR7E520JQH6218ZCYSVK6Y6MXDEG6JSAXX391Q4A6G;430GCFQAPJGHQKY4ZDMD9295BCW3T4AN692W4VVAYA4GCKR0EFFG 83b6f616ac244334064c4c56d391c23eb42a7ce6 T0R38FDF6H3V2K8YKWHWG7WZ1RQ07JRDZMWX64D8EFCW0BSS68D0 +MR-DSM-0258 dsm::economic::native_reserve::walk_lineage android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in;dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible;dsm::economic::native_reserve::tests::the_walk_never_turns_unavailable_or_budget_into_a_head - CONFORMANCE §8 MR-DSM-0258 (Met) DK1VQEXNVXMKFEKA3VMMG4JST9BT7T87NT7S2KMBJ9ZG93ZYS8Z0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/native_reserve/walk_lineage(). 5E095X3V201X0V7WWG9KG9QNT8HJ31QMJN9JE33CDM3BFQS4XQM0 X7FYBCPH3Q9E2N8Z97Y23SF0XG73V1SS12G3PKG0ACZ6AXBBGMX0;ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G;430GCFQAPJGHQKY4ZDMD9295BCW3T4AN692W4VVAYA4GCKR0EFFG;6QFX099V3M0NNGYF6TNTPJ3ZCP35CZJWQHGNNX2RC5FDQ106WQS0 83b6f616ac244334064c4c56d391c23eb42a7ce6 BDKN331YVJ1QJ97RT9YCE5FC30WSS9V5DTZB8WRD7PRAZ2N1DD70 +MR-DSM-0258 dsm::route_chain::Missing android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in;dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible;dsm::economic::native_reserve::tests::the_walk_never_turns_unavailable_or_budget_into_a_head - CONFORMANCE §8 MR-DSM-0258 (Met) 9Z80AQNJ8VPQJB2CKPVNDW1GJWV7WC299XJC3ETP0YP5WAEJJFA0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/Missing# 4GQ9KE7ZKDXRZ7GMZK12DN5HWWMD3TYJDP71ARZJBNDHAPHSYW3G X7FYBCPH3Q9E2N8Z97Y23SF0XG73V1SS12G3PKG0ACZ6AXBBGMX0;ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G;430GCFQAPJGHQKY4ZDMD9295BCW3T4AN692W4VVAYA4GCKR0EFFG;6QFX099V3M0NNGYF6TNTPJ3ZCP35CZJWQHGNNX2RC5FDQ106WQS0 83b6f616ac244334064c4c56d391c23eb42a7ce6 0JKMQT0MEM7K5KRXN6H21KYEMREJBTKP04EXRN0X0DEKE9PRBCC0 +MR-DSM-0258 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in;dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible;dsm::economic::native_reserve::tests::the_walk_never_turns_unavailable_or_budget_into_a_head - CONFORMANCE §8 MR-DSM-0258 (Met) 47JG38W0VQNJQH5RZ39JDB7PPBQ1DW9KK8DMYW8F6N7HCK9VFS70 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 X7FYBCPH3Q9E2N8Z97Y23SF0XG73V1SS12G3PKG0ACZ6AXBBGMX0;ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G;430GCFQAPJGHQKY4ZDMD9295BCW3T4AN692W4VVAYA4GCKR0EFFG;6QFX099V3M0NNGYF6TNTPJ3ZCP35CZJWQHGNNX2RC5FDQ106WQS0 83b6f616ac244334064c4c56d391c23eb42a7ce6 D2NN5MB63S1A6K40JGBFWBD6BDK3EZFT2YJZFENZ5BMRHYKXN7CG +MR-DSM-0269 dsm::route_chain::Route::leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell - CONFORMANCE §8 MR-DSM-0269 (Met) QDFJCRMPDR062989EF4MP8EYXC80V7GGJ1J29VWZ49S7DNE246W0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). AP8MB1KX5PEG4TXH8S51H81SX8Q58PEKS1YYCZ34EC93V5Y36Z80 430GCFQAPJGHQKY4ZDMD9295BCW3T4AN692W4VVAYA4GCKR0EFFG;XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0 83b6f616ac244334064c4c56d391c23eb42a7ce6 FKHZB9JMTBZA3EMM57PJ4ZATZ76M4D6CSNZ5RRNXBFQNX6RZJT90 +MR-DSM-0269 dsm::route_chain::RoutedCell::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell - CONFORMANCE §8 MR-DSM-0269 (Met) GTJ0G9FBC81CKHYT13PVDWKCA5DMK5X8S1RGVN06Y2FJJCYR7170 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[RoutedCell]new(). B7HHXTRYNBXMEKYBB1DCVV7DJD9EFT8FX93QHJD3Z3Z03BBXMARG 430GCFQAPJGHQKY4ZDMD9295BCW3T4AN692W4VVAYA4GCKR0EFFG;XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0 83b6f616ac244334064c4c56d391c23eb42a7ce6 X99T1XD1S62T172HBZKMC0TR41NW5QXP06R3VRX7J49GFMHFZYDG +MR-DSM-0269 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::native_reserve::tests::finality_without_the_deterministic_leader_is_impossible;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell - CONFORMANCE §8 MR-DSM-0269 (Met) VD8MMG2KKPEAPNP4KNP0DZ7X0MWB7EPT1HZDS10Z5MD4HYFASG5G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 430GCFQAPJGHQKY4ZDMD9295BCW3T4AN692W4VVAYA4GCKR0EFFG;XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0 83b6f616ac244334064c4c56d391c23eb42a7ce6 S1NBVCWQQ3A6AWEVNGVDC1GEKKFBCP2BTHYYV777VH13SHPGXZA0 +MR-DSM-0270 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::only_links_of_one_chain_count_toward_final;dsm::route_chain::tests::a_byte_commit_backs_a_link_only_when_it_follows_its_parent;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-DSM-0270 (Met) QXBEC52453SR74F4P593P9YWJRXXS76VPJD3B8HSG6YWV602AAY0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;MZ42GGZT84Y702WNV2VVMMNZFW53D5YV1WP3GVYQCH7DXXNTDE1G;T3N1RQH99ZR0QJHG35NDYQVYYDJ9184KTAAH5EFVJWT8AT9WR61G;T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G 83b6f616ac244334064c4c56d391c23eb42a7ce6 VG1NWQZVBD1T1HZ5XJHWK297EGXTT8NDRFHJ7THJZ2T1G17XGHF0 +MR-DSM-0270 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::only_links_of_one_chain_count_toward_final;dsm::route_chain::tests::a_byte_commit_backs_a_link_only_when_it_follows_its_parent;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-DSM-0270 (Met) H3D3J44ZJD8ZH46J63GWGCM60NWNK7SPZCFFGRDXCXNWDNQ94PNG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). PG9D9T049JFWQH6JZV03094SYAQAENXNC7NFP2A5TXV7EJWDECKG RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;MZ42GGZT84Y702WNV2VVMMNZFW53D5YV1WP3GVYQCH7DXXNTDE1G;T3N1RQH99ZR0QJHG35NDYQVYYDJ9184KTAAH5EFVJWT8AT9WR61G;T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G 83b6f616ac244334064c4c56d391c23eb42a7ce6 JDGRNFV5535ZFM64YWJJEECCDRHPV9CVCTDAEDHX6Z59Q5S3GV0G +MR-DSM-0272 dsm_sdk::sdk::b0x_sdk::seal_for android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_transfer_reaches_the_nodes_only_sealed_and_arrives;dsm::crypto::spool_seal::tests::a_sealed_payload_opens_to_its_bytes;dsm::crypto::spool_seal::tests::it_opens_under_nothing_else - CONFORMANCE §8 MR-DSM-0272 (Partial) PSAE3QZFBTQG0ET3D6M23GSWKX2BNCW0VMFZZBPYED290BBB6EN0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/b0x_sdk/seal_for(). YZAKVWTGRJJFNKE679X31S380ZAYA69AP73WG6RXK29T9BJ0Y6EG DMDGYHSAYH6RA5F5AGCGQHXZW1WGJPRRZNY4P6WE28EYTAJAPZGG;YED6J2FSJES6RVR2JD3SW28636WM5WNKW1Y6BNA11PHV7R323QBG;C11TYX2GDYR6BZEEZB08A9VENDPSQZ72XFKM6NWAQNNE9J3XCVFG 83b6f616ac244334064c4c56d391c23eb42a7ce6 WZ5YWJ7MY1J3N595G8TDHJM35M9YTF5TS4WQDQNR674R5XFH19R0 +MR-DSM-0272 dsm::crypto::spool_seal::seal android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_transfer_reaches_the_nodes_only_sealed_and_arrives;dsm::crypto::spool_seal::tests::a_sealed_payload_opens_to_its_bytes;dsm::crypto::spool_seal::tests::it_opens_under_nothing_else - CONFORMANCE §8 MR-DSM-0272 (Partial) M3NGBPCYSJ1HVDAF8HQ2ETXPDD3ZP8XY9T186SCJBHDWWKREHZE0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 crypto/spool_seal/seal(). GPDM2896ZXM952YZEZ1N9ETW2A8CEQZEWG0Z4WFF1TM7E0V5RS50 DMDGYHSAYH6RA5F5AGCGQHXZW1WGJPRRZNY4P6WE28EYTAJAPZGG;YED6J2FSJES6RVR2JD3SW28636WM5WNKW1Y6BNA11PHV7R323QBG;C11TYX2GDYR6BZEEZB08A9VENDPSQZ72XFKM6NWAQNNE9J3XCVFG 83b6f616ac244334064c4c56d391c23eb42a7ce6 86VHNSH01FNHQF50DMX5M2119T6NTSN51FG1T079M9BY3JDS246G +MR-DSM-0273 dsm::economic::peer_lineage::validate_peer_lineage android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::frontier_verification_tests::a_root_no_transition_explains_is_refused_where_it_sits;dsm_sdk::handlers::frontier_verification_tests::a_credits_source_is_validated_one_hop_back_and_no_further - CONFORMANCE §8 MR-DSM-0273 (Met) XJG1K9XV422EMG517HB2JNQQ6E8BE3PRC32CZ5QM6672FZR8N18G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/peer_lineage/validate_peer_lineage(). J5REJCC2BQZ9397BFJB4XVNPWRB34QPXDCQ2HFX0SE1GZY4RNX60 8P06DTXVBSC9X21XREM3YXDWZFPJ38S3K7VGMWRB4NWMTKV67CCG;3X0B6D6NV96HG4T568FCWV7MHNNX9PBCTNZ9DTBQ297A05QXBDN0 83b6f616ac244334064c4c56d391c23eb42a7ce6 2M1RYMFNDBK3DDCSENJA83R85EX8MKDPB6K0CNFCT8W07Q870PK0 +MR-DSM-0274 dsm_sdk::storage::client_db::economic_lineage::record_frontier_in_tx android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::frontier_verification_tests::a_receiver_reads_nothing_behind_its_frontier - CONFORMANCE §8 MR-DSM-0274 (Met) 1KJSJTWCCM78ZFV23RC5X489E80VEXF3HHQD5CQC7FRJJSEABFZ0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 storage/client_db/economic_lineage/record_frontier_in_tx(). 7XEVYRMQER8K92XHX0V3ZBK232EHPH1B8FDBC0VVM18QN27DR55G VE8AEYV802VH9HY87H441MY8GKKBEE218JKFA5PJ87MTHCTB0TEG 83b6f616ac244334064c4c56d391c23eb42a7ce6 NPSN757K22THXTF9QGPFY302GFZ53HJGS1AJXENK78TGZWPM7Q4G +MR-DSM-0275 dsm_sdk::sdk::economic_registers::resolve_peer android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::frontier_verification_tests::a_receiver_reads_nothing_behind_its_frontier;dsm_sdk::handlers::frontier_verification_tests::a_credits_source_is_validated_one_hop_back_and_no_further - CONFORMANCE §8 MR-DSM-0275 (Met) XDWW3BXXSWNP64G5M6MCK02HGMS0QDC3J82FPYG3CPQGQ5HGZHWG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/economic_registers/resolve_peer(). W2YZBKS3SXQQH27DJ5KMN8TDNFZKHW5X7TPF5E6GTZDVJQZBZ270 VE8AEYV802VH9HY87H441MY8GKKBEE218JKFA5PJ87MTHCTB0TEG;3X0B6D6NV96HG4T568FCWV7MHNNX9PBCTNZ9DTBQ297A05QXBDN0 83b6f616ac244334064c4c56d391c23eb42a7ce6 26XR032Z4B63DRX292F3BZ159NMJ300QPSVMBZE2980CR01ZA1H0 +MR-DSM-0276 dsm::economic::peer_lineage::validate_peer_lineage android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_trader_who_has_traded_can_pay - CONFORMANCE §8 MR-DSM-0276 (Met) TKVT1KHPASS9HC5M85WY7W9HW454W7AG5MBW0J6AE75Z363P1G40 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/peer_lineage/validate_peer_lineage(). J5REJCC2BQZ9397BFJB4XVNPWRB34QPXDCQ2HFX0SE1GZY4RNX60 K56308DZ286J7GR87Y5RKR93JW2681VQT8V1P87JKA4MYARMZAB0 83b6f616ac244334064c4c56d391c23eb42a7ce6 B72JTPSH4KTT2MG6Z551PC2WPCVKVBZ0STMC0PT8SMS2C4WXG7XG +MR-SOFI-0006 dsm::sofi::signature::verify_operation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_setup_signs_its_own_digest;dsm::sofi::signature::tests::a_vault_creation_signs_the_operation - CONFORMANCE §8 MR-SOFI-0006 (Met) WNZ3P5G6GRFSRT7F901DDMMKKB8T6XP5P5ASWFD73YQDD08AW2S0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/signature/verify_operation(). MJQTQ9FV0B13NGS162S6EHH1QP7WJKQDJK1N3QYRKV95EX953D10 9GS8GSNFX86FP88WKCGHHHSB04T264DQ0MN2APQS4BQ4QZHA52DG;6V4F94EGZJN6SVTZHPDQHNJZB62DF7Q8Z7H9VFVMWRB8FT207090 83b6f616ac244334064c4c56d391c23eb42a7ce6 F1M1425D3XK6ENZ4H4J7GVY8DDK1WJK6CSSB42MJS5SJC9CW1PYG +MR-SOFI-0008 dsm::sofi::wire::objects::TraderPrecommitBody android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::precommit_roots_that_do_not_match_the_cores_are_invalid - CONFORMANCE §8 MR-SOFI-0008 (Met) 5DW9FS566JVVE2Y8YYG5GTV06B51GTV12XNEXPR3B2Y44X8ZM0T0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/TraderPrecommitBody# GCCQGR3F9V4622KDTQD4G32SM0FMX92Z4G1RR6XG16E0VY6W63YG 9HVVW96QSAGF45KXJ7EQDWF1WNQ85GJ13DQ0Q290TVR8GTV4Y010 83b6f616ac244334064c4c56d391c23eb42a7ce6 8CTGG2EXCT5XV6J752SP3RKM9CYZ9W63VFX9Q5X2ZQWBHMQS6QFG +MR-SOFI-0010 dsm::sofi::derive::successor_attempt_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::successor_attempt_keys_are_o1_and_distinct - CONFORMANCE §8 MR-SOFI-0010 (Met) NR1WVHSBGWMNZ4F4450MESST9PTC0ANWC960SWFBT926HZZ1ST2G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/successor_attempt_key(). M8E7K1Y2JP1MJ20KNBE9Y1024MZNCYQ64JDQBHDDVQSCVDBA4J8G 4GKT6ZH0AZCR8RE8XB1T1SNBEXNVJ9H5REJJ0PAKXG3NGRC8B680 83b6f616ac244334064c4c56d391c23eb42a7ce6 D76WDKNH97DPN3P45SQDXFHNWEG4ECJY4AG6GW6BYB219PDYDQYG +MR-SOFI-0011 dsm::sofi::derive::external_commitment_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs;dsm::sofi::validation::tests::a_preimage_e_does_not_commit_to_is_invalid;dsm::sofi::exercise::tests::an_exercise_whose_parts_are_not_one_operations_is_nothing - CONFORMANCE §8 MR-SOFI-0011 (Met) J999QPH4W0S00K0KXTD985YF3D9JZE34DHFEWNTE12NR12HKMX4G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/external_commitment_route(). 4HVWZHVVJPKPD48THJBE24XA3P06RWCZVCZXPZQVE7ZF46H0PR0G BH0BVK5PJYQ268QMJEDNH3GJ632F77MPNZPH02REWYQJTGE2GA9G;CHQ0WJHV4SP3TRXBMBEM4P0WPGTQJ0S6D721GNF2FGC5EMVMN1FG;RPJPT1RACJWEKM0RKXEMVWMT3A8A6GJFRR2Y1YEZQ2HFTNFEBVW0 83b6f616ac244334064c4c56d391c23eb42a7ce6 QY90E3EZXC0V36W7WS6KT87Q91J170ZWDW63R5HPS8ZSTMH5E70G +MR-SOFI-0011 dsm::sofi::derive::external_commitment_single android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs;dsm::sofi::validation::tests::a_preimage_e_does_not_commit_to_is_invalid;dsm::sofi::exercise::tests::an_exercise_whose_parts_are_not_one_operations_is_nothing - CONFORMANCE §8 MR-SOFI-0011 (Met) Z2YH17DXEHMM35QHTFT6CKTR3A78H6CHW6B7AHDQM6NNDBR7YKVG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/external_commitment_single(). FDFMX9CG142D8MJY7AY2VKDJSEVWC1922JKGETBW8X417DARW38G BH0BVK5PJYQ268QMJEDNH3GJ632F77MPNZPH02REWYQJTGE2GA9G;CHQ0WJHV4SP3TRXBMBEM4P0WPGTQJ0S6D721GNF2FGC5EMVMN1FG;RPJPT1RACJWEKM0RKXEMVWMT3A8A6GJFRR2Y1YEZQ2HFTNFEBVW0 83b6f616ac244334064c4c56d391c23eb42a7ce6 GCAW88P9B2WBKDMSTKN99Y4EV5CEWK17CSTPXAQZ72STXS8WJZP0 +MR-SOFI-0011 dsm::sofi::derive::recompute_e android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs;dsm::sofi::validation::tests::a_preimage_e_does_not_commit_to_is_invalid;dsm::sofi::exercise::tests::an_exercise_whose_parts_are_not_one_operations_is_nothing - CONFORMANCE §8 MR-SOFI-0011 (Met) PYBGY38WZT8M73QRS1HH709EY3EK4VYB3D54DYQP3QG3FZH3NRJ0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/recompute_e(). Z7QFEMQJPQXSM5BQPKCQ9FBEPGKP1AZ698T9F1W33MHTF68CHHVG BH0BVK5PJYQ268QMJEDNH3GJ632F77MPNZPH02REWYQJTGE2GA9G;CHQ0WJHV4SP3TRXBMBEM4P0WPGTQJ0S6D721GNF2FGC5EMVMN1FG;RPJPT1RACJWEKM0RKXEMVWMT3A8A6GJFRR2Y1YEZQ2HFTNFEBVW0 83b6f616ac244334064c4c56d391c23eb42a7ce6 DH2YKPSDMVMRN6H334JBHHFH33ATV0BKD3VFHKHBPQBDF0X5NT00 +MR-SOFI-0011 dsm::sofi::exercise::recognize_exercise android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs;dsm::sofi::validation::tests::a_preimage_e_does_not_commit_to_is_invalid;dsm::sofi::exercise::tests::an_exercise_whose_parts_are_not_one_operations_is_nothing - CONFORMANCE §8 MR-SOFI-0011 (Met) 5H4HE86357VP5FV85XZM0JCD5A3ETHS6SVK83AXM2GX0R8WFRNBG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/recognize_exercise(). T695GDW3PS5TB27FCYMPR8DEVKRD53C2DHJFFE2V3B7APBCN32W0 BH0BVK5PJYQ268QMJEDNH3GJ632F77MPNZPH02REWYQJTGE2GA9G;CHQ0WJHV4SP3TRXBMBEM4P0WPGTQJ0S6D721GNF2FGC5EMVMN1FG;RPJPT1RACJWEKM0RKXEMVWMT3A8A6GJFRR2Y1YEZQ2HFTNFEBVW0 83b6f616ac244334064c4c56d391c23eb42a7ce6 HV3NQV1CQXNTB2KKYZFE8TJW8DHQ644B9SG96AYANC77PQGS7JR0 +MR-SOFI-0012 dsm::sofi::wire::objects::VaultStateLeaf android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0012 (Met) 0C9FY9RMKRNZBNS52EVXM388XQWFW4MPAMJQEBXQA9S2FPV8R1PG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/VaultStateLeaf# VE7FW1C4JD6R1ZBV5M5109YZ7B4QKDVGMHA5TQ7NYBP8XD8SWKC0 Y6J9T12EZQ4N65937XN0FWCRGVZZ2YTZNPSAWWVB4662TB7N0KXG 83b6f616ac244334064c4c56d391c23eb42a7ce6 9QGYZY5ZNQ0WXGN755S2N4AH13V1M1RD5AP01R8XNTHR72853ZTG +MR-SOFI-0015 dsm::sofi::derive::resolution_claim android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim - CONFORMANCE §8 MR-SOFI-0015 (Met) 338RZ8N1G0F76G1XW091AZV0TT0AYEYDJCPDQS21H656TRY0BMMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/resolution_claim(). F7JB41KVMQ8VRD9N5P44VE5HMVJER21QD44D2B458H6EE29SST50 XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG 83b6f616ac244334064c4c56d391c23eb42a7ce6 GRGEGFH869F85S3ZKFBHDVZHQ315M89603HXZF6KF8WPCG23BY00 +MR-SOFI-0016 dsm::route_chain::CellReading android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_leader_holding_no_recognized_value_leaves_the_cell_open;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm::economic::native_reserve::tests::unrecognized_bytes_never_occupy_the_cell - CONFORMANCE §8 MR-SOFI-0016 (Met) S66KA4V952NX4Y6F8SZ418VBH3RVMGP9DQTAAG57834NF7CHWVH0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/CellReading# MYKZ748BAJJ92YAKDM4F8AYWBH01SRGZXDVFDE95D2P9EV2VJP90 PK6820JDMM4XMHF7S37N3YAV6V0EBEBFDWJSENJD6GDPB5FKK30G;64RSG57CVNW08F2D8RAQBCV6WA08SGK23V2MDJB1W6Z0WGK06RY0;V3A9H2ACW8FPJHBESQZ98KNZ1TV7BYQPJPHK0DWKYF8DY9CRJR7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 75QQQR7A7BDYPKQAGK2K38PE45WZ6RQDC007DP682V4A4VNMFB5G +MR-SOFI-0016 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_leader_holding_no_recognized_value_leaves_the_cell_open;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm::economic::native_reserve::tests::unrecognized_bytes_never_occupy_the_cell - CONFORMANCE §8 MR-SOFI-0016 (Met) C8CMM7FM85374510QZ0HFHWJNP1AA187NHKX0XQBK6PBK2Z1RKH0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 PK6820JDMM4XMHF7S37N3YAV6V0EBEBFDWJSENJD6GDPB5FKK30G;64RSG57CVNW08F2D8RAQBCV6WA08SGK23V2MDJB1W6Z0WGK06RY0;V3A9H2ACW8FPJHBESQZ98KNZ1TV7BYQPJPHK0DWKYF8DY9CRJR7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 C19KMABTEMR81ER71TC0J4235A1PNS30S6NZYMNER02NMP7328Q0 +MR-SOFI-0024 dsm::crypto::blake3::dsm_domain_hasher android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0024 (Met) 9RYX54WPP06R6VTRADSJ5AZTJEJE40YBK4W7HEHK947NAHYYHKJ0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 crypto/blake3/dsm_domain_hasher(). 4CYA67FZ6QY8NACZGVN551BBEFCXYBHVW3XVP2JCKFJ3BE11R430 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 85AKEBZG46GRDCSMQ8JK5H4BDFK337HKH0JRHCN9S1X5T3FEPK50 +MR-SOFI-0025 dsm::sofi::derive::h android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0025 (Met) 1M5WEXAR4AXZA2W9EXZYV55ZW2R1R3H85KVYCGGTVZPCFEN12A60 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/h(). MRTGYHTEMEC516XKRD3JVDCMEEWTWYKE3QMXB81T3YZRXFK54DNG Y6J9T12EZQ4N65937XN0FWCRGVZZ2YTZNPSAWWVB4662TB7N0KXG 83b6f616ac244334064c4c56d391c23eb42a7ce6 REVCTYQFE1XK682QAKF0JY1Y9GW79D1F0RBXCT0B9V15TDVCKK6G +MR-SOFI-0028 dsm::sofi::wire::next_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::counters_are_checked_never_wrapped - CONFORMANCE §8 MR-SOFI-0028 (Met) E8NGHW9H69A2HGTG6WARK1PBDZ50QYT5XQ4ZGYWDX2K6BZKHC3R0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/next_position(). BJYTZJQZ9DT9ARFDJ1AQXZ7886SGEHKADKSPWHTXENY9KCWBDN90 88XACZX4BCQDA76JVV5M2EYYXQSBMH50Y1WSJ8VSJBGXMKFBWFBG 83b6f616ac244334064c4c56d391c23eb42a7ce6 844M67R0KAA0ED7QERD2D9GT4314Z25SQH4T1GAGFN8A77NM3ZDG +MR-SOFI-0029 dsm::sofi::validation::Verdict::finish android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::invalid_dominates_the_conjunction;dsm::sofi::conformance::tests::invalid_dominates_missing_in_item_order;dsm::sofi::validation::tests::missing_evidence_is_named_never_invalid;dsm::sofi::validation::tests::a_provable_invalidity_is_not_masked_by_missing_evidence - CONFORMANCE §8 MR-SOFI-0029 (Met) 16S1GW543TDMR3CP719QHXR2AB0MAH76FGMY8A05QCWRGA0MA0V0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/impl#[Verdict]finish(). MA0T76TAPEJZHXPH4PQ5B2AHPCS4F220BN21TGZ4YKVPGF15FAQ0 09V7J65F73HPJ7A2BJFBY9GMY20C68HZA2S7PD3MZB59EAN37W10;WF6KVX55P8GDHSV4HREJDN192A6MTCWVDPJR7498TJ3WPF4ZJGXG;WVCW4DKBVDXKPNQJMZH6HPC9WRDCKSY4VVFD6Z4QVJBMMGWPTQR0;SYBJS80889F3VNXCVNYMVPGH8G40GFJDS2GJPDYNHQ4VSZ60R0P0 83b6f616ac244334064c4c56d391c23eb42a7ce6 Y6XJV203NCRP7S2EEK30K82K0EVQ9WD6SD1N2YTWP7VYRD7G94KG +MR-SOFI-0029 dsm::sofi::validation::Verdict::note android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::invalid_dominates_the_conjunction;dsm::sofi::conformance::tests::invalid_dominates_missing_in_item_order;dsm::sofi::validation::tests::missing_evidence_is_named_never_invalid;dsm::sofi::validation::tests::a_provable_invalidity_is_not_masked_by_missing_evidence - CONFORMANCE §8 MR-SOFI-0029 (Met) GGEXE6J5JYXMRBHYTFNERF11NAM9R71RBD1F5MJ17EFBS0DMB2H0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/impl#[Verdict]note(). MAHKP3HX02CAYQG77SSJSDC1TYY1JPE3W487SE9P9AYHGMVAX34G 09V7J65F73HPJ7A2BJFBY9GMY20C68HZA2S7PD3MZB59EAN37W10;WF6KVX55P8GDHSV4HREJDN192A6MTCWVDPJR7498TJ3WPF4ZJGXG;WVCW4DKBVDXKPNQJMZH6HPC9WRDCKSY4VVFD6Z4QVJBMMGWPTQR0;SYBJS80889F3VNXCVNYMVPGH8G40GFJDS2GJPDYNHQ4VSZ60R0P0 83b6f616ac244334064c4c56d391c23eb42a7ce6 H4627QQPBVS9BJMFCTYN7PK3J0EMPTK02B2G9VY85KNM33YPYWYG +MR-SOFI-0029 dsm::sofi::validation::validate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::invalid_dominates_the_conjunction;dsm::sofi::conformance::tests::invalid_dominates_missing_in_item_order;dsm::sofi::validation::tests::missing_evidence_is_named_never_invalid;dsm::sofi::validation::tests::a_provable_invalidity_is_not_masked_by_missing_evidence - CONFORMANCE §8 MR-SOFI-0029 (Met) TVE4697V0ERV2NCSR3VNSNES5X4BW5HXMX37JSTWCKZ8R4EXZZ2G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate(). 4GFFRATK8W7QWFC6CD22F8KA4MQH5F1489SCGW2864FJ14BE5CVG 09V7J65F73HPJ7A2BJFBY9GMY20C68HZA2S7PD3MZB59EAN37W10;WF6KVX55P8GDHSV4HREJDN192A6MTCWVDPJR7498TJ3WPF4ZJGXG;WVCW4DKBVDXKPNQJMZH6HPC9WRDCKSY4VVFD6Z4QVJBMMGWPTQR0;SYBJS80889F3VNXCVNYMVPGH8G40GFJDS2GJPDYNHQ4VSZ60R0P0 83b6f616ac244334064c4c56d391c23eb42a7ce6 7QYQAAN4TP18ZBHKA5D3SEN9W1TBM0P5G53TZY943RBCAK518TXG +MR-SOFI-0035 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::wrong_bytes_never_count;dsm::sofi::storage::tests::silence_never_counts;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing - CONFORMANCE §8 MR-SOFI-0035 (Met) 8S2MT4FY76Z0BASZZZJ74WG3RH45PZ3N15D30FVESCNEZRQYMF20 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 VWV422YY3E4FEPHNNEPQZ2NKM4TB5FQTPN8K3R85DSTWEG3Y23Y0;PW40ARV5JWTV4MH114028YYR57FB6FC36RZ8VM4F49F4NAZF8ZZG;64RSG57CVNW08F2D8RAQBCV6WA08SGK23V2MDJB1W6Z0WGK06RY0 83b6f616ac244334064c4c56d391c23eb42a7ce6 B6AQW25A1BTJ9PKJTWBADT43550G01E7N09ZAD3Z5VKBDNZ587HG +MR-SOFI-0035 dsm::sofi::storage::StoredFact android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::wrong_bytes_never_count;dsm::sofi::storage::tests::silence_never_counts;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing - CONFORMANCE §8 MR-SOFI-0035 (Met) XQHBB74Q99PXEX3TDFFWFCMQ7Z55AVF5PS3TSPEDR3NP4MY6HFN0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/StoredFact# 4PDW3Q44VVNB1911BSA63RBZSAG0WH8B6MFS9P3MRQTWW86BSJWG VWV422YY3E4FEPHNNEPQZ2NKM4TB5FQTPN8K3R85DSTWEG3Y23Y0;PW40ARV5JWTV4MH114028YYR57FB6FC36RZ8VM4F49F4NAZF8ZZG;64RSG57CVNW08F2D8RAQBCV6WA08SGK23V2MDJB1W6Z0WGK06RY0 83b6f616ac244334064c4c56d391c23eb42a7ce6 1SD8HBH2NTVJ4MHFV5QRRQGEZQMCQJX677MM83Y03EZZX3750810 +MR-SOFI-0035 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::wrong_bytes_never_count;dsm::sofi::storage::tests::silence_never_counts;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing - CONFORMANCE §8 MR-SOFI-0035 (Met) ZZ02XJWSW237AYD7TG5QYPMDFEEHJNZVPASJJS89WJZ19QM8Y8ZG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). 3EXAA7F0RBGKMRE05857K6Y9MXYEDXWDBGTXG3RJH5Y4WCMMVVG0 VWV422YY3E4FEPHNNEPQZ2NKM4TB5FQTPN8K3R85DSTWEG3Y23Y0;PW40ARV5JWTV4MH114028YYR57FB6FC36RZ8VM4F49F4NAZF8ZZG;64RSG57CVNW08F2D8RAQBCV6WA08SGK23V2MDJB1W6Z0WGK06RY0 83b6f616ac244334064c4c56d391c23eb42a7ce6 4TWVDYN07W1W3FYPK7YVS9068QFZYFPAWPN2VX5DVE1D01KPP420 +MR-SOFI-0040 dsm::economic::register::RegisteredEconomicRoot android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed;dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated - CONFORMANCE §8 MR-SOFI-0040 (Met) GNXZXVE61FBV38BG2WEYCRCVJ92DCSM703P8MXRPDH0ZD2656WRG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/RegisteredEconomicRoot# HAPPM09FS1CJR8S8B4C3YXHK01FXTQT8HSD4WB725HZRBNN4VECG XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG;RNP8PZT9855E2Z8YH9SFYS6W36S819X3H4PGXG5H8WSXPZ924JSG;SA4Y5S2MEGJXZ67AW8EZ91R8DPGZZQEQAS7KV8XNEPS8PBWCPGC0;ER09GD1QWRX81Z4C8B404XMKY2KG2VJRY6X7TFTPAAH577ND301G 83b6f616ac244334064c4c56d391c23eb42a7ce6 F21CMCQFN334RRSFY9HBARXH2DCKSCB29S2730DS2HJEYGT6ABNG +MR-SOFI-0040 dsm::route_chain::ChainState android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed;dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated - CONFORMANCE §8 MR-SOFI-0040 (Met) 330F67B6AWV7ZKATWSNBPPFXK2PVSCZW20FP9BE53PWD5HTXQ960 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/ChainState# CHXY693QW5TWC7T4105BZNBR0000FFCHQ1WXAKBHWGBQYX4WRD90 XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG;RNP8PZT9855E2Z8YH9SFYS6W36S819X3H4PGXG5H8WSXPZ924JSG;SA4Y5S2MEGJXZ67AW8EZ91R8DPGZZQEQAS7KV8XNEPS8PBWCPGC0;ER09GD1QWRX81Z4C8B404XMKY2KG2VJRY6X7TFTPAAH577ND301G 83b6f616ac244334064c4c56d391c23eb42a7ce6 39KWC5X7JW02T4QZBHV1DG137C3CNN75MGQXA1BBRQHMMED6WBPG +MR-SOFI-0040 dsm::sofi::registration::Registration android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed;dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated - CONFORMANCE §8 MR-SOFI-0040 (Met) PJVX69BPPK9SXFA808RJFQ3MBDVK0GRJ4FBYQ3CRRB6KCS2GMVDG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/registration/Registration# DH718B1WMK2GPJN6CW6TQ460TMYB51KXVPXJ9GQ3G9ZEFT45HB10 XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG;RNP8PZT9855E2Z8YH9SFYS6W36S819X3H4PGXG5H8WSXPZ924JSG;SA4Y5S2MEGJXZ67AW8EZ91R8DPGZZQEQAS7KV8XNEPS8PBWCPGC0;ER09GD1QWRX81Z4C8B404XMKY2KG2VJRY6X7TFTPAAH577ND301G 83b6f616ac244334064c4c56d391c23eb42a7ce6 HSYJ3MHD7JF9G5NTJXRZQ1GJ9S71M4G4JP2NADCQPZVJBZFRVF6G +MR-SOFI-0040 dsm::sofi::resolution::Resolution android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed;dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated - CONFORMANCE §8 MR-SOFI-0040 (Met) 5T4CQ5EDR4CTZ8YV4CE1APKXYNT4236CZF907Z9MH7Q3M810Y11G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/Resolution# RHZK0QWCQN38CFBCTAH0PBME1Q8K74B3ST7MNE1T8AQHQAVS7K4G XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG;RNP8PZT9855E2Z8YH9SFYS6W36S819X3H4PGXG5H8WSXPZ924JSG;SA4Y5S2MEGJXZ67AW8EZ91R8DPGZZQEQAS7KV8XNEPS8PBWCPGC0;ER09GD1QWRX81Z4C8B404XMKY2KG2VJRY6X7TFTPAAH577ND301G 83b6f616ac244334064c4c56d391c23eb42a7ce6 B16A32H1WV69ARHRV9S72DSXWKXK7XWVMTF53FGJVZR0CC7CP44G +MR-SOFI-0040 dsm::sofi::resolution::consumed_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed;dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated - CONFORMANCE §8 MR-SOFI-0040 (Met) XW9171XH0KPZHWTH3TGF5ET0RJEFX8RCG5VSYGR31Y9R6XA15WE0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/consumed_route(). 3NM7YGYD34C8QGJMVA23T6B82QGQ6KNGP5C571ZXEBDYQPX676VG XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG;RNP8PZT9855E2Z8YH9SFYS6W36S819X3H4PGXG5H8WSXPZ924JSG;SA4Y5S2MEGJXZ67AW8EZ91R8DPGZZQEQAS7KV8XNEPS8PBWCPGC0;ER09GD1QWRX81Z4C8B404XMKY2KG2VJRY6X7TFTPAAH577ND301G 83b6f616ac244334064c4c56d391c23eb42a7ce6 4W2BYWT8F07528A5HKG78HQM19WY4DNS0B7HER16X6CBY65FP810 +MR-SOFI-0040 dsm::sofi::storage::StoredFact android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed;dsm::economic_lineage_register::registering_an_arbitrary_root_yields_nothing_validated - CONFORMANCE §8 MR-SOFI-0040 (Met) 4SG7DTPTVQ4MG7M7DT7WT758E7JEGBH238M45CQH09P0EBTV1580 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/StoredFact# 4PDW3Q44VVNB1911BSA63RBZSAG0WH8B6MFS9P3MRQTWW86BSJWG XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG;RNP8PZT9855E2Z8YH9SFYS6W36S819X3H4PGXG5H8WSXPZ924JSG;SA4Y5S2MEGJXZ67AW8EZ91R8DPGZZQEQAS7KV8XNEPS8PBWCPGC0;ER09GD1QWRX81Z4C8B404XMKY2KG2VJRY6X7TFTPAAH577ND301G 83b6f616ac244334064c4c56d391c23eb42a7ce6 1GNTS0RFZCC9B5CBF61C5VMFJ3KEFS0R0TEWWM5TBTFTHS7QR9G0 +MR-SOFI-0042 dsm::sofi::wire::objects::DlvPolicyFulfillmentBody android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::an_unsupported_body_class_is_refused_at_both_ends - CONFORMANCE §8 MR-SOFI-0042 (Met) RHH2P4X8FD15Z6JRZYQHB9HTJGQPHF4QCJQW2XHRBWYMNBT8C9D0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/DlvPolicyFulfillmentBody# ZZA27CDMH4Q68G0J94P8JNA2JMC51YACX7W23PNBP28579RSMCD0 1CR00WRB2V699YZ9TTP69CERDADDEZGAM0BN57EVBWHA2MB6GWK0 83b6f616ac244334064c4c56d391c23eb42a7ce6 Y1CWFDKK3BXVE50JQB0NQ69M4RTT9M9EQF1H3C0WBDBDWSVBRPF0 +MR-SOFI-0043 dsm::sofi::signature::verify_fulfillment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_fulfillment_signs_its_own_digest - CONFORMANCE §8 MR-SOFI-0043 (Met) RSJGVGS1BH9F25YXV1SSAQR82JRDEHNWZ0HV3YDJK2T4M08FX82G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/signature/verify_fulfillment(). QRKTKJ9Z07BPM5K4W016YQJAG1MP63KDKW0YH83C5E86D61ZZARG 71CG541AY20G6JVGN6YBEXSA14QHVFWK94C5DFV2F18PRZ57TPMG 83b6f616ac244334064c4c56d391c23eb42a7ce6 PMCFW4S8EEZMHMQT0BNM4DR1NHWR6V52X64NAGWFG2GEVJNKG84G +MR-SOFI-0044 dsm::sofi::registration::fulfillment_registered android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim - CONFORMANCE §8 MR-SOFI-0044 (Met) YBX2ZGTPRB5A7JZPHMXVYEQC94N16JTER67MJYYD0WDGM2T3Q2DG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/registration/fulfillment_registered(). QHM4GX9X80C41P2JE9W657E57J2CZC0BJKRGQWRVF97A3QTF3150 XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG 83b6f616ac244334064c4c56d391c23eb42a7ce6 WW04VP5YHRGRR4GG4AQ03ZF9XH1KNMQJQHKZ3ZRX2P3BCW790Y60 +MR-SOFI-0045 dsm::sofi::storage::StoredFact android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::stored_returns_exact_bytes - CONFORMANCE §8 MR-SOFI-0045 (Met) W9W4SPKVR2TV193XJ5X95363JJDGMAS11ZBVPJQYXZV8MCD05JA0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/StoredFact# 4PDW3Q44VVNB1911BSA63RBZSAG0WH8B6MFS9P3MRQTWW86BSJWG 60QDPZWRXEW2QCDXW7TZF8Y365M1TNJ4BC2045AK9JSYB0VA3F0G 83b6f616ac244334064c4c56d391c23eb42a7ce6 M5WSQZPD9XM0BGGFCGR3HPHDHC9ZQJ97448MA0MT3G1KZ0JQANMG +MR-SOFI-0054 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::wrong_bytes_never_count - CONFORMANCE §8 MR-SOFI-0054 (Met) R05KC6ZD9N1VJVP47Y2CVRC3ZCZP07ZDTN1KXQX25PTPJ3J86HV0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). 3EXAA7F0RBGKMRE05857K6Y9MXYEDXWDBGTXG3RJH5Y4WCMMVVG0 VWV422YY3E4FEPHNNEPQZ2NKM4TB5FQTPN8K3R85DSTWEG3Y23Y0 83b6f616ac244334064c4c56d391c23eb42a7ce6 FXEWDMDRA1VQCKTMQWMP4KD1YBSJJW0SK8BZ2JPA2X6425MP6AK0 +MR-SOFI-0055 dsm::sofi::publication::recognize_setup android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_body_cannot_name_its_own_signer;dsm::sofi::signature::tests::nothing_passes_without_a_verifying_signature;dsm::sofi::publication::tests::an_envelope_is_recognized_only_when_its_signature_verifies_under_its_bodys_key;dsm::sofi::storage::tests::wrong_bytes_never_count - CONFORMANCE §8 MR-SOFI-0055 (Met) N27HGPHHYR5W3JTFYXQJHHGW1Q0B7YN7Z24G4BCK6B3GW9C472J0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/publication/recognize_setup(). 5NNPFB9QBA4NVHCV40YYT01R07D3VD1Q00YN35ZBHBYV8ACTMFB0 SK3J0QGYWTAKM90XWHPZZ308W9R1PJEAP6140WWZGXAHBJ5V4NKG;AM69XE83TS3TGPM27P6HNXTD7CPYFHE6B1V4AKNB2ZAT2NWMXP3G;7AQYXQP1WMJN3ZTF81JCZ7X7ARCABZGFK0C29CZYNBHEDDFBFDK0;VWV422YY3E4FEPHNNEPQZ2NKM4TB5FQTPN8K3R85DSTWEG3Y23Y0 83b6f616ac244334064c4c56d391c23eb42a7ce6 H9N39CM8BE6PBC71NJ480Y9813Z0EX9D7BR8KR1W3XN1HSG18JBG +MR-SOFI-0055 dsm::sofi::signature::verify_operation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_body_cannot_name_its_own_signer;dsm::sofi::signature::tests::nothing_passes_without_a_verifying_signature;dsm::sofi::publication::tests::an_envelope_is_recognized_only_when_its_signature_verifies_under_its_bodys_key;dsm::sofi::storage::tests::wrong_bytes_never_count - CONFORMANCE §8 MR-SOFI-0055 (Met) 64X71GJY3VZCNJA4CXX7FNJQ81D6T3FVX25676WV88M8HPJCSWTG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/signature/verify_operation(). MJQTQ9FV0B13NGS162S6EHH1QP7WJKQDJK1N3QYRKV95EX953D10 SK3J0QGYWTAKM90XWHPZZ308W9R1PJEAP6140WWZGXAHBJ5V4NKG;AM69XE83TS3TGPM27P6HNXTD7CPYFHE6B1V4AKNB2ZAT2NWMXP3G;7AQYXQP1WMJN3ZTF81JCZ7X7ARCABZGFK0C29CZYNBHEDDFBFDK0;VWV422YY3E4FEPHNNEPQZ2NKM4TB5FQTPN8K3R85DSTWEG3Y23Y0 83b6f616ac244334064c4c56d391c23eb42a7ce6 K2V5CEY5THCPPG3B26GMWFNP9D6X9053S2ZAYN9JGCBTGTERA6A0 +MR-SOFI-0055 dsm::sofi::signature::verify_setup android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_body_cannot_name_its_own_signer;dsm::sofi::signature::tests::nothing_passes_without_a_verifying_signature;dsm::sofi::publication::tests::an_envelope_is_recognized_only_when_its_signature_verifies_under_its_bodys_key;dsm::sofi::storage::tests::wrong_bytes_never_count - CONFORMANCE §8 MR-SOFI-0055 (Met) 1ZZWBMN7HPG0JZNCFG4MT1Y2JNDBMP4YRWHH706GQMPJK2CEE900 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/signature/verify_setup(). 5WAFT7KGN1B4WNW5T57MMVZ676TXGG0AY7SETP8XBC4P7M8YP3J0 SK3J0QGYWTAKM90XWHPZZ308W9R1PJEAP6140WWZGXAHBJ5V4NKG;AM69XE83TS3TGPM27P6HNXTD7CPYFHE6B1V4AKNB2ZAT2NWMXP3G;7AQYXQP1WMJN3ZTF81JCZ7X7ARCABZGFK0C29CZYNBHEDDFBFDK0;VWV422YY3E4FEPHNNEPQZ2NKM4TB5FQTPN8K3R85DSTWEG3Y23Y0 83b6f616ac244334064c4c56d391c23eb42a7ce6 5742V6D7GVE14DF7S4D1T5YB7PQAX3S9XY2D22H5M1CHRVYW4HS0 +MR-SOFI-0055 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_body_cannot_name_its_own_signer;dsm::sofi::signature::tests::nothing_passes_without_a_verifying_signature;dsm::sofi::publication::tests::an_envelope_is_recognized_only_when_its_signature_verifies_under_its_bodys_key;dsm::sofi::storage::tests::wrong_bytes_never_count - CONFORMANCE §8 MR-SOFI-0055 (Met) 97NZEVEFPW0RSN8W2BE16SYKQJNW25NT0GWA9YJMJV0DESZX9V90 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). 3EXAA7F0RBGKMRE05857K6Y9MXYEDXWDBGTXG3RJH5Y4WCMMVVG0 SK3J0QGYWTAKM90XWHPZZ308W9R1PJEAP6140WWZGXAHBJ5V4NKG;AM69XE83TS3TGPM27P6HNXTD7CPYFHE6B1V4AKNB2ZAT2NWMXP3G;7AQYXQP1WMJN3ZTF81JCZ7X7ARCABZGFK0C29CZYNBHEDDFBFDK0;VWV422YY3E4FEPHNNEPQZ2NKM4TB5FQTPN8K3R85DSTWEG3Y23Y0 83b6f616ac244334064c4c56d391c23eb42a7ce6 MYWJ97VA0HS8MS2QJGEXN46JD7P57M8GZ9GEW9ABT4T2B3Y8ZKBG +MR-SOFI-0063 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed;dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in - CONFORMANCE §8 MR-SOFI-0063 (Met) 7SKZWRH257VPDX42ZVN118Z1DD75PGAHT1GXXRCMM7DD3WGDKAC0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 RRHFY1ENAT402KS69K88J60H9XGV6914J4VRMEJZYZZ6SGPGNA80;X7FYBCPH3Q9E2N8Z97Y23SF0XG73V1SS12G3PKG0ACZ6AXBBGMX0 83b6f616ac244334064c4c56d391c23eb42a7ce6 4H3WHJQTYX3ZK00K5P9V7DQQC6M7636BD8TVC3599HYK0ZC66VB0 +MR-SOFI-0063 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed;dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in - CONFORMANCE §8 MR-SOFI-0063 (Met) 4NR3057D12FNZDKWADP0N3JB05WCA18V72C4V6GKN0T43MNGW8M0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 7Y3EZ17CGFBPV07EBJM0FWYJX312MVGZN38YZBRH5Q09BQC99410 RRHFY1ENAT402KS69K88J60H9XGV6914J4VRMEJZYZZ6SGPGNA80;X7FYBCPH3Q9E2N8Z97Y23SF0XG73V1SS12G3PKG0ACZ6AXBBGMX0 83b6f616ac244334064c4c56d391c23eb42a7ce6 VJW6YQ3X25EY2D3CD7H7TJK2SN1VBW9TP6JBJ54F2F08TTSJG5X0 +MR-SOFI-0064 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_final_cell_whose_fulfillment_lost_its_position_is_skipped;dsm::sofi::resolution::tests::void_requires_storage_resolution - CONFORMANCE §8 MR-SOFI-0064 (Met) B3CKJWH3X9FDG3AMPPSYBBME6GX9A6KSZRF0GGVSF11MNF09GPZ0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). 27SD1RF63CMKETEWZ774G5G88QW5NBRVST20VW57DSGG66ESWY20 0M5TA699VKZY17R94SNYS6BR2QBD4Y2QMRGSMCC44V3F5SK1DRWG;6VAV2W96FSXMVYHFKWV2CH4VAP1HZYP8A8J2KEPKW9S80A2ZKQ2G 83b6f616ac244334064c4c56d391c23eb42a7ce6 XP5WRG43YPGX861ZMFJT6HWNSP0HKHW0GQQYJ9NE8N575BBQTTW0 +MR-SOFI-0064 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_final_cell_whose_fulfillment_lost_its_position_is_skipped;dsm::sofi::resolution::tests::void_requires_storage_resolution - CONFORMANCE §8 MR-SOFI-0064 (Met) 3QKSVVQRP0DXEP53QMVD1Z1PRS3JG6JEVCE552SNABS1WKSM3RE0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 7Y3EZ17CGFBPV07EBJM0FWYJX312MVGZN38YZBRH5Q09BQC99410 0M5TA699VKZY17R94SNYS6BR2QBD4Y2QMRGSMCC44V3F5SK1DRWG;6VAV2W96FSXMVYHFKWV2CH4VAP1HZYP8A8J2KEPKW9S80A2ZKQ2G 83b6f616ac244334064c4c56d391c23eb42a7ce6 RSZY3CNAEYPSA9MTC4XXHM7137W3G95SYJ60MGHXJMJB4CTGM4PG +MR-SOFI-0066 dsm::sofi::wire::next_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::counters_are_checked_never_wrapped - CONFORMANCE §8 MR-SOFI-0066 (Met) XCENDGR9WB922EVXBAPBA0W0A6HEKPGH0GRVSA1NGZEDVY7R1F2G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/next_attempt(). GYDC1PYRN01E49S9EKG6H00HF2XAZ4NBVMVH05D080VFB9CSQPC0 88XACZX4BCQDA76JVV5M2EYYXQSBMH50Y1WSJ8VSJBGXMKFBWFBG 83b6f616ac244334064c4c56d391c23eb42a7ce6 KPTAGJT45PJJKZV19R9W96BQW680QKHACXM6BQRT0A8MQMZFWFW0 +MR-SOFI-0066 dsm::sofi::wire::next_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::counters_are_checked_never_wrapped - CONFORMANCE §8 MR-SOFI-0066 (Met) XYTR82XP61XMP8GAHQ574QVZ2P87SMYRV3Q2CRBZH6TJZCW5R7S0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/next_position(). BJYTZJQZ9DT9ARFDJ1AQXZ7886SGEHKADKSPWHTXENY9KCWBDN90 88XACZX4BCQDA76JVV5M2EYYXQSBMH50Y1WSJ8VSJBGXMKFBWFBG 83b6f616ac244334064c4c56d391c23eb42a7ce6 7HYSSMBHYSMXZRK0QDZMV1CZ7ZNPM1PAV4GX1PBFEZPGZAQ2DXFG MR-SOFI-0067 dsm::sofi::wire::objects::VaultStateLeaf android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::bounds_are_the_ruled_values - CONFORMANCE §8 MR-SOFI-0067 (Met) BQN49C5KQHP4VKZ6BM2FWD6B7RTPDDVHXXP80DVWMECXS9M5J840 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/VaultStateLeaf# VE7FW1C4JD6R1ZBV5M5109YZ7B4QKDVGMHA5TQ7NYBP8XD8SWKC0 D61W91C6DTP8HEW4DC2QCZ7BKGB7NWQAM9ZMM1T0B7E4TCNAJVE0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 5GS9KE54A1ZPZZA91PBHY48XVK79TWW8HMJ6TB2NC4ZTT442WGT0 -MR-SOFI-0070 dsm::route_chain::Route::leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s - CONFORMANCE §8 MR-SOFI-0070 (Met) TAR39BHN9VHX5CTYYW09N87FFKAJ2GSA3B811BQP9A2BHYAXY9Z0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). BEX2CAGVT7VCZ341WGN9ZJBNNP0FTXRK2JGQ0VXAEVGZV2DGGBJG P52Q4ZD292XXTV1GMMWMB0VE3ZWJAJYEBRAPBFAQSEWSQKTT8QCG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 3G5NJEBH03M7D7972YS6REEQTBER1YW8WT04F1YF03NQ2DZNSSFG -MR-SOFI-0070 dsm::route_chain::Route::leader node MUST_NOT_REACH active - - a storage node never computes a cell's route or its leader SoFi §7 (SOFI-007/L538); CONFORMANCE §8 MR-SOFI-0070 RZXRWYVHVJWWXN029TZ6Q6BF51SAGCBSY65RFB2F3JD3RB5T2JDG Met CORRECT dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). BEX2CAGVT7VCZ341WGN9ZJBNNP0FTXRK2JGQ0VXAEVGZV2DGGBJG - 8b2814918a9f0cf54a83d29080a9c6bf177682d9 MXP1Z02R5Z938DXFR6Q9H8G63371VF7GX2XSCTXHQRFDGNA6J3K0 -MR-SOFI-0070 dsm::route_chain::Route::of node MUST_NOT_REACH active - - a storage node never computes a cell's route or its leader SoFi §7 (SOFI-007/L538); CONFORMANCE §8 MR-SOFI-0070 SAKXMYQNAP3TDKEPQ9S12PB88QR11S4M9N9PGEJD0RGPXYEC2RZ0 Met CORRECT dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). 2H7D33H2YAHV1P8H49KSWBYX8C1X27V35D0EM1TNFQPRPA2YJB80 - 8b2814918a9f0cf54a83d29080a9c6bf177682d9 JD07MGR8Y8MGCX26JZKFNDZEZQ823WVD2TK7ZEP36Z377QGY36V0 -MR-SOFI-0070 dsm::route_chain::RoutedCell::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s - CONFORMANCE §8 MR-SOFI-0070 (Met) FRSAD4J4NG78JAJ940TD8YPHFW8H8FM1ST9Q37QC0PZ23KR1X49G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[RoutedCell]new(). 4SZQMENH08549QSKCVCF1SW6YKDK7A5G989H2M47JZEQ5BBXX8KG P52Q4ZD292XXTV1GMMWMB0VE3ZWJAJYEBRAPBFAQSEWSQKTT8QCG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 XQXHGK75KEZK74E9JHDQ9SYPAQ9051SJPW8YC1N54NVXVF9TSRG0 -MR-SOFI-0071 dsm::route_chain::Route::of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_cell_is_routed_only_over_the_committed_set;dsm::route_chain::tests::a_route_needs_exactly_five_members - CONFORMANCE §8 MR-SOFI-0071 (Met) T0221BA4T8ESCP8T5KT5GQWZ3T7NAVBYWNMA6XXMGSCVKM06A7JG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). 2H7D33H2YAHV1P8H49KSWBYX8C1X27V35D0EM1TNFQPRPA2YJB80 WTBCD6HV6R2BM20SSDE146SRVMJ3NB40HY51SDJ3M0PZNWKXTAM0;2713FH7AEHVWKBZRV0HGDN80Q9KE59WXZYZ89N67JR64372YJZ4G 8b2814918a9f0cf54a83d29080a9c6bf177682d9 MF9Y0JKY8YK9RSAAEWY1FXQAM859TYE3D3MRHHCC5CDZ3D8PDEA0 -MR-SOFI-0072 dsm::sofi::fisher_yates::permute android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::empty_and_duplicate_views_are_refused - CONFORMANCE §8 MR-SOFI-0072 (Met) 0DS4FQGJ79ANE58J35JRQXHZ7BN7VZ2WB3DFPNCWEBC7K6BK3GAG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/fisher_yates/permute(). 37G8F2SWBRDHNN3X9NW22AJVWMGS8H7SE490NDKEBJCVVWNEBDY0 3NRQ3X80KRK2JAHBFPWRYW3J1KFGYEY535S5BVAQ9QTBWGSBQESG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 EFN0K24N64ZW1W6DVJ7X9A916EZGWG6Y4FWS2X9M7KS2ZM76BSZ0 -MR-SOFI-0073 dsm::sofi::fisher_yates::permute android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::fisher_yates_matches_the_independent_algorithm_and_the_frozen_order - CONFORMANCE §8 MR-SOFI-0073 (Met) DBY6HKF8XD81CV2MKRQ9SQP9025K7EVBTMEGHSK2T481QV1AKQG0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/fisher_yates/permute(). 37G8F2SWBRDHNN3X9NW22AJVWMGS8H7SE490NDKEBJCVVWNEBDY0 D66EK0QEDNQC1BEP728ADWX4VY574ZHEQG20ZP96MD7205V3MCQ0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 9YCWTV5321KCRWE333QN20E8AK4ETR3NQ58NWD31WQBBF873WC0G -MR-SOFI-0074 dsm::sofi::fisher_yates::uniform_draw android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::fisher_yates_matches_the_independent_algorithm_and_the_frozen_order - CONFORMANCE §8 MR-SOFI-0074 (Met) 0E2C7CY4BBP4RXMQTRXJBQ0ZKYK96TWMQRT4586VQSY3DPCAZ2S0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/fisher_yates/uniform_draw(). QEB5QB86WSTVZJR6F4DB8ARY4AY9PHZK5DYWB7NSNDE5Q4750NS0 D66EK0QEDNQC1BEP728ADWX4VY574ZHEQG20ZP96MD7205V3MCQ0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 NR291E4S3ZC4RCE8R64GXEZ797G0H64Q6VSZ0GNMCB9TENRMVY30 -MR-SOFI-0076 dsm::route_chain::Route::leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-SOFI-0076 (Met) R448YGYRPP8BD9XF61HWB8D8A6CCWGV32M9S104ZDGS8HARF5EDG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). BEX2CAGVT7VCZ341WGN9ZJBNNP0FTXRK2JGQ0VXAEVGZV2DGGBJG P52Q4ZD292XXTV1GMMWMB0VE3ZWJAJYEBRAPBFAQSEWSQKTT8QCG;W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 GEBM8E9N06BXZ9FPDJW1A2VCRJM15Q65D64YYFS3H3RH8QV83700 -MR-SOFI-0076 dsm::sofi::fisher_yates::permute android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-SOFI-0076 (Met) 5AXF71HMX3PDFNTC3AXXFC7QH3MHM8GVWWTN0R5G0CF69AQ2H170 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/fisher_yates/permute(). 37G8F2SWBRDHNN3X9NW22AJVWMGS8H7SE490NDKEBJCVVWNEBDY0 P52Q4ZD292XXTV1GMMWMB0VE3ZWJAJYEBRAPBFAQSEWSQKTT8QCG;W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 R5PEFY547407PWM78P5T62GK4F2FERZYFJ73DSPG2ZJ32CHN732G -MR-SOFI-0077 dsm::sofi::derive::storage_seed android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0077 (Met) WHGTES7ZZXVD24EAFCA4X5XMVRY5EVHJWZPB4Z4TXES1MKFGJ4S0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/storage_seed(). 5PY9J9KYQ3QX5BAFVGQF6TYSN1KVAXVGAVXNFZSD9HYSY7MKE5D0 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG 1d58ffa8846eaab4902a4912f44b359e16553bb3 6XRSNY1E91P38DR9KXZYD99KAKKQNE9NMAD0TSK0J6FH44FNGCSG -MR-SOFI-0079 dsm::economic::register::RootCell::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s - CONFORMANCE §8 MR-SOFI-0079 (Met) YWRBY2YSXTJJ5EV0NBA35PM5XQPYGXCX6JSAVDJV993BDWBPRZ9G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/impl#[RootCell]new(). 4VZREYB5APPDDMJQBKZEKPNNTV57PBPEX4BV6KCZ1917DRZP2430 P52Q4ZD292XXTV1GMMWMB0VE3ZWJAJYEBRAPBFAQSEWSQKTT8QCG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 SFYHB02GPDA3Q1STB97Y5C7P80FY0E4QBBC70814PP3FGRM6TDE0 -MR-SOFI-0079 dsm::economic::register::economic_root_register_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s - CONFORMANCE §8 MR-SOFI-0079 (Met) 2HVK7M3STHFVG0QFPPFPP747RJ7GVBNNYQX2A2ZYS7S43QCGQBT0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/economic_root_register_key(). 6BX8ZG0CJWF2Q6VEW408XFKN1T9MKHJ7WRB3FRDJ1GHRQCW1FWW0 P52Q4ZD292XXTV1GMMWMB0VE3ZWJAJYEBRAPBFAQSEWSQKTT8QCG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 ZH4FQSE42N9KRFPE285M99AMARJHHYBC8FYPS2BZNKHNFP5WJ8TG -MR-SOFI-0079 dsm::route_chain::Route::leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s - CONFORMANCE §8 MR-SOFI-0079 (Met) 3AHKNAM6NB46RJZEF36ZA3B4EDS1N5DXB79NXVPC1PMPV5F85XWG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). BEX2CAGVT7VCZ341WGN9ZJBNNP0FTXRK2JGQ0VXAEVGZV2DGGBJG P52Q4ZD292XXTV1GMMWMB0VE3ZWJAJYEBRAPBFAQSEWSQKTT8QCG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 4737MSCH11SA63GAJVVR6S2BKJCN20RQ8CT6YFRNSAW6QK13VPG0 -MR-SOFI-0080 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing - CONFORMANCE §8 MR-SOFI-0080 (Met) EGF03R8BY1WK2FV78VQ994B350F9ZCB903FFNEQZYHWKY6DXWSKG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG 59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;P9HAC0KWS1VJ4VSA5TH2988NV4XZS3FRHEXF3DY2RS3XF2GJG9WG 375506f9333de6e529968767d19d565d189cc385 WH5PP187S4PTKSAWZNS1Z3B1DJ3PCHB4QFPV0EWPGBDJWZVG4FD0 -MR-SOFI-0083 dsm_storage_node::api::cells::append_index node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly - CONFORMANCE §8 MR-SOFI-0083 (Met) NXNCH46QCHGKV7HM2Y61GJEASF03VM877SVD2GNNCQ4VCR1CC6ZG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/append_index(). F54WXD4DNNE366J4D7F50CTXEPH1W7DM73X3GDXE49NG2AGZBKF0 PQB9NJN15XKF5FJ0273BPM0GR2WPR20J1T4N13MSHJJVAADVJNB0 375506f9333de6e529968767d19d565d189cc385 MJF3H8GRD5ESKV94D07MA8WP8HSR96AWBV7C3MAZFT32A486X1NG -MR-SOFI-0083 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly - CONFORMANCE §8 MR-SOFI-0083 (Met) EWTMG2HE763XVFBH3JDWMNCSN2WPDXA8YAQQ3Q2AS76HCASJ9CYG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). GZ7EWHR37RDX3J8J1HVVPMX123TAWYFWP82BXDSQSWZ99K6JX02G PQB9NJN15XKF5FJ0273BPM0GR2WPR20J1T4N13MSHJJVAADVJNB0 375506f9333de6e529968767d19d565d189cc385 CES2KQR2PSS78C4FW2YFWPS4TJ1Y1TZQKG8Q00M3ERWB9ZBT5SNG -MR-SOFI-0084 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-SOFI-0084 (Met) YWH3TQDT47A69ZESPB8FXYXJDD6ZDEZF0FDQNQPMJF22D6MZHAS0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG 6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0;YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0 375506f9333de6e529968767d19d565d189cc385 WR8J4EAAMRTRD2EYPQAF1C6VY48TK4FNJKMMFRF9ZDWB542AMGB0 -MR-SOFI-0084 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-SOFI-0084 (Met) BCB236G71XRF98H34D8F8YMWFBAPX3QDBTJW2ED3CJTWQE9TXJ9G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). GZ7EWHR37RDX3J8J1HVVPMX123TAWYFWP82BXDSQSWZ99K6JX02G 6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0;YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0 375506f9333de6e529968767d19d565d189cc385 979TT3AV82EGJSNW8HFSVDW29C3BRX0AZFS1Z8TSXVXY0G32M2SG -MR-SOFI-0085 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::a_copy_at_another_position_or_of_another_value_does_not_count - CONFORMANCE §8 MR-SOFI-0085 (Met) V7C17XNWRG6ZV9G6Y7EX1N4X0WKPN7D6Q5Q1GH4EGRVC0CESBFEG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG 59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;WFEE1ERPXRTEWA86GKWZM9B9Z5TKVPKE3WWBB8CZ57RWKNMH6TR0 375506f9333de6e529968767d19d565d189cc385 YFTFYHHZM7TSPSC52HFPM0G1398WGTEAWTX0J1AM8JFJS7411FJG -MR-SOFI-0087 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::sofi::resolution::tests::a_reserved_key_another_operation_reached_first_voids - CONFORMANCE §8 MR-SOFI-0087 (Met) RY22YWBF5NFW3N26N1FDPA8CW8YDPYBE5WCBN8VG8NH80DQAG8VG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG 59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;0P11NAR6A0AGTHGTRV9946VN7KT2A48HSEFCMBJ4EYCVVJ7BRR1G a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 B45GSR7TBMDV4YA8WQ29YKVGRR7K3YFXNQQDJJHMY4K1QA6B3D40 -MR-SOFI-0087 dsm::sofi::resolution::LegFacts::final_on_other android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::sofi::resolution::tests::a_reserved_key_another_operation_reached_first_voids - CONFORMANCE §8 MR-SOFI-0087 (Met) A7GY2YBPRNM14RNBYNHNXK1GXRC58RJ0MK9TQ0M2VXEWQ477DYW0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/impl#[LegFacts]final_on_other(). JJ87A9CBAQ51KKE7PTT974RVPM8N3T0AVTD3PR8ZV2X8KSMHE2C0 59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;0P11NAR6A0AGTHGTRV9946VN7KT2A48HSEFCMBJ4EYCVVJ7BRR1G a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 DG349385RMBFYA6ARK67VAM8YQVVKDDJNB1T8KA55E6MYPAYAR1G -MR-SOFI-0088 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_reserved_key_another_operation_reached_first_voids;dsm::route_chain::tests::the_state_is_the_count_of_valid_links - CONFORMANCE §8 MR-SOFI-0088 (Met) VP50FKAPFBH2ZHHBGHY2CD14R9M1DWEHBGTP19CNKVTK8Y7CF56G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG 0P11NAR6A0AGTHGTRV9946VN7KT2A48HSEFCMBJ4EYCVVJ7BRR1G;6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 1T67M2YQ7YMS7BY37YSJEXZWWY12GZ42C9TFT1EQHNNBPMC7WASG -MR-SOFI-0088 dsm::sofi::resolution::LegFacts::final_on_other android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_reserved_key_another_operation_reached_first_voids;dsm::route_chain::tests::the_state_is_the_count_of_valid_links - CONFORMANCE §8 MR-SOFI-0088 (Met) K59W5TQGC4SGGN1RZQF5AS7M74CNYV1C8DH7PGHG65VZHM4FPC40 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/impl#[LegFacts]final_on_other(). JJ87A9CBAQ51KKE7PTT974RVPM8N3T0AVTD3PR8ZV2X8KSMHE2C0 0P11NAR6A0AGTHGTRV9946VN7KT2A48HSEFCMBJ4EYCVVJ7BRR1G;6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 BPZM750RTR2K0TZDESN3BYB5VH6BPR8GJBZJKCRXM0WVWVA97PRG -MR-SOFI-0088 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_reserved_key_another_operation_reached_first_voids;dsm::route_chain::tests::the_state_is_the_count_of_valid_links - CONFORMANCE §8 MR-SOFI-0088 (Met) 8K4NY034G8N19XQ63QQQCZJJB800BAPMT0EEXPG78HRXH2HTQFR0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 3RGXSFWYQ876BJBAT13HAVWXSDK3GK9Y9C818K0QESD3NV2N0GWG 0P11NAR6A0AGTHGTRV9946VN7KT2A48HSEFCMBJ4EYCVVJ7BRR1G;6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 H7YYDDANQZZZ5BZ6G5ZQT61T8K7SZ60VRT7K40SP6XWC1KQEY7N0 -MR-SOFI-0089 dsm::route_chain::Missing android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in - CONFORMANCE §8 MR-SOFI-0089 (Met) D09D959G9HGZ6XEFT175AD9RKP70NFE5M1MEW9DNKNAXSZ8D8T7G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/Missing# 4GQ9KE7ZKDXRZ7GMZK12DN5HWWMD3TYJDP71ARZJBNDHAPHSYW3G WQDY8DW5G78YCK3CY71S1JY3M8NHPPPCH72GYJZ2MRX7A6G1WD7G 375506f9333de6e529968767d19d565d189cc385 FPWZS6FVT5VS913M725BJPGN2B8KKDP4METSHB9F60NJCZ23RHS0 -MR-SOFI-0089 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in - CONFORMANCE §8 MR-SOFI-0089 (Met) S28X8XSW1F2913Y6W235CTSCVNPT6WBCDC4T0VWGC47YMZZ39PG0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG WQDY8DW5G78YCK3CY71S1JY3M8NHPPPCH72GYJZ2MRX7A6G1WD7G 375506f9333de6e529968767d19d565d189cc385 JD284690ZG0DKN4EDXK56R20NKPQ268PJ97T1HDG591ETQNQ2NTG -MR-SOFI-0090 dsm_storage_node::api::cells::get_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-SOFI-0090 (Met) 2FFJWW5YP8Y5H90AV2Z16J389P2A4NZK2XGBG17ZBR2SWCMHX95G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/get_cell(). CX2EM3AHQNMX7JY2WTMVGCJSS9CGRTS3PCCSCC7Q0MVC2NKGFPBG YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0 375506f9333de6e529968767d19d565d189cc385 BR94DVW25QBFWAG1N8SGG8RWK0B5272QKF5PVYZC83F40S2QV9Y0 -MR-SOFI-0090 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-SOFI-0090 (Met) 6E6NRG49FC1559D9BF0TNWC23PA2Y9TT2YG35MTJ4DNGBKJVVVDG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). GZ7EWHR37RDX3J8J1HVVPMX123TAWYFWP82BXDSQSWZ99K6JX02G YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0 375506f9333de6e529968767d19d565d189cc385 39647CA59JFMKAKPFEHP8FQHP63GVANTSWGQ6YZB24WVVBRS83TG -MR-SOFI-0094 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::two_members_is_not_stored - CONFORMANCE §8 MR-SOFI-0094 (Met) JH03GGVHTP01F0CM8KARME0ASAW57X2X5C13DS4E9S2T7RPV799G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). JJN597TCWXMBBABP8QEW2RR360M1A3HK5BTTY2S14Q5K4RQNYY8G QS6CQJXHWQVZ56RQFFQCGH5RVYW0A8ZPPN66MEKZGZN5T279EKY0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 KJ1GKZ703GKQME7EQED8Q2XRC3820ST6XE2K41CR4WFA212SHPA0 -MR-SOFI-0095 dsm::sofi::publication::Publication::locators android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::publication::tests::every_kind_is_recognized_under_the_locator_it_is_indexed_under - CONFORMANCE §8 MR-SOFI-0095 (Met) Q3WVSDQA10VJ7EXWK65KX39CYXXD6WREDKS5WTVKHHWM9TJDFMCG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/publication/impl#[`Publication<'_>`]locators(). 099JMHNQ2HJN1GB0AGQJFKFHVHXVMHCQWAK6DM5N0SN3NECPPEP0 T6VY5H7TBHJQCH8M1S7V4EJEZ06SGMBMY1CNFVAQ9NSSQVQXES4G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 7QGMPEQ2VA9C44KGT0E1A3AWP5GYN0NNCPNMS6EEE3E161697QZG -MR-SOFI-0096 dsm_storage_node::api::cells::append_index node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::an_index_pages_in_append_order_from_the_last_seq - CONFORMANCE §8 MR-SOFI-0096 (Met) 9XN6AYRWW0967WHC5WRFTW8HX66RA7PW3YAXXK0DQWRTW64CQ3Y0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/append_index(). F54WXD4DNNE366J4D7F50CTXEPH1W7DM73X3GDXE49NG2AGZBKF0 J6JNNMENWG4P8YSNC2WH41XMEME8A96XZ8PTMDY8BRP1QN2FGB80 375506f9333de6e529968767d19d565d189cc385 FVXZ21QN0FZ4ZW6CPPA5BCXXB5J9YRT64JX5MH4E06AASFH7RGS0 -MR-SOFI-0096 dsm_storage_node::api::cells::read_index node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::an_index_pages_in_append_order_from_the_last_seq - CONFORMANCE §8 MR-SOFI-0096 (Met) VZPJW0B4FDW3NF4YW5VBPGWQ136Q9JBA4VCDTEBH7P4G4FCAC5XG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/read_index(). CE7CB88HBYB2KMHX3H7TT6XKMG7BN6AWDES7Q0XXFMSYEQEA6T1G J6JNNMENWG4P8YSNC2WH41XMEME8A96XZ8PTMDY8BRP1QN2FGB80 375506f9333de6e529968767d19d565d189cc385 AT86ZPAG1HMB0R0YMV8J9JY944P1EZFGGGVEWMN7ASCQA9J4FAFG -MR-SOFI-0097 dsm::sofi::storage::keep_all_verifying android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::over_budget_is_unavailable_never_none - CONFORMANCE §8 MR-SOFI-0097 (Met) BTF9CXK0JXVT0DMZMRS9Y5DZQ6A7BPR85RHFFZG0CEH4N984QSZG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/keep_all_verifying(). 99FJTCXG81D7GD791BVE4644CGGHTFN3Q7M5Z542WX9Y138EH9HG NBW1BYKZZP8CKFDNT7VTHGDM61HZBGY8C2JETQXT1450057E1M1G 8b2814918a9f0cf54a83d29080a9c6bf177682d9 JYKM0JH63246GAJYA64HREXATENCS6DXMQCNHXH0X78PEKS63GCG -MR-SOFI-0097 dsm::sofi::storage::keep_verifying android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::over_budget_is_unavailable_never_none - CONFORMANCE §8 MR-SOFI-0097 (Met) BXY26VJP3T4VFMA3YW0BCRSH38DB8K766ERZMJ2DGKT2GQDNQ1TG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/keep_verifying(). S6TGEQ3E4E1X6FZBKBEHQ859RCVXCE633Z2N2YAQ34WFEFX18TT0 NBW1BYKZZP8CKFDNT7VTHGDM61HZBGY8C2JETQXT1450057E1M1G 8b2814918a9f0cf54a83d29080a9c6bf177682d9 ASDNC425FTNCMZHEFTK93XWPNXBVQRNRF1S710HTN1RWS15TG8CG -MR-SOFI-0098 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-SOFI-0098 (Met) Y3GC878VNCWRY5851VXDSD204XTAZNEB5AH3ANRP7VE25NSCPC00 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). GZ7EWHR37RDX3J8J1HVVPMX123TAWYFWP82BXDSQSWZ99K6JX02G YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0 375506f9333de6e529968767d19d565d189cc385 SJW9JYDGKT6WHZ1614YVPNQPR9QQSV9DAQBBCF50E378A5WPK0EG -MR-SOFI-0099 dsm_storage_node::api::cells::get_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_key_nothing_was_put_under_reads_as_an_empty_list_with_200 - CONFORMANCE §8 MR-SOFI-0099 (Met) 2DG9PAHZJ9SVWNAFPFN7V3PNHGREKS1CQB26X075QWE2VFYFPKAG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/get_cell(). CX2EM3AHQNMX7JY2WTMVGCJSS9CGRTS3PCCSCC7Q0MVC2NKGFPBG AACPZXBAPG9NX1JP0KCV3Z0NXB1QJN7731ARW0VKP09CKF1G7BKG 375506f9333de6e529968767d19d565d189cc385 ZNMZNXME0FGGY3B0NDZQ4M15PSM91QX728NJYZASG5M7CFPNYF60 -MR-SOFI-0101 dsm::route_chain::CellFact android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm::sofi::storage::tests::two_members_is_not_stored;dsm::sofi::storage::tests::wrong_bytes_never_count - CONFORMANCE §8 MR-SOFI-0101 (Met) ZBDR58C5MP3KHMNT7N6EP78GCFK78NYGJSP97R4VRQDZBW3C2430 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/CellFact# ZM6ERX7PC88YRAKT2NFMBWNF9W7HG1A4EE6DBBNQK4YH4J7F6KM0 6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0;QS6CQJXHWQVZ56RQFFQCGH5RVYW0A8ZPPN66MEKZGZN5T279EKY0;MCQJB3ES8YM15QG3G9VBKS4JGPYW1DZ61Y8RVEE8QCYFH95CH4FG 375506f9333de6e529968767d19d565d189cc385 C4YN2QVFD946D9W869ZGDZKCZ4PSWXWM717S6F6N55172HJ0DB5G -MR-SOFI-0101 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm::sofi::storage::tests::two_members_is_not_stored;dsm::sofi::storage::tests::wrong_bytes_never_count - CONFORMANCE §8 MR-SOFI-0101 (Met) F21RTJDYZ8W30R1JANK8B489X7RX49FD1RGRDBTG70WBCZ6WR75G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG 6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0;QS6CQJXHWQVZ56RQFFQCGH5RVYW0A8ZPPN66MEKZGZN5T279EKY0;MCQJB3ES8YM15QG3G9VBKS4JGPYW1DZ61Y8RVEE8QCYFH95CH4FG 375506f9333de6e529968767d19d565d189cc385 6CM5ZDVRDARGK51ZTBJGJ6NH4ZYASS1FMFTN985B69ZBJ6G2CE50 -MR-SOFI-0101 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm::sofi::storage::tests::two_members_is_not_stored;dsm::sofi::storage::tests::wrong_bytes_never_count - CONFORMANCE §8 MR-SOFI-0101 (Met) 0XJ1FY71KAZMR3HVVZ9K90VXP29NSYFS54AN909Y7XQBM7E59F9G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). JJN597TCWXMBBABP8QEW2RR360M1A3HK5BTTY2S14Q5K4RQNYY8G 6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0;QS6CQJXHWQVZ56RQFFQCGH5RVYW0A8ZPPN66MEKZGZN5T279EKY0;MCQJB3ES8YM15QG3G9VBKS4JGPYW1DZ61Y8RVEE8QCYFH95CH4FG 375506f9333de6e529968767d19d565d189cc385 YW8V5B6RGW4R08THAYNPJTWGXHWRQV5TVPXXFQF2617QM455PGYG -MR-SOFI-0102 dsm::economic::register::read_root_cell android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg - CONFORMANCE §8 MR-SOFI-0102 (Met) 9BZMPS3WHSEPB30XWTZJSA6QPKAZXMYMKPHZFNFSF15QGKFD9NZG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/read_root_cell(). RZFX32A412E7RSJPV3Z1JP4JTV48EYKAJZP3DWK6MJGRSR1PWX40 GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG;PEXCGPBJZHCW8GJMEMZEPS6GNGDXPF5JQGBJRP8B55M7YFFQF440;14XJG6NKKMEJV4C0XAF6M97MD9P730Z3ME59W64ZKPE0SPMNWAKG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 ZB11SPD320X41ABNY8PCW3ZMMF75AH9WRREY540T3ACEW0SN6200 -MR-SOFI-0102 dsm::sofi::exercise::attempt_resolution android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg - CONFORMANCE §8 MR-SOFI-0102 (Met) DZNKQM4W3J2HHJJDZW2R57D123NF2BTMKQG8EQ5NEMPD2FT4C0G0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/attempt_resolution(). SNN86J5J70RV6J8NCYP9JTH3QD9DSHJ3TKR0VCGWFFYVX3992V1G GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG;PEXCGPBJZHCW8GJMEMZEPS6GNGDXPF5JQGBJRP8B55M7YFFQF440;14XJG6NKKMEJV4C0XAF6M97MD9P730Z3ME59W64ZKPE0SPMNWAKG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 10G24TVSQ3PFSTC1BYC6D9N4AJSZR8VJDN3Z7T2P2428EJDRTDEG -MR-SOFI-0102 dsm::sofi::registration::fulfillment_registered android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg - CONFORMANCE §8 MR-SOFI-0102 (Met) YBMF4PA6YSC83407TZ171WC9RVZJJS1A2HHZ7M6S51BZRMBWQV2G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/registration/fulfillment_registered(). ASX58D92VYCP1C4DNGR9QV94Y1EAZTGQFC56HVSQFT6GEDBWAE5G GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG;PEXCGPBJZHCW8GJMEMZEPS6GNGDXPF5JQGBJRP8B55M7YFFQF440;14XJG6NKKMEJV4C0XAF6M97MD9P730Z3ME59W64ZKPE0SPMNWAKG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 AFDCPHVW934PAPTEN6MRVZ8FEYFEHF7RYDW39WR5SVEBHCMYRZJG -MR-SOFI-0102 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg - CONFORMANCE §8 MR-SOFI-0102 (Met) FS1FTPDZYH1M30CJJKPS9MNC650RF3P4KCEJK98PYR1K26EH3S60 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). JJN597TCWXMBBABP8QEW2RR360M1A3HK5BTTY2S14Q5K4RQNYY8G GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG;PEXCGPBJZHCW8GJMEMZEPS6GNGDXPF5JQGBJRP8B55M7YFFQF440;14XJG6NKKMEJV4C0XAF6M97MD9P730Z3ME59W64ZKPE0SPMNWAKG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 MG5YV3QGZSXARQ9MFSHKDFG3Q7AX8NDVE37M0YS2B169NB4B8P70 -MR-SOFI-0108 dsm::sofi::admission::admissible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::admission::tests::beta_refuses_the_reserved_owner_authority - CONFORMANCE §8 MR-SOFI-0108 (Met) VV9FDZN53EQ2VFX1YBEAYYSR7X6ZHTGQFSMTKPY3G1BVNW77DBJG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/admission/admissible(). 2Y35YD0Q1N6B4Y1EGDPNHTMJYRK9PP3W04R5G4DYD0BGHVDKZXD0 2H1P0CZZV1JPJQZJYMWMGQSSMB8VXD0XWY5S0V6CRFQRPT58G5H0 1d58ffa8846eaab4902a4912f44b359e16553bb3 VX88DNB72KPG266YBZS5GZY6F9ZZSCJKVJ54B73AVCN3QXZP5G9G -MR-SOFI-0109 dsm::sofi::wire::objects::SignedSofiObject android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::the_signed_envelope_matches_the_independent_encoder - CONFORMANCE §8 MR-SOFI-0109 (Met) B2ERJDQHFGV2K0QE8K51W8K0C28YR3GCNSYB0MAJRAQWSMZ0GDRG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/SignedSofiObject# 03VJSSQHYN78A3D0DS4KENTS9PYKQX0P3QY1YDCMKGBHRKK78AVG 11WJQYWQ3C5AVK6WS0N6C4RH91XKBZSFC4TYYCXMJX91DQZ58NX0 1d58ffa8846eaab4902a4912f44b359e16553bb3 VZ92SYAF9KSRNGDWXJ09YV9S1QGG77H7HZQKPKHMQPTKW2YG4YB0 -MR-SOFI-0120 dsm::economic::claim_envelope::economic_root_claim_envelope_digest android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0120 (Met) 9ZRQR65ASF772DZG8AYNY2W04E40AYS5EKH3WF5W4M6G4MF433X0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/claim_envelope/economic_root_claim_envelope_digest(). C8YD04REYJHYR4KQ8P63CSWBY5T0YE2M7J5S6PPGARQNWS71DYG0 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG 1d58ffa8846eaab4902a4912f44b359e16553bb3 6FFFMSKRZB78C1A38SMWYHG5NPBFNXWSXESX9AYSCMHZ1MC80RE0 -MR-SOFI-0120 dsm::sofi::derive::claim_ref android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0120 (Met) 18KQBG4PHGYRNGYP3X467KRMZ8M7HPT2NX9GDR2RG6HEFFVTR070 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/claim_ref(). 39YPZR62FB1FTGBHJ2XQ1K0DEZN06X7MAD16H7M34J9NQ3K13WJ0 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG 1d58ffa8846eaab4902a4912f44b359e16553bb3 6RP512YM9SRS8M6SKFS3ZQ1780DP2S00XJSFJWB8T249KTHYK410 -MR-SOFI-0121 dsm::sofi::derive::precommit_id android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0121 (Met) H53T59FB1PQPF74FZT57FAMT3TDPV3YW1SJ7ZDZT9Z5E4MF26JKG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/precommit_id(). 4H1MPBWKJZXXHK0JW34JRDT16NDM3RQFKS024FY4AT5D4RTBSPKG 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG 1d58ffa8846eaab4902a4912f44b359e16553bb3 KJDZDTZSPW2HRM3DMTAFW76XM8DZ6CCD94QD4H82NC1GAF0SNVV0 -MR-SOFI-0121 dsm::sofi::derive::precommit_signing_digest android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0121 (Met) GSYFWDQWAGYS9HBZCTN6A6DQE7QP1MNQB5SXZGN1WNHEFXVRJTXG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/precommit_signing_digest(). 9B35JKQZQWBKP1D3NAV50APRM0XZQW1BF33XQW6NR04Q998A58W0 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG 1d58ffa8846eaab4902a4912f44b359e16553bb3 ADT14K6TSDJY52924TV0YDZHJAN05H7DCPV87PZZ3RBVGTBCXG8G -MR-SOFI-0123 dsm::sofi::derive::fulfillment_id android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0123 (Met) 20AAJZV3H3R73CKGX1HPE13EQ0697G65KQY1EY52ZCPD03T7Q7V0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/fulfillment_id(). 0RPZK4P624742YJA6ADTACV3K1Q79B1VGET2F7HJK9KH7CJPK020 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG 1d58ffa8846eaab4902a4912f44b359e16553bb3 MBK58T812B1XA3CXN4N21YBSYCTBPAHTQP7NWE9H5SR26WVNHJ8G -MR-SOFI-0123 dsm::sofi::derive::fulfillment_signing_digest android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0123 (Met) 79RPAW3X8JE3ZENXS49VFS6B8R9TT3ZC7CGMSW82NJZJBMGF16H0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/fulfillment_signing_digest(). BMH93QWAA4DJ6RAHWN1XGFAGYWEWGHQ7D8H4G3BM2BDM1CAD94S0 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG 1d58ffa8846eaab4902a4912f44b359e16553bb3 3ZV1ASGBPCBN35RD7KRDJTCXW2CQJ3Z12TN0Y1VCGQAEQ084X9T0 -MR-SOFI-0124 dsm::sofi::derive::fulfillment_register_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0124 (Met) Q135SNKYEGHH25Y7KKZ1500ANF2PVPWBGWBNVE7AM5BT11S0GQA0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/fulfillment_register_key(). NVG0WWWHDC8QC3T2TQ6HP66WXG7Q2DJEJN8KMKY98CW1E12MXD30 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG 1d58ffa8846eaab4902a4912f44b359e16553bb3 DXCYS0P7JM0KW92FBMHHNQK5V8WKWVKMJ35A342BXSJVR4G6BMVG -MR-SOFI-0125 dsm::sofi::derive::resolution_claim android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0125 (Met) 3H78ARXVPJVB9KFXR26PKCPWY7BXGT5WK15ETGTHAAGN7B0AJE80 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/resolution_claim(). GC9FXYAWKN55XJTJMFSNVDBQHCP78WVQBEPJYJJMZ7NRY6XVSNM0 7AGVD2F2XM61A30E1NB25ZZ638K3ZF35RNXPY58AFECAP7SGWYG0 1d58ffa8846eaab4902a4912f44b359e16553bb3 T35J8N6MM4SS5H4ASSCRJC98RQZY6E82QD6S1ZGJC5QHTH19XFEG -MR-SOFI-0125 dsm::sofi::wire::objects::SofiResolutionClaim android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0125 (Met) 9TBQ5PKPAZTQ6RXWMSBR7G747Z5PP678DSXWV5HMQER5SNTPM8V0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/SofiResolutionClaim# TK0XP1GD8CZ9DB3R20E25ZJGHXNSXC2YM6MARJ4765CGB983221G 7AGVD2F2XM61A30E1NB25ZZ638K3ZF35RNXPY58AFECAP7SGWYG0 1d58ffa8846eaab4902a4912f44b359e16553bb3 XBD2BEWSCQKWGNPEKW3VPAQQBQZFM1NMDRRN770CAQXKACE2HMT0 -MR-SOFI-0126 dsm::economic::register::economic_root_register_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0126 (Partial) 5B7PGPN5DET9F2CTKAG108KT46RT7JBX74B8SMXPZTHMKW9B3P7G Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/economic_root_register_key(). 6BX8ZG0CJWF2Q6VEW408XFKN1T9MKHJ7WRB3FRDJ1GHRQCW1FWW0 - 8b2814918a9f0cf54a83d29080a9c6bf177682d9 CGSZ5CVQPVKTBFVA1MHTRE0V39R0P6YAZZSD1KT1M6565N64A150 -MR-SOFI-0127 dsm::sofi::derive::successor_base_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0127 (Met) G6J8YPDM8RV56H95H4WAREJYTVPMX5B59NR3D8Z56D8NBAP6W0VG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/successor_base_key(). WDDJHJVVQVQRQMAADVZVA6YQGCKKD1SRJQC98VM2GVQX9P7A0NTG 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG 1d58ffa8846eaab4902a4912f44b359e16553bb3 8W2XKV5606HPZYTDAP9AQ7SZCBKHZ0PVVDRHK8X1R0HVYN9H5DB0 -MR-SOFI-0129 dsm::sofi::derive::dlv_core_digest android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0129 (Met) 06271AAFV7QEKVT2H44TEGTJRXWBZH498BN97NR954CR6HF07FRG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/dlv_core_digest(). CG9YAGGDABKJJ5F28BHKBAGJT3AFP588TZZEGSNV8GW1BGRNPHJG 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG 1d58ffa8846eaab4902a4912f44b359e16553bb3 QN9XBK9DRPJQXWTA469MDQVN6ABCK690HSSJ2RDBJNEY7QXABMV0 -MR-SOFI-0129 dsm::sofi::derive::settlement_core_digest android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0129 (Met) C8JBA2JGNPK67KMFQFCZTJJZ7BCB3SAYBPMTBG9M21AWKQMK27PG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/settlement_core_digest(). 8EJ1691NSZD400XJ3F5BM4QARQBRWZ7QNKM85EMXK8HPMVWDWNG0 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG 1d58ffa8846eaab4902a4912f44b359e16553bb3 VATGEDY9DK8QQZVC73RBXAAT6J659N8GJHJT1WAHQ2CENF5CSEQG -MR-SOFI-0129 dsm::sofi::derive::trader_core_digest android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0129 (Met) 5KCSH19Z7XP4ESD0XKX5165C523X4QPN10YBBP5VN4NZ4BVJP7S0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/trader_core_digest(). 2P3VG0Z83TSVGAFXX635TZHWMG2WZPSFG5CKJBBCN7Y0R4JKT0Y0 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG 1d58ffa8846eaab4902a4912f44b359e16553bb3 VM3M4RE31F9AQDV8YYR4FJB70PWZZXPPK0H6PZ8CKJD8KHH33F2G -MR-SOFI-0130 dsm::sofi::derive::external_commitment_single android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0130 (Met) 93WAR4CNFSX4G1J05QE0CHBGJ0CM41FAXD8752HXC0H4C5VB8XVG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/external_commitment_single(). VFXF3TGX1G8RZHX77X86D37W09TQRH14J9X0G7H9S5M8WXGY85ZG 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG 1d58ffa8846eaab4902a4912f44b359e16553bb3 FA15N4Q2GNKWCWN89D7F9KHAVHDKR3SECPSZW9FSDQMJ0ZFTT3Y0 -MR-SOFI-0131 dsm::sofi::derive::external_commitment_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests;dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs - CONFORMANCE §8 MR-SOFI-0131 (Met) WWD6STVHMKR3N35TX3QM26DAFYN5104KKCHH764TA4C2P0J4VPW0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/external_commitment_route(). JFJR10CGBM39H1K5F69TNTYGKVEVGHZR6CKM5X0SGZZEQPTPHZE0 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG;BD38JBEMA7KSGCMRYZN0M0XSFDSZJE3D8BJ5NSNK3Y6YD77G5PK0 1d58ffa8846eaab4902a4912f44b359e16553bb3 28Y5WAWKKDR5PY19PDFBE88D0EZ5HNPH7V7Z8M2ET3JP99D5WQWG -MR-SOFI-0131 dsm::sofi::derive::route_leg_set_digest android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests;dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs - CONFORMANCE §8 MR-SOFI-0131 (Met) CZ1TGNCGZ3C5FWJ4HAK4EYE0MRZPYAG1CK17PE9M0QQSS3HBQ56G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/route_leg_set_digest(). JKGHWRMM1EVQKDQZMN5J51ZY55D02ARVSY0RF6KVGJMX9BPQZ7P0 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG;BD38JBEMA7KSGCMRYZN0M0XSFDSZJE3D8BJ5NSNK3Y6YD77G5PK0 1d58ffa8846eaab4902a4912f44b359e16553bb3 FNRY37HJJ345FDMY330Y8KRMQ0CMV70K3NVNSG2F7WWGY4GTCVN0 -MR-SOFI-0132 dsm::sofi::derive::external_commitment_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests;dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs - CONFORMANCE §8 MR-SOFI-0132 (Met) JA60CP2AK8YW3F2RTZKTQ6CFSV26CBPZPF55A1VMBKF8HBZ34DXG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/external_commitment_route(). JFJR10CGBM39H1K5F69TNTYGKVEVGHZR6CKM5X0SGZZEQPTPHZE0 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG;BD38JBEMA7KSGCMRYZN0M0XSFDSZJE3D8BJ5NSNK3Y6YD77G5PK0 1d58ffa8846eaab4902a4912f44b359e16553bb3 DJ10Y0ZCJ7E9AXWREPSGM0ES87DJG480JDV251NB985D4HJG5QG0 -MR-SOFI-0132 dsm::sofi::derive::external_commitment_single android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests;dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs - CONFORMANCE §8 MR-SOFI-0132 (Met) 144DNVQPT3Q660XW8HDEYD28BCR2SSTQM2352X91VB2BPAHVZBXG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/external_commitment_single(). VFXF3TGX1G8RZHX77X86D37W09TQRH14J9X0G7H9S5M8WXGY85ZG 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG;BD38JBEMA7KSGCMRYZN0M0XSFDSZJE3D8BJ5NSNK3Y6YD77G5PK0 1d58ffa8846eaab4902a4912f44b359e16553bb3 07XR6CZ3AVM02310DMY22PX72CK10BC8SD69WRJPZGJE720RZMY0 -MR-SOFI-0132 dsm::sofi::derive::recompute_e android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests;dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs - CONFORMANCE §8 MR-SOFI-0132 (Met) NF4DV517KXTCK5GSGJ5XA6AHB1SV1CE69BHZGB5XKBNKVGVXZGC0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/recompute_e(). Y485RDS22CFCG1A5JWZQYHE3Q9XBK83CV031WXNEXKC57FZ1DNF0 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG;BD38JBEMA7KSGCMRYZN0M0XSFDSZJE3D8BJ5NSNK3Y6YD77G5PK0 1d58ffa8846eaab4902a4912f44b359e16553bb3 SPHCWCEM6DF8Z0FREQEQDBSNKP39Z57D3Z6MER8V3S0AX4K1PZNG -MR-SOFI-0133 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg;dsm::sofi::conformance::tests::item_7_identities_and_bounds_hold - CONFORMANCE §8 MR-SOFI-0133 (Partial) AA8RFVEEX6MZEP0Z7HEGHN3X2A1JSZ72XCJV58BMWVVB2SNAT1S0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). G608SP6WY4FK1Z8C89NTNFCZKGAT0RAGA0C8MQ2P20V2GTQ5NR30 14XJG6NKKMEJV4C0XAF6M97MD9P730Z3ME59W64ZKPE0SPMNWAKG;QVKQGG842YG6PFED22287W9VH837ZFTMCSWYSFMWPMBFNNJ239YG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 9D3MEY590H1H5F2J055AN9PWMDT7856AR4FKSWGSFFMYQ2KN4D90 -MR-SOFI-0133 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg;dsm::sofi::conformance::tests::item_7_identities_and_bounds_hold - CONFORMANCE §8 MR-SOFI-0133 (Partial) XJQR6KTRYHM1ZDYERFZ0694QES6PNS4YBC30WGRBYAAHK0W296A0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). MV7ZYP94K6RT29EJKSV0A02QNMGFNVAVXP04TSKYWKXVBSNB3Y3G 14XJG6NKKMEJV4C0XAF6M97MD9P730Z3ME59W64ZKPE0SPMNWAKG;QVKQGG842YG6PFED22287W9VH837ZFTMCSWYSFMWPMBFNNJ239YG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 2BA0C3M77Y991JYFZRD1SAM3Q7SVZCXNNM4K43DQ9RQJ181PW9ZG -MR-SOFI-0134 dsm::sofi::derive::setup_ref android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_second_valid_signature_over_one_body_is_the_same_object - CONFORMANCE §8 MR-SOFI-0134 (Met) 4NBGZCCEM45RAARJS6X5Q0A2WZCA5SB69EVDCP14BXYED540N2AG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/setup_ref(). HXQVMY6611Y74JSN7VYCGFSW2FZC1QRYRB0CVZ0CER20P2XZ4JK0 YGAJGV9XC728KWPV3P4JG8C09BB49TQ65B5K8C75GG40V6FKPM0G 1d58ffa8846eaab4902a4912f44b359e16553bb3 12AZG24NJRXHE6P8N60X5CSYN528J689BJB3RQ44T86YRX18RTEG -MR-SOFI-0134 dsm::sofi::signature::verify_setup android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_second_valid_signature_over_one_body_is_the_same_object - CONFORMANCE §8 MR-SOFI-0134 (Met) QGNDA3Q2CNGWPHFATDBP63XDGZF3WHMG97703J5DCR48N52MXFG0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/signature/verify_setup(). F52BKHR5326X7SY15NTDBJPBCK89NYCA7RNWKY74PNV0FF43NWK0 YGAJGV9XC728KWPV3P4JG8C09BB49TQ65B5K8C75GG40V6FKPM0G 1d58ffa8846eaab4902a4912f44b359e16553bb3 7531S0XPX66FKXAK5BFC2F42A1ZD1GZY3K5XZCCF5G8DQA22JTVG -MR-SOFI-0137 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg - CONFORMANCE §8 MR-SOFI-0137 (Met) ZB3FAEZGD2P4EDQ8Q9VZG351R0BKSXVEKV78NWM58DERHRWQTTW0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). MV7ZYP94K6RT29EJKSV0A02QNMGFNVAVXP04TSKYWKXVBSNB3Y3G 14XJG6NKKMEJV4C0XAF6M97MD9P730Z3ME59W64ZKPE0SPMNWAKG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 RV7YW5ZAVRVYFEZPH3FEHQMEKQ8EH588V30HKYE1EM9FM1VWFP20 -MR-SOFI-0138 dsm::sofi::validation::trader_fold_entries android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_wrong_relationship_base_is_invalid;dsm::sofi::validation::tests::vault_post_states_are_recomputed_and_bound_to_the_stated_values - CONFORMANCE §8 MR-SOFI-0138 (Met) PMY4KSFT34QYMT2E5X7YESPB0HD3S9HEBQEBJH6MJPKN4TYSDRRG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/trader_fold_entries(). 1XHCB9ZR8DRJ9FJKT48SRYNJQGW9PFCEEG0Z0VGGNKY81BGGBXTG VR67GBJ04B6KSM1F6AYBNQR6HWCBMAGGD48XJCVTED75D40YA790;92RHBAAVBSVCBEGB88CJ94X4Z07XQQR0V0RHS2NSE874T3QBCC20 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 WMFAGGMNZSP4S20Y2EZ8M9B6963YYMB6X88MSEA27P1JFCJF1QZG -MR-SOFI-0139 dsm::sofi::signature::verify_fulfillment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_precommit_signs_its_own_digest;dsm::sofi::signature::tests::a_fulfillment_signs_its_own_digest;dsm::sofi::signature::tests::an_unsupported_body_class_is_refused_at_both_ends - CONFORMANCE §8 MR-SOFI-0139 (Met) A27PJM1VW8F0NV2N5CYX9DDA391GBX54KY3MZQ8NY1383GWBVRT0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/signature/verify_fulfillment(). VZ5PFFJSYHQDJ18GWE97SSDQNE37EHR5YXQ9ANZRP999CQ8AN7G0 V7ZZ9HDYPWFH18VAZYJA22VPCRPGREAC68GD31NBFAB699ABBHT0;50ZZXNJ2AQG8C1CQEN1PAH0D0E6C4XVBQ1F9QP0YH1KD323XJA60;37VBJVJ76PWYQT9GYFWMW02SD0TNX7QN3FT20M1FJ398FCV2CCJG 1d58ffa8846eaab4902a4912f44b359e16553bb3 BYTHV97C6F2XMPZQSPSS3HHZGJ4Z7RXH1EQWHMKWQ6PEGGWBKY1G -MR-SOFI-0139 dsm::sofi::signature::verify_precommit android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_precommit_signs_its_own_digest;dsm::sofi::signature::tests::a_fulfillment_signs_its_own_digest;dsm::sofi::signature::tests::an_unsupported_body_class_is_refused_at_both_ends - CONFORMANCE §8 MR-SOFI-0139 (Met) 6S033QR47VHT5251SVZZQGJSCYCJJWRMDWF1Q5J4VQ9SQ7MHCK10 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/signature/verify_precommit(). 9TK771CZZGFKHGBCGPRJXE4TPCK97GYDTNV0Y7PJCX8TCGEDKHWG V7ZZ9HDYPWFH18VAZYJA22VPCRPGREAC68GD31NBFAB699ABBHT0;50ZZXNJ2AQG8C1CQEN1PAH0D0E6C4XVBQ1F9QP0YH1KD323XJA60;37VBJVJ76PWYQT9GYFWMW02SD0TNX7QN3FT20M1FJ398FCV2CCJG 1d58ffa8846eaab4902a4912f44b359e16553bb3 YXMW99N7B4JXE117FE3GTM2502ZP7JZRYGQ9SY9YRXXB8CPX5480 -MR-SOFI-0139 dsm::sofi::wire::objects::DlvPolicyFulfillmentBody android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_precommit_signs_its_own_digest;dsm::sofi::signature::tests::a_fulfillment_signs_its_own_digest;dsm::sofi::signature::tests::an_unsupported_body_class_is_refused_at_both_ends - CONFORMANCE §8 MR-SOFI-0139 (Met) B1A3FRJTMCE6246MESBAGFNMGKX6F2V3VX3782C19FM7ZYWX5R40 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/DlvPolicyFulfillmentBody# ZZA27CDMH4Q68G0J94P8JNA2JMC51YACX7W23PNBP28579RSMCD0 V7ZZ9HDYPWFH18VAZYJA22VPCRPGREAC68GD31NBFAB699ABBHT0;50ZZXNJ2AQG8C1CQEN1PAH0D0E6C4XVBQ1F9QP0YH1KD323XJA60;37VBJVJ76PWYQT9GYFWMW02SD0TNX7QN3FT20M1FJ398FCV2CCJG 1d58ffa8846eaab4902a4912f44b359e16553bb3 4WA0C1EFQ3R07HXMFMAA59YVJCS10R0CD5FQ1JDJWDVG8VZ9XFN0 -MR-SOFI-0140 dsm::sofi::wire::objects::PreEClosureIndex::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests;dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips;dsm::sofi_v8_independent::closure_index_enforces_bounds_order_and_current_e_exclusion - CONFORMANCE §8 MR-SOFI-0140 (Met) N74EE4JSTTNANZV45Z437KCMJRQ1JS3KA90JZPAC7A8ANWQP822G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/impl#[PreEClosureIndex]new(). VQN14V3D79VPPT9QKN2D77NEZSEQNAWRMGKNKW9EKSZZWMC9TAP0 3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG;7AGVD2F2XM61A30E1NB25ZZ638K3ZF35RNXPY58AFECAP7SGWYG0;T3AEJ2FV5M9AN8BKG0AJW5XRD25VN80HB2XXQHNAQAQGBMVJMBJ0 1d58ffa8846eaab4902a4912f44b359e16553bb3 BGTRH4GPHXJ14VZK9G8116Z39TRDQR4GS37D9TVSQNDMWYY9J92G -MR-SOFI-0141 dsm::sofi::wire::objects::TraderPrecommitBody android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0141 (Met) ZSBQ6Q7E9VX5ZK6TVWWWEJSTVHRWGMFGZY6HQSWRJKA19SHC0CV0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/TraderPrecommitBody# GCCQGR3F9V4622KDTQD4G32SM0FMX92Z4G1RR6XG16E0VY6W63YG 7AGVD2F2XM61A30E1NB25ZZ638K3ZF35RNXPY58AFECAP7SGWYG0 1d58ffa8846eaab4902a4912f44b359e16553bb3 8NP9XXAGEA2N0QS3KSJA8NJB5J9951B8Q1JHY2BE4T6WXHW3WQAG -MR-SOFI-0142 dsm::economic::register::root_claim_naming android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0142 (Partial) GTPK2C03NZQFANFJF44TK2S0GRDXXACY68N0JYMSH7Q3EQ3RPSMG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/root_claim_naming(). QEYA3JT2D54DMDMQ9PXRYCPMPVK0SNQXPB8N6ZSQ57RHM0CWE8YG - 8b2814918a9f0cf54a83d29080a9c6bf177682d9 9WTWVCNHKZ6NCQGKSXVF4M78132TEXQMJX059PG2ZK5NT7CE7VEG -MR-SOFI-0142 dsm::sofi::registration::fulfillment_registered android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0142 (Partial) S619W3SY724FRFKNE7RV6EQBH9CGR79K6EE0Z4QD9VJZ547NRBC0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/registration/fulfillment_registered(). ASX58D92VYCP1C4DNGR9QV94Y1EAZTGQFC56HVSQFT6GEDBWAE5G - a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 BJ3XS7CPBHYBG5ED04943B326WY88DK5KZQXKTG0270XXEVB4E40 +MR-SOFI-0070 dsm::route_chain::Route::leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s - CONFORMANCE §8 MR-SOFI-0070 (Met) TAR39BHN9VHX5CTYYW09N87FFKAJ2GSA3B811BQP9A2BHYAXY9Z0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). AP8MB1KX5PEG4TXH8S51H81SX8Q58PEKS1YYCZ34EC93V5Y36Z80 HX4ACGD8KC7XDVQZWPT2B45F9BHRW2NZ82XHDV52P2E6DQFMRADG 83b6f616ac244334064c4c56d391c23eb42a7ce6 GG2XCCDW5661PMRY6YMDVHKV0EMXRSMYVBCBA9C0CKQ5PKTZJ9H0 +MR-SOFI-0070 dsm::route_chain::Route::leader node MUST_NOT_REACH active - - a storage node never computes a cell's route or its leader SoFi §7 (SOFI-007/L538); CONFORMANCE §8 MR-SOFI-0070 RZXRWYVHVJWWXN029TZ6Q6BF51SAGCBSY65RFB2F3JD3RB5T2JDG Met CORRECT dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). AP8MB1KX5PEG4TXH8S51H81SX8Q58PEKS1YYCZ34EC93V5Y36Z80 - 83b6f616ac244334064c4c56d391c23eb42a7ce6 V20Q9BZ3VW52PYED9GQ5YBB6PA041EEV3T00KG2JHVSMV6G7RNZG +MR-SOFI-0070 dsm::route_chain::Route::of node MUST_NOT_REACH active - - a storage node never computes a cell's route or its leader SoFi §7 (SOFI-007/L538); CONFORMANCE §8 MR-SOFI-0070 SAKXMYQNAP3TDKEPQ9S12PB88QR11S4M9N9PGEJD0RGPXYEC2RZ0 Met CORRECT dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). GNVEG361ZYQB62572RJWMJKYZAVXPDXWVBH5KS2963VJ7ZTY1YV0 - 83b6f616ac244334064c4c56d391c23eb42a7ce6 KCBCNNWR89Z9AZM69S663QF63YM3TXBX0292CXNAD5WB1TVS1CR0 +MR-SOFI-0070 dsm::route_chain::RoutedCell::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s - CONFORMANCE §8 MR-SOFI-0070 (Met) FRSAD4J4NG78JAJ940TD8YPHFW8H8FM1ST9Q37QC0PZ23KR1X49G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[RoutedCell]new(). B7HHXTRYNBXMEKYBB1DCVV7DJD9EFT8FX93QHJD3Z3Z03BBXMARG HX4ACGD8KC7XDVQZWPT2B45F9BHRW2NZ82XHDV52P2E6DQFMRADG 83b6f616ac244334064c4c56d391c23eb42a7ce6 V7S2GYWZ6ZXEWK7HK5KD37QMC6A5ZRXB70E540T2SFY8MPCB1EK0 +MR-SOFI-0071 dsm::route_chain::Route::of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_cell_is_routed_only_over_the_committed_set;dsm::route_chain::tests::a_route_needs_exactly_five_members - CONFORMANCE §8 MR-SOFI-0071 (Met) T0221BA4T8ESCP8T5KT5GQWZ3T7NAVBYWNMA6XXMGSCVKM06A7JG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). GNVEG361ZYQB62572RJWMJKYZAVXPDXWVBH5KS2963VJ7ZTY1YV0 YGMHQP5XDH3YRR0XMK6BHCYMHAM09C85XC4DHZH1YWN53N69VB70;DRMDSQT3AK3PZ9ES5FHF9DW7ETBRP8HH5MRM9XHWMW54DJ9DXPQG 83b6f616ac244334064c4c56d391c23eb42a7ce6 W91RVG0J07AVW2Q83228G7XW92BT9RH0ZZY2JETRFRF9KZRMF5FG +MR-SOFI-0072 dsm::sofi::fisher_yates::permute android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::fisher_yates::tests::empty_and_duplicate_views_are_refused - CONFORMANCE §8 MR-SOFI-0072 (Met) 0DS4FQGJ79ANE58J35JRQXHZ7BN7VZ2WB3DFPNCWEBC7K6BK3GAG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/fisher_yates/permute(). JQ04BFHWV2YBR68G4GP1ZFVA6YPPVT6WGWVAD22MF3J3WYB3A0VG S7XW92YVCKMKQH4HWDZCCEZMYT9QSMZT46HECAXY25W18ZWMDKG0 83b6f616ac244334064c4c56d391c23eb42a7ce6 421TZR621PRQ007Z5VF8S1RXEGPYTFQM3Q68HWVWT55DT6ZT9KK0 +MR-SOFI-0073 dsm::sofi::fisher_yates::permute android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::fisher_yates_matches_the_independent_algorithm_and_the_frozen_order - CONFORMANCE §8 MR-SOFI-0073 (Met) DBY6HKF8XD81CV2MKRQ9SQP9025K7EVBTMEGHSK2T481QV1AKQG0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/fisher_yates/permute(). JQ04BFHWV2YBR68G4GP1ZFVA6YPPVT6WGWVAD22MF3J3WYB3A0VG AW1AMD2YH92J4AHVV7GV03T8JM6AP7FGG17BKNHXPEJG8ANDW5X0 83b6f616ac244334064c4c56d391c23eb42a7ce6 BWM37EZH8FM7F9JEX0XJCXVTZW6W0HGJHQHD0M3CVM5NNP76MCV0 +MR-SOFI-0074 dsm::sofi::fisher_yates::uniform_draw android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::fisher_yates_matches_the_independent_algorithm_and_the_frozen_order - CONFORMANCE §8 MR-SOFI-0074 (Met) 0E2C7CY4BBP4RXMQTRXJBQ0ZKYK96TWMQRT4586VQSY3DPCAZ2S0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/fisher_yates/uniform_draw(). 43QR5V51NX14XK13VCDKNDPNVHN66HGRR5GFEGSBY0RH58A8VB00 AW1AMD2YH92J4AHVV7GV03T8JM6AP7FGG17BKNHXPEJG8ANDW5X0 83b6f616ac244334064c4c56d391c23eb42a7ce6 3SJ2SS2B5TC5KG710SHFA83GEB50TDCKV9R5VXKWTE8KH49FZ7DG +MR-SOFI-0076 dsm::route_chain::Route::leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-SOFI-0076 (Met) R448YGYRPP8BD9XF61HWB8D8A6CCWGV32M9S104ZDGS8HARF5EDG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). AP8MB1KX5PEG4TXH8S51H81SX8Q58PEKS1YYCZ34EC93V5Y36Z80 HX4ACGD8KC7XDVQZWPT2B45F9BHRW2NZ82XHDV52P2E6DQFMRADG;P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 JDARB99SZQ968KV5B7RWCNGHXADNEN3PAY8HX4866EY0CHGNRPTG +MR-SOFI-0076 dsm::sofi::fisher_yates::permute android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-SOFI-0076 (Met) 5AXF71HMX3PDFNTC3AXXFC7QH3MHM8GVWWTN0R5G0CF69AQ2H170 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/fisher_yates/permute(). JQ04BFHWV2YBR68G4GP1ZFVA6YPPVT6WGWVAD22MF3J3WYB3A0VG HX4ACGD8KC7XDVQZWPT2B45F9BHRW2NZ82XHDV52P2E6DQFMRADG;P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 BHA3KVHNZ73BP6HC2KV3NMDS9H5ZZ99BK4RR65GZB298VW66A9S0 +MR-SOFI-0077 dsm::sofi::derive::storage_seed android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0077 (Met) WHGTES7ZZXVD24EAFCA4X5XMVRY5EVHJWZPB4Z4TXES1MKFGJ4S0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/storage_seed(). BGAMPSWB9YQ2Z7KQ6EKWFAVRZ5RGRZEH4WQ533ZH2D2MSCB070X0 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 JV3FBJ91SN3K7SE8HMRTEENHEDEE03XSZCQGYDZKYBEV0ANR7KAG +MR-SOFI-0079 dsm::economic::register::RootCell::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s - CONFORMANCE §8 MR-SOFI-0079 (Met) YWRBY2YSXTJJ5EV0NBA35PM5XQPYGXCX6JSAVDJV993BDWBPRZ9G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/impl#[RootCell]new(). 1TJPRSSNA67PFSX3CZA6KSJ8G6RRW549NA4BNAVZEJS1TA69YCSG HX4ACGD8KC7XDVQZWPT2B45F9BHRW2NZ82XHDV52P2E6DQFMRADG 83b6f616ac244334064c4c56d391c23eb42a7ce6 BV9DJJFBQP0DEQJTXR4FJJJ8NEWB0R8XW6ZTCKV78WM8MHH9W1QG +MR-SOFI-0079 dsm::economic::register::economic_root_register_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s - CONFORMANCE §8 MR-SOFI-0079 (Met) 2HVK7M3STHFVG0QFPPFPP747RJ7GVBNNYQX2A2ZYS7S43QCGQBT0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/economic_root_register_key(). 599VPRZ0DT0F1C300RGKGRBEAEWE0S0SH3X5J3QJQ8XA1FJ9B020 HX4ACGD8KC7XDVQZWPT2B45F9BHRW2NZ82XHDV52P2E6DQFMRADG 83b6f616ac244334064c4c56d391c23eb42a7ce6 VGWK4JCATRGNAEZF65R49M13C21VSDHJ20X2TP7HM6RH08BZPXVG +MR-SOFI-0079 dsm::route_chain::Route::leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s - CONFORMANCE §8 MR-SOFI-0079 (Met) 3AHKNAM6NB46RJZEF36ZA3B4EDS1N5DXB79NXVPC1PMPV5F85XWG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). AP8MB1KX5PEG4TXH8S51H81SX8Q58PEKS1YYCZ34EC93V5Y36Z80 HX4ACGD8KC7XDVQZWPT2B45F9BHRW2NZ82XHDV52P2E6DQFMRADG 83b6f616ac244334064c4c56d391c23eb42a7ce6 H1AKPD0EWXABS3P78EQ74TDKARD23YFA4GQWXA9S716H11AHAZGG +MR-SOFI-0080 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing - CONFORMANCE §8 MR-SOFI-0080 (Met) EGF03R8BY1WK2FV78VQ994B350F9ZCB903FFNEQZYHWKY6DXWSKG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;64RSG57CVNW08F2D8RAQBCV6WA08SGK23V2MDJB1W6Z0WGK06RY0 83b6f616ac244334064c4c56d391c23eb42a7ce6 ET7M33F7K2TTNHDAKS0RS2NAK9GRVBV0Q5YVXK7H8J4HT674YSEG +MR-SOFI-0083 dsm_storage_node::api::cells::append_index node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly - CONFORMANCE §8 MR-SOFI-0083 (Met) NXNCH46QCHGKV7HM2Y61GJEASF03VM877SVD2GNNCQ4VCR1CC6ZG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/append_index(). 21NE4FPAJH6CR431FAT89ZP1VFMVH81W03DJ2S9KZYGRJ26SSBZG 7YNNQ8C9MMDCRZBWBN3W9N6V6MG4ZSYBXNZEEZ9JT5VTQ0N6SAG0 83b6f616ac244334064c4c56d391c23eb42a7ce6 4BAF6VPWDW2B4TM4XXY0XQJMD8K4WYHKHZV63S49Z68038QCF4W0 +MR-SOFI-0083 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly - CONFORMANCE §8 MR-SOFI-0083 (Met) EWTMG2HE763XVFBH3JDWMNCSN2WPDXA8YAQQ3Q2AS76HCASJ9CYG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). PG9D9T049JFWQH6JZV03094SYAQAENXNC7NFP2A5TXV7EJWDECKG 7YNNQ8C9MMDCRZBWBN3W9N6V6MG4ZSYBXNZEEZ9JT5VTQ0N6SAG0 83b6f616ac244334064c4c56d391c23eb42a7ce6 KJJZ83V7PTZMGCS05G9282W3A10JP1WMAV8RTHXDM3PHXH777730 +MR-SOFI-0084 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-SOFI-0084 (Met) YWH3TQDT47A69ZESPB8FXYXJDD6ZDEZF0FDQNQPMJF22D6MZHAS0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G;T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G 83b6f616ac244334064c4c56d391c23eb42a7ce6 5HAS7YH256R06RPJ61AMXBDBNDCJCCEC66R0H5TWZQHEVHWN1WDG +MR-SOFI-0084 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-SOFI-0084 (Met) BCB236G71XRF98H34D8F8YMWFBAPX3QDBTJW2ED3CJTWQE9TXJ9G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). PG9D9T049JFWQH6JZV03094SYAQAENXNC7NFP2A5TXV7EJWDECKG ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G;T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G 83b6f616ac244334064c4c56d391c23eb42a7ce6 Q4WED8BXWH9JP9N4KPEQ0RR3EZ1CEPBM418FCSM4WQFNPWYJS63G +MR-SOFI-0085 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::a_copy_at_another_position_or_of_another_value_does_not_count - CONFORMANCE §8 MR-SOFI-0085 (Met) V7C17XNWRG6ZV9G6Y7EX1N4X0WKPN7D6Q5Q1GH4EGRVC0CESBFEG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;5YK0E08XN7ND8NZFZ5JW6R8E5AD6NP7879A715D86H0QVBBXCP7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 2NEPR3Z4C63SR4JS0DTVVFWWD40VZWT99N03YY30G91BA4G5E7PG +MR-SOFI-0087 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::sofi::resolution::tests::a_reserved_key_another_operation_reached_first_voids - CONFORMANCE §8 MR-SOFI-0087 (Met) RY22YWBF5NFW3N26N1FDPA8CW8YDPYBE5WCBN8VG8NH80DQAG8VG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;3B2X0Z5SYW3192DQFM9FX8B0VTHR3R128HFDVXT30BQDMPM2YFYG 83b6f616ac244334064c4c56d391c23eb42a7ce6 BMFZY20ENN5F6RGX12AYTECGAKQNBAP52222QV4GHG3Y2Y5BYH0G +MR-SOFI-0087 dsm::sofi::resolution::LegFacts::final_on_other android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::sofi::resolution::tests::a_reserved_key_another_operation_reached_first_voids - CONFORMANCE §8 MR-SOFI-0087 (Met) A7GY2YBPRNM14RNBYNHNXK1GXRC58RJ0MK9TQ0M2VXEWQ477DYW0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/impl#[LegFacts]final_on_other(). JJ87A9CBAQ51KKE7PTT974RVPM8N3T0AVTD3PR8ZV2X8KSMHE2C0 XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;3B2X0Z5SYW3192DQFM9FX8B0VTHR3R128HFDVXT30BQDMPM2YFYG 83b6f616ac244334064c4c56d391c23eb42a7ce6 B1E2BA05QE5T9QKFP3YNRX9JMQ5HBBEH39YQEV4EC6NWAZ0J6FQ0 +MR-SOFI-0088 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_reserved_key_another_operation_reached_first_voids;dsm::route_chain::tests::the_state_is_the_count_of_valid_links - CONFORMANCE §8 MR-SOFI-0088 (Met) VP50FKAPFBH2ZHHBGHY2CD14R9M1DWEHBGTP19CNKVTK8Y7CF56G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 3B2X0Z5SYW3192DQFM9FX8B0VTHR3R128HFDVXT30BQDMPM2YFYG;ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 ZBZB7Z0VDB7T2E8CHY3BZP7TV4T2CT0MKPCEZ4MMS2EM4YAVNN60 +MR-SOFI-0088 dsm::sofi::resolution::LegFacts::final_on_other android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_reserved_key_another_operation_reached_first_voids;dsm::route_chain::tests::the_state_is_the_count_of_valid_links - CONFORMANCE §8 MR-SOFI-0088 (Met) K59W5TQGC4SGGN1RZQF5AS7M74CNYV1C8DH7PGHG65VZHM4FPC40 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/impl#[LegFacts]final_on_other(). JJ87A9CBAQ51KKE7PTT974RVPM8N3T0AVTD3PR8ZV2X8KSMHE2C0 3B2X0Z5SYW3192DQFM9FX8B0VTHR3R128HFDVXT30BQDMPM2YFYG;ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 K669J4WH9K9A45VTDN6TJ74JETAM4DD2JGYJM7N2372GWYMDQH7G +MR-SOFI-0088 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_reserved_key_another_operation_reached_first_voids;dsm::route_chain::tests::the_state_is_the_count_of_valid_links - CONFORMANCE §8 MR-SOFI-0088 (Met) 8K4NY034G8N19XQ63QQQCZJJB800BAPMT0EEXPG78HRXH2HTQFR0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 7Y3EZ17CGFBPV07EBJM0FWYJX312MVGZN38YZBRH5Q09BQC99410 3B2X0Z5SYW3192DQFM9FX8B0VTHR3R128HFDVXT30BQDMPM2YFYG;ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 J0YFFQ0XSSE1N3GERVSWQN52Q074TGBN1RCGN273GVG6NDDAEN30 +MR-SOFI-0089 dsm::route_chain::Missing android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in - CONFORMANCE §8 MR-SOFI-0089 (Met) D09D959G9HGZ6XEFT175AD9RKP70NFE5M1MEW9DNKNAXSZ8D8T7G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/Missing# 4GQ9KE7ZKDXRZ7GMZK12DN5HWWMD3TYJDP71ARZJBNDHAPHSYW3G X7FYBCPH3Q9E2N8Z97Y23SF0XG73V1SS12G3PKG0ACZ6AXBBGMX0 83b6f616ac244334064c4c56d391c23eb42a7ce6 8PRBAKFS427F6QJYP2ZG632S83G5NY45J4PT2Q6JD1SV2XNQRZS0 +MR-SOFI-0089 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in - CONFORMANCE §8 MR-SOFI-0089 (Met) S28X8XSW1F2913Y6W235CTSCVNPT6WBCDC4T0VWGC47YMZZ39PG0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 X7FYBCPH3Q9E2N8Z97Y23SF0XG73V1SS12G3PKG0ACZ6AXBBGMX0 83b6f616ac244334064c4c56d391c23eb42a7ce6 XP14K8YQFKHPBZQG4DDEWWNXD1640CYHK5P2698VZ0BRBPZW713G +MR-SOFI-0090 dsm_storage_node::api::cells::get_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-SOFI-0090 (Met) 2FFJWW5YP8Y5H90AV2Z16J389P2A4NZK2XGBG17ZBR2SWCMHX95G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/get_cell(). GQ89DYSM982HXMFYTS8N7Q0484HCNR93RNF7K9AD28KMBH5ETPBG T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G 83b6f616ac244334064c4c56d391c23eb42a7ce6 2Q9JV60G7D32EP25X585R4K2PVTBFA1JG13VH15WY3EX8DV2VRH0 +MR-SOFI-0090 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-SOFI-0090 (Met) 6E6NRG49FC1559D9BF0TNWC23PA2Y9TT2YG35MTJ4DNGBKJVVVDG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). PG9D9T049JFWQH6JZV03094SYAQAENXNC7NFP2A5TXV7EJWDECKG T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G 83b6f616ac244334064c4c56d391c23eb42a7ce6 YZXQKNBYYE3RMFBDS6TE8ZZD881A4ZHAY6W32WF51G793K5VZS0G +MR-SOFI-0094 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::two_members_is_not_stored - CONFORMANCE §8 MR-SOFI-0094 (Met) JH03GGVHTP01F0CM8KARME0ASAW57X2X5C13DS4E9S2T7RPV799G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). 3EXAA7F0RBGKMRE05857K6Y9MXYEDXWDBGTXG3RJH5Y4WCMMVVG0 1T2TK99297PJBMSF2AM05RWZC5521Y4J3PPM4R56TC6X4BBYZVZ0 83b6f616ac244334064c4c56d391c23eb42a7ce6 A9Y2MTSRY6GW7T73EVWACYXGDCX0TG9VR34JVM2P40M1MYTSVVS0 +MR-SOFI-0095 dsm::sofi::publication::Publication::locators android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::publication::tests::every_kind_is_recognized_under_the_locator_it_is_indexed_under - CONFORMANCE §8 MR-SOFI-0095 (Met) Q3WVSDQA10VJ7EXWK65KX39CYXXD6WREDKS5WTVKHHWM9TJDFMCG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/publication/impl#[`Publication<'_>`]locators(). Y5J5348ZDVN3253V0BZFHEXPR0K0ZW2MEMWDKS4F676WR02Q2Q5G DXBA55YDZH03QJXWBB0W87RYTK49YEX6F7B4DDZ7KS6R104GT4S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 WAKNEB9JGVZWR53H6KQM87QE02WQ49TH497ZZWFZ5NP8JSKBYRVG +MR-SOFI-0096 dsm_storage_node::api::cells::append_index node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::an_index_pages_in_append_order_from_the_last_seq - CONFORMANCE §8 MR-SOFI-0096 (Met) 9XN6AYRWW0967WHC5WRFTW8HX66RA7PW3YAXXK0DQWRTW64CQ3Y0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/append_index(). 21NE4FPAJH6CR431FAT89ZP1VFMVH81W03DJ2S9KZYGRJ26SSBZG 58Q2RBYVGZ4DKKSZN12XTZ36Y532S695KV6KGFNCCFZ1WZEYTW60 83b6f616ac244334064c4c56d391c23eb42a7ce6 ZDNGX6D7TQQY1EW4A9FFSQBMQGPHY2YG8P7519D790K7YFCS1HMG +MR-SOFI-0096 dsm_storage_node::api::cells::read_index node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::an_index_pages_in_append_order_from_the_last_seq - CONFORMANCE §8 MR-SOFI-0096 (Met) VZPJW0B4FDW3NF4YW5VBPGWQ136Q9JBA4VCDTEBH7P4G4FCAC5XG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/read_index(). DE5P2RTT4JJ29JPEKBE4HS6HT1ME6F9F9S3FYS6GP2DFZKCT9M40 58Q2RBYVGZ4DKKSZN12XTZ36Y532S695KV6KGFNCCFZ1WZEYTW60 83b6f616ac244334064c4c56d391c23eb42a7ce6 E6CM3P5C9X3ZNFE7NSBF93TKSBNAPJXDFJ79G9YPQ3F848PBE3P0 +MR-SOFI-0097 dsm::sofi::storage::keep_all_verifying android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::over_budget_is_unavailable_never_none - CONFORMANCE §8 MR-SOFI-0097 (Met) BTF9CXK0JXVT0DMZMRS9Y5DZQ6A7BPR85RHFFZG0CEH4N984QSZG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/keep_all_verifying(). AHXRZZ0ENQQME1N29YW9CJM7XEJ094EWAMFFTSW0SCYJRPPQZNN0 4HE66JXB0HN2R5JGM5HDQ87D3FTPGW377WFMTEH4SZA9NDWWM8R0 83b6f616ac244334064c4c56d391c23eb42a7ce6 S0YT2VK8J8GMYQVQ69GEJC6310G4MDZXCSWMEW8WVC011F30VH4G +MR-SOFI-0097 dsm::sofi::storage::keep_verifying android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::over_budget_is_unavailable_never_none - CONFORMANCE §8 MR-SOFI-0097 (Met) BXY26VJP3T4VFMA3YW0BCRSH38DB8K766ERZMJ2DGKT2GQDNQ1TG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/keep_verifying(). 2MFKJ9GKMR7FR768HTYVSNQ1TWAJ8NKFYJYY2GJ7XHJM9955N50G 4HE66JXB0HN2R5JGM5HDQ87D3FTPGW377WFMTEH4SZA9NDWWM8R0 83b6f616ac244334064c4c56d391c23eb42a7ce6 F4F1RXE7YA6N77Y9AKAZBEW7AFATNXNYXCMARK5F4JQJWJ9GF430 +MR-SOFI-0098 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-SOFI-0098 (Met) Y3GC878VNCWRY5851VXDSD204XTAZNEB5AH3ANRP7VE25NSCPC00 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). PG9D9T049JFWQH6JZV03094SYAQAENXNC7NFP2A5TXV7EJWDECKG T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G 83b6f616ac244334064c4c56d391c23eb42a7ce6 G3XVPJCYYDGFT8GHMFKSFB42Z7MQ08K1788HG70R5RV75CHVGJDG +MR-SOFI-0099 dsm_storage_node::api::cells::get_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_key_nothing_was_put_under_reads_as_an_empty_list_with_200 - CONFORMANCE §8 MR-SOFI-0099 (Met) 2DG9PAHZJ9SVWNAFPFN7V3PNHGREKS1CQB26X075QWE2VFYFPKAG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/get_cell(). GQ89DYSM982HXMFYTS8N7Q0484HCNR93RNF7K9AD28KMBH5ETPBG 5N59C73KXZK9C41CRSXPQZ199KW287R4NRBK2R9XNNS00S3TB5EG 83b6f616ac244334064c4c56d391c23eb42a7ce6 WKWWFRE5H8G3HEWE9SN4PSEFZ97V8835KSKX8XX9VDNVW778G8EG +MR-SOFI-0101 dsm::route_chain::CellFact android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm::sofi::storage::tests::two_members_is_not_stored;dsm::sofi::storage::tests::wrong_bytes_never_count - CONFORMANCE §8 MR-SOFI-0101 (Met) ZBDR58C5MP3KHMNT7N6EP78GCFK78NYGJSP97R4VRQDZBW3C2430 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/CellFact# ZM6ERX7PC88YRAKT2NFMBWNF9W7HG1A4EE6DBBNQK4YH4J7F6KM0 ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G;1T2TK99297PJBMSF2AM05RWZC5521Y4J3PPM4R56TC6X4BBYZVZ0;VWV422YY3E4FEPHNNEPQZ2NKM4TB5FQTPN8K3R85DSTWEG3Y23Y0 83b6f616ac244334064c4c56d391c23eb42a7ce6 2VRK40M1E9D1Q6SJ9S3W7M91ZQARKXQS3A9HCNCQBJCNKKAQG01G +MR-SOFI-0101 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm::sofi::storage::tests::two_members_is_not_stored;dsm::sofi::storage::tests::wrong_bytes_never_count - CONFORMANCE §8 MR-SOFI-0101 (Met) F21RTJDYZ8W30R1JANK8B489X7RX49FD1RGRDBTG70WBCZ6WR75G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G;1T2TK99297PJBMSF2AM05RWZC5521Y4J3PPM4R56TC6X4BBYZVZ0;VWV422YY3E4FEPHNNEPQZ2NKM4TB5FQTPN8K3R85DSTWEG3Y23Y0 83b6f616ac244334064c4c56d391c23eb42a7ce6 N147W319HXEYH3ZVHPMXVFQN2C4D7C36CCXN5E6JMFBBCEPSZPNG +MR-SOFI-0101 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm::sofi::storage::tests::two_members_is_not_stored;dsm::sofi::storage::tests::wrong_bytes_never_count - CONFORMANCE §8 MR-SOFI-0101 (Met) 0XJ1FY71KAZMR3HVVZ9K90VXP29NSYFS54AN909Y7XQBM7E59F9G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). 3EXAA7F0RBGKMRE05857K6Y9MXYEDXWDBGTXG3RJH5Y4WCMMVVG0 ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G;1T2TK99297PJBMSF2AM05RWZC5521Y4J3PPM4R56TC6X4BBYZVZ0;VWV422YY3E4FEPHNNEPQZ2NKM4TB5FQTPN8K3R85DSTWEG3Y23Y0 83b6f616ac244334064c4c56d391c23eb42a7ce6 6KWWRT4S68DQQM7EXR2XAZ2WNJE09YZ3X78PCZ9HF83QFBM9KS50 +MR-SOFI-0102 dsm::economic::register::read_root_cell android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg - CONFORMANCE §8 MR-SOFI-0102 (Met) 9BZMPS3WHSEPB30XWTZJSA6QPKAZXMYMKPHZFNFSF15QGKFD9NZG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/read_root_cell(). 3FGJADXQV69STHQP4KMM3NS1CE8376DAJTQ0ZW11ZGWTMSVFT9GG XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG;A077PA4PM12TWH3KX6E55ZKHXSSPTA6BSSS99F5TFG1HPNA3E38G;9JRSAV43MP891NZVDJ8CF6JB19PC6R538ZRT1PR8TEPN84B30T60 83b6f616ac244334064c4c56d391c23eb42a7ce6 M80T9V51DEAGJ1E15RQYZPB447WQFNZXASYJR8ZRVBJ3HEMMF3K0 +MR-SOFI-0102 dsm::sofi::exercise::attempt_resolution android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg - CONFORMANCE §8 MR-SOFI-0102 (Met) DZNKQM4W3J2HHJJDZW2R57D123NF2BTMKQG8EQ5NEMPD2FT4C0G0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/attempt_resolution(). GQDBM8E9QP6M1E0ATYVZPT2N2SN9EZMZJMG5R1AAP3V7112JQRAG XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG;A077PA4PM12TWH3KX6E55ZKHXSSPTA6BSSS99F5TFG1HPNA3E38G;9JRSAV43MP891NZVDJ8CF6JB19PC6R538ZRT1PR8TEPN84B30T60 83b6f616ac244334064c4c56d391c23eb42a7ce6 WEG17CDEFDEAE0V07B48Y5FKDW4A60EVV333BNB619BE8WXB6YM0 +MR-SOFI-0102 dsm::sofi::registration::fulfillment_registered android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg - CONFORMANCE §8 MR-SOFI-0102 (Met) YBMF4PA6YSC83407TZ171WC9RVZJJS1A2HHZ7M6S51BZRMBWQV2G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/registration/fulfillment_registered(). QHM4GX9X80C41P2JE9W657E57J2CZC0BJKRGQWRVF97A3QTF3150 XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG;A077PA4PM12TWH3KX6E55ZKHXSSPTA6BSSS99F5TFG1HPNA3E38G;9JRSAV43MP891NZVDJ8CF6JB19PC6R538ZRT1PR8TEPN84B30T60 83b6f616ac244334064c4c56d391c23eb42a7ce6 5EZXV203QAKKRDNP3BNAD241STHC2MVNVTXJH743TQH2MSH67JNG +MR-SOFI-0102 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg - CONFORMANCE §8 MR-SOFI-0102 (Met) FS1FTPDZYH1M30CJJKPS9MNC650RF3P4KCEJK98PYR1K26EH3S60 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). 3EXAA7F0RBGKMRE05857K6Y9MXYEDXWDBGTXG3RJH5Y4WCMMVVG0 XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG;A077PA4PM12TWH3KX6E55ZKHXSSPTA6BSSS99F5TFG1HPNA3E38G;9JRSAV43MP891NZVDJ8CF6JB19PC6R538ZRT1PR8TEPN84B30T60 83b6f616ac244334064c4c56d391c23eb42a7ce6 25BJ8983D549A0NBPQJSWAYFSXCNN1XVV2Z3VSGGSJWZJ8MFEQKG +MR-SOFI-0108 dsm::sofi::admission::admissible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::admission::tests::beta_refuses_the_reserved_owner_authority - CONFORMANCE §8 MR-SOFI-0108 (Met) VV9FDZN53EQ2VFX1YBEAYYSR7X6ZHTGQFSMTKPY3G1BVNW77DBJG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/admission/admissible(). 8H8NNQA1RZAVQRJHXSEWR7ZT25W2313EGS0W9F0YTB32K3MX3RTG R3ZQ7JT5J02TNW0EKBSGZJTN3VCZY2ZJZ1TFEEJYHKGF9AMVY640 83b6f616ac244334064c4c56d391c23eb42a7ce6 5WBCMXQVX2X4JJQ9ZSDWBS6DZ0CC1HM3BPR9TFWRFHASZTTXDWCG +MR-SOFI-0109 dsm::sofi::wire::objects::SignedSofiObject android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::the_signed_envelope_matches_the_independent_encoder - CONFORMANCE §8 MR-SOFI-0109 (Met) B2ERJDQHFGV2K0QE8K51W8K0C28YR3GCNSYB0MAJRAQWSMZ0GDRG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/SignedSofiObject# 03VJSSQHYN78A3D0DS4KENTS9PYKQX0P3QY1YDCMKGBHRKK78AVG 2FVASTZAQM424W2FKVWG508N8VY8NN9S1W52Y8TGTW9QNM23847G 83b6f616ac244334064c4c56d391c23eb42a7ce6 78MB50E63WF1J8FSQ0WXN4DBQECT351NPQAG0J1MTY6NM7BWGGE0 +MR-SOFI-0120 dsm::economic::claim_envelope::economic_root_claim_envelope_digest android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0120 (Met) 9ZRQR65ASF772DZG8AYNY2W04E40AYS5EKH3WF5W4M6G4MF433X0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/claim_envelope/economic_root_claim_envelope_digest(). ZQN5Y7APEC0M1NKWP4XH60V02KC90YBDY17QVKVBB9JJWDR53JE0 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 N1XRBBB4G6TCT80BNH1S1V7X1MJGEPG5EGAWSFEXZ4Y6SWW2J5DG +MR-SOFI-0120 dsm::sofi::derive::claim_ref android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0120 (Met) 18KQBG4PHGYRNGYP3X467KRMZ8M7HPT2NX9GDR2RG6HEFFVTR070 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/claim_ref(). RTWR3GVCT1PWYE83X6BWQ4E1RCS64D41W8VQQ3Q2XGC730S545XG 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 Z2H2YR1NY3XZR4GEMHWKGACYKAYW1VX215Q6H5XAAWEFSJ5KWHX0 +MR-SOFI-0121 dsm::sofi::derive::precommit_id android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0121 (Met) H53T59FB1PQPF74FZT57FAMT3TDPV3YW1SJ7ZDZT9Z5E4MF26JKG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/precommit_id(). 8A1DA3MZRA9FCK5VBD9GVZDQ1G6TNKRQSDFC4ZZHCRG73GTA7KP0 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 BJRCWD1R775HJNCA2RC06XMW1R6TBQ16QC0WBR848Z57615ZK6Y0 +MR-SOFI-0121 dsm::sofi::derive::precommit_signing_digest android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0121 (Met) GSYFWDQWAGYS9HBZCTN6A6DQE7QP1MNQB5SXZGN1WNHEFXVRJTXG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/precommit_signing_digest(). K4HFAW5R98WNABKAVFCXBS87RYZ94HB7PS9YFAC5RB8ZJE3FYSRG 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 WB4E6MNDMKBKWJ0KSD0B0AG1S3NZTT4YYPP3NYZWT2MHHJPGVFB0 +MR-SOFI-0123 dsm::sofi::derive::fulfillment_id android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0123 (Met) 20AAJZV3H3R73CKGX1HPE13EQ0697G65KQY1EY52ZCPD03T7Q7V0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/fulfillment_id(). KDSAS3NT72FZCHPMQRAAY8G8QHEH23P9P6PZA7KKMWZ35C7CY490 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 TSVNSH97022VPSTQR4S0CPSG32T6KDTF0SRC4DRSRTPZV0PEQZ40 +MR-SOFI-0123 dsm::sofi::derive::fulfillment_signing_digest android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0123 (Met) 79RPAW3X8JE3ZENXS49VFS6B8R9TT3ZC7CGMSW82NJZJBMGF16H0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/fulfillment_signing_digest(). 83AV19D9CEPJ4EE842X384XZCQQ7T4RRGYBNEED1BDR8JMW3NTF0 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 X164NDF038ERV2TSNSR9S0A5H0FGEDWRGBTQA4A2P6QC0N1R14CG +MR-SOFI-0124 dsm::sofi::derive::fulfillment_register_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0124 (Met) Q135SNKYEGHH25Y7KKZ1500ANF2PVPWBGWBNVE7AM5BT11S0GQA0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/fulfillment_register_key(). AJY64D55T9G7W9A0YRM1HKXM6BD9ZD1G653Z807J5698ZFW3B3X0 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 VBS64F1QHKFH3Z67GDJR6VT1Q34BHHZEEDNW2J66EDTGQ2YTTV50 +MR-SOFI-0125 dsm::sofi::derive::resolution_claim android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0125 (Met) 3H78ARXVPJVB9KFXR26PKCPWY7BXGT5WK15ETGTHAAGN7B0AJE80 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/resolution_claim(). F7JB41KVMQ8VRD9N5P44VE5HMVJER21QD44D2B458H6EE29SST50 Y6J9T12EZQ4N65937XN0FWCRGVZZ2YTZNPSAWWVB4662TB7N0KXG 83b6f616ac244334064c4c56d391c23eb42a7ce6 DV4BFXHAYET4KAPYD5XAHAVXYEMGWX83E6WPWZM725VXWPGW5BS0 +MR-SOFI-0125 dsm::sofi::wire::objects::SofiResolutionClaim android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0125 (Met) 9TBQ5PKPAZTQ6RXWMSBR7G747Z5PP678DSXWV5HMQER5SNTPM8V0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/SofiResolutionClaim# TK0XP1GD8CZ9DB3R20E25ZJGHXNSXC2YM6MARJ4765CGB983221G Y6J9T12EZQ4N65937XN0FWCRGVZZ2YTZNPSAWWVB4662TB7N0KXG 83b6f616ac244334064c4c56d391c23eb42a7ce6 SVMXQGA0F3HRTP6EAHYN8PRA61F2EAYWXZ67H84TBJK78BAMRDK0 +MR-SOFI-0126 dsm::economic::register::economic_root_register_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0126 (Partial) 5B7PGPN5DET9F2CTKAG108KT46RT7JBX74B8SMXPZTHMKW9B3P7G Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/economic_root_register_key(). 599VPRZ0DT0F1C300RGKGRBEAEWE0S0SH3X5J3QJQ8XA1FJ9B020 - 83b6f616ac244334064c4c56d391c23eb42a7ce6 C4BHF14X5BQM8FYYM5MA961D9384H02N1PHSJV2K2F000HBFPJSG +MR-SOFI-0127 dsm::sofi::derive::successor_base_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0127 (Met) G6J8YPDM8RV56H95H4WAREJYTVPMX5B59NR3D8Z56D8NBAP6W0VG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/successor_base_key(). T348Z2HSX0AHF7GHFZSD1K0ZD3D2146N63NA959XT33X4T6J1B70 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 H32GFHCM196M36WN27GPBN9CEBATA2PVQZX0YTKWNWFWEZS6G68G +MR-SOFI-0129 dsm::sofi::derive::dlv_core_digest android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0129 (Met) 06271AAFV7QEKVT2H44TEGTJRXWBZH498BN97NR954CR6HF07FRG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/dlv_core_digest(). YRH0P633EHTPXDQXPQ2MY14JAMV2RT2RYM7B4TWEP33XBP4B7Y80 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 A3Y2AA0CG7H3BBQ73WQ6E42NVD2C8V01ENCR2CTWG343TS9FT310 +MR-SOFI-0129 dsm::sofi::derive::settlement_core_digest android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0129 (Met) C8JBA2JGNPK67KMFQFCZTJJZ7BCB3SAYBPMTBG9M21AWKQMK27PG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/settlement_core_digest(). STTSWCNFAEXJ9GJX513FRD4FTQ67EN7FE35163ZB9SE9DSZSMXEG 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 M4XCSZ5W9WZF4RQ1RSGP5YV6XFTZCHCSHYA49PXNP5NYG1WRP83G +MR-SOFI-0129 dsm::sofi::derive::trader_core_digest android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0129 (Met) 5KCSH19Z7XP4ESD0XKX5165C523X4QPN10YBBP5VN4NZ4BVJP7S0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/trader_core_digest(). NFGA1497BB2D480Q3G6AE3BZSTJXBJMF5SH2NCEYX0VHYNKQKAVG 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 HZ146YYSV8HRW4110KZ34XFRG1A45MDFT78XQB1RF1HN9G03Z7YG +MR-SOFI-0130 dsm::sofi::derive::external_commitment_single android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0130 (Met) 93WAR4CNFSX4G1J05QE0CHBGJ0CM41FAXD8752HXC0H4C5VB8XVG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/external_commitment_single(). FDFMX9CG142D8MJY7AY2VKDJSEVWC1922JKGETBW8X417DARW38G 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 RGEEE55FDGH80K098GB5Y5AR6KEZW9M8KEBWQMVJYQP6VST96N40 +MR-SOFI-0131 dsm::sofi::derive::external_commitment_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests;dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs - CONFORMANCE §8 MR-SOFI-0131 (Met) WWD6STVHMKR3N35TX3QM26DAFYN5104KKCHH764TA4C2P0J4VPW0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/external_commitment_route(). 4HVWZHVVJPKPD48THJBE24XA3P06RWCZVCZXPZQVE7ZF46H0PR0G 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0;BH0BVK5PJYQ268QMJEDNH3GJ632F77MPNZPH02REWYQJTGE2GA9G 83b6f616ac244334064c4c56d391c23eb42a7ce6 JDQ64JRNKFM31W44SB1DQFKNM904WQS0JYPA2AQYDMTYABPWEJR0 +MR-SOFI-0131 dsm::sofi::derive::route_leg_set_digest android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests;dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs - CONFORMANCE §8 MR-SOFI-0131 (Met) CZ1TGNCGZ3C5FWJ4HAK4EYE0MRZPYAG1CK17PE9M0QQSS3HBQ56G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/route_leg_set_digest(). GNJFH0XN4W9614JTNA55AFCSDB8VKFG4NQSKSW8H76V62V37C1N0 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0;BH0BVK5PJYQ268QMJEDNH3GJ632F77MPNZPH02REWYQJTGE2GA9G 83b6f616ac244334064c4c56d391c23eb42a7ce6 K3AEVFT0Q6VBG7BCRAJJ025T8MZC8E9P19Q7QM4AYEMNWJQVT7PG +MR-SOFI-0132 dsm::sofi::derive::external_commitment_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests;dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs - CONFORMANCE §8 MR-SOFI-0132 (Met) JA60CP2AK8YW3F2RTZKTQ6CFSV26CBPZPF55A1VMBKF8HBZ34DXG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/external_commitment_route(). 4HVWZHVVJPKPD48THJBE24XA3P06RWCZVCZXPZQVE7ZF46H0PR0G 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0;BH0BVK5PJYQ268QMJEDNH3GJ632F77MPNZPH02REWYQJTGE2GA9G 83b6f616ac244334064c4c56d391c23eb42a7ce6 R9QB1A2JPWVTAPCVSMD34GY1NMYS8DH02XZ18ME5Q17CDJVZVNYG +MR-SOFI-0132 dsm::sofi::derive::external_commitment_single android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests;dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs - CONFORMANCE §8 MR-SOFI-0132 (Met) 144DNVQPT3Q660XW8HDEYD28BCR2SSTQM2352X91VB2BPAHVZBXG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/external_commitment_single(). FDFMX9CG142D8MJY7AY2VKDJSEVWC1922JKGETBW8X417DARW38G 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0;BH0BVK5PJYQ268QMJEDNH3GJ632F77MPNZPH02REWYQJTGE2GA9G 83b6f616ac244334064c4c56d391c23eb42a7ce6 J5H2X4WK405MJXKDFN9V8766N9RM02TZ4ZGCBW56CF34A7X2WVZG +MR-SOFI-0132 dsm::sofi::derive::recompute_e android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests;dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs - CONFORMANCE §8 MR-SOFI-0132 (Met) NF4DV517KXTCK5GSGJ5XA6AHB1SV1CE69BHZGB5XKBNKVGVXZGC0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/recompute_e(). Z7QFEMQJPQXSM5BQPKCQ9FBEPGKP1AZ698T9F1W33MHTF68CHHVG 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0;BH0BVK5PJYQ268QMJEDNH3GJ632F77MPNZPH02REWYQJTGE2GA9G 83b6f616ac244334064c4c56d391c23eb42a7ce6 GQQBK3AE0KY6KQWZMEJ6AWX7PWRRZSNY43R15EEDB04GTH2PTNQ0 +MR-SOFI-0133 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg;dsm::sofi::conformance::tests::item_7_identities_and_bounds_hold - CONFORMANCE §8 MR-SOFI-0133 (Partial) AA8RFVEEX6MZEP0Z7HEGHN3X2A1JSZ72XCJV58BMWVVB2SNAT1S0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). ZHP08EX4NHJGE0M8MSVJETQ4AYSP7X053J607M9VZ2BED8MY5CN0 9JRSAV43MP891NZVDJ8CF6JB19PC6R538ZRT1PR8TEPN84B30T60;9PG62GTDRPRSAC8KHEHPA9WM36BP0NF8RD91Q0E9TZSN85FS97Q0 83b6f616ac244334064c4c56d391c23eb42a7ce6 KJQSSVVRJDSBN2FXE2QA9PZNH1Z04GH91HS5K8MMTZ6J5D8JNAY0 +MR-SOFI-0133 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg;dsm::sofi::conformance::tests::item_7_identities_and_bounds_hold - CONFORMANCE §8 MR-SOFI-0133 (Partial) XJQR6KTRYHM1ZDYERFZ0694QES6PNS4YBC30WGRBYAAHK0W296A0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). 0GNW3138AJMNVB91YHV011S1F2Y62ZNBXYYVAASXN6NQGBYP8ZRG 9JRSAV43MP891NZVDJ8CF6JB19PC6R538ZRT1PR8TEPN84B30T60;9PG62GTDRPRSAC8KHEHPA9WM36BP0NF8RD91Q0E9TZSN85FS97Q0 83b6f616ac244334064c4c56d391c23eb42a7ce6 CMTYN3ZAQT12GS497AZ704K6QX6M9XJVZWNK4EFDN9S3MPYQBHZ0 +MR-SOFI-0134 dsm::sofi::derive::setup_ref android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_second_valid_signature_over_one_body_is_the_same_object - CONFORMANCE §8 MR-SOFI-0134 (Met) 4NBGZCCEM45RAARJS6X5Q0A2WZCA5SB69EVDCP14BXYED540N2AG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/setup_ref(). 7GJB148DKPYM8S0F8SNZ06FD4GFHNK4RN73D5VVYA5AYT9YJ76X0 ZGYZEK2Z0Z320FG1Z4W2YE46XA351FM4TE5VSEZ24P0G1S7R8RS0 83b6f616ac244334064c4c56d391c23eb42a7ce6 YP0AGRBB2PT8NW92173V74EA3K84VXXF3QHD9QPWTBTTQ2ME7JEG +MR-SOFI-0134 dsm::sofi::signature::verify_setup android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_second_valid_signature_over_one_body_is_the_same_object - CONFORMANCE §8 MR-SOFI-0134 (Met) QGNDA3Q2CNGWPHFATDBP63XDGZF3WHMG97703J5DCR48N52MXFG0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/signature/verify_setup(). 5WAFT7KGN1B4WNW5T57MMVZ676TXGG0AY7SETP8XBC4P7M8YP3J0 ZGYZEK2Z0Z320FG1Z4W2YE46XA351FM4TE5VSEZ24P0G1S7R8RS0 83b6f616ac244334064c4c56d391c23eb42a7ce6 WDW5TV1BBBXHBHYREK94HSHZHN98MHBDKFC7AGFPJ9XJYTX63H2G +MR-SOFI-0137 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg - CONFORMANCE §8 MR-SOFI-0137 (Met) ZB3FAEZGD2P4EDQ8Q9VZG351R0BKSXVEKV78NWM58DERHRWQTTW0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). 0GNW3138AJMNVB91YHV011S1F2Y62ZNBXYYVAASXN6NQGBYP8ZRG 9JRSAV43MP891NZVDJ8CF6JB19PC6R538ZRT1PR8TEPN84B30T60 83b6f616ac244334064c4c56d391c23eb42a7ce6 WCEARK4H28GC441PDN3M7Z7G5QMFZ2245013W5JCXHFMPD2B99KG +MR-SOFI-0138 dsm::sofi::validation::trader_fold_entries android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_wrong_relationship_base_is_invalid;dsm::sofi::validation::tests::vault_post_states_are_recomputed_and_bound_to_the_stated_values - CONFORMANCE §8 MR-SOFI-0138 (Met) PMY4KSFT34QYMT2E5X7YESPB0HD3S9HEBQEBJH6MJPKN4TYSDRRG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/trader_fold_entries(). JD2VC370KZ9NZPCYXFJWMPW1KN8WTZ7VAQ80XEM3JFKZVRC0TYGG J1F2VFAZNDMMTEZ3TZHWG50QSF1ZRRQ1PS2YBNT4J9B1VR8A3GE0;NA7MJF4YX145PZTMRB9RGR13RV4X77YN4K8B3F9SWNP61VW10WV0 83b6f616ac244334064c4c56d391c23eb42a7ce6 A084XQ8YBYTQQ5FETB8CB8450932CC4VVYZK69BGW9P2N14GF4YG +MR-SOFI-0139 dsm::sofi::signature::verify_fulfillment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_precommit_signs_its_own_digest;dsm::sofi::signature::tests::a_fulfillment_signs_its_own_digest;dsm::sofi::signature::tests::an_unsupported_body_class_is_refused_at_both_ends - CONFORMANCE §8 MR-SOFI-0139 (Met) A27PJM1VW8F0NV2N5CYX9DDA391GBX54KY3MZQ8NY1383GWBVRT0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/signature/verify_fulfillment(). QRKTKJ9Z07BPM5K4W016YQJAG1MP63KDKW0YH83C5E86D61ZZARG 7ZVPN0RWE03J4ZY1NBSMDH68CX3CHCSRK9J2VHRMEDW0XJX59CJ0;71CG541AY20G6JVGN6YBEXSA14QHVFWK94C5DFV2F18PRZ57TPMG;1CR00WRB2V699YZ9TTP69CERDADDEZGAM0BN57EVBWHA2MB6GWK0 83b6f616ac244334064c4c56d391c23eb42a7ce6 Q29EV3F11103Q366G5AJP7A1BZVWGRHKB1TEHKGNC2MGHVHZYAK0 +MR-SOFI-0139 dsm::sofi::signature::verify_precommit android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_precommit_signs_its_own_digest;dsm::sofi::signature::tests::a_fulfillment_signs_its_own_digest;dsm::sofi::signature::tests::an_unsupported_body_class_is_refused_at_both_ends - CONFORMANCE §8 MR-SOFI-0139 (Met) 6S033QR47VHT5251SVZZQGJSCYCJJWRMDWF1Q5J4VQ9SQ7MHCK10 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/signature/verify_precommit(). 8KAC138S6AN29JR8QH0T0S76YR89D8JW0QQGJXTJFAJ3W33D4W80 7ZVPN0RWE03J4ZY1NBSMDH68CX3CHCSRK9J2VHRMEDW0XJX59CJ0;71CG541AY20G6JVGN6YBEXSA14QHVFWK94C5DFV2F18PRZ57TPMG;1CR00WRB2V699YZ9TTP69CERDADDEZGAM0BN57EVBWHA2MB6GWK0 83b6f616ac244334064c4c56d391c23eb42a7ce6 7NSF4ZHEGBG8N97QN921VGW617DR29ZCVYG68KN0HR1ETV5ASPBG +MR-SOFI-0139 dsm::sofi::wire::objects::DlvPolicyFulfillmentBody android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::signature::tests::a_precommit_signs_its_own_digest;dsm::sofi::signature::tests::a_fulfillment_signs_its_own_digest;dsm::sofi::signature::tests::an_unsupported_body_class_is_refused_at_both_ends - CONFORMANCE §8 MR-SOFI-0139 (Met) B1A3FRJTMCE6246MESBAGFNMGKX6F2V3VX3782C19FM7ZYWX5R40 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/DlvPolicyFulfillmentBody# ZZA27CDMH4Q68G0J94P8JNA2JMC51YACX7W23PNBP28579RSMCD0 7ZVPN0RWE03J4ZY1NBSMDH68CX3CHCSRK9J2VHRMEDW0XJX59CJ0;71CG541AY20G6JVGN6YBEXSA14QHVFWK94C5DFV2F18PRZ57TPMG;1CR00WRB2V699YZ9TTP69CERDADDEZGAM0BN57EVBWHA2MB6GWK0 83b6f616ac244334064c4c56d391c23eb42a7ce6 3GZGHH9G3XJ13Z6Z23G59JA2Z66Z1FGXG5K4BVC1R75YP9C764AG +MR-SOFI-0140 dsm::sofi::wire::objects::PreEClosureIndex::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests;dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips;dsm::sofi_v8_independent::closure_index_enforces_bounds_order_and_current_e_exclusion - CONFORMANCE §8 MR-SOFI-0140 (Met) N74EE4JSTTNANZV45Z437KCMJRQ1JS3KA90JZPAC7A8ANWQP822G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/impl#[PreEClosureIndex]new(). WPEKDEXKT849NQV0RFG6WTCEBWBGF9HEQ626G4N0JSXHHJ938PSG 32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0;Y6J9T12EZQ4N65937XN0FWCRGVZZ2YTZNPSAWWVB4662TB7N0KXG;48YZDAQMW9J7E4XZC2XPETJC8ABE2ME7FQW4CTK7H4ZNEK5MPN1G 83b6f616ac244334064c4c56d391c23eb42a7ce6 T8NHZDHEH5KSREGY7732GXKM6BZBW5VF5X7ASVDYTJD7X30H7Y50 +MR-SOFI-0141 dsm::sofi::wire::objects::TraderPrecommitBody android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0141 (Met) ZSBQ6Q7E9VX5ZK6TVWWWEJSTVHRWGMFGZY6HQSWRJKA19SHC0CV0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/TraderPrecommitBody# GCCQGR3F9V4622KDTQD4G32SM0FMX92Z4G1RR6XG16E0VY6W63YG Y6J9T12EZQ4N65937XN0FWCRGVZZ2YTZNPSAWWVB4662TB7N0KXG 83b6f616ac244334064c4c56d391c23eb42a7ce6 X3F6ETBZPQAHYZDCNMVNBN32HAGGC21115E23DEH6N83YFXRT430 +MR-SOFI-0142 dsm::economic::register::root_claim_naming android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0142 (Partial) GTPK2C03NZQFANFJF44TK2S0GRDXXACY68N0JYMSH7Q3EQ3RPSMG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/root_claim_naming(). 98V6MZBJVAWME3MV4AK49GF7XJEJC8PBWAFHDA654CF36X0B1XMG - 83b6f616ac244334064c4c56d391c23eb42a7ce6 ES02RNQYZSG63CBT8S9Q1YFHS5E6XXYH390RQA3VH7C89SQ0N6SG +MR-SOFI-0142 dsm::sofi::registration::fulfillment_registered android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0142 (Partial) S619W3SY724FRFKNE7RV6EQBH9CGR79K6EE0Z4QD9VJZ547NRBC0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/registration/fulfillment_registered(). QHM4GX9X80C41P2JE9W657E57J2CZC0BJKRGQWRVF97A3QTF3150 - 83b6f616ac244334064c4c56d391c23eb42a7ce6 SCW909RSZXYQ8E9F610BVZ145AS9YH4G769WHAW82HPE2Y7STF80 MR-SOFI-0142 dsm::types::operations::Operation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0142 (Partial) 7GT1ABG8HVK4KEYVJ5QNA9J5EGYPH3CBFP9ESAEFW42HT2E713QG Partial SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 types/operations/Operation# 8NXT8J82W80XM637VP4688W0SNH5X478RKSSQQS58FS47DPCD1WG - 8b2814918a9f0cf54a83d29080a9c6bf177682d9 YW5TSQF4BW87GS8TWNFQJW3KEMV9T5PJ265KFVASEPYBN41AVG1G -MR-SOFI-0143 dsm::sofi::validation::validate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::precommit_roots_that_do_not_match_the_cores_are_invalid - CONFORMANCE §8 MR-SOFI-0143 (Met) HS5HWAJE2VY87T00S2HG9NGPY1RAQRJND1X68P782STP7WS55040 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate(). Q46WNDHC1NPK8Q2Y8AHBWA21XZTXGWEXTGVXCSHTPQ7TP9TS5TA0 N91A1G94TW5EQBQQMJV66R0DJHZ15BV7P20T2DG59027VGTPH37G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 371H2FSGNBGQDBTQKYD5C8M7ZASJ5VDY9E9BEHC8YJXFDZKXQ10G -MR-SOFI-0144 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_precommit_naming_a_parent_its_closure_does_not_carry_is_invalid;dsm::sofi::conformance::tests::a_parent_the_closure_does_not_reference_does_not_conform;dsm::sofi::conformance::tests::a_parent_claim_of_another_position_or_root_does_not_conform - CONFORMANCE §8 MR-SOFI-0144 (Partial) WK7PT2AHP065EY62B3T5KD9EDR4C9RVN81DGP1TQ1TPT48D4VZY0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). MV7ZYP94K6RT29EJKSV0A02QNMGFNVAVXP04TSKYWKXVBSNB3Y3G TAKVE4Z5EJZ3BHSZYVP03CRYPF5FQXGJ065S816DP1QHRJT733QG;SF04973N4P58A8STPQ8344T9N63HAQW26NG97GRRNSAK5P77AEH0;CG7HF1R33Q0C88H4YVZMG0AYVMYX5FPJBF738YN9M95V277R0A8G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 4G1HVRJ42C93RMV9H1QFWD34BTGFNMM1AXARXQKCQN2KY3CSZHX0 -MR-SOFI-0144 dsm::sofi::validation::validate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_precommit_naming_a_parent_its_closure_does_not_carry_is_invalid;dsm::sofi::conformance::tests::a_parent_the_closure_does_not_reference_does_not_conform;dsm::sofi::conformance::tests::a_parent_claim_of_another_position_or_root_does_not_conform - CONFORMANCE §8 MR-SOFI-0144 (Partial) 3YZZMVR4M21TWKW5X5JDMJ7DXHQETVBYK7F5PVSN9FYYXKE4BH80 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate(). Q46WNDHC1NPK8Q2Y8AHBWA21XZTXGWEXTGVXCSHTPQ7TP9TS5TA0 TAKVE4Z5EJZ3BHSZYVP03CRYPF5FQXGJ065S816DP1QHRJT733QG;SF04973N4P58A8STPQ8344T9N63HAQW26NG97GRRNSAK5P77AEH0;CG7HF1R33Q0C88H4YVZMG0AYVMYX5FPJBF738YN9M95V277R0A8G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 FVJ717Q5RJJ7NN40JEGQ4FCB8378532JBV96ZH3DAJ3JVFH6PJW0 -MR-SOFI-0144 dsm_sdk::sdk::sofi_advance::own_parent_claim android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_precommit_naming_a_parent_its_closure_does_not_carry_is_invalid;dsm::sofi::conformance::tests::a_parent_the_closure_does_not_reference_does_not_conform;dsm::sofi::conformance::tests::a_parent_claim_of_another_position_or_root_does_not_conform - CONFORMANCE §8 MR-SOFI-0144 (Partial) 0V279MVHMX8JA6TR6W5ZWNM8XSDHE1M3F4B5EH19WQ8V5Z0M1G3G Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_advance/own_parent_claim(). ESX2P70VYHQGWJFJE4BA8Q03CEWA82ZXHEA3A5VV1GTSGZSN70DG TAKVE4Z5EJZ3BHSZYVP03CRYPF5FQXGJ065S816DP1QHRJT733QG;SF04973N4P58A8STPQ8344T9N63HAQW26NG97GRRNSAK5P77AEH0;CG7HF1R33Q0C88H4YVZMG0AYVMYX5FPJBF738YN9M95V277R0A8G b7d9468858f6bcdb31f97ed84937343e7eea7227 QQNPAJ2TV0KVH6G0G7HTB9T8YSNC31Y1G7Q61ZYKABBN3SA1RS30 -MR-SOFI-0144 dsm_sdk::sdk::sofi_sdk::pre_e_closure android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_precommit_naming_a_parent_its_closure_does_not_carry_is_invalid;dsm::sofi::conformance::tests::a_parent_the_closure_does_not_reference_does_not_conform;dsm::sofi::conformance::tests::a_parent_claim_of_another_position_or_root_does_not_conform - CONFORMANCE §8 MR-SOFI-0144 (Partial) CWEVHS5Q10VNBYG55T38P2FD7DX7GK4M5QQFQCQA25K4NX6ATM90 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/pre_e_closure(). 6KQ7PKPA9XX5PH2BDSTXGAPTFJ5ZGZ087FDT79CEHR4SB7JZVKH0 TAKVE4Z5EJZ3BHSZYVP03CRYPF5FQXGJ065S816DP1QHRJT733QG;SF04973N4P58A8STPQ8344T9N63HAQW26NG97GRRNSAK5P77AEH0;CG7HF1R33Q0C88H4YVZMG0AYVMYX5FPJBF738YN9M95V277R0A8G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 BP467E5MNJ8ZYQJPKY2HHEFSSRGG1H1BJ7BAC24JSRRB53XT0FYG -MR-SOFI-0145 dsm::economic::register::read_root_cell android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::register::registered_root_construction_tests::a_final_root_claim_has_a_completion_proof_that_checks;dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::route_chain::tests::the_state_is_the_count_of_valid_links - CONFORMANCE §8 MR-SOFI-0145 (Met) T6CD9531P12DW21HW2Y4QH2T6DKFA023BSRJ86ZYVG2HP5KJWA90 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/read_root_cell(). RZFX32A412E7RSJPV3Z1JP4JTV48EYKAJZP3DWK6MJGRSR1PWX40 42P91M5ZGX188HDJDZ8K6MB7SNHDBNGM6ET0PY1ND0CHP84T2TQG;GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG;6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 B87XHY8APB6ZWFEFTN7DE99JX1PK628H98Z9W7MWXTYK1G1MV9WG -MR-SOFI-0145 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::register::registered_root_construction_tests::a_final_root_claim_has_a_completion_proof_that_checks;dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::route_chain::tests::the_state_is_the_count_of_valid_links - CONFORMANCE §8 MR-SOFI-0145 (Met) N1NCY8N8C2T6AMY8HR2DBJK904PYEDD8BPY3N3MSCM25ZCXEBNK0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG 42P91M5ZGX188HDJDZ8K6MB7SNHDBNGM6ET0PY1ND0CHP84T2TQG;GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG;6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 RANXGJW16FTGSDB50F97EK1K8E2F4NRYQNX1ZK5F8SSD0Q6TA8ZG -MR-SOFI-0145 dsm_sdk::sdk::sofi_advance::final_root_cell android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::register::registered_root_construction_tests::a_final_root_claim_has_a_completion_proof_that_checks;dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::route_chain::tests::the_state_is_the_count_of_valid_links - CONFORMANCE §8 MR-SOFI-0145 (Met) 6PE6GVADSCC3NE4E1S00VNNTMTDDBVSDTE5SFV7N93KP1BWE9GH0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_advance/final_root_cell(). PSYV4HJ25WVKSYYE88MGRAJN66QF1DD99VER8X7VHYXTZQSHSFG0 42P91M5ZGX188HDJDZ8K6MB7SNHDBNGM6ET0PY1ND0CHP84T2TQG;GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG;6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 W0V71TV4M1G8ZP8J8WZSX65T3PJPT5NMHW301CJJ3Z8BY3CEYWT0 +MR-SOFI-0143 dsm::sofi::validation::validate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::precommit_roots_that_do_not_match_the_cores_are_invalid - CONFORMANCE §8 MR-SOFI-0143 (Met) HS5HWAJE2VY87T00S2HG9NGPY1RAQRJND1X68P782STP7WS55040 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate(). 4GFFRATK8W7QWFC6CD22F8KA4MQH5F1489SCGW2864FJ14BE5CVG 9HVVW96QSAGF45KXJ7EQDWF1WNQ85GJ13DQ0Q290TVR8GTV4Y010 83b6f616ac244334064c4c56d391c23eb42a7ce6 ZAYP0A7M7STVHN1BW5418X4EXBFMKY28F1MG3B87MB0KNHYTQ9FG +MR-SOFI-0144 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_precommit_naming_a_parent_its_closure_does_not_carry_is_invalid;dsm::sofi::conformance::tests::a_parent_the_closure_does_not_reference_does_not_conform;dsm::sofi::conformance::tests::a_parent_claim_of_another_position_or_root_does_not_conform - CONFORMANCE §8 MR-SOFI-0144 (Partial) WK7PT2AHP065EY62B3T5KD9EDR4C9RVN81DGP1TQ1TPT48D4VZY0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). 0GNW3138AJMNVB91YHV011S1F2Y62ZNBXYYVAASXN6NQGBYP8ZRG BSVAP2AF2JQVS3G3RNKEFQFB1PS9NNPPH5Z3YND74BJ6MHQDKENG;ZDHFKT950JH95D4C2MCB2T4DDNNYGQCPTG14EVW2V9PAE5AMNT4G;7639DREE5HMHRQ0A8T47WNYK32PV9WTKYA1H1XR3YE3DVRA5MEJ0 83b6f616ac244334064c4c56d391c23eb42a7ce6 Q6ZVSSRYVEYBQDCYPFR7GK6TYMVX862Y6ZXVMEY3Z3AP3X6DB40G +MR-SOFI-0144 dsm::sofi::validation::validate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_precommit_naming_a_parent_its_closure_does_not_carry_is_invalid;dsm::sofi::conformance::tests::a_parent_the_closure_does_not_reference_does_not_conform;dsm::sofi::conformance::tests::a_parent_claim_of_another_position_or_root_does_not_conform - CONFORMANCE §8 MR-SOFI-0144 (Partial) 3YZZMVR4M21TWKW5X5JDMJ7DXHQETVBYK7F5PVSN9FYYXKE4BH80 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate(). 4GFFRATK8W7QWFC6CD22F8KA4MQH5F1489SCGW2864FJ14BE5CVG BSVAP2AF2JQVS3G3RNKEFQFB1PS9NNPPH5Z3YND74BJ6MHQDKENG;ZDHFKT950JH95D4C2MCB2T4DDNNYGQCPTG14EVW2V9PAE5AMNT4G;7639DREE5HMHRQ0A8T47WNYK32PV9WTKYA1H1XR3YE3DVRA5MEJ0 83b6f616ac244334064c4c56d391c23eb42a7ce6 KRYD82AGENCZ2VB783PKT69JN01EJATWDHHZG7K49TBA70RGA8DG +MR-SOFI-0144 dsm_sdk::sdk::sofi_advance::own_parent_claim android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_precommit_naming_a_parent_its_closure_does_not_carry_is_invalid;dsm::sofi::conformance::tests::a_parent_the_closure_does_not_reference_does_not_conform;dsm::sofi::conformance::tests::a_parent_claim_of_another_position_or_root_does_not_conform - CONFORMANCE §8 MR-SOFI-0144 (Partial) 0V279MVHMX8JA6TR6W5ZWNM8XSDHE1M3F4B5EH19WQ8V5Z0M1G3G Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_advance/own_parent_claim(). VK22C5MVS4MXG7R0GEK0NW1ER3BBP4N0K32DZPZQDWS9FKXRJQ0G BSVAP2AF2JQVS3G3RNKEFQFB1PS9NNPPH5Z3YND74BJ6MHQDKENG;ZDHFKT950JH95D4C2MCB2T4DDNNYGQCPTG14EVW2V9PAE5AMNT4G;7639DREE5HMHRQ0A8T47WNYK32PV9WTKYA1H1XR3YE3DVRA5MEJ0 83b6f616ac244334064c4c56d391c23eb42a7ce6 VAN2YMWK99G0QYWYH4QMPGHNV7CT6K24NJ24QHZR16NY5Q8G9WXG +MR-SOFI-0144 dsm_sdk::sdk::sofi_sdk::pre_e_closure android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_precommit_naming_a_parent_its_closure_does_not_carry_is_invalid;dsm::sofi::conformance::tests::a_parent_the_closure_does_not_reference_does_not_conform;dsm::sofi::conformance::tests::a_parent_claim_of_another_position_or_root_does_not_conform - CONFORMANCE §8 MR-SOFI-0144 (Partial) CWEVHS5Q10VNBYG55T38P2FD7DX7GK4M5QQFQCQA25K4NX6ATM90 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/pre_e_closure(). EYKW3RNJRRJFQRH8PZPE8C27FTA7TXEVVQT2RJBDJYKGYJ7TQBX0 BSVAP2AF2JQVS3G3RNKEFQFB1PS9NNPPH5Z3YND74BJ6MHQDKENG;ZDHFKT950JH95D4C2MCB2T4DDNNYGQCPTG14EVW2V9PAE5AMNT4G;7639DREE5HMHRQ0A8T47WNYK32PV9WTKYA1H1XR3YE3DVRA5MEJ0 83b6f616ac244334064c4c56d391c23eb42a7ce6 9MS6905TPFV4CJFQRGJ9TVJ2RQ9SNKBFK933WX2RTE6H1C3E016G +MR-SOFI-0145 dsm::economic::register::read_root_cell android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::register::registered_root_construction_tests::a_final_root_claim_has_a_completion_proof_that_checks;dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::route_chain::tests::the_state_is_the_count_of_valid_links - CONFORMANCE §8 MR-SOFI-0145 (Met) T6CD9531P12DW21HW2Y4QH2T6DKFA023BSRJ86ZYVG2HP5KJWA90 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/register/read_root_cell(). 3FGJADXQV69STHQP4KMM3NS1CE8376DAJTQ0ZW11ZGWTMSVFT9GG 47KF35Q0RM3MJGZFP9X3C6KE7SSMSYK2WYAX1TXQN5K9FK1R2SA0;XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG;ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 GK2X6FB18QP1CTMBKYBBM3X3V4WR92XZ5KQPYAY4N0XZWMYCAMC0 +MR-SOFI-0145 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::register::registered_root_construction_tests::a_final_root_claim_has_a_completion_proof_that_checks;dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::route_chain::tests::the_state_is_the_count_of_valid_links - CONFORMANCE §8 MR-SOFI-0145 (Met) N1NCY8N8C2T6AMY8HR2DBJK904PYEDD8BPY3N3MSCM25ZCXEBNK0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 47KF35Q0RM3MJGZFP9X3C6KE7SSMSYK2WYAX1TXQN5K9FK1R2SA0;XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG;ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 EW389DJG8WEX9SBNBF66RDZ7ZM3RF9Y89B9PH6Q7H44WEY9XWPYG +MR-SOFI-0145 dsm_sdk::sdk::sofi_advance::final_root_cell android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::register::registered_root_construction_tests::a_final_root_claim_has_a_completion_proof_that_checks;dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::route_chain::tests::the_state_is_the_count_of_valid_links - CONFORMANCE §8 MR-SOFI-0145 (Met) 6PE6GVADSCC3NE4E1S00VNNTMTDDBVSDTE5SFV7N93KP1BWE9GH0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_advance/final_root_cell(). K7JRMKA37RRZ5DBS3HWGJ5JXWQVD3ST8ZNZTWCPWHSKKNYF18T5G 47KF35Q0RM3MJGZFP9X3C6KE7SSMSYK2WYAX1TXQN5K9FK1R2SA0;XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG;ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 0VBHFWKT4TQ4EXGZJ4AKEHDBEKMHQYWZ6ZCC2KS5R1296HX949Q0 MR-SOFI-0146 dsm::sofi::lineage::descendant_fence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::a_resolved_predecessor_admits_only_the_root_it_selected;dsm::sofi::lineage::tests::nothing_descends_from_an_unresolved_conditional_predecessor - CONFORMANCE §8 MR-SOFI-0146 (Met) 9XQV7VW036W9RQGF7HXR365DXAJ2QQ95F3Y7QX4AX0SG0N387FW0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/descendant_fence(). PNESB6P5146XBGBKRA02XG3851ES121QAJNA9ZQS321AEMET5080 QKFM0GZ9ZV16MFYAMSTVYKK05BFJWEMZPMN889WDGH7TMY37TPF0;MEB3PERJF23ZDNN752HWV71RD0DR54DDVWF7NWMHNSEDX3FYG8RG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 B15SZFVSMG97HHAYCWDPWW5BBWTGQ829EFARVHGJ0TBHTVJXF54G -MR-SOFI-0147 dsm::sofi::validation::validate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_preimage_e_does_not_commit_to_is_invalid - CONFORMANCE §8 MR-SOFI-0147 (Met) SDASBZCMS78CJCSFHKHXQ1MRRSDVBWCPY2XJT620FWCD8460CRY0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate(). Q46WNDHC1NPK8Q2Y8AHBWA21XZTXGWEXTGVXCSHTPQ7TP9TS5TA0 04XQKFAB45M2SV0413DJ3EXAAM8688NYZTT8SW37K22MSPV6AH40 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 X7AGK9CBR81DN0HEVEZY3J50EYFRFE46MBV4XHDD9Q1XJ8HBF9H0 -MR-SOFI-0149 dsm::sofi::validation::validate_swap android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::trader_post_states_are_recomputed_and_bound_to_the_stated_values - CONFORMANCE §8 MR-SOFI-0149 (Met) 4S0ZBHKQERPBWF8RPCG8DQK39ATTGKSQ6DV4DYDVM1WDJZD6D1HG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate_swap(). K84VW2SKP97XRVXS7T8VRMR97AQ72NZ89AWTWMJXB17WWB70R9K0 ERH2KEGJT64DVEVW9YMMVKVAXA3QN8T34MZ27RKZ3M088JJSCYSG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 HPAG7FSPSB025GKEQW3H7PNX6117KX112SV96JT7WZGX972TXGDG -MR-SOFI-0151 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::a_precommit_under_a_key_its_parent_claim_does_not_carry_does_not_conform;dsm::sofi::conformance::tests::a_conditional_parent_binds_p_to_the_key_of_the_f_that_installed_it - CONFORMANCE §8 MR-SOFI-0151 (Met) MMCER70MEQ7RV3AE118M26GYVZ6N8H8FRP4RER1PVQMCD5HK1Y6G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). MV7ZYP94K6RT29EJKSV0A02QNMGFNVAVXP04TSKYWKXVBSNB3Y3G Q0B3DEBZHNBARYEGPKE401A8QBS2WN1D61AJ3TYHT4ZA99YJT7M0;J341MXG1C9FM044GAJEAVH4752RXDB1MB57HFXTKK3ZS8JB19G40 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 YZBZ1MV1WMB0R6G07NGPP96M5F5SFZZ9Z4X5S31PYCBMKC7STG3G +MR-SOFI-0147 dsm::sofi::validation::validate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_preimage_e_does_not_commit_to_is_invalid - CONFORMANCE §8 MR-SOFI-0147 (Met) SDASBZCMS78CJCSFHKHXQ1MRRSDVBWCPY2XJT620FWCD8460CRY0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate(). 4GFFRATK8W7QWFC6CD22F8KA4MQH5F1489SCGW2864FJ14BE5CVG CHQ0WJHV4SP3TRXBMBEM4P0WPGTQJ0S6D721GNF2FGC5EMVMN1FG 83b6f616ac244334064c4c56d391c23eb42a7ce6 0VQ1JXMERZJ1VG4VHM5FCJG47QARGC7Y9F5GWDPZS3CYXZTT57HG +MR-SOFI-0149 dsm::sofi::validation::validate_swap android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::trader_post_states_are_recomputed_and_bound_to_the_stated_values - CONFORMANCE §8 MR-SOFI-0149 (Met) 4S0ZBHKQERPBWF8RPCG8DQK39ATTGKSQ6DV4DYDVM1WDJZD6D1HG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate_swap(). M7P679FBJMN4P6BPQ6PAFH1JDP9S1N8XYYMPZKTBKBEEVB8CFXPG M0XYXMNNE72D2X1PVJA3V2CWP6S8MSCAADJ1HXZ3NC8QWG5A8MXG 83b6f616ac244334064c4c56d391c23eb42a7ce6 XENV6ZJD10Y344CJG055V20KYDGNFNNNCKAD60V7RG7XS3BWBXH0 +MR-SOFI-0151 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::a_precommit_under_a_key_its_parent_claim_does_not_carry_does_not_conform;dsm::sofi::conformance::tests::a_conditional_parent_binds_p_to_the_key_of_the_f_that_installed_it - CONFORMANCE §8 MR-SOFI-0151 (Met) MMCER70MEQ7RV3AE118M26GYVZ6N8H8FRP4RER1PVQMCD5HK1Y6G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). 0GNW3138AJMNVB91YHV011S1F2Y62ZNBXYYVAASXN6NQGBYP8ZRG 04CWTE7DRDHSD561DMT8D3Q1NREC2HVFP7GH7EK321GRNYC9GV6G;7Q9D325F792J1ZYW9D85NBA1A2WWRKMG7RD9M4BEY7DS5G0F65NG 83b6f616ac244334064c4c56d391c23eb42a7ce6 AV4S4TJKA4G4HABT4Z1SH9VYKDQV8S6R6WBCANRHE8ANRMP0M9W0 MR-SOFI-0152 dsm::sofi::lineage::descendant_fence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::nothing_descends_from_an_unresolved_conditional_predecessor - CONFORMANCE §8 MR-SOFI-0152 (Met) ZTR7CTQ2BMQ6F8B621F8HVAA7T3R99ZCTGCSQ9CFRBZ21BECKEW0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/descendant_fence(). PNESB6P5146XBGBKRA02XG3851ES121QAJNA9ZQS321AEMET5080 MEB3PERJF23ZDNN752HWV71RD0DR54DDVWF7NWMHNSEDX3FYG8RG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 HA0H4QX8SBNFAX0RGRM27DEP8DPPSVRRQTSR9EVPC2FQ98YCH5VG -MR-SOFI-0153 dsm::sofi::conformance::derive_policy_fulfillments android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_3_the_policy_fulfillment_set_is_the_canonical_set_of_p - CONFORMANCE §8 MR-SOFI-0153 (Met) JKF5VXHZY0FBNVQ98RBXJ98N7MGCCW4F55VV1RMQH4DE0NPK9720 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/derive_policy_fulfillments(). KXV892YX3MYZ95T8VRTRRQRZTQZ198GR7GBDR9BPP2PNPEKR9820 8VWMXQ6X628D2ENG509380J9CW7WNEF1H7E69ZH4T7K5FN8NMM9G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 AE672K5NTBDPGYAXE2ZJN2TMDPSTT7QM5AYYV83CT4JRY30SMX60 -MR-SOFI-0154 dsm::sofi::conformance::derive_policy_fulfillments android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_3_the_policy_fulfillment_set_is_the_canonical_set_of_p - CONFORMANCE §8 MR-SOFI-0154 (Met) 3W1DJYJ5YE49ZT0BGCNAR9DVS3M8DEATFNCXJMXZGPCMCM4W025G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/derive_policy_fulfillments(). KXV892YX3MYZ95T8VRTRRQRZTQZ198GR7GBDR9BPP2PNPEKR9820 8VWMXQ6X628D2ENG509380J9CW7WNEF1H7E69ZH4T7K5FN8NMM9G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 2DHWX9E047C0YER6EP4J9M50PPF7PCM3Y665FE3RYWZ42YT9ZBY0 -MR-SOFI-0164 dsm::sofi::wire::objects::TraderFulfillmentBody android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0164 (Met) 5FF92YJDR0AK9GTD7YXS1N9YFSN32SX8TWBBXGW54ZN19V0XSZY0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/TraderFulfillmentBody# BD6QPDMM4VMTXZ5RFVXV85RJ6YGRAZCM0D0AQQ59NC5KQ1A6E2AG 7AGVD2F2XM61A30E1NB25ZZ638K3ZF35RNXPY58AFECAP7SGWYG0 1d58ffa8846eaab4902a4912f44b359e16553bb3 GWAQ54JMH5MHBH7K8JKF5ZD17G4M92B0GKGPTVY7FRVDGYZXZY10 -MR-SOFI-0166 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm_storage_node::cells_keep_everything::only_malformed_requests_are_refused - CONFORMANCE §8 MR-SOFI-0166 (Met) Q96TGKQTX5N8X3E6SDT4JF4VG45H7BMS1M15Z6N8GK35Q52TTSR0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). MV7ZYP94K6RT29EJKSV0A02QNMGFNVAVXP04TSKYWKXVBSNB3Y3G YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0;7B6Q8WQR1VTWG3N0S4SH6CB2JK4CZZYKSYZ17RE84Q9YNKHDZWRG 375506f9333de6e529968767d19d565d189cc385 JYVTJ20B4GJVRCN2X1D6CNVSDVHGE6KVTJ7WNWT0YG77Y1XD4F10 -MR-SOFI-0166 dsm_storage_node::api::cells::get_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm_storage_node::cells_keep_everything::only_malformed_requests_are_refused - CONFORMANCE §8 MR-SOFI-0166 (Met) GMS9557773WV2JX6M5DCBTYTFZFX47GQK57SFAW46R7QDSZPEZH0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/get_cell(). CX2EM3AHQNMX7JY2WTMVGCJSS9CGRTS3PCCSCC7Q0MVC2NKGFPBG YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0;7B6Q8WQR1VTWG3N0S4SH6CB2JK4CZZYKSYZ17RE84Q9YNKHDZWRG 375506f9333de6e529968767d19d565d189cc385 R09GJ8EEJBK7DF6PVD95N9A2HTZQXMCZ42ZN4WCXM7BY5EC2G6Y0 -MR-SOFI-0166 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm_storage_node::cells_keep_everything::only_malformed_requests_are_refused - CONFORMANCE §8 MR-SOFI-0166 (Met) XTSFHNWXDH7EGFR15YX7G6VJ75YJMJHD74JGW57H0S32WSEVCJ0G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). GZ7EWHR37RDX3J8J1HVVPMX123TAWYFWP82BXDSQSWZ99K6JX02G YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0;7B6Q8WQR1VTWG3N0S4SH6CB2JK4CZZYKSYZ17RE84Q9YNKHDZWRG 375506f9333de6e529968767d19d565d189cc385 A0V4E9NNGV1MMTKT1SYX9HQ88TB3D2N1N13M9Y52Q34QBYA5ANJG -MR-SOFI-0167 dsm::sofi::derive::resolution_claim android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim - CONFORMANCE §8 MR-SOFI-0167 (Met) Q1AKSHEN52A06K7HQEZ19ZSXV1X97Q0T3BGWHZX4VFZS01EMQVA0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/resolution_claim(). GC9FXYAWKN55XJTJMFSNVDBQHCP78WVQBEPJYJJMZ7NRY6XVSNM0 GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 A2BM2095RS48AEC2SM4KJ3Y4YWJW5SQX73NC31EAAG3D3HTY5VAG -MR-SOFI-0168 dsm::sofi::registration::fulfillment_registered android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim - CONFORMANCE §8 MR-SOFI-0168 (Met) JS246CAJVQ8C0APQXYJX0F9G4JBGD2S8FQKS5BCA6P63P17FGY1G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/registration/fulfillment_registered(). ASX58D92VYCP1C4DNGR9QV94Y1EAZTGQFC56HVSQFT6GEDBWAE5G GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 AVEM58FTZANQ2SN95FXX6KXW5RFFZJ4ZEE0R35F2K0DZ9WJEWGP0 -MR-SOFI-0170 dsm::sofi::exercise::recognize_exercise android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_exercise_round_trips_and_rebuilds_into_bound_objects;dsm::sofi::exercise::tests::an_exercise_counts_only_when_f_and_p_are_signed_under_the_key_p_commits;dsm::sofi::publication::tests::an_envelope_is_recognized_only_when_its_signature_verifies_under_its_bodys_key - CONFORMANCE §8 MR-SOFI-0170 (Met) 1Z54NJ1K25FKK9C0HK472RFJC284DKMHT6SEJM5E3AXMX5V1C3AG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/recognize_exercise(). HBM8GH8Q198E8RG0MSJJVMSGZWNXJ4KZ77DWDCGS30BZRN1XD4CG Q4ATNHBTWRNNSRFGT77DQ3ETY9WCZVTGHPYHS0S14CYX1PP3D0BG;JPHRYAPYW3J73BMYMH0794XTCRMPK3CHWYBJS7YXBP4NNK55X0PG;E0PP3MPWZNCZ91H6TAY0AD2SQP297BGEBYJKBHXY5SHCQN31MDMG 375506f9333de6e529968767d19d565d189cc385 RDDC0HSGKY2M4FMABPVAWF7PV2NV2PFYPZR4ZFFG90E2SHCE1040 -MR-SOFI-0170 dsm::sofi::wire::objects::SofiExercise android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_exercise_round_trips_and_rebuilds_into_bound_objects;dsm::sofi::exercise::tests::an_exercise_counts_only_when_f_and_p_are_signed_under_the_key_p_commits;dsm::sofi::publication::tests::an_envelope_is_recognized_only_when_its_signature_verifies_under_its_bodys_key - CONFORMANCE §8 MR-SOFI-0170 (Met) 0CSZECVEBPYMWF2VGH8K30H1FEAPKNTJY6SWSPWF8AYP5HF1PHNG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/SofiExercise# QCF274WH7HFG9VAFEZFQ5SETVHJ75G24S32MFMNA8CQKXYPBGKHG Q4ATNHBTWRNNSRFGT77DQ3ETY9WCZVTGHPYHS0S14CYX1PP3D0BG;JPHRYAPYW3J73BMYMH0794XTCRMPK3CHWYBJS7YXBP4NNK55X0PG;E0PP3MPWZNCZ91H6TAY0AD2SQP297BGEBYJKBHXY5SHCQN31MDMG 375506f9333de6e529968767d19d565d189cc385 0AJYFK3BXNW7GN7R00GWTE3BV6P2F09EA4861SM6B9CARJS0NBPG -MR-SOFI-0171 dsm::sofi::exercise::exercise_names_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_exercise_names_exactly_the_keys_its_fulfillment_and_precommit_name;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open - CONFORMANCE §8 MR-SOFI-0171 (Met) 9W8V4GFEFDK18CNXRVKG6RW8JAP63YZSA936Q7ZZV62J8TNWAPA0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/exercise_names_key(). 0N0VSDSQRG53ZK2XXPAMFKWG4EX42ANM4P6Q8JMSPWRKXDNEKDXG N6CDQ0QA02HJRZN0X9NJX0PQYPQ7BHHDA3986JPDG472CE9XH9CG;PEXCGPBJZHCW8GJMEMZEPS6GNGDXPF5JQGBJRP8B55M7YFFQF440 375506f9333de6e529968767d19d565d189cc385 T1TMGP1BGDG03C8R7MK1JKJZD06ENPQTR11PVNECH16FSG5BY93G -MR-SOFI-0172 dsm::sofi::wire::objects::SettlementPreimage android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::decoders_refuse_wrong_envelopes_truncation_and_trailing_bytes - CONFORMANCE §8 MR-SOFI-0172 (Met) C6GW8EK7HKTY9EKQFR7E5780RFRNGEEGHRW621T1QHZBT930ND80 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/SettlementPreimage# 75FMD04R37SSX5XGZ68K0JFP5DCEAZ6MGH80WF6ADYZ01N8VTRT0 05H5VF1W7V71JGRR0SP5NT9RXKTSJ5R13QQ6VXA6THR4QENAHJ1G 1d58ffa8846eaab4902a4912f44b359e16553bb3 7SJAJ66WQAX1BY0VFZEMBY50B869K631FSQ4A3GBC5727PWKGAHG -MR-SOFI-0173 dsm::sofi::validation::check_settlement_core_references android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::both_settlement_branches_and_both_authorities_match_and_round_trip;dsm::sofi::validation::tests::a_settlement_body_naming_another_core_is_invalid;dsm::sofi::validation::tests::a_settlement_body_naming_another_trader_core_or_parent_is_invalid - CONFORMANCE §8 MR-SOFI-0173 (Met) N1SG2HXVXRA7G56H75THAKZQPKZR62YGG7RKVZCZ5RK2JDVFBKN0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/check_settlement_core_references(). 1ESV6FJSYC8M62T8T3N4CZH0GQT43T525BK51WH6X97V7WW5Y400 SFYVAEABS29N7X6HSXXVSZWKQR45Z769XNRY1JMD2JM5TYN554TG;T70TCFTE2K22NEWMG7M063AHFMJ9E3A327FN8ZMMV9S5DF7MNG90;YRJ582W7BPRJ6A5D8FB74BSARDPH7G0A2WDBR79J68P74GNK159G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 HNQE2TCAAJRA3W48320WY1RQ8RD9MBPCB436NARHVA51ZY6YN3E0 -MR-SOFI-0173 dsm::sofi::wire::objects::SettlementBody android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::both_settlement_branches_and_both_authorities_match_and_round_trip;dsm::sofi::validation::tests::a_settlement_body_naming_another_core_is_invalid;dsm::sofi::validation::tests::a_settlement_body_naming_another_trader_core_or_parent_is_invalid - CONFORMANCE §8 MR-SOFI-0173 (Met) 2CTN5B55EXKWY7PK2RA22YZXNQVB34JA1AVHHG3KAP7B3RZ8947G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/SettlementBody# NP8GAZYVT2VAQV0GKXGBJ1YFF3Y077WWSNF7ZY43AE75V5GHTZDG SFYVAEABS29N7X6HSXXVSZWKQR45Z769XNRY1JMD2JM5TYN554TG;T70TCFTE2K22NEWMG7M063AHFMJ9E3A327FN8ZMMV9S5DF7MNG90;YRJ582W7BPRJ6A5D8FB74BSARDPH7G0A2WDBR79J68P74GNK159G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 1RKJP0QM3T8E4488XVX6J7DC0816KQQ7C35PBJ3Y3SV4Q7EBRZM0 -MR-SOFI-0174 dsm::sofi::validation::validate_close android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::both_settlement_branches_and_both_authorities_match_and_round_trip;dsm::sofi::validation::tests::a_close_claiming_the_wrong_reserves_is_invalid - CONFORMANCE §8 MR-SOFI-0174 (Met) WSB9EGYG9DE4YVRKEE3GR3PV9C43BG3W9GMAV7F3ZVPP2127DTMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate_close(). QXA49MATTH1033ZH6BTFJW7D31BA2C4E9TH7HVWT8YAVYSTMF9VG SFYVAEABS29N7X6HSXXVSZWKQR45Z769XNRY1JMD2JM5TYN554TG;FV9HM41F2DJ8RHAVH0YR53DWGS9D27TJBQ0X8TY8MCBMVD9V82D0 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 PS59DFFBT40KH1WXF1A600CWFC33F9BGXHTY4JW1J0EJK7KSABWG -MR-SOFI-0174 dsm::sofi::wire::objects::SettlementBody android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::both_settlement_branches_and_both_authorities_match_and_round_trip;dsm::sofi::validation::tests::a_close_claiming_the_wrong_reserves_is_invalid - CONFORMANCE §8 MR-SOFI-0174 (Met) E0B6JBN8YW80H2TZ1DFNJ9B92V46G7513CHAE42K247Y4MZ80MQ0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/SettlementBody# NP8GAZYVT2VAQV0GKXGBJ1YFF3Y077WWSNF7ZY43AE75V5GHTZDG SFYVAEABS29N7X6HSXXVSZWKQR45Z769XNRY1JMD2JM5TYN554TG;FV9HM41F2DJ8RHAVH0YR53DWGS9D27TJBQ0X8TY8MCBMVD9V82D0 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 NK3MWNBY3AJMKXDRAGN28ZA5G7WDRHQHF5J7SXQ3GNTY3DGYA27G -MR-SOFI-0175 dsm::sofi::wire::objects::ValidationRef android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::closure_index_enforces_bounds_order_and_current_e_exclusion - CONFORMANCE §8 MR-SOFI-0175 (Met) Z9GPTZGJKP8RJNYGRSKT9Q2AC3CZ5AAY8VVQBWYTP5CVX26J77Q0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/ValidationRef# E3CQAE12FANF86R6TAHN8B97NSK1R4WBH7ESQ00D4JEW5QCJTGNG T3AEJ2FV5M9AN8BKG0AJW5XRD25VN80HB2XXQHNAQAQGBMVJMBJ0 1d58ffa8846eaab4902a4912f44b359e16553bb3 WZMEPMJ9QT7P590EASC9ZJWES0SRB9XSYBJN3ZBJ6FHH5FG1251G -MR-SOFI-0176 dsm::sofi::wire::objects::PreEClosureIndex::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::closure_index_enforces_bounds_order_and_current_e_exclusion - CONFORMANCE §8 MR-SOFI-0176 (Met) ZMECH9Z6BYJ32GV29ZNZZMHYB8K15Q2FMETGV5P0YMB4955TQTAG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/impl#[PreEClosureIndex]new(). VQN14V3D79VPPT9QKN2D77NEZSEQNAWRMGKNKW9EKSZZWMC9TAP0 T3AEJ2FV5M9AN8BKG0AJW5XRD25VN80HB2XXQHNAQAQGBMVJMBJ0 0c6ca6cb265254eaa1c68ebf97ca24fa70df5ba1 62TMH7YN46BFJ7DTTM08CKBZTXZ1AHP3CK0VK6GQ8NXK1SMYZYD0 -MR-SOFI-0177 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::closure_index_enforces_bounds_order_and_current_e_exclusion;dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0177 (Met) E3JWXX2Z83SW8W55WVXARH4E0VQ5XH0E4Q94CJSM4XY8V19PX7AG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). MV7ZYP94K6RT29EJKSV0A02QNMGFNVAVXP04TSKYWKXVBSNB3Y3G T3AEJ2FV5M9AN8BKG0AJW5XRD25VN80HB2XXQHNAQAQGBMVJMBJ0;3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG 1d58ffa8846eaab4902a4912f44b359e16553bb3 7G32M0ZZKZ2HE41ER8XGKZMSPREZ7E4F19EB9WNP4ZPB5WA0MQKG -MR-SOFI-0177 dsm::sofi::derive::recompute_e android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::closure_index_enforces_bounds_order_and_current_e_exclusion;dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0177 (Met) 01E6KJTEFN820MRJEGTTX0M1MS0SWP6Q1N9T4TFCBJ60Y98GB0F0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/recompute_e(). Y485RDS22CFCG1A5JWZQYHE3Q9XBK83CV031WXNEXKC57FZ1DNF0 T3AEJ2FV5M9AN8BKG0AJW5XRD25VN80HB2XXQHNAQAQGBMVJMBJ0;3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG 1d58ffa8846eaab4902a4912f44b359e16553bb3 TKWNNMDC3CRQRNK944B4MBGS5VRAWMN2BTHXQYT29FJ9SCJ44D00 -MR-SOFI-0177 dsm::sofi::wire::objects::PreEClosureIndex::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::closure_index_enforces_bounds_order_and_current_e_exclusion;dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0177 (Met) VA36F1C0J2PX4Z9TP8RCC9V1M53YWSJXN6FQKJ7Q0MWA1QXGJ0Q0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/impl#[PreEClosureIndex]new(). VQN14V3D79VPPT9QKN2D77NEZSEQNAWRMGKNKW9EKSZZWMC9TAP0 T3AEJ2FV5M9AN8BKG0AJW5XRD25VN80HB2XXQHNAQAQGBMVJMBJ0;3PS7BD8D24RQEKMDMV3HP634N3DVCKJHG043H9Y5W43DTQEY4QEG 1d58ffa8846eaab4902a4912f44b359e16553bb3 ETBSTDNZHGHVRJEMSMV3KR1XCG26Q8V05ZPZJEZ653D46BGEN7R0 -MR-SOFI-0178 dsm::sofi::derive::canonical_legs android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs;dsm::sofi_v8_vault_bytes::a_close_takes_the_single_vault_form_and_never_collides_with_a_swap - CONFORMANCE §8 MR-SOFI-0178 (Met) A1ZPBD7CSCENEBDR9CAAH122N49SEN04N3NYPRK95HSAFPBN1K20 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/canonical_legs(). 9X31TEAEDFKM880W16M6SHNXRMT8FDZ6PJWEREFRJG136FXSFV2G BD38JBEMA7KSGCMRYZN0M0XSFDSZJE3D8BJ5NSNK3Y6YD77G5PK0;Q07VJW9FJXMY2T4TG24VZ2G9XA77RWFQ61S69NBM2CPRX1QFMFC0 1d58ffa8846eaab4902a4912f44b359e16553bb3 74C1NAEW4QNBH0XMXSBQVNYDP4K7MYXYMQ3R55N5MK1ADCMD25SG -MR-SOFI-0178 dsm::sofi::derive::recompute_e android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs;dsm::sofi_v8_vault_bytes::a_close_takes_the_single_vault_form_and_never_collides_with_a_swap - CONFORMANCE §8 MR-SOFI-0178 (Met) TWCDE1ZBHM241XZPWEG6544QCR0RPBZHCT2WEG7PQ2EKJBB3K290 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/recompute_e(). Y485RDS22CFCG1A5JWZQYHE3Q9XBK83CV031WXNEXKC57FZ1DNF0 BD38JBEMA7KSGCMRYZN0M0XSFDSZJE3D8BJ5NSNK3Y6YD77G5PK0;Q07VJW9FJXMY2T4TG24VZ2G9XA77RWFQ61S69NBM2CPRX1QFMFC0 1d58ffa8846eaab4902a4912f44b359e16553bb3 1QHJ3A2W4PWPMWKD3AFKE4EHSD2KN3H1SSPP4VZ5V5D6GPDKMQN0 -MR-SOFI-0179 dsm::sofi::validation::trader_fold_entries android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_wrong_relationship_base_is_invalid - CONFORMANCE §8 MR-SOFI-0179 (Met) JWCARXMJCM77SDSK8KHSANCDE239P68FESFM0B5DD17V1NDSAWH0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/trader_fold_entries(). 1XHCB9ZR8DRJ9FJKT48SRYNJQGW9PFCEEG0Z0VGGNKY81BGGBXTG VR67GBJ04B6KSM1F6AYBNQR6HWCBMAGGD48XJCVTED75D40YA790 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 0A6MAYPJS606PM5RD94G7T8ZTK2PTD1EDP1N1WVXN4B9NSYC1B80 -MR-SOFI-0181 dsm::sofi::wire::objects::VaultStateLeaf android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0181 (Met) TMG50PQ47P9VWMRBCPASY8RC6J4EVYSW23R8T484F0KES9G4QNPG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/VaultStateLeaf# VE7FW1C4JD6R1ZBV5M5109YZ7B4QKDVGMHA5TQ7NYBP8XD8SWKC0 7AGVD2F2XM61A30E1NB25ZZ638K3ZF35RNXPY58AFECAP7SGWYG0 1d58ffa8846eaab4902a4912f44b359e16553bb3 4YA92CGYNC0KRZSR12CZQYKJSNMX1D99QRQ2K1C9EYZPJAJ7ZJZ0 -MR-SOFI-0182 dsm::sofi::wire::objects::VaultRelationshipLeaf android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0182 (Met) P8KCFKS9MX7B6FT0BS472TA4S3Y1DRA3XGHW7TE368JABW37N9JG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/VaultRelationshipLeaf# A5FKZZ31VD5Q1HBTW6ZN8QAVKX1K9RTMR6S6JWJ4NM8CKFHHDGZG 7AGVD2F2XM61A30E1NB25ZZ638K3ZF35RNXPY58AFECAP7SGWYG0 1d58ffa8846eaab4902a4912f44b359e16553bb3 PJRFQQTMNM8FKYTHJWQ3B431D6PWMRFDXBE1FNBE8EFQWBMC1ATG -MR-SOFI-0183 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_setup_inserts_exactly_one_relationship_leaf_from_zero;dsm::economic_write_set::a_setup_refuses_to_replace_an_existing_relationship;dsm::economic_write_set::a_sofi_leaf_is_refused_under_the_wrong_operation - CONFORMANCE §8 MR-SOFI-0183 (Met) 1ACBM9Y744GG2D3JZXV2Q2ZK6DPKXWAYRDHABB9KHVKKZ5NYYVA0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). G608SP6WY4FK1Z8C89NTNFCZKGAT0RAGA0C8MQ2P20V2GTQ5NR30 DR1B9ZFDQ0KN2ZMAX0TE12MGSP1AXFV1A1Q8PQEPD6ERFDZBXBFG;FN6NRDGW61XSFFJTM74Q9P6KEQ5XQZR1N8EPHFSHZX0GG3S2K4GG;XN4715V0SPEZ6TJRM1B4QX9RQ52PDHQ5P1QRRKQQBEVDHCMCBM6G 1d58ffa8846eaab4902a4912f44b359e16553bb3 TRSAN4TJH4YK6ATHMGCKTAY6ADB4S6MH5B6P4R2GMVGGVPD0WG9G -MR-SOFI-0183 dsm::economic::write_set::verify_operation_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_setup_inserts_exactly_one_relationship_leaf_from_zero;dsm::economic_write_set::a_setup_refuses_to_replace_an_existing_relationship;dsm::economic_write_set::a_sofi_leaf_is_refused_under_the_wrong_operation - CONFORMANCE §8 MR-SOFI-0183 (Met) TFGJWNAK5R7BQEGMT1VZXCQDKS3S7GK9DQ8M1KM8M166ZV8DJN60 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/verify_operation_write_set(). RXZKD709KXBTDD1K25TT67VBT84T5XM789MRTEEKBK4HG3DWP3RG DR1B9ZFDQ0KN2ZMAX0TE12MGSP1AXFV1A1Q8PQEPD6ERFDZBXBFG;FN6NRDGW61XSFFJTM74Q9P6KEQ5XQZR1N8EPHFSHZX0GG3S2K4GG;XN4715V0SPEZ6TJRM1B4QX9RQ52PDHQ5P1QRRKQQBEVDHCMCBM6G 1d58ffa8846eaab4902a4912f44b359e16553bb3 BGNZDTPHD7B8QGH1XR96XW7RXDHFPZ4QW2Y8S2GZX930R88S71JG -MR-SOFI-0183 dsm::sofi::derive::relationship_leaf_genesis android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_setup_inserts_exactly_one_relationship_leaf_from_zero;dsm::economic_write_set::a_setup_refuses_to_replace_an_existing_relationship;dsm::economic_write_set::a_sofi_leaf_is_refused_under_the_wrong_operation - CONFORMANCE §8 MR-SOFI-0183 (Met) GVMZ4ESB6HGW39J61NAP0NEDKC5FR1PP74BQQAHFMPY4BCH3PXKG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/relationship_leaf_genesis(). FQJQRJCRG0E7GPEPHKWSPAYT0GBMWGVKCF5WYCD4RPKX879TY4CG DR1B9ZFDQ0KN2ZMAX0TE12MGSP1AXFV1A1Q8PQEPD6ERFDZBXBFG;FN6NRDGW61XSFFJTM74Q9P6KEQ5XQZR1N8EPHFSHZX0GG3S2K4GG;XN4715V0SPEZ6TJRM1B4QX9RQ52PDHQ5P1QRRKQQBEVDHCMCBM6G 1d58ffa8846eaab4902a4912f44b359e16553bb3 0QDBG3RG7Q22W6DP69T1XJHHNSA752T1Y0RTWTHK3TKB05A166A0 -MR-SOFI-0184 dsm::sofi::wire::objects::VaultStateLeaf android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0184 (Met) TESC0VGSZ111TK893FYRMD1MZEC74G1H0C3QM18XQB8BQPRGT340 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/VaultStateLeaf# VE7FW1C4JD6R1ZBV5M5109YZ7B4QKDVGMHA5TQ7NYBP8XD8SWKC0 7AGVD2F2XM61A30E1NB25ZZ638K3ZF35RNXPY58AFECAP7SGWYG0 1d58ffa8846eaab4902a4912f44b359e16553bb3 T45PJ184FBFRS0T54WSAXHSJZPK8K5EHQ36BE3CRWC8B1WGNA0C0 -MR-SOFI-0185 dsm::sofi::validation::swap_vault_post android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_close_pays_the_reserves_exactly_and_never_prices_them - CONFORMANCE §8 MR-SOFI-0185 (Met) 22SSY545H0KSYB56R071WEYP29384N8KYC2YAZFJWQ25BB2S6Q4G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/swap_vault_post(). RYQBNTHRXVK0P0CBM5GF5ZKR0SBZ5J9E0FTCMFEJWYZ8EKQSD6Q0 E93MV04X4TDAQGJTSH4996R95DGP9QEEKR8X907EYZ1S1JXH5AG0 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 K42H92DAJW17NPCJJ0THSYJFDT9YD0PCYMEXAD13Q7N184YWSCQG -MR-SOFI-0187 dsm::sofi::validation::check_vault_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::an_extra_trader_entry_is_invalid;dsm::sofi::validation::tests::a_missing_trader_movement_is_invalid - CONFORMANCE §8 MR-SOFI-0187 (Met) Q19M88R6RY5AVY44H864377D797FFRKBTSMCJQW4FZDJK0SZNDZG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/check_vault_write_set(). P4NJHCNDDWWKX6JP07R604HTSES810YVNRN1E3T1Y23H580AZE80 NFQKFWPB7W34NEPJ5KY3V0M7HX9JPY459C63P6XHKDGJ2CYDCYT0;4YG483GS5JTH1QV6KJSQNGV2WQH1S4G8TN9FNCKX4TK7G0B26BSG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 49QKGNK538QBAXQVAG7SEH6HD0AP0Y5T75MCZAN75D3JW4KVE150 -MR-SOFI-0188 dsm::sofi::validation::validate_swap android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_well_formed_swap_is_valid;dsm::sofi::validation::tests::a_two_hop_route_chains_through_the_intermediate_token - CONFORMANCE §8 MR-SOFI-0188 (Met) CYQ27K47Z64H2BF1C1M5B88TE8CEKNG31YM77DT90GCJSNZ6WGK0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate_swap(). K84VW2SKP97XRVXS7T8VRMR97AQ72NZ89AWTWMJXB17WWB70R9K0 9SG9V529XN6CBDTJPZC1JRGNPQVTAYS1B2FENW5VCZFKVS2RVQM0;PN209ADTC9G4JZ971ZMXXDATE835YEPWH8AD8Q96D0CCNT1R58ZG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 GA0SE2ND9GTQT7M7A8J1TFAN6BXFY3Z3S6KNFMAJ3JPB4BKES3K0 -MR-SOFI-0189 dsm::sofi::validation::validate_close android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_well_formed_close_by_the_origin_owner_is_valid;dsm::sofi::validation::tests::a_close_that_does_not_retire_the_vault_is_invalid - CONFORMANCE §8 MR-SOFI-0189 (Met) XW84BHASNXYHFEHJS6GGH3DD4YTDTPXQ5AQRE97KFKPHQMR99600 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate_close(). QXA49MATTH1033ZH6BTFJW7D31BA2C4E9TH7HVWT8YAVYSTMF9VG YX9JKMZPM42WBK4ZYJAA41WEVW91TJKRAAHVWKRK0C6K379ZNFN0;R5C851VGREH0RF050GEMG3J0TZM95NF2Q17KQWKZKJ89R2N92260 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 Q54C7Z8KKX0CDYQCEB2MJ8HJ7ZEXCXE2NEGZM78AHAWCDBWSGF60 -MR-SOFI-0191 dsm::sofi::admission::admissible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::admission::tests::beta_refuses_more_hops_than_it_executes - CONFORMANCE §8 MR-SOFI-0191 (Met) 9JVKD1J0V8X4VFMC3GNJV5TCP0MY5SPQ0BWR39BGGD8FJPGSYY20 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/admission/admissible(). 2Y35YD0Q1N6B4Y1EGDPNHTMJYRK9PP3W04R5G4DYD0BGHVDKZXD0 XWEG9EH5ACCB97D5S5F3JZ6XEC7JF2JDC39HNV2TZB8Q208J3RZG 1d58ffa8846eaab4902a4912f44b359e16553bb3 203PRPS78B1BZ0R3SDXWCVBVM163YBPEX35G0D900SNQ7Q5C1YBG -MR-SOFI-0193 dsm::dlv::route_commit::constant_product_output_classified android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::an_off_by_one_output_is_invalid;dsm::sofi::validation::tests::an_overflowing_reserve_is_invalid - CONFORMANCE §8 MR-SOFI-0193 (Met) 4XNFF9XMJC4AM02QYA5QEGVKBPSWX5XWNCRGCEVE40A036MPQWRG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 dlv/route_commit/constant_product_output_classified(). ED8RH5QS1T8XT563EW29K3VX0JPRQW3DDD02N8XFX8RFG0PFY09G PDGJ90VEA6EGKVMZ0B1D25D64XYQHQG6VJXFVXTK0E6B24W4XFMG;XM4EDHJ29PGA8HHK6DAVA7V92GTTAWDJQ1FHBE2SJ3M72JMK0ZSG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 7FM07EB5TV9HW1JXE1T73VDPW7RJGXJCXT86CJ21E1FSC97VY5RG -MR-SOFI-0193 dsm::sofi::validation::validate_swap android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::an_off_by_one_output_is_invalid;dsm::sofi::validation::tests::an_overflowing_reserve_is_invalid - CONFORMANCE §8 MR-SOFI-0193 (Met) 7D78SFHF7X0QSD2XQWHMPX5G0BTZ17VR1C7SP3M5H924NMPAGJH0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate_swap(). K84VW2SKP97XRVXS7T8VRMR97AQ72NZ89AWTWMJXB17WWB70R9K0 PDGJ90VEA6EGKVMZ0B1D25D64XYQHQG6VJXFVXTK0E6B24W4XFMG;XM4EDHJ29PGA8HHK6DAVA7V92GTTAWDJQ1FHBE2SJ3M72JMK0ZSG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 K9AMYYPE9X7ZN4CNF7M7NZ7GV6VBX4GP23TTPB6KRHZ4AVGNMANG -MR-SOFI-0194 dsm::sofi::validation::validate_close android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_close_claiming_the_wrong_reserves_is_invalid;dsm::sofi::validation::tests::a_close_against_another_release_policy_is_invalid - CONFORMANCE §8 MR-SOFI-0194 (Met) H73NANAS75Z6YYSDWVGKK8DGV1SZXDQ521KG3MZ4FP8RRXBC9C0G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate_close(). QXA49MATTH1033ZH6BTFJW7D31BA2C4E9TH7HVWT8YAVYSTMF9VG FV9HM41F2DJ8RHAVH0YR53DWGS9D27TJBQ0X8TY8MCBMVD9V82D0;Q24402MQ7ZWB0VAREZPB5QCGK3EHDP8ZBR1812J4J7DZ8THNN2QG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 BVY2DTHAAS4Y0VKV5ZQPGK1SCFF57MX52B2E5P6MYQWZ8ANS4Z70 -MR-SOFI-0195 dsm::sofi::lineage::advance_resolved android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::a_realized_position_installs_the_realize_root;dsm::sofi::lineage::tests::a_void_position_installs_the_previous_root - CONFORMANCE §8 MR-SOFI-0195 (Met) 5C2APBSR31K6G83SDYYPFDTDKNYYW3HZFRGRNY0W8VSY5657YZ2G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/advance_resolved(). 6693ZE7RZ7NQFKF1ZT468W6HVBV0SX4BQTEEF0D2AZXK6S2RRTN0 NYSS5PZAVF5E8V68G61P9HW688Z2TV3VB5CD527GVKGV1QDBNQC0;4QZD4AQA1KYFNMJQXVGEQK6614FYNN369VS142PFGJM9T13PSV1G b7d9468858f6bcdb31f97ed84937343e7eea7227 5J5FWDS1DM208T45QRVX58NA1FRDQY0XPHQJQ652AB7TSKCWGRC0 -MR-SOFI-0196 dsm::economic::credit::CreditSource android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::peer_lineage::tests::a_conditional_peer_position_is_unresolved_and_never_invalid;dsm::economic::peer_lineage::tests::no_validated_root_is_minted_from_either_branch_of_an_unresolved_claim - CONFORMANCE §8 MR-SOFI-0196 (Met) AFJX6C9RSPXZ3C5J61R3777S5KQ8XGPQWKP20R147P4R11J0NYWG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/credit/CreditSource# MBAXGPBN7SXX4J20EVEZA1AX6WTG8Y47A7B51C58E1BQ37942050 D0KEPG0JPTGJRN6JDV3YDFJZNWHPS7AWJV6KVTS4JVM0FYN9XSZG;9DKXCFYS4X441EW1HHDV3RT75PX0A123EQZK7XZ571CGT1VAE1Y0 b7d9468858f6bcdb31f97ed84937343e7eea7227 99A6S9J86YK06AV31SJF8G6X502T5MRXG65KMP6AEHT2B0K349X0 -MR-SOFI-0196 dsm::economic::peer_lineage::validate_peer_lineage android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::peer_lineage::tests::a_conditional_peer_position_is_unresolved_and_never_invalid;dsm::economic::peer_lineage::tests::no_validated_root_is_minted_from_either_branch_of_an_unresolved_claim - CONFORMANCE §8 MR-SOFI-0196 (Met) B5QD48Z1TFQWVRQ77A603CV6M50G9FA1J4D7PTQC11CVSW4VG98G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/peer_lineage/validate_peer_lineage(). Q3TGC2MH7KB0H2WJXH9YMS4S07S80HWBSTKD3NM64SX0WX5CM6VG D0KEPG0JPTGJRN6JDV3YDFJZNWHPS7AWJV6KVTS4JVM0FYN9XSZG;9DKXCFYS4X441EW1HHDV3RT75PX0A123EQZK7XZ571CGT1VAE1Y0 b7d9468858f6bcdb31f97ed84937343e7eea7227 02C52TZ6P1T7Q0MF0SZ0YJSW08RX20HKVRMFTB4402DXNBWJ8CCG -MR-SOFI-0197 dsm::sofi::lineage::advance_resolved android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::advance_is_refused_on_each_missing_conjunct - CONFORMANCE §8 MR-SOFI-0197 (Met) DQQC9VGP1JAZC2CM9H4PHNCD2NXR046BYME78ZWFJF9DHH38QP30 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/advance_resolved(). 6693ZE7RZ7NQFKF1ZT468W6HVBV0SX4BQTEEF0D2AZXK6S2RRTN0 PSHFKN7N24T985S2S6VHPE1831VY3YZJ5RHZ5HKTTXZG9JTT27B0 b7d9468858f6bcdb31f97ed84937343e7eea7227 YT1A9GN4HFZK5551GKCJVGM5HZE657BGK6H5WYEFEHVNGSWXZ34G -MR-SOFI-0198 dsm::sofi::validation::validate_close android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_close_of_another_owners_vault_is_invalid_on_identity_alone - CONFORMANCE §8 MR-SOFI-0198 (Met) YK50G8EBJ2WGDANY8TA5KX9KMWZNP6CX2EVXM8JANVFNH9NPKJMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate_close(). QXA49MATTH1033ZH6BTFJW7D31BA2C4E9TH7HVWT8YAVYSTMF9VG 853CG1DN1TCBK7QY4D5J1NY7EBC2DCTH5X9ENQTHCXMMVR52Q220 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 S45DVSPRDQV11DXZ40YH5NF8M6BNXN2KWMAB70C1F4RC8K6GWDP0 -MR-SOFI-0200 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::write_set::vault_create_binding_tests::a_creation_whose_every_binding_holds_produces_the_write_set - CONFORMANCE §8 MR-SOFI-0200 (Met) WTFQ2RJ3NSDT59MR2ZDEJ8S5ZB130WSA9D0JNCX0CF9GKHGGPRV0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). G608SP6WY4FK1Z8C89NTNFCZKGAT0RAGA0C8MQ2P20V2GTQ5NR30 J42Y0TRSA0KRHSRDFTH5J2W7NTT8070D3H2VGMAWRA3STBEVCD3G 1d58ffa8846eaab4902a4912f44b359e16553bb3 BCJQW9FFZCS6JXN3DG0B04H3QCY7GVZW599ZAZDQ93Q34YH69VJG -MR-SOFI-0202 dsm::sofi::lineage::genesis_accepted android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::genesis_acceptance::a_genesis_the_owner_did_not_create_is_refused - CONFORMANCE §8 MR-SOFI-0202 (Met) MWT0WRTR859H0ARPVFPJ1KBF019E5V9X2JPPWD61VB3WG5VVTPY0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/genesis_accepted(). 5VRDA0MFP5T6JC5JXDNHDX8F578BAPJWJ4Z0PW24JQ7VJWDM8YD0 KJEWTZAY35BMJQ3EYNWM169AC9B472PWVDGYAWS0ATGW0T8KJH7G b7d9468858f6bcdb31f97ed84937343e7eea7227 RCK4V3SJJK0AX41GKB2NJ42DDTNPEJJBEMQEB2HZ8NGF0C8WT8HG -MR-SOFI-0202 dsm::sofi::resolve::Verifier::vault_genesis android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::genesis_acceptance::a_genesis_the_owner_did_not_create_is_refused - CONFORMANCE §8 MR-SOFI-0202 (Met) K2SA7GMPBS1MGJ12R0CYVNYADQE43BQJT9XSYDH4HV85G1HTW4JG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/impl#[`Verifier<'_, R>`]vault_genesis(). 98X6A8SH4N57NG6VGFKZ6PDCSQJQ00PBC2RVJVWTZHP6TXG1H1PG KJEWTZAY35BMJQ3EYNWM169AC9B472PWVDGYAWS0ATGW0T8KJH7G b7d9468858f6bcdb31f97ed84937343e7eea7227 54M09CPYZERXMGVKV9NXY0GMXDF1HZEQ3ASZDPWTP772MES1Q43G -MR-SOFI-0203 dsm::sofi::validation::swap_vault_post android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_well_formed_swap_is_valid - CONFORMANCE §8 MR-SOFI-0203 (Met) 2RN5GQSEGK3VSMD0NJB2E2E872KQ9MYEKDA5067K904XTSVGK00G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/swap_vault_post(). RYQBNTHRXVK0P0CBM5GF5ZKR0SBZ5J9E0FTCMFEJWYZ8EKQSD6Q0 9SG9V529XN6CBDTJPZC1JRGNPQVTAYS1B2FENW5VCZFKVS2RVQM0 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 DBCB8F8A3YK2FTGCXP3ZM2NQ1DM1S1QHY2J80S2TQ3F3BYYCGKK0 -MR-SOFI-0203 dsm::sofi::validation::validate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_well_formed_swap_is_valid - CONFORMANCE §8 MR-SOFI-0203 (Met) FYQEHRS0BMWX51YFJPV3NH6ERHJ1KMWZX30KKCWT6ZVVM8CR267G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate(). Q46WNDHC1NPK8Q2Y8AHBWA21XZTXGWEXTGVXCSHTPQ7TP9TS5TA0 9SG9V529XN6CBDTJPZC1JRGNPQVTAYS1B2FENW5VCZFKVS2RVQM0 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 6SQR3JMQDPS7JXT7NZ8FEYNCSNWFSHEP0TJM33MP5ZAWM3Y7XN50 -MR-SOFI-0204 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_lost_route_is_void_when_valid_and_invalid_when_not;dsm::sofi::resolution::tests::a_lost_route_is_void_only_if_it_conformed;dsm::sofi::resolution::tests::realized_requires_conformance - CONFORMANCE §8 MR-SOFI-0204 (Met) Q3ZJ0MXJWKD7399PZNXB8FYF0SF18BZN51YR2QT1XBW2MBME72F0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). MV7ZYP94K6RT29EJKSV0A02QNMGFNVAVXP04TSKYWKXVBSNB3Y3G NZ8JS5YPABY7Q54KNB5D6EHP0XBKMP3VTQF1ZES8W2S05W35GWH0;0YR1S6TY8T3T6GKF0C9MYZY64Q4BXBK4MMRT21T78XJZKQEJ0860;YX9PA1NMBS180132WPP6AYTZHSM9F0041WCSZWT40YRTF5VQAN90 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 ZW84DFZM9ACXTK37JNNEGK6Q893JWJGMR26N9MJ9NC1DJECZPYDG -MR-SOFI-0204 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_lost_route_is_void_when_valid_and_invalid_when_not;dsm::sofi::resolution::tests::a_lost_route_is_void_only_if_it_conformed;dsm::sofi::resolution::tests::realized_requires_conformance - CONFORMANCE §8 MR-SOFI-0204 (Met) ZPB59DZP9E659DH5P046M1A167CB2HVSFDN5RT6B4SFKDA4SH2FG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 3RGXSFWYQ876BJBAT13HAVWXSDK3GK9Y9C818K0QESD3NV2N0GWG NZ8JS5YPABY7Q54KNB5D6EHP0XBKMP3VTQF1ZES8W2S05W35GWH0;0YR1S6TY8T3T6GKF0C9MYZY64Q4BXBK4MMRT21T78XJZKQEJ0860;YX9PA1NMBS180132WPP6AYTZHSM9F0041WCSZWT40YRTF5VQAN90 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 KA852RTWMGEJ4EQSGMHFDB34R4F2BA2A85N3RYS8EAC9RRK781F0 -MR-SOFI-0204 dsm::sofi::validation::route_validation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_lost_route_is_void_when_valid_and_invalid_when_not;dsm::sofi::resolution::tests::a_lost_route_is_void_only_if_it_conformed;dsm::sofi::resolution::tests::realized_requires_conformance - CONFORMANCE §8 MR-SOFI-0204 (Met) 27C086SW5FTJWHKWMDKVJSN7W9RBCC0JW5NGX937PST9VBDXBY6G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/route_validation(). 7BZ43YSJXC0BDFH539G6XW9J7K3HNW3QNZ01F65DPJV8HVS303M0 NZ8JS5YPABY7Q54KNB5D6EHP0XBKMP3VTQF1ZES8W2S05W35GWH0;0YR1S6TY8T3T6GKF0C9MYZY64Q4BXBK4MMRT21T78XJZKQEJ0860;YX9PA1NMBS180132WPP6AYTZHSM9F0041WCSZWT40YRTF5VQAN90 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 K68YHDVWRYBXAJN82TEBR6QQ03AFE7TBJJ51ABVZ8M9JH99B223G -MR-SOFI-0206 dsm::sofi::resolution::consumed_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0206 (Partial) NWD83NP4Y2J41XMT49D1T4NN68BGSDGEV24HH7MHAAYV0GW9NYXG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/consumed_route(). NR7GA1AMN11EW5VRSG9V0PZ11P35WHHJ4T16JYYCD3WW1K309GF0 - a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 XGH31T2H3MS0MDFT1CCC4XMDY2V4K5A8BC4N56C3Q8YWW1KYA5H0 -MR-SOFI-0206 dsm::sofi::validation::route_validation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0206 (Partial) YMT1FHPQAD0D582282GTZ9S5F8YGF603904SW9TW85FZ0P3J5VCG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/route_validation(). 7BZ43YSJXC0BDFH539G6XW9J7K3HNW3QNZ01F65DPJV8HVS303M0 - 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 EVFVW9HRQCH62PVA6Y55JKCG7ZD6PEKBD3K25E7WGY1GQDEZV310 -MR-SOFI-0207 dsm::sofi::validation::Verdict::note android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_provable_invalidity_is_not_masked_by_missing_evidence;dsm::sofi::validation::tests::an_invalidity_on_a_later_hop_survives_a_gap_on_an_earlier_one - CONFORMANCE §8 MR-SOFI-0207 (Met) PKM522ZBF9EFM5YM6PQTMMXQ7V8AG86RPZJB5A5RQSXJ94NK3VX0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/impl#[Verdict]note(). X4A2D7RQ8031E580KKDYHWGH7NYGPT9YG3BEDZZWM8E1BW0PFCM0 K7K1S0Q4HHQ0YWZE2726TDZCWR01GA68KSY8T3543F8EXKW1GRY0;SQWHRFSKKJC5ANDDVTPW87GRFTMV7WB99MXEV54ECZKZCWC6ZAVG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 X08YK03CBKFRKV2QDHFXD6AC864JD0T8ZCVSK3GDCWCX68772WH0 -MR-SOFI-0208 dsm::sofi::conformance::Items::fold android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::invalid_dominates_missing_in_item_order;dsm::sofi::conformance::tests::a_fulfillment_with_everything_in_hand_is_valid - CONFORMANCE §8 MR-SOFI-0208 (Met) HF196BD682JR74DX1KDZN5EN3ZE9XJQDFKAC729THQHE6C55RWP0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/impl#[Items]fold(). TE10E8365TMEM6AVZ8HMZQKKE3CV9WX7G4NN0CTP35V5FCBA4H80 FFA40AGC0X6Z8QABEFV6XPGEYJWG0KS4X3QC196CYXE4SC9K9D80;S46Z6QMVM9YMJKGAS3RDTMWFX4C0BFWXQB0NC5CD9ZTK5G16P6MG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 S4T589TYWFWRY2XBNZ1X7F2JYNXCX6HT7R2FQ619PF3BNBAG45AG -MR-SOFI-0208 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::invalid_dominates_missing_in_item_order;dsm::sofi::conformance::tests::a_fulfillment_with_everything_in_hand_is_valid - CONFORMANCE §8 MR-SOFI-0208 (Met) DXK0ZN060VRTE64H7Y0KQR39D1H38004ETT0DQ2MGQHSJ97DNMG0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). MV7ZYP94K6RT29EJKSV0A02QNMGFNVAVXP04TSKYWKXVBSNB3Y3G FFA40AGC0X6Z8QABEFV6XPGEYJWG0KS4X3QC196CYXE4SC9K9D80;S46Z6QMVM9YMJKGAS3RDTMWFX4C0BFWXQB0NC5CD9ZTK5G16P6MG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 TYX4885YD188JT3TGA742AC4931XVCA4QT12NE1M7HXN8C59RA80 -MR-SOFI-0209 dsm::sofi::conformance::successor_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi_v8_independent::counters_are_checked_never_wrapped - CONFORMANCE §8 MR-SOFI-0209 (Met) FD4ZP1C8FSJ6KA3YVMVBF8JD8DATC9M7MNJPY2T74WWWJYT4PW80 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/successor_position(). 8MMCJYS2QV6NF0WAYZQX0PBB917269XXS3GWAVJTQKCJEHQS5XRG F25QN8RY419P5VY9MQ9ZKGEMEY8DVPQ2GK2EDJMN7KGXBGRAR8R0;BTFRR6RT4H6HMCX5WZGNPYYTDXZZFWNZYAKYCSA0V4Z31F1B0DCG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 2SEBVTH27QMV0GDBTSW62KHNDADEG0TBBRHHPKVZCM126M5VY2AG -MR-SOFI-0209 dsm::sofi::wire::next_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi_v8_independent::counters_are_checked_never_wrapped - CONFORMANCE §8 MR-SOFI-0209 (Met) QXH5YTK6KSHZ83FCWYKWWFF84D8YPXP02JHAPSS77P0T16VK60GG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/next_position(). HZKME22ZJT45SS0729X12V23JNEQHTV43H2RZQYA2NP2ESW22K9G F25QN8RY419P5VY9MQ9ZKGEMEY8DVPQ2GK2EDJMN7KGXBGRAR8R0;BTFRR6RT4H6HMCX5WZGNPYYTDXZZFWNZYAKYCSA0V4Z31F1B0DCG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 M5G53ERE9GN20Y3WRYHBRDF8HDQRRYNT7AM27416PAQBHG9K885G -MR-SOFI-0210 dsm::sofi::conformance::key_is_the_precommitted_one android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_2_f_is_signed_under_the_key_p_committed - CONFORMANCE §8 MR-SOFI-0210 (Met) 2Q2WW33FMBAX0N6EWGXJDNGJ7FT1MVN35XA2GRNF35G5H42E0YD0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/key_is_the_precommitted_one(). A5X1WAJQJ2YCT7KPNCRKSXZ7328JC6MPQS08TZHF1RGXN3GNVHKG NK4BZJXW73P4TBQ7WQFZTYCWQ5D88CF9N5CY5SPK2BW2DDPZ7E4G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 WWRNXXN9HK3E5QR0FE4NTG9D1G4GQXJ3Q9GEJZKZ0ZMPD55QHQM0 -MR-SOFI-0211 dsm::sofi::conformance::policy_set_is_canonical android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_3_the_policy_fulfillment_set_is_the_canonical_set_of_p - CONFORMANCE §8 MR-SOFI-0211 (Met) VGJTJ9N9ZRB6Y9131P98DHGK86N3047K6ZCZ2VMTKPFPTAW4Z7XG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/policy_set_is_canonical(). KHNJNRFKM62MAWYTBQ349HAYM8TW2WZQ4E80RPT4J2476HTP4XQ0 8VWMXQ6X628D2ENG509380J9CW7WNEF1H7E69ZH4T7K5FN8NMM9G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 WAB3EQ6386N7D88MBQZXN7JPFQ8ERFFKQ7NGM8XB4G7XDDBCZBR0 -MR-SOFI-0212 dsm::sofi::conformance::attempts_cover_legs android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_4_the_attempts_cover_exactly_the_legs_of_p_with_no_holes - CONFORMANCE §8 MR-SOFI-0212 (Met) SCZZT17X1012BYYSJYH62RHMKFMQTP8T2Q593EN4X770XEDMSYWG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/attempts_cover_legs(). MHH3G6QDT29NSG3MZSM0AGJ893ZRGXGPXAN18N1NDVN0EP6MFX20 QJ7NZS7AQEA35AC18ZPZ36QHVYYPY5YTYPATCE5ZT943NA7DXBJ0 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 FPY5HEWBG7JD4RCJWRXMYT8QBTC1VQ9AZ69C3EDWD3DHRJY4FYZG -MR-SOFI-0213 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_5_an_earlier_attempt_must_be_final - CONFORMANCE §8 MR-SOFI-0213 (Met) FZKM8BHWRCYJYZRMNM3Q89RNHC0QFMKD9GYRQ4WJ709Y681JGVT0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). MV7ZYP94K6RT29EJKSV0A02QNMGFNVAVXP04TSKYWKXVBSNB3Y3G MHVYRWAAKWCXBKTBHPD5WVPWQSWEX2VRKQ8BHR1523CRJRSN2YZG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 1S36ER56XW8ESK1T664RE1DVAKZ89SP46FB18ZBFJNDMPR682TTG -MR-SOFI-0216 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::realized_requires_conformance - CONFORMANCE §8 MR-SOFI-0216 (Met) 61JMMBNVWGFKDHXM8WYPKAHGVE768DY5DH34HAQG32F7Z01YH26G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). MV7ZYP94K6RT29EJKSV0A02QNMGFNVAVXP04TSKYWKXVBSNB3Y3G FE3RYRZ231ZE11ZHNDG1A51PEMZBS040Q0X2YBX2S0PAPBJ9TD6G;YX9PA1NMBS180132WPP6AYTZHSM9F0041WCSZWT40YRTF5VQAN90 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 T5W4S03HA4Q29QY2YXFAN4X9X8BZRRCGKEMWZGZHG4N1MYN6ZPKG -MR-SOFI-0216 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::realized_requires_conformance - CONFORMANCE §8 MR-SOFI-0216 (Met) Y2BAV5GH7ZHTP99YGENF108YHJNSX4WBV4Z7N0AT26NSJN36HZ40 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 3RGXSFWYQ876BJBAT13HAVWXSDK3GK9Y9C818K0QESD3NV2N0GWG FE3RYRZ231ZE11ZHNDG1A51PEMZBS040Q0X2YBX2S0PAPBJ9TD6G;YX9PA1NMBS180132WPP6AYTZHSM9F0041WCSZWT40YRTF5VQAN90 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 P407QSXM6X2K381408BN5F9JWT4GT1ACS8GZBGFWPN3R2QMQR110 -MR-SOFI-0217 dsm_sdk::sdk::sofi_register::install_fulfillment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0217 (Partial) 9A1NK8TYWAWKXW6RM3E9N11DVB2C27DW0HFJWWTTCMG05MEKDJGG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_register/install_fulfillment(). D3JFRAAPGRJ3NYEXM92MR1377NXN6V39BQJK1HPV16KVPDAKNPEG - b7d9468858f6bcdb31f97ed84937343e7eea7227 5ZJQQZ41B20FRPRW5P3BX0B2BRZDA6WEW3MCR4H1RCR2WFKHKQG0 -MR-SOFI-0218 dsm::sofi::exercise::exercise_names_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::an_unregistered_fulfillment_is_not_resolved_even_with_every_leg_final - CONFORMANCE §8 MR-SOFI-0218 (Partial) 576CH11CV9GGMC989XZSJX9A3SKGVEBVTARTS43GFAM9DGYBX4XG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/exercise_names_key(). 0N0VSDSQRG53ZK2XXPAMFKWG4EX42ANM4P6Q8JMSPWRKXDNEKDXG GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG;A5KMXCBSK5KSFMC7PAJCYHV417EEB719JH6RG50WBJSK6JCE2PXG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 K7Z70ACRWS1S2WWD16BE3RA9RHSGHY4AGRQWJXTSJEPGH57CYERG -MR-SOFI-0218 dsm::sofi::registration::fulfillment_registered android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::an_unregistered_fulfillment_is_not_resolved_even_with_every_leg_final - CONFORMANCE §8 MR-SOFI-0218 (Partial) 12YFPA1B7BKR4WSSP73AGRJ44P4SJMW4FTANM4CFQ1V17FTRD80G Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/registration/fulfillment_registered(). ASX58D92VYCP1C4DNGR9QV94Y1EAZTGQFC56HVSQFT6GEDBWAE5G GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG;A5KMXCBSK5KSFMC7PAJCYHV417EEB719JH6RG50WBJSK6JCE2PXG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 YWCNDRZGMTJ9JME998RKHZWT7YX11F08FQJPKVQ23PEMBFX79490 -MR-SOFI-0218 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::an_unregistered_fulfillment_is_not_resolved_even_with_every_leg_final - CONFORMANCE §8 MR-SOFI-0218 (Partial) GH87GM6RWJTV893WRQQW9G4TZ7EMTHKQB1K5VKGT3T6YFYX7Z8GG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 3RGXSFWYQ876BJBAT13HAVWXSDK3GK9Y9C818K0QESD3NV2N0GWG GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG;A5KMXCBSK5KSFMC7PAJCYHV417EEB719JH6RG50WBJSK6JCE2PXG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 TJM3XGGHZAX3R2T2JTAW5RYM8E9J7855F81Z9VF5G4VC7CS2CHB0 -MR-SOFI-0218 dsm_sdk::sdk::sofi_relay::relay_fulfillment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::an_unregistered_fulfillment_is_not_resolved_even_with_every_leg_final - CONFORMANCE §8 MR-SOFI-0218 (Partial) 06SX219R3ZT21CEDA0TR3TFWQJB8KFZYVDWZR9MDA0SYRPB4GT80 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_relay/relay_fulfillment(). QY4BDTMR7EAGRYJDP0JPSDA12FZYHSXS6FKTQA2EGWCW0HP4WDPG GDAM0VH59ZTMR29KS95DM6BHKFCDQ421QGY4V606TS09PXFC45VG;A5KMXCBSK5KSFMC7PAJCYHV417EEB719JH6RG50WBJSK6JCE2PXG b7d9468858f6bcdb31f97ed84937343e7eea7227 NGCVRMK7H62HQT7XSD03FQ88SJHAE21E1JFKHHKVRF4326EP92H0 -MR-SOFI-0219 dsm::sofi::exercise::attempt_resolution android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open - CONFORMANCE §8 MR-SOFI-0219 (Met) XTKH54GQF5XP127YC10A1TSCC67RYYTJXXZ642VCSZMEQ1K5QK8G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/attempt_resolution(). SNN86J5J70RV6J8NCYP9JTH3QD9DSHJ3TKR0VCGWFFYVX3992V1G PEXCGPBJZHCW8GJMEMZEPS6GNGDXPF5JQGBJRP8B55M7YFFQF440 375506f9333de6e529968767d19d565d189cc385 PR8MZ8HW8RYR49HHVFMRBH2JMHHWDYK7C307DMVS9XWX1JVC4880 -MR-SOFI-0220 dsm::sofi::exercise::exercise_names_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed - CONFORMANCE §8 MR-SOFI-0220 (Met) 2QC7V0TFP5KEZ24S0ATGKE0KMWZ0F4ZE55YCS93WS0FCCMJ08ZH0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/exercise_names_key(). 0N0VSDSQRG53ZK2XXPAMFKWG4EX42ANM4P6Q8JMSPWRKXDNEKDXG YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0;PEXCGPBJZHCW8GJMEMZEPS6GNGDXPF5JQGBJRP8B55M7YFFQF440;94KRS8YDM5113GTMH3NBBYGEVSKRDS8CHFWCTXX7VRNDMM8FBH6G a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 C9QQJM9R1VVMY9HNENJ54G566KQDP02XN37TE4TEN1QR8MR18CHG -MR-SOFI-0220 dsm::sofi::resolution::consumed_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed - CONFORMANCE §8 MR-SOFI-0220 (Met) 7C58SM50DCYTA6PYAC5WNHYSX7MJW2CA9DCG1J4V20H93K6REGC0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/consumed_route(). NR7GA1AMN11EW5VRSG9V0PZ11P35WHHJ4T16JYYCD3WW1K309GF0 YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0;PEXCGPBJZHCW8GJMEMZEPS6GNGDXPF5JQGBJRP8B55M7YFFQF440;94KRS8YDM5113GTMH3NBBYGEVSKRDS8CHFWCTXX7VRNDMM8FBH6G a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 4P4NNASBZ1D88QYBFN5E75N49YENW0KN0F4V0T8VS1F1J3WR3730 -MR-SOFI-0220 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed - CONFORMANCE §8 MR-SOFI-0220 (Met) 5PPG90F05GR797GA96B2XD2N9QNF1EPWBCJWZEAVT1JSW9HR1XV0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). GZ7EWHR37RDX3J8J1HVVPMX123TAWYFWP82BXDSQSWZ99K6JX02G YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0;PEXCGPBJZHCW8GJMEMZEPS6GNGDXPF5JQGBJRP8B55M7YFFQF440;94KRS8YDM5113GTMH3NBBYGEVSKRDS8CHFWCTXX7VRNDMM8FBH6G a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 HAP2D1ASAFES9X41JN1KB1C9XN9T53T1G2F000GETQ5A3RNGPCNG -MR-SOFI-0221 dsm::sofi::resolution::consumed_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed - CONFORMANCE §8 MR-SOFI-0221 (Met) Y2PKXX29S7K7EPMZZCQNNEVE0J0FZ0S4ZXK246N3V9B0N7B8V83G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/consumed_route(). NR7GA1AMN11EW5VRSG9V0PZ11P35WHHJ4T16JYYCD3WW1K309GF0 J6G0S0D19S14QEE6ZHAQZB6XFD9T9BX502KZ67VKWFYFJDZDTJG0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 V3FQTHW0G961VAGXRJ646YD1DWMXDQ9W366KGS2MJA5RMQ6ZAKQ0 -MR-SOFI-0221 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed - CONFORMANCE §8 MR-SOFI-0221 (Met) ZTTSFSNAH40CY4Q38W35CSTWSWT25V69FCWY371JN4HQKP88F19G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 3RGXSFWYQ876BJBAT13HAVWXSDK3GK9Y9C818K0QESD3NV2N0GWG J6G0S0D19S14QEE6ZHAQZB6XFD9T9BX502KZ67VKWFYFJDZDTJG0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 DKR0ERWKM4X359MVJ82WC4RBWSZ2Z40ERM2Z6C5Y17AR5Y0ZJVM0 -MR-SOFI-0223 dsm::sofi::resolution::trader_parent_compatible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_conditional_parent_that_selected_this_root_processes_normally;dsm::sofi::resolution::tests::a_final_cell_whose_fulfillment_lost_its_position_is_skipped - CONFORMANCE §8 MR-SOFI-0223 (Met) RA7DKAVAV519X8WMS18K1Y1YZBP7JGX82PZ13MR8NCDR61YSNYSG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/trader_parent_compatible(). M37A48FM9B0ZB4B83BVDD151Y4HDSSSMKZYC6W6ZTASVQSCV7P30 V700XM4YGZWH6P24A320CDEJF3JVD1ZA2F028VH9H149R3PWQQ1G;JZXJ8S91DH34X5NCXEYG13APMJ5C6AZZBWBSZFJSAQ48YHAB9SC0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 H7EH94XD2TEQBY47XD44GSV0MADE8N0CE2X3WRZG26HZA8H81EDG -MR-SOFI-0223 dsm::sofi::resolution::trader_parent_impossible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_conditional_parent_that_selected_this_root_processes_normally;dsm::sofi::resolution::tests::a_final_cell_whose_fulfillment_lost_its_position_is_skipped - CONFORMANCE §8 MR-SOFI-0223 (Met) G8F3C9TB1H2Z9NDH81KGWGEBYYAS9J6PE2MYTDAYA1RPZYXWBN8G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/trader_parent_impossible(). 52TDS9KZZM51A8NH6TEK0NHAR0DYE4HN25Z9GR1A1H14GXATK97G V700XM4YGZWH6P24A320CDEJF3JVD1ZA2F028VH9H149R3PWQQ1G;JZXJ8S91DH34X5NCXEYG13APMJ5C6AZZBWBSZFJSAQ48YHAB9SC0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 3HMV46DBQZZA97FWXG7CVZ2RF95A2YP82FXVFS48NSGF5MPT6F6G -MR-SOFI-0224 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_lost_route_is_void_only_if_it_conformed;dsm::sofi::resolution::tests::a_lost_route_is_void_when_valid_and_invalid_when_not;dsm::sofi::resolution::tests::void_requires_storage_resolution - CONFORMANCE §8 MR-SOFI-0224 (Met) 433KFRT4QVJC8YPGAHENDE6FBR8H0DW1FH48CTG6WXSKDSDZQDWG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 3RGXSFWYQ876BJBAT13HAVWXSDK3GK9Y9C818K0QESD3NV2N0GWG 0YR1S6TY8T3T6GKF0C9MYZY64Q4BXBK4MMRT21T78XJZKQEJ0860;NZ8JS5YPABY7Q54KNB5D6EHP0XBKMP3VTQF1ZES8W2S05W35GWH0;0BCSSHQQYJE62JWS8QV9H2K6J9QSB5F808TJGS5WTXMRFM8JQ690 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 KQS3BR1CDA2W5ZYANDB6A646Y43K9AXBTGG3AXAP1JA3CXSBNF7G -MR-SOFI-0226 dsm::sofi::registration::fulfillment_registered android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::an_unregistered_fulfillment_is_not_resolved_even_with_every_leg_final;dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed - CONFORMANCE §8 MR-SOFI-0226 (Met) DQCTNGCJBX33EPKKVHQDGBJW6MBNQ94PTCTGBPP99MJY1H317PY0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/registration/fulfillment_registered(). ASX58D92VYCP1C4DNGR9QV94Y1EAZTGQFC56HVSQFT6GEDBWAE5G A5KMXCBSK5KSFMC7PAJCYHV417EEB719JH6RG50WBJSK6JCE2PXG;J6G0S0D19S14QEE6ZHAQZB6XFD9T9BX502KZ67VKWFYFJDZDTJG0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 XCSZKXC8AD506SMR6PFBJ152Z7N1SD40DVA161C36V6N8CESD6T0 -MR-SOFI-0226 dsm::sofi::resolution::consumed_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::an_unregistered_fulfillment_is_not_resolved_even_with_every_leg_final;dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed - CONFORMANCE §8 MR-SOFI-0226 (Met) 77FY58P4KV2F5F74RN22MG3XEZGDAQCGP22E38TS7XYH75GB32BG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/consumed_route(). NR7GA1AMN11EW5VRSG9V0PZ11P35WHHJ4T16JYYCD3WW1K309GF0 A5KMXCBSK5KSFMC7PAJCYHV417EEB719JH6RG50WBJSK6JCE2PXG;J6G0S0D19S14QEE6ZHAQZB6XFD9T9BX502KZ67VKWFYFJDZDTJG0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 XEFEZDZMHDZ6NVYAH0NQAC8WN9GZHP9NWWVQ7HF6P60CZ7QM9QJG -MR-SOFI-0227 dsm::sofi::lineage::PredecessorClaim android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::a_terminal_resolution_never_becomes_an_admitted_position - CONFORMANCE §8 MR-SOFI-0227 (Met) A95FJ36HZMP378R797CAMWF7T0D9QEW0N8G6GFJHRT232R8YR2WG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/PredecessorClaim# 9BWAB2NJYY62FP2XXK5YTY0CZRYJYS16QT6ZTWN7QH4S7ZABSGEG SRQPVY3TZHF3B7J1883WBPD8WB06Y9NSM4AXT7Y3PZAXDPFS0RW0 b7d9468858f6bcdb31f97ed84937343e7eea7227 5DN1XWD3QX5AK0BEXJEP8WRH55YFPMHVDJZGSWFJZTC70GXQ3GR0 -MR-SOFI-0227 dsm::sofi::lineage::descendant_fence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::a_terminal_resolution_never_becomes_an_admitted_position - CONFORMANCE §8 MR-SOFI-0227 (Met) FZJFN6AK9AC5FCVMG1407BP1Z2FD1GYC5J41Q0TWH08PC104YG10 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/descendant_fence(). PNESB6P5146XBGBKRA02XG3851ES121QAJNA9ZQS321AEMET5080 SRQPVY3TZHF3B7J1883WBPD8WB06Y9NSM4AXT7Y3PZAXDPFS0RW0 b7d9468858f6bcdb31f97ed84937343e7eea7227 XKH4XBWRSK6J1VY3CR9BM23XAR11GY2JXQRNPZYXQKSAK28QZS7G -MR-SOFI-0228 dsm::economic::admission::fence_allows android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_admission_lifecycle::the_fence_blocks_economic_writes_and_allows_ordinary_activity;dsm::sofi_v8_operations::sofi_operations_are_classified_and_gated;dsm::sofi::resolution::tests::void_requires_storage_resolution;dsm::economic::lineage::admitted_position_tests::no_validated_root_is_minted_from_an_unresolved_position - CONFORMANCE §8 MR-SOFI-0228 (Met) EKNNBP2Y115QAK28ZJVX1B8RZJCKQ25SG484ANABYBP9YPJWVVM0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/admission/fence_allows(). PHT2GXY24VAF4HQ864SFGBK7QEBE802HS4GEA89VN7YMGJJKEHN0 BS972CSHA9B3AYV68N1BBAA72QH56ANXDE8J5940DA4J36V1HB00;502QZEA3YH08CR7AZ0ZYEDR15Z0RFSYWG0NE9VSF3EJWZVGC9KNG;0BCSSHQQYJE62JWS8QV9H2K6J9QSB5F808TJGS5WTXMRFM8JQ690;0M6NEYZBJC94DH80Z7B2SYMTED6B5CZHNSEBHYHG9X9EJSD1G8X0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 6DX92MZWQ26FE9SW2ZNBNAH9G1Q383T40MB4HFC35ANVJ05NR9Z0 -MR-SOFI-0228 dsm::sofi::lineage::descendant_fence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_admission_lifecycle::the_fence_blocks_economic_writes_and_allows_ordinary_activity;dsm::sofi_v8_operations::sofi_operations_are_classified_and_gated;dsm::sofi::resolution::tests::void_requires_storage_resolution;dsm::economic::lineage::admitted_position_tests::no_validated_root_is_minted_from_an_unresolved_position - CONFORMANCE §8 MR-SOFI-0228 (Met) A7E1M20ZBW3XJW6VG53BF8JB8N63NG76V842F9QGPRB25ZWH8WXG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/descendant_fence(). PNESB6P5146XBGBKRA02XG3851ES121QAJNA9ZQS321AEMET5080 BS972CSHA9B3AYV68N1BBAA72QH56ANXDE8J5940DA4J36V1HB00;502QZEA3YH08CR7AZ0ZYEDR15Z0RFSYWG0NE9VSF3EJWZVGC9KNG;0BCSSHQQYJE62JWS8QV9H2K6J9QSB5F808TJGS5WTXMRFM8JQ690;0M6NEYZBJC94DH80Z7B2SYMTED6B5CZHNSEBHYHG9X9EJSD1G8X0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 932CTMD4ZG68YWD2TH7JRD8JPGE5F4R9NHAQHTVC1Z207C7KCFFG -MR-SOFI-0228 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_admission_lifecycle::the_fence_blocks_economic_writes_and_allows_ordinary_activity;dsm::sofi_v8_operations::sofi_operations_are_classified_and_gated;dsm::sofi::resolution::tests::void_requires_storage_resolution;dsm::economic::lineage::admitted_position_tests::no_validated_root_is_minted_from_an_unresolved_position - CONFORMANCE §8 MR-SOFI-0228 (Met) KC7KXHSKA8YFYK3ADXDEDYJFJ2T7AD97WPG0C1FXSBNMCD831TZG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 3RGXSFWYQ876BJBAT13HAVWXSDK3GK9Y9C818K0QESD3NV2N0GWG BS972CSHA9B3AYV68N1BBAA72QH56ANXDE8J5940DA4J36V1HB00;502QZEA3YH08CR7AZ0ZYEDR15Z0RFSYWG0NE9VSF3EJWZVGC9KNG;0BCSSHQQYJE62JWS8QV9H2K6J9QSB5F808TJGS5WTXMRFM8JQ690;0M6NEYZBJC94DH80Z7B2SYMTED6B5CZHNSEBHYHG9X9EJSD1G8X0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 9QVH5J8ST71VQ5YGJ1C8PDCFFEJT0ES86QHX42ZKR6AR9JTEZXT0 -MR-SOFI-0228 dsm::types::device_state::DeviceState::advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_admission_lifecycle::the_fence_blocks_economic_writes_and_allows_ordinary_activity;dsm::sofi_v8_operations::sofi_operations_are_classified_and_gated;dsm::sofi::resolution::tests::void_requires_storage_resolution;dsm::economic::lineage::admitted_position_tests::no_validated_root_is_minted_from_an_unresolved_position - CONFORMANCE §8 MR-SOFI-0228 (Met) 18R8N4DRH55BNJE39RK4YHA7BKF6DWVZ20D2GWCBJXY17V3VT6X0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]advance(). ZZ2VV07H48E8QY9YNMD5KTNEX65YMZSHA69K5WTJSBZF26486BT0 BS972CSHA9B3AYV68N1BBAA72QH56ANXDE8J5940DA4J36V1HB00;502QZEA3YH08CR7AZ0ZYEDR15Z0RFSYWG0NE9VSF3EJWZVGC9KNG;0BCSSHQQYJE62JWS8QV9H2K6J9QSB5F808TJGS5WTXMRFM8JQ690;0M6NEYZBJC94DH80Z7B2SYMTED6B5CZHNSEBHYHG9X9EJSD1G8X0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 8VWV0N4PJP69XF3FFZRHDS8TXFPDNWW0Q3VGE2F4FKDQ7SK31960 +MR-SOFI-0153 dsm::sofi::conformance::derive_policy_fulfillments android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_3_the_policy_fulfillment_set_is_the_canonical_set_of_p - CONFORMANCE §8 MR-SOFI-0153 (Met) JKF5VXHZY0FBNVQ98RBXJ98N7MGCCW4F55VV1RMQH4DE0NPK9720 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/derive_policy_fulfillments(). BGVBMZEHARBD52PDAZ0QAC660M69WFZDJPW03SBFSHNP986BJ6P0 DXWNGE55DMFGBAHQ8QR09Q5331VTZ5R3XFDGWXRQVVZGBN1T083G 83b6f616ac244334064c4c56d391c23eb42a7ce6 PJR51ZH95HNC1BKGFDNZ6J3JNS52T4YDACQ5PKZVG1S33AXYGM20 +MR-SOFI-0154 dsm::sofi::conformance::derive_policy_fulfillments android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_3_the_policy_fulfillment_set_is_the_canonical_set_of_p - CONFORMANCE §8 MR-SOFI-0154 (Met) 3W1DJYJ5YE49ZT0BGCNAR9DVS3M8DEATFNCXJMXZGPCMCM4W025G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/derive_policy_fulfillments(). BGVBMZEHARBD52PDAZ0QAC660M69WFZDJPW03SBFSHNP986BJ6P0 DXWNGE55DMFGBAHQ8QR09Q5331VTZ5R3XFDGWXRQVVZGBN1T083G 83b6f616ac244334064c4c56d391c23eb42a7ce6 15PNYSVBZYJEF3Y5JXB0RPQVJSP58X0X7E8RF1A563NWB4HQ7E0G +MR-SOFI-0164 dsm::sofi::wire::objects::TraderFulfillmentBody android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0164 (Met) 5FF92YJDR0AK9GTD7YXS1N9YFSN32SX8TWBBXGW54ZN19V0XSZY0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/TraderFulfillmentBody# BD6QPDMM4VMTXZ5RFVXV85RJ6YGRAZCM0D0AQQ59NC5KQ1A6E2AG Y6J9T12EZQ4N65937XN0FWCRGVZZ2YTZNPSAWWVB4662TB7N0KXG 83b6f616ac244334064c4c56d391c23eb42a7ce6 RECJATPJGCDABKFA8FVMS77CF1604E4AQ3RHD7AE6NVA96KR2EBG +MR-SOFI-0166 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm_storage_node::cells_keep_everything::only_malformed_requests_are_refused - CONFORMANCE §8 MR-SOFI-0166 (Met) Q96TGKQTX5N8X3E6SDT4JF4VG45H7BMS1M15Z6N8GK35Q52TTSR0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). 0GNW3138AJMNVB91YHV011S1F2Y62ZNBXYYVAASXN6NQGBYP8ZRG T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G;644XD2DPTFEYNN29TWCTB31BZF37AZ04Z4DDS4JGBC89NY7TPSVG 83b6f616ac244334064c4c56d391c23eb42a7ce6 QK9XV5DJ89VDKWXJAT1S9KYFWTSG9FVNJN365YFZHGBX9FPAJGD0 +MR-SOFI-0166 dsm_storage_node::api::cells::get_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm_storage_node::cells_keep_everything::only_malformed_requests_are_refused - CONFORMANCE §8 MR-SOFI-0166 (Met) GMS9557773WV2JX6M5DCBTYTFZFX47GQK57SFAW46R7QDSZPEZH0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/get_cell(). GQ89DYSM982HXMFYTS8N7Q0484HCNR93RNF7K9AD28KMBH5ETPBG T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G;644XD2DPTFEYNN29TWCTB31BZF37AZ04Z4DDS4JGBC89NY7TPSVG 83b6f616ac244334064c4c56d391c23eb42a7ce6 YC3246S05CCTSZGQD19366SB4N6PNH911G313Y4NYXAN0GVKVTRG +MR-SOFI-0166 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm_storage_node::cells_keep_everything::only_malformed_requests_are_refused - CONFORMANCE §8 MR-SOFI-0166 (Met) XTSFHNWXDH7EGFR15YX7G6VJ75YJMJHD74JGW57H0S32WSEVCJ0G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). PG9D9T049JFWQH6JZV03094SYAQAENXNC7NFP2A5TXV7EJWDECKG T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G;644XD2DPTFEYNN29TWCTB31BZF37AZ04Z4DDS4JGBC89NY7TPSVG 83b6f616ac244334064c4c56d391c23eb42a7ce6 HF8Z8P3J2ASZNK4B5YJ7Z8AY0WFEHTDA5VS7XMC6M5NR64EEFF2G +MR-SOFI-0167 dsm::sofi::derive::resolution_claim android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim - CONFORMANCE §8 MR-SOFI-0167 (Met) Q1AKSHEN52A06K7HQEZ19ZSXV1X97Q0T3BGWHZX4VFZS01EMQVA0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/resolution_claim(). F7JB41KVMQ8VRD9N5P44VE5HMVJER21QD44D2B458H6EE29SST50 XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG 83b6f616ac244334064c4c56d391c23eb42a7ce6 B9NDMMGZY1QG69EN26MJBPSHQ7QFB0CH6M5718AVHPJ9F1PXJZ0G +MR-SOFI-0168 dsm::sofi::registration::fulfillment_registered android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim - CONFORMANCE §8 MR-SOFI-0168 (Met) JS246CAJVQ8C0APQXYJX0F9G4JBGD2S8FQKS5BCA6P63P17FGY1G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/registration/fulfillment_registered(). QHM4GX9X80C41P2JE9W657E57J2CZC0BJKRGQWRVF97A3QTF3150 XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG 83b6f616ac244334064c4c56d391c23eb42a7ce6 FT4JGFVNXX6BNPV8TNY2KAGHXS5VMNH2TWSWG7S9ZSV7MM76M91G +MR-SOFI-0170 dsm::sofi::exercise::recognize_exercise android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_exercise_round_trips_and_rebuilds_into_bound_objects;dsm::sofi::exercise::tests::an_exercise_counts_only_when_f_and_p_are_signed_under_the_key_p_commits;dsm::sofi::publication::tests::an_envelope_is_recognized_only_when_its_signature_verifies_under_its_bodys_key - CONFORMANCE §8 MR-SOFI-0170 (Met) 1Z54NJ1K25FKK9C0HK472RFJC284DKMHT6SEJM5E3AXMX5V1C3AG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/recognize_exercise(). T695GDW3PS5TB27FCYMPR8DEVKRD53C2DHJFFE2V3B7APBCN32W0 BDG6Q7WG4JX014MVWP0FRNVYDDPC9AWJ1MSTHK65TVJ828TG251G;HGV91KKBWF0DQ6JBNJ31XGVFYH4E7EPKSEHES5DCVN91MRTFCWG0;7AQYXQP1WMJN3ZTF81JCZ7X7ARCABZGFK0C29CZYNBHEDDFBFDK0 83b6f616ac244334064c4c56d391c23eb42a7ce6 JARDW1RZJZ4R3WGW0EN2HAPGDQCYRV4J4SM6DVJY0X2R3K3FVA50 +MR-SOFI-0170 dsm::sofi::wire::objects::SofiExercise android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_exercise_round_trips_and_rebuilds_into_bound_objects;dsm::sofi::exercise::tests::an_exercise_counts_only_when_f_and_p_are_signed_under_the_key_p_commits;dsm::sofi::publication::tests::an_envelope_is_recognized_only_when_its_signature_verifies_under_its_bodys_key - CONFORMANCE §8 MR-SOFI-0170 (Met) 0CSZECVEBPYMWF2VGH8K30H1FEAPKNTJY6SWSPWF8AYP5HF1PHNG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/SofiExercise# QCF274WH7HFG9VAFEZFQ5SETVHJ75G24S32MFMNA8CQKXYPBGKHG BDG6Q7WG4JX014MVWP0FRNVYDDPC9AWJ1MSTHK65TVJ828TG251G;HGV91KKBWF0DQ6JBNJ31XGVFYH4E7EPKSEHES5DCVN91MRTFCWG0;7AQYXQP1WMJN3ZTF81JCZ7X7ARCABZGFK0C29CZYNBHEDDFBFDK0 83b6f616ac244334064c4c56d391c23eb42a7ce6 W41RBFVVG62J8KD7QNCJJ253X6396KP205HG4Z2KKBZ3Z5MSTYYG +MR-SOFI-0171 dsm::sofi::exercise::exercise_names_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_exercise_names_exactly_the_keys_its_fulfillment_and_precommit_name;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open - CONFORMANCE §8 MR-SOFI-0171 (Met) 9W8V4GFEFDK18CNXRVKG6RW8JAP63YZSA936Q7ZZV62J8TNWAPA0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/exercise_names_key(). RXNHZWBATFFGFEMQDJJVBXER0521J05X9VHVT5DBRHWMNA695P5G ZCJFJW5BC120E4Y8Y72D1WAM3VRM8QQ9YG51VY07EKB8V9VTTDS0;A077PA4PM12TWH3KX6E55ZKHXSSPTA6BSSS99F5TFG1HPNA3E38G 83b6f616ac244334064c4c56d391c23eb42a7ce6 9AWGV890ZT8888WG1YR30VGFV9JBY7N0SYQ2Z6QTTTRD6J0KP6R0 +MR-SOFI-0172 dsm::sofi::wire::objects::SettlementPreimage android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::decoders_refuse_wrong_envelopes_truncation_and_trailing_bytes - CONFORMANCE §8 MR-SOFI-0172 (Met) C6GW8EK7HKTY9EKQFR7E5780RFRNGEEGHRW621T1QHZBT930ND80 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/SettlementPreimage# 75FMD04R37SSX5XGZ68K0JFP5DCEAZ6MGH80WF6ADYZ01N8VTRT0 F4T832JK0H6QKSW9XABFSZS1RVNATCCBKFVC7MEYFWG96DVQ6J8G 83b6f616ac244334064c4c56d391c23eb42a7ce6 KAGEFE1J29AXASKPRTC9KA02N3BG2HHM502NEC3J4F92MZY2S0Y0 +MR-SOFI-0173 dsm::sofi::validation::check_settlement_core_references android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::both_settlement_branches_and_both_authorities_match_and_round_trip;dsm::sofi::validation::tests::a_settlement_body_naming_another_core_is_invalid;dsm::sofi::validation::tests::a_settlement_body_naming_another_trader_core_or_parent_is_invalid - CONFORMANCE §8 MR-SOFI-0173 (Met) N1SG2HXVXRA7G56H75THAKZQPKZR62YGG7RKVZCZ5RK2JDVFBKN0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/check_settlement_core_references(). Z4Y7J3JHH6M4SDJX0V148CVNRSF3KDA4DWD91DAAPS758HQXFRQG EANVG20TBEYCFJ0148T6K6Q1J5D95MZPBXVC8YY615DWS6AW3MT0;QA0GK0WDY5WT5BPJYK24YKH9061K75YA15C76F370Y9A4G8G6X30;754DRJY0MJV58YT3ZE13QD3Q136RRDRBTS1T1PGFWESEB77F64GG 83b6f616ac244334064c4c56d391c23eb42a7ce6 AF4RKY1QE04S3W857CETVJ0B3JX1P2KSTFSWP2351KVEJDB9R360 +MR-SOFI-0173 dsm::sofi::wire::objects::SettlementBody android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::both_settlement_branches_and_both_authorities_match_and_round_trip;dsm::sofi::validation::tests::a_settlement_body_naming_another_core_is_invalid;dsm::sofi::validation::tests::a_settlement_body_naming_another_trader_core_or_parent_is_invalid - CONFORMANCE §8 MR-SOFI-0173 (Met) 2CTN5B55EXKWY7PK2RA22YZXNQVB34JA1AVHHG3KAP7B3RZ8947G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/SettlementBody# NP8GAZYVT2VAQV0GKXGBJ1YFF3Y077WWSNF7ZY43AE75V5GHTZDG EANVG20TBEYCFJ0148T6K6Q1J5D95MZPBXVC8YY615DWS6AW3MT0;QA0GK0WDY5WT5BPJYK24YKH9061K75YA15C76F370Y9A4G8G6X30;754DRJY0MJV58YT3ZE13QD3Q136RRDRBTS1T1PGFWESEB77F64GG 83b6f616ac244334064c4c56d391c23eb42a7ce6 78WD1PB7R2VV4WHAWYK0T22XDRN2MKX0HMYMBENVA9W51BNTSKR0 +MR-SOFI-0174 dsm::sofi::validation::validate_close android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::both_settlement_branches_and_both_authorities_match_and_round_trip;dsm::sofi::validation::tests::a_close_claiming_the_wrong_reserves_is_invalid - CONFORMANCE §8 MR-SOFI-0174 (Met) WSB9EGYG9DE4YVRKEE3GR3PV9C43BG3W9GMAV7F3ZVPP2127DTMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate_close(). XDFHRJ7KMX9E109Q3NDMF4FV6KQZ06R7FJVJ8X76YE8H7K1V40B0 EANVG20TBEYCFJ0148T6K6Q1J5D95MZPBXVC8YY615DWS6AW3MT0;B76JJ3PVGWEW23B0TVAPSEQCC5HK6H8QFQNZG735E1C4XFM7870G 83b6f616ac244334064c4c56d391c23eb42a7ce6 AWDHMFNAWPHXQ450XYMNKQH19XD29CFSNP1QWA5S12EGZMV736NG +MR-SOFI-0174 dsm::sofi::wire::objects::SettlementBody android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::both_settlement_branches_and_both_authorities_match_and_round_trip;dsm::sofi::validation::tests::a_close_claiming_the_wrong_reserves_is_invalid - CONFORMANCE §8 MR-SOFI-0174 (Met) E0B6JBN8YW80H2TZ1DFNJ9B92V46G7513CHAE42K247Y4MZ80MQ0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/SettlementBody# NP8GAZYVT2VAQV0GKXGBJ1YFF3Y077WWSNF7ZY43AE75V5GHTZDG EANVG20TBEYCFJ0148T6K6Q1J5D95MZPBXVC8YY615DWS6AW3MT0;B76JJ3PVGWEW23B0TVAPSEQCC5HK6H8QFQNZG735E1C4XFM7870G 83b6f616ac244334064c4c56d391c23eb42a7ce6 JBZ235NVE29W573QR6TTHNEQ6S5ZPT1GFXD7X8Q3CR4VG55CG56G +MR-SOFI-0175 dsm::sofi::wire::objects::ValidationRef android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::closure_index_enforces_bounds_order_and_current_e_exclusion - CONFORMANCE §8 MR-SOFI-0175 (Met) Z9GPTZGJKP8RJNYGRSKT9Q2AC3CZ5AAY8VVQBWYTP5CVX26J77Q0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/ValidationRef# E3CQAE12FANF86R6TAHN8B97NSK1R4WBH7ESQ00D4JEW5QCJTGNG 48YZDAQMW9J7E4XZC2XPETJC8ABE2ME7FQW4CTK7H4ZNEK5MPN1G 83b6f616ac244334064c4c56d391c23eb42a7ce6 VE74VW2YZ674RA8V2F3HFP3CY96V71E1Z2CB1R1XVYGD4BCNF660 +MR-SOFI-0176 dsm::sofi::wire::objects::PreEClosureIndex::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::closure_index_enforces_bounds_order_and_current_e_exclusion - CONFORMANCE §8 MR-SOFI-0176 (Met) ZMECH9Z6BYJ32GV29ZNZZMHYB8K15Q2FMETGV5P0YMB4955TQTAG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/impl#[PreEClosureIndex]new(). WPEKDEXKT849NQV0RFG6WTCEBWBGF9HEQ626G4N0JSXHHJ938PSG 48YZDAQMW9J7E4XZC2XPETJC8ABE2ME7FQW4CTK7H4ZNEK5MPN1G 83b6f616ac244334064c4c56d391c23eb42a7ce6 ZGNWCV33EREP4KB38Z2VYDMA1GXK1DHFFRD4KY19ZER51RP7RBX0 +MR-SOFI-0177 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::closure_index_enforces_bounds_order_and_current_e_exclusion;dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0177 (Met) E3JWXX2Z83SW8W55WVXARH4E0VQ5XH0E4Q94CJSM4XY8V19PX7AG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). 0GNW3138AJMNVB91YHV011S1F2Y62ZNBXYYVAASXN6NQGBYP8ZRG 48YZDAQMW9J7E4XZC2XPETJC8ABE2ME7FQW4CTK7H4ZNEK5MPN1G;32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 QVMQJ8FWST61X301MEZHB79ZV8KHX6KMYAM25VJT17RP57M4EHG0 +MR-SOFI-0177 dsm::sofi::derive::recompute_e android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::closure_index_enforces_bounds_order_and_current_e_exclusion;dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0177 (Met) 01E6KJTEFN820MRJEGTTX0M1MS0SWP6Q1N9T4TFCBJ60Y98GB0F0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/recompute_e(). Z7QFEMQJPQXSM5BQPKCQ9FBEPGKP1AZ698T9F1W33MHTF68CHHVG 48YZDAQMW9J7E4XZC2XPETJC8ABE2ME7FQW4CTK7H4ZNEK5MPN1G;32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 4DBC3E5VY5RKY8GXFMKNSKT9GKH5GS54FCGVQ74XH9SK80A72CK0 +MR-SOFI-0177 dsm::sofi::wire::objects::PreEClosureIndex::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::closure_index_enforces_bounds_order_and_current_e_exclusion;dsm::sofi_v8_independent::derivations_match_the_independent_hasher_and_the_frozen_golden_digests - CONFORMANCE §8 MR-SOFI-0177 (Met) VA36F1C0J2PX4Z9TP8RCC9V1M53YWSJXN6FQKJ7Q0MWA1QXGJ0Q0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/impl#[PreEClosureIndex]new(). WPEKDEXKT849NQV0RFG6WTCEBWBGF9HEQ626G4N0JSXHHJ938PSG 48YZDAQMW9J7E4XZC2XPETJC8ABE2ME7FQW4CTK7H4ZNEK5MPN1G;32WC5Y8ME0PHJYE7PA5TFV4262JXKABJ3GHGN9GXAP8KTQBXR0S0 83b6f616ac244334064c4c56d391c23eb42a7ce6 BEC5PNMJZ8D69N85FXMC1HWT5KHPMDFH3WNA9QTV9RHR2FG1PBHG +MR-SOFI-0178 dsm::sofi::derive::canonical_legs android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs;dsm::sofi_v8_vault_bytes::a_close_takes_the_single_vault_form_and_never_collides_with_a_swap - CONFORMANCE §8 MR-SOFI-0178 (Met) A1ZPBD7CSCENEBDR9CAAH122N49SEN04N3NYPRK95HSAFPBN1K20 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/canonical_legs(). M12M887217P8R5SZWMNETG1JNV8PB4ETQ7K0M2EKK92AG379Z9C0 BH0BVK5PJYQ268QMJEDNH3GJ632F77MPNZPH02REWYQJTGE2GA9G;BSQQPNVFV7WFMEXPV6C5FQM8Z93J0CJHCVB2Z80P40XGGNSA3XGG 83b6f616ac244334064c4c56d391c23eb42a7ce6 YYGCH4PCN5R8JPSBE10T801FSBHNV65SX2E9P0G75FBDNH97M9H0 +MR-SOFI-0178 dsm::sofi::derive::recompute_e android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::the_e_form_follows_the_leg_count_for_one_two_and_three_legs;dsm::sofi_v8_vault_bytes::a_close_takes_the_single_vault_form_and_never_collides_with_a_swap - CONFORMANCE §8 MR-SOFI-0178 (Met) TWCDE1ZBHM241XZPWEG6544QCR0RPBZHCT2WEG7PQ2EKJBB3K290 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/recompute_e(). Z7QFEMQJPQXSM5BQPKCQ9FBEPGKP1AZ698T9F1W33MHTF68CHHVG BH0BVK5PJYQ268QMJEDNH3GJ632F77MPNZPH02REWYQJTGE2GA9G;BSQQPNVFV7WFMEXPV6C5FQM8Z93J0CJHCVB2Z80P40XGGNSA3XGG 83b6f616ac244334064c4c56d391c23eb42a7ce6 QFB1MD9HGCG1GJ762SQY2P4EYAQAY61WAR3ESZG43G9V8V2N7A60 +MR-SOFI-0179 dsm::sofi::validation::trader_fold_entries android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_wrong_relationship_base_is_invalid - CONFORMANCE §8 MR-SOFI-0179 (Met) JWCARXMJCM77SDSK8KHSANCDE239P68FESFM0B5DD17V1NDSAWH0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/trader_fold_entries(). JD2VC370KZ9NZPCYXFJWMPW1KN8WTZ7VAQ80XEM3JFKZVRC0TYGG J1F2VFAZNDMMTEZ3TZHWG50QSF1ZRRQ1PS2YBNT4J9B1VR8A3GE0 83b6f616ac244334064c4c56d391c23eb42a7ce6 CY9J1AXRRQCTHFX82JYQVGBAVHET6PC0Y5DNZSJK211BAJ387E10 +MR-SOFI-0181 dsm::sofi::wire::objects::VaultStateLeaf android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0181 (Met) TMG50PQ47P9VWMRBCPASY8RC6J4EVYSW23R8T484F0KES9G4QNPG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/VaultStateLeaf# VE7FW1C4JD6R1ZBV5M5109YZ7B4QKDVGMHA5TQ7NYBP8XD8SWKC0 Y6J9T12EZQ4N65937XN0FWCRGVZZ2YTZNPSAWWVB4662TB7N0KXG 83b6f616ac244334064c4c56d391c23eb42a7ce6 S4QDA2JTH1Y4XS718PEK0D39RVPJBJX9TG0WPJ66MBFSXEKBQM6G +MR-SOFI-0182 dsm::sofi::wire::objects::VaultRelationshipLeaf android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0182 (Met) P8KCFKS9MX7B6FT0BS472TA4S3Y1DRA3XGHW7TE368JABW37N9JG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/VaultRelationshipLeaf# A5FKZZ31VD5Q1HBTW6ZN8QAVKX1K9RTMR6S6JWJ4NM8CKFHHDGZG Y6J9T12EZQ4N65937XN0FWCRGVZZ2YTZNPSAWWVB4662TB7N0KXG 83b6f616ac244334064c4c56d391c23eb42a7ce6 JVXT70BDF4P487DQS4R5K5Y30GW39H36442KCVVQVAGRBV2JRKX0 +MR-SOFI-0183 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_setup_inserts_exactly_one_relationship_leaf_from_zero;dsm::economic_write_set::a_setup_refuses_to_replace_an_existing_relationship;dsm::economic_write_set::a_sofi_leaf_is_refused_under_the_wrong_operation - CONFORMANCE §8 MR-SOFI-0183 (Met) 1ACBM9Y744GG2D3JZXV2Q2ZK6DPKXWAYRDHABB9KHVKKZ5NYYVA0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). ZHP08EX4NHJGE0M8MSVJETQ4AYSP7X053J607M9VZ2BED8MY5CN0 X73H9WCS9Q2Q64S10PJ3PJJH0GP56VMNHQBMKW1BRKQ4T100VJ80;YEK1HXQYKS1XW3B9TH96ETHTQ0W1892K2FQY4M7T1AKXD22C62KG;FY12XH5Z3KHCGFAWJ27YQAD207WCA7A15E70240PXYQ0DN5DNYT0 83b6f616ac244334064c4c56d391c23eb42a7ce6 QYQY5Y27GZX6409HFHVV2T16GPBW6W9V4853YJCJGM2YP4G90MY0 +MR-SOFI-0183 dsm::economic::write_set::verify_operation_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_setup_inserts_exactly_one_relationship_leaf_from_zero;dsm::economic_write_set::a_setup_refuses_to_replace_an_existing_relationship;dsm::economic_write_set::a_sofi_leaf_is_refused_under_the_wrong_operation - CONFORMANCE §8 MR-SOFI-0183 (Met) TFGJWNAK5R7BQEGMT1VZXCQDKS3S7GK9DQ8M1KM8M166ZV8DJN60 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/verify_operation_write_set(). 483MQWSAYNEGZKZWJ3S50M2GVVAG2SATA4MPKRG3B7SM2W371MH0 X73H9WCS9Q2Q64S10PJ3PJJH0GP56VMNHQBMKW1BRKQ4T100VJ80;YEK1HXQYKS1XW3B9TH96ETHTQ0W1892K2FQY4M7T1AKXD22C62KG;FY12XH5Z3KHCGFAWJ27YQAD207WCA7A15E70240PXYQ0DN5DNYT0 83b6f616ac244334064c4c56d391c23eb42a7ce6 FYMF5GC53SDV7CCRCWC8WBXBKCFJY2ERAG2KJYSCRSX38J8XFTRG +MR-SOFI-0183 dsm::sofi::derive::relationship_leaf_genesis android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_setup_inserts_exactly_one_relationship_leaf_from_zero;dsm::economic_write_set::a_setup_refuses_to_replace_an_existing_relationship;dsm::economic_write_set::a_sofi_leaf_is_refused_under_the_wrong_operation - CONFORMANCE §8 MR-SOFI-0183 (Met) GVMZ4ESB6HGW39J61NAP0NEDKC5FR1PP74BQQAHFMPY4BCH3PXKG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/relationship_leaf_genesis(). 0G1F94H5QSR0FCVR22GBMYT82VHD7JZBR2H5B3ZJMQ6NPBN7JV7G X73H9WCS9Q2Q64S10PJ3PJJH0GP56VMNHQBMKW1BRKQ4T100VJ80;YEK1HXQYKS1XW3B9TH96ETHTQ0W1892K2FQY4M7T1AKXD22C62KG;FY12XH5Z3KHCGFAWJ27YQAD207WCA7A15E70240PXYQ0DN5DNYT0 83b6f616ac244334064c4c56d391c23eb42a7ce6 YQ2RDWYM2TEAK69NS7TRZCH11C7TTTGM3DFCZFHPSEGPCX9Z8820 +MR-SOFI-0184 dsm::sofi::wire::objects::VaultStateLeaf android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_independent::every_object_matches_the_independent_encoder_and_round_trips - CONFORMANCE §8 MR-SOFI-0184 (Met) TESC0VGSZ111TK893FYRMD1MZEC74G1H0C3QM18XQB8BQPRGT340 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/VaultStateLeaf# VE7FW1C4JD6R1ZBV5M5109YZ7B4QKDVGMHA5TQ7NYBP8XD8SWKC0 Y6J9T12EZQ4N65937XN0FWCRGVZZ2YTZNPSAWWVB4662TB7N0KXG 83b6f616ac244334064c4c56d391c23eb42a7ce6 0NPHZH779D9PDXFPFXHKD8KRHVQNZ2RX81JN0ZZT989J51W2N6M0 +MR-SOFI-0185 dsm::sofi::validation::swap_vault_post android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_close_pays_the_reserves_exactly_and_never_prices_them - CONFORMANCE §8 MR-SOFI-0185 (Met) 22SSY545H0KSYB56R071WEYP29384N8KYC2YAZFJWQ25BB2S6Q4G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/swap_vault_post(). TT4TB522J4FYEKKM3SCKVG3321982ZGPJ2N27FWFT4Y1Q633PSD0 EEP9NTYX63EMCDVHK9QCX2PKSVX66MESDSC91ZCAABPGYQSN5RA0 83b6f616ac244334064c4c56d391c23eb42a7ce6 CKZMWH0M5FVZD8YM8MGHTXTFAX1EZK6Y7906BFZQ26FZRM5ZBKZ0 +MR-SOFI-0187 dsm::sofi::validation::check_vault_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::an_extra_trader_entry_is_invalid;dsm::sofi::validation::tests::a_missing_trader_movement_is_invalid - CONFORMANCE §8 MR-SOFI-0187 (Met) Q19M88R6RY5AVY44H864377D797FFRKBTSMCJQW4FZDJK0SZNDZG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/check_vault_write_set(). SGFDRT9KP31RPG5B6MM13P70M5DKXKW9WKM27NYKAHHBXNS3P82G EGPP9GEWBJN7VHDTKFYT09JE897DZ96C8V9GHADRE8XB5S9HQK70;QFHZ14T9XXSXVAGPPQSQRT9NAVX4TEX6GB5GV7MPNNKRX4K4QABG 83b6f616ac244334064c4c56d391c23eb42a7ce6 R2WGY75EPXSAHXTJMFWEK5V5QM3CR0X8E1J2WCY9FSKAYF0X6NA0 +MR-SOFI-0188 dsm::sofi::validation::validate_swap android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_well_formed_swap_is_valid;dsm::sofi::validation::tests::a_two_hop_route_chains_through_the_intermediate_token - CONFORMANCE §8 MR-SOFI-0188 (Met) CYQ27K47Z64H2BF1C1M5B88TE8CEKNG31YM77DT90GCJSNZ6WGK0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate_swap(). M7P679FBJMN4P6BPQ6PAFH1JDP9S1N8XYYMPZKTBKBEEVB8CFXPG WQ9KRPVFQC3EYZZJPRJR523H0N9S7HRWN5X6YZB5VE3JMST2KCE0;MBCMB1BHJN1WJHR9RPYPVFPJGEWH02PGX4JSMSJEB1XXWFCRE810 83b6f616ac244334064c4c56d391c23eb42a7ce6 B9RK6FVQC9TXQ4PA79DSS4YD690RMBSYXFK6QZYQ2238NZ5A3P3G +MR-SOFI-0189 dsm::sofi::validation::validate_close android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_well_formed_close_by_the_origin_owner_is_valid;dsm::sofi::validation::tests::a_close_that_does_not_retire_the_vault_is_invalid - CONFORMANCE §8 MR-SOFI-0189 (Met) XW84BHASNXYHFEHJS6GGH3DD4YTDTPXQ5AQRE97KFKPHQMR99600 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate_close(). XDFHRJ7KMX9E109Q3NDMF4FV6KQZ06R7FJVJ8X76YE8H7K1V40B0 X7BXR7BNBVGEWZKMNCFPX2V1VDX3HKKRJ6FXAZHWFENKPGDV2PMG;AK8VT7R26N0YANQJS5FXYND30DVF7FS8P0Q93S7GJ1W97HHYH1K0 83b6f616ac244334064c4c56d391c23eb42a7ce6 RFXKP4J81CVD95BS93BJASRSA5XZYWGJYY19KJS3YGP44FZRFFQG +MR-SOFI-0191 dsm::sofi::admission::admissible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::admission::tests::beta_refuses_more_hops_than_it_executes - CONFORMANCE §8 MR-SOFI-0191 (Met) 9JVKD1J0V8X4VFMC3GNJV5TCP0MY5SPQ0BWR39BGGD8FJPGSYY20 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/admission/admissible(). 8H8NNQA1RZAVQRJHXSEWR7ZT25W2313EGS0W9F0YTB32K3MX3RTG 3NPB9MX7AHYK3WECJ6HCK3V6Z61MW71QNTP9NVEPQGY2RSHQC8YG 83b6f616ac244334064c4c56d391c23eb42a7ce6 TRWHDCBY1BCPEGJRSWPMEWFAGVH3AYD5P5HF6QRT0HVA261EPFBG +MR-SOFI-0193 dsm::dlv::route_commit::constant_product_output_classified android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::an_off_by_one_output_is_invalid;dsm::sofi::validation::tests::an_overflowing_reserve_is_invalid - CONFORMANCE §8 MR-SOFI-0193 (Met) 4XNFF9XMJC4AM02QYA5QEGVKBPSWX5XWNCRGCEVE40A036MPQWRG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 dlv/route_commit/constant_product_output_classified(). ED8RH5QS1T8XT563EW29K3VX0JPRQW3DDD02N8XFX8RFG0PFY09G KBM0PTZFEZ40CPPXPNYEN117S4K48368APXR8JMSTYN6A657W1W0;XXQD032N470M18KQWAB0SFYFH2JCSG9YGAM7B7DKPPVFMJ1FJ790 83b6f616ac244334064c4c56d391c23eb42a7ce6 TK4T38CA9KJ8JCTJ17DGYWB7Z30F2TY7C4DM9QW58RC58P4HFY0G +MR-SOFI-0193 dsm::sofi::validation::validate_swap android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::an_off_by_one_output_is_invalid;dsm::sofi::validation::tests::an_overflowing_reserve_is_invalid - CONFORMANCE §8 MR-SOFI-0193 (Met) 7D78SFHF7X0QSD2XQWHMPX5G0BTZ17VR1C7SP3M5H924NMPAGJH0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate_swap(). M7P679FBJMN4P6BPQ6PAFH1JDP9S1N8XYYMPZKTBKBEEVB8CFXPG KBM0PTZFEZ40CPPXPNYEN117S4K48368APXR8JMSTYN6A657W1W0;XXQD032N470M18KQWAB0SFYFH2JCSG9YGAM7B7DKPPVFMJ1FJ790 83b6f616ac244334064c4c56d391c23eb42a7ce6 ZZ8568ABQ9E0BY11RHZMA348R8EWXHX3JQTHFQEZVDCWEAZ2JV6G +MR-SOFI-0194 dsm::sofi::validation::validate_close android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_close_claiming_the_wrong_reserves_is_invalid;dsm::sofi::validation::tests::a_close_against_another_release_policy_is_invalid - CONFORMANCE §8 MR-SOFI-0194 (Met) H73NANAS75Z6YYSDWVGKK8DGV1SZXDQ521KG3MZ4FP8RRXBC9C0G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate_close(). XDFHRJ7KMX9E109Q3NDMF4FV6KQZ06R7FJVJ8X76YE8H7K1V40B0 B76JJ3PVGWEW23B0TVAPSEQCC5HK6H8QFQNZG735E1C4XFM7870G;TWVSG8C12DWWHWGGK61QSNBZP6PZRM1Y463TTXFA1MT878NAA0KG 83b6f616ac244334064c4c56d391c23eb42a7ce6 BZ6MQG9XYPRPMKJASF3JHE04X3TPA3BG1SQDYFP77N8RDE470K0G +MR-SOFI-0195 dsm::sofi::lineage::advance_resolved android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::a_realized_position_installs_the_realize_root;dsm::sofi::lineage::tests::a_void_position_installs_the_previous_root - CONFORMANCE §8 MR-SOFI-0195 (Met) 5C2APBSR31K6G83SDYYPFDTDKNYYW3HZFRGRNY0W8VSY5657YZ2G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/advance_resolved(). 7XMHFHYKJAJ1EBD6C4WNEX5ABNYDQ6RA1Q8EWNAAEP036WYG8WEG GPQ5DEG20KW1RXF5TP7MK55TG6HPAEKMVVQYE7AQVBMJ006FHFG0;59STDCM2CJ99YPGJR0V9S099JTX7CA384KMG716S0SE3XRBEQNZ0 83b6f616ac244334064c4c56d391c23eb42a7ce6 N7W2579QAWZQ9EA9HMKAWF2WFJYYAQA21GQKXF043S306F8CF3KG +MR-SOFI-0196 dsm::economic::credit::CreditSource android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::peer_lineage::tests::a_conditional_peer_position_is_unresolved_and_never_invalid;dsm::economic::peer_lineage::tests::no_validated_root_is_minted_from_either_branch_of_an_unresolved_claim - CONFORMANCE §8 MR-SOFI-0196 (Met) AFJX6C9RSPXZ3C5J61R3777S5KQ8XGPQWKP20R147P4R11J0NYWG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/credit/CreditSource# MBAXGPBN7SXX4J20EVEZA1AX6WTG8Y47A7B51C58E1BQ37942050 WJ6EN9G3Q111Q36KFWC3CFGDE6DREQCHH3TRT07N0AAFQGM6J4X0;JWRRSHMB8KHZRMH9FE84QX8T7YYXF0M4X6QMMT876KWNA84Y3TBG 83b6f616ac244334064c4c56d391c23eb42a7ce6 ZT99V9Y27W72HSM46DSG4KGBXA2G6X3WXQD3JEGKEE8KVNK9JEE0 +MR-SOFI-0196 dsm::economic::peer_lineage::validate_peer_lineage android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::peer_lineage::tests::a_conditional_peer_position_is_unresolved_and_never_invalid;dsm::economic::peer_lineage::tests::no_validated_root_is_minted_from_either_branch_of_an_unresolved_claim - CONFORMANCE §8 MR-SOFI-0196 (Met) B5QD48Z1TFQWVRQ77A603CV6M50G9FA1J4D7PTQC11CVSW4VG98G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/peer_lineage/validate_peer_lineage(). J5REJCC2BQZ9397BFJB4XVNPWRB34QPXDCQ2HFX0SE1GZY4RNX60 WJ6EN9G3Q111Q36KFWC3CFGDE6DREQCHH3TRT07N0AAFQGM6J4X0;JWRRSHMB8KHZRMH9FE84QX8T7YYXF0M4X6QMMT876KWNA84Y3TBG 83b6f616ac244334064c4c56d391c23eb42a7ce6 B03A5SZ2GFHQ7H9TX6RV3T6NZK1YXQYJ97Z0FYMZNAA9GZE16FN0 +MR-SOFI-0197 dsm::sofi::lineage::advance_resolved android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::advance_is_refused_on_each_missing_conjunct - CONFORMANCE §8 MR-SOFI-0197 (Met) DQQC9VGP1JAZC2CM9H4PHNCD2NXR046BYME78ZWFJF9DHH38QP30 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/advance_resolved(). 7XMHFHYKJAJ1EBD6C4WNEX5ABNYDQ6RA1Q8EWNAAEP036WYG8WEG Q62TGEDTPCRBDWCQYETJRZP5R9Z92ZTEDB1K205S6Y365YYMG8QG 83b6f616ac244334064c4c56d391c23eb42a7ce6 FR1JQ26890PNZN8XNYADXS4VPA009RZ9KGY53ERR3QBPM1BDE3R0 +MR-SOFI-0198 dsm::sofi::validation::validate_close android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_close_of_another_owners_vault_is_invalid_on_identity_alone - CONFORMANCE §8 MR-SOFI-0198 (Met) YK50G8EBJ2WGDANY8TA5KX9KMWZNP6CX2EVXM8JANVFNH9NPKJMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate_close(). XDFHRJ7KMX9E109Q3NDMF4FV6KQZ06R7FJVJ8X76YE8H7K1V40B0 6ZT2D6W4E5ZWY672BZW8QRCNATVHPK47H0Q42QCEX6JZEY73Y3GG 83b6f616ac244334064c4c56d391c23eb42a7ce6 ESDSTC5BPVC4RJ51PCV385N3WBD0ZWFR3PJSVBVP4D47HEBSETBG +MR-SOFI-0200 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::write_set::vault_create_binding_tests::a_creation_whose_every_binding_holds_produces_the_write_set - CONFORMANCE §8 MR-SOFI-0200 (Met) WTFQ2RJ3NSDT59MR2ZDEJ8S5ZB130WSA9D0JNCX0CF9GKHGGPRV0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). ZHP08EX4NHJGE0M8MSVJETQ4AYSP7X053J607M9VZ2BED8MY5CN0 XC1D1BEZKMSYRZEE4NQRARZ8P40M2XPZMVDDGVHHTE624SEEJ3V0 83b6f616ac244334064c4c56d391c23eb42a7ce6 KMFDJ6A1G700E5XBWTN6QWS8X40FDD61CBCQNCMD8783FBKKXVHG +MR-SOFI-0202 dsm::sofi::lineage::genesis_accepted android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::genesis_acceptance::a_genesis_the_owner_did_not_create_is_refused - CONFORMANCE §8 MR-SOFI-0202 (Met) MWT0WRTR859H0ARPVFPJ1KBF019E5V9X2JPPWD61VB3WG5VVTPY0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/genesis_accepted(). FVVEKJY3C3B7Y5WVFA4VP5W59NY32NAK0MVT6JH3QV9AWQCSF3YG 0TMRDRJHWZ915V9AKXSANMMBZ3012FBKSN851F703DQH29ZZHN30 83b6f616ac244334064c4c56d391c23eb42a7ce6 6B2YY7NMKPHQ2BMK2GY3031GY15WZ7SYHKMMJN54VA8QBPPE3D5G +MR-SOFI-0202 dsm::sofi::resolve::Verifier::vault_genesis android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::genesis_acceptance::a_genesis_the_owner_did_not_create_is_refused - CONFORMANCE §8 MR-SOFI-0202 (Met) K2SA7GMPBS1MGJ12R0CYVNYADQE43BQJT9XSYDH4HV85G1HTW4JG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/impl#[`Verifier<'_, R>`]vault_genesis(). WC05P2A1H0NYV8W6HKHE7ZBQ42EWPFEV2C5S6HGE2BDJ2HYYXS50 0TMRDRJHWZ915V9AKXSANMMBZ3012FBKSN851F703DQH29ZZHN30 83b6f616ac244334064c4c56d391c23eb42a7ce6 0FT4S9025WCSY09HJAQZJ1MFP66J1280Y73K90R8W4BC3WJJT640 +MR-SOFI-0203 dsm::sofi::validation::swap_vault_post android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_well_formed_swap_is_valid - CONFORMANCE §8 MR-SOFI-0203 (Met) 2RN5GQSEGK3VSMD0NJB2E2E872KQ9MYEKDA5067K904XTSVGK00G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/swap_vault_post(). TT4TB522J4FYEKKM3SCKVG3321982ZGPJ2N27FWFT4Y1Q633PSD0 WQ9KRPVFQC3EYZZJPRJR523H0N9S7HRWN5X6YZB5VE3JMST2KCE0 83b6f616ac244334064c4c56d391c23eb42a7ce6 62HJ56DJT04RQ2X2EQG83VQ8N2C1XPTHG21100EB1KHSQ32MVP60 +MR-SOFI-0203 dsm::sofi::validation::validate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_well_formed_swap_is_valid - CONFORMANCE §8 MR-SOFI-0203 (Met) FYQEHRS0BMWX51YFJPV3NH6ERHJ1KMWZX30KKCWT6ZVVM8CR267G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate(). 4GFFRATK8W7QWFC6CD22F8KA4MQH5F1489SCGW2864FJ14BE5CVG WQ9KRPVFQC3EYZZJPRJR523H0N9S7HRWN5X6YZB5VE3JMST2KCE0 83b6f616ac244334064c4c56d391c23eb42a7ce6 BG2VKX8PQKWTKEJVFHGNEP9A76CY4R067VNP590H8SJ4BQ0JAR60 +MR-SOFI-0204 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_lost_route_is_void_when_valid_and_invalid_when_not;dsm::sofi::resolution::tests::a_lost_route_is_void_only_if_it_conformed;dsm::sofi::resolution::tests::realized_requires_conformance - CONFORMANCE §8 MR-SOFI-0204 (Met) Q3ZJ0MXJWKD7399PZNXB8FYF0SF18BZN51YR2QT1XBW2MBME72F0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). 0GNW3138AJMNVB91YHV011S1F2Y62ZNBXYYVAASXN6NQGBYP8ZRG V8KPQSTRVPYK4HYNJ0VHSJZD194YRDAHTQMNVKKS4V325STVN5N0;1NTGNQAEV1S2M6DZM5YRQAA457MS2H15CMJ8YHJMCAYVJY5JBDDG;1ZYE048B7A1MS6SXG58DM75HY9YMSRC7H74CFW538W2R3GF2XMNG 83b6f616ac244334064c4c56d391c23eb42a7ce6 EEMMTF1TQY1F1KDSX10V7YZN3H6HPQHWPJCMNSG24NVE6PY4BH30 +MR-SOFI-0204 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_lost_route_is_void_when_valid_and_invalid_when_not;dsm::sofi::resolution::tests::a_lost_route_is_void_only_if_it_conformed;dsm::sofi::resolution::tests::realized_requires_conformance - CONFORMANCE §8 MR-SOFI-0204 (Met) ZPB59DZP9E659DH5P046M1A167CB2HVSFDN5RT6B4SFKDA4SH2FG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 7Y3EZ17CGFBPV07EBJM0FWYJX312MVGZN38YZBRH5Q09BQC99410 V8KPQSTRVPYK4HYNJ0VHSJZD194YRDAHTQMNVKKS4V325STVN5N0;1NTGNQAEV1S2M6DZM5YRQAA457MS2H15CMJ8YHJMCAYVJY5JBDDG;1ZYE048B7A1MS6SXG58DM75HY9YMSRC7H74CFW538W2R3GF2XMNG 83b6f616ac244334064c4c56d391c23eb42a7ce6 MMVSBY3JZ377CPJDDA2C8XY860WJ3JCX998RG9488VXDDXC9SM30 +MR-SOFI-0204 dsm::sofi::validation::route_validation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_lost_route_is_void_when_valid_and_invalid_when_not;dsm::sofi::resolution::tests::a_lost_route_is_void_only_if_it_conformed;dsm::sofi::resolution::tests::realized_requires_conformance - CONFORMANCE §8 MR-SOFI-0204 (Met) 27C086SW5FTJWHKWMDKVJSN7W9RBCC0JW5NGX937PST9VBDXBY6G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/route_validation(). B424HZR20HP5ZJP0E2W3723HHV1R2JVZP6HK79RHVDH12J3Z8ZJG V8KPQSTRVPYK4HYNJ0VHSJZD194YRDAHTQMNVKKS4V325STVN5N0;1NTGNQAEV1S2M6DZM5YRQAA457MS2H15CMJ8YHJMCAYVJY5JBDDG;1ZYE048B7A1MS6SXG58DM75HY9YMSRC7H74CFW538W2R3GF2XMNG 83b6f616ac244334064c4c56d391c23eb42a7ce6 N1SSDNGETN2F8CJBDP5WGWMGPAHAE4RG362GA19Q7FAH2ZZP0420 +MR-SOFI-0206 dsm::sofi::resolution::consumed_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0206 (Partial) NWD83NP4Y2J41XMT49D1T4NN68BGSDGEV24HH7MHAAYV0GW9NYXG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/consumed_route(). 3NM7YGYD34C8QGJMVA23T6B82QGQ6KNGP5C571ZXEBDYQPX676VG - 83b6f616ac244334064c4c56d391c23eb42a7ce6 E3TX8VWPBDNMY8Z6HDJ1CRF373P0GS0BVWNDB4S2FCZQ913J7W4G +MR-SOFI-0206 dsm::sofi::validation::route_validation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0206 (Partial) YMT1FHPQAD0D582282GTZ9S5F8YGF603904SW9TW85FZ0P3J5VCG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/route_validation(). B424HZR20HP5ZJP0E2W3723HHV1R2JVZP6HK79RHVDH12J3Z8ZJG - 83b6f616ac244334064c4c56d391c23eb42a7ce6 ZJCJ0KD8KHJ0B6KG4ZJ94JSF5EFW4G4R4JB8SKKZ0CR8XQ1F2HN0 +MR-SOFI-0207 dsm::sofi::validation::Verdict::note android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_provable_invalidity_is_not_masked_by_missing_evidence;dsm::sofi::validation::tests::an_invalidity_on_a_later_hop_survives_a_gap_on_an_earlier_one - CONFORMANCE §8 MR-SOFI-0207 (Met) PKM522ZBF9EFM5YM6PQTMMXQ7V8AG86RPZJB5A5RQSXJ94NK3VX0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/impl#[Verdict]note(). MAHKP3HX02CAYQG77SSJSDC1TYY1JPE3W487SE9P9AYHGMVAX34G SYBJS80889F3VNXCVNYMVPGH8G40GFJDS2GJPDYNHQ4VSZ60R0P0;7PAPG9VMKECE9SHF1B89P7M7EHHRBHV2YTHEBZQZ6TEN7S99YR1G 83b6f616ac244334064c4c56d391c23eb42a7ce6 W5B36KGMY56M062HPQF2WB3K66K792HSTXE7TYFZ947B9NXSGW0G +MR-SOFI-0208 dsm::sofi::conformance::Items::fold android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::invalid_dominates_missing_in_item_order;dsm::sofi::conformance::tests::a_fulfillment_with_everything_in_hand_is_valid - CONFORMANCE §8 MR-SOFI-0208 (Met) HF196BD682JR74DX1KDZN5EN3ZE9XJQDFKAC729THQHE6C55RWP0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/impl#[Items]fold(). CETKPCF4RWGT5JMFT7D4AVS0MCT6DGQ1NTR9TS26XR6VVJQC0CTG WF6KVX55P8GDHSV4HREJDN192A6MTCWVDPJR7498TJ3WPF4ZJGXG;P09HNWP64YAM3P33ZWY3X1QXX5Y5E4M61DGY08APNKS1G33AD260 83b6f616ac244334064c4c56d391c23eb42a7ce6 PWBZ72YZC8XZYNAVHZ4JKF84X2SEB6CYDWCG0CBGWFR8YH3MS82G +MR-SOFI-0208 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::invalid_dominates_missing_in_item_order;dsm::sofi::conformance::tests::a_fulfillment_with_everything_in_hand_is_valid - CONFORMANCE §8 MR-SOFI-0208 (Met) DXK0ZN060VRTE64H7Y0KQR39D1H38004ETT0DQ2MGQHSJ97DNMG0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). 0GNW3138AJMNVB91YHV011S1F2Y62ZNBXYYVAASXN6NQGBYP8ZRG WF6KVX55P8GDHSV4HREJDN192A6MTCWVDPJR7498TJ3WPF4ZJGXG;P09HNWP64YAM3P33ZWY3X1QXX5Y5E4M61DGY08APNKS1G33AD260 83b6f616ac244334064c4c56d391c23eb42a7ce6 WSFT5GNTQZCJW42TD3MRQEWXXYF4P38RKNCAVXH706ZJ5DG7B0A0 +MR-SOFI-0209 dsm::sofi::conformance::successor_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi_v8_independent::counters_are_checked_never_wrapped - CONFORMANCE §8 MR-SOFI-0209 (Met) FD4ZP1C8FSJ6KA3YVMVBF8JD8DATC9M7MNJPY2T74WWWJYT4PW80 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/successor_position(). 3T2WBR5EFK30S9YDE2852C76P1SAJV6XFBZHJ7YAS58CPW5X2M0G H1FNRX0T3TQ79VC65AWNV56FJ6VRV9EVR27X8F490JFM5GC41TQ0;88XACZX4BCQDA76JVV5M2EYYXQSBMH50Y1WSJ8VSJBGXMKFBWFBG 83b6f616ac244334064c4c56d391c23eb42a7ce6 DXR56499JJ6SDZR6K2N1QRCTJQK2F7AASAQAYVNNNAR9MCWPZREG +MR-SOFI-0209 dsm::sofi::wire::next_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi_v8_independent::counters_are_checked_never_wrapped - CONFORMANCE §8 MR-SOFI-0209 (Met) QXH5YTK6KSHZ83FCWYKWWFF84D8YPXP02JHAPSS77P0T16VK60GG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/next_position(). BJYTZJQZ9DT9ARFDJ1AQXZ7886SGEHKADKSPWHTXENY9KCWBDN90 H1FNRX0T3TQ79VC65AWNV56FJ6VRV9EVR27X8F490JFM5GC41TQ0;88XACZX4BCQDA76JVV5M2EYYXQSBMH50Y1WSJ8VSJBGXMKFBWFBG 83b6f616ac244334064c4c56d391c23eb42a7ce6 M6HMX78FC550FJH8S83DFYGJEXNN03EQCBZQGXBYM83EJ4JR4J30 +MR-SOFI-0210 dsm::sofi::conformance::key_is_the_precommitted_one android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_2_f_is_signed_under_the_key_p_committed - CONFORMANCE §8 MR-SOFI-0210 (Met) 2Q2WW33FMBAX0N6EWGXJDNGJ7FT1MVN35XA2GRNF35G5H42E0YD0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/key_is_the_precommitted_one(). JNKM4VQ003KSMPP0KNPRX0KGQX0RB9Z4QR63ETY2KZRY0CHZN2D0 YVMPYMACWYYNNT6ZWGHQZYMW10459X4YGJSV5R415X43VWFXY8K0 83b6f616ac244334064c4c56d391c23eb42a7ce6 6TEJ4XE0J6J2W8FNCPN9XCK12CYZABGR449XGKTRVVC08S2GB0K0 +MR-SOFI-0211 dsm::sofi::conformance::policy_set_is_canonical android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_3_the_policy_fulfillment_set_is_the_canonical_set_of_p - CONFORMANCE §8 MR-SOFI-0211 (Met) VGJTJ9N9ZRB6Y9131P98DHGK86N3047K6ZCZ2VMTKPFPTAW4Z7XG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/policy_set_is_canonical(). YMB3XZT8APMK78N64E498X2XHEAD2B32QN35SKV8PT6YJG6PDVE0 DXWNGE55DMFGBAHQ8QR09Q5331VTZ5R3XFDGWXRQVVZGBN1T083G 83b6f616ac244334064c4c56d391c23eb42a7ce6 ZR3ZRJXVSQHDG5DHE6AABMXG58M05W7BAR0Z5VWRH2XDD89S9KMG +MR-SOFI-0212 dsm::sofi::conformance::attempts_cover_legs android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_4_the_attempts_cover_exactly_the_legs_of_p_with_no_holes - CONFORMANCE §8 MR-SOFI-0212 (Met) SCZZT17X1012BYYSJYH62RHMKFMQTP8T2Q593EN4X770XEDMSYWG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/attempts_cover_legs(). ZFQ5GJ21AP7BXNXQ2BM62MCQQYPTX7VB92FGWYPKCC49F26BAKWG J3YVQP4KKVZWM81EW8T2NS9XR02HKKMAYJNX7H5N6Z1P3YR9VN4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 PW3ANNTFSFM9Q9RMSZBZTQA5Q8KR601K098E0QM4WQY3EZRKXA7G +MR-SOFI-0213 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_5_an_earlier_attempt_must_be_final - CONFORMANCE §8 MR-SOFI-0213 (Met) FZKM8BHWRCYJYZRMNM3Q89RNHC0QFMKD9GYRQ4WJ709Y681JGVT0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). 0GNW3138AJMNVB91YHV011S1F2Y62ZNBXYYVAASXN6NQGBYP8ZRG YWYWH0ABWZ6WKS54JWPTKERFJCCCKHW9EASGWB5BWP3ESYWDKDX0 83b6f616ac244334064c4c56d391c23eb42a7ce6 YZTVRT1R6S2253YSMPQVHB1TEGXNQ1G508MXATJ46TWQTCE0EJVG +MR-SOFI-0216 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::realized_requires_conformance - CONFORMANCE §8 MR-SOFI-0216 (Met) 61JMMBNVWGFKDHXM8WYPKAHGVE768DY5DH34HAQG32F7Z01YH26G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). 0GNW3138AJMNVB91YHV011S1F2Y62ZNBXYYVAASXN6NQGBYP8ZRG RNP8PZT9855E2Z8YH9SFYS6W36S819X3H4PGXG5H8WSXPZ924JSG;1ZYE048B7A1MS6SXG58DM75HY9YMSRC7H74CFW538W2R3GF2XMNG 83b6f616ac244334064c4c56d391c23eb42a7ce6 SWZ0DKS5C2BK6G4MM9RPAYHSAC5K4CBHZZP7TQ51QY6KD6FB2J4G +MR-SOFI-0216 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::realized_requires_conformance - CONFORMANCE §8 MR-SOFI-0216 (Met) Y2BAV5GH7ZHTP99YGENF108YHJNSX4WBV4Z7N0AT26NSJN36HZ40 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 7Y3EZ17CGFBPV07EBJM0FWYJX312MVGZN38YZBRH5Q09BQC99410 RNP8PZT9855E2Z8YH9SFYS6W36S819X3H4PGXG5H8WSXPZ924JSG;1ZYE048B7A1MS6SXG58DM75HY9YMSRC7H74CFW538W2R3GF2XMNG 83b6f616ac244334064c4c56d391c23eb42a7ce6 3YPBTF7XHXV0AHDT6QH9NEBCFZSAKMHQGNSJS6NG5CYD4FM0DFTG +MR-SOFI-0217 dsm_sdk::sdk::sofi_register::install_fulfillment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0217 (Partial) 9A1NK8TYWAWKXW6RM3E9N11DVB2C27DW0HFJWWTTCMG05MEKDJGG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_register/install_fulfillment(). FNRQXRDKEX7TK2617XJVG3GV4DANAZ4S4EH8HE58JAVR4MYE78MG - 83b6f616ac244334064c4c56d391c23eb42a7ce6 FDG3VJTXZ33Q45FQ7GPF28BFYP0GN1MY6Z9RDCEY510727KW7CR0 +MR-SOFI-0218 dsm::sofi::exercise::exercise_names_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::an_unregistered_fulfillment_is_not_resolved_even_with_every_leg_final - CONFORMANCE §8 MR-SOFI-0218 (Partial) 576CH11CV9GGMC989XZSJX9A3SKGVEBVTARTS43GFAM9DGYBX4XG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/exercise_names_key(). RXNHZWBATFFGFEMQDJJVBXER0521J05X9VHVT5DBRHWMNA695P5G XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG;ED8BXAP0DM70NT0297VNA5GYTHVDDH8SDQ4W0S2NRKG88DD67S3G 83b6f616ac244334064c4c56d391c23eb42a7ce6 WYSP8ENRFEA5DCYD9ZMSDNAWGJXWF266C9F3GX6MM62QFBE7Z4NG +MR-SOFI-0218 dsm::sofi::registration::fulfillment_registered android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::an_unregistered_fulfillment_is_not_resolved_even_with_every_leg_final - CONFORMANCE §8 MR-SOFI-0218 (Partial) 12YFPA1B7BKR4WSSP73AGRJ44P4SJMW4FTANM4CFQ1V17FTRD80G Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/registration/fulfillment_registered(). QHM4GX9X80C41P2JE9W657E57J2CZC0BJKRGQWRVF97A3QTF3150 XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG;ED8BXAP0DM70NT0297VNA5GYTHVDDH8SDQ4W0S2NRKG88DD67S3G 83b6f616ac244334064c4c56d391c23eb42a7ce6 JQWMV679QTR4Q87NPWE3PMH6D8074QS0D8SZG4GFTKEYM9RD2600 +MR-SOFI-0218 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::an_unregistered_fulfillment_is_not_resolved_even_with_every_leg_final - CONFORMANCE §8 MR-SOFI-0218 (Partial) GH87GM6RWJTV893WRQQW9G4TZ7EMTHKQB1K5VKGT3T6YFYX7Z8GG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 7Y3EZ17CGFBPV07EBJM0FWYJX312MVGZN38YZBRH5Q09BQC99410 XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG;ED8BXAP0DM70NT0297VNA5GYTHVDDH8SDQ4W0S2NRKG88DD67S3G 83b6f616ac244334064c4c56d391c23eb42a7ce6 50HHX1FKTQZM5P30A0T0XVFGM7K6W8A7TNW8H300CWZGWNNQR3PG +MR-SOFI-0218 dsm_sdk::sdk::sofi_relay::relay_fulfillment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim;dsm::sofi::resolution::tests::an_unregistered_fulfillment_is_not_resolved_even_with_every_leg_final - CONFORMANCE §8 MR-SOFI-0218 (Partial) 06SX219R3ZT21CEDA0TR3TFWQJB8KFZYVDWZR9MDA0SYRPB4GT80 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_relay/relay_fulfillment(). DKYGEC35V5CD1333XDZJX08VQ1ACZ7VVN8QANY1QX8YTW8VH5FG0 XB13V1N7GQ7QAMQ4MR75QQV3CAW8XK3H936BAM99D2Y59A4C16XG;ED8BXAP0DM70NT0297VNA5GYTHVDDH8SDQ4W0S2NRKG88DD67S3G 83b6f616ac244334064c4c56d391c23eb42a7ce6 2S0ZGGM6TVKYYKVCH20CR0Z2BFBQ5G2B14Q0Y9H99TTZHSHEZXE0 +MR-SOFI-0219 dsm::sofi::exercise::attempt_resolution android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open - CONFORMANCE §8 MR-SOFI-0219 (Met) XTKH54GQF5XP127YC10A1TSCC67RYYTJXXZ642VCSZMEQ1K5QK8G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/attempt_resolution(). GQDBM8E9QP6M1E0ATYVZPT2N2SN9EZMZJMG5R1AAP3V7112JQRAG A077PA4PM12TWH3KX6E55ZKHXSSPTA6BSSS99F5TFG1HPNA3E38G 83b6f616ac244334064c4c56d391c23eb42a7ce6 BCKG5ENH3KM9QNGGSWMGWP435TPM6F9KCBG7JR8898XYZ5G884WG +MR-SOFI-0220 dsm::sofi::exercise::exercise_names_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed - CONFORMANCE §8 MR-SOFI-0220 (Met) 2QC7V0TFP5KEZ24S0ATGKE0KMWZ0F4ZE55YCS93WS0FCCMJ08ZH0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/exercise_names_key(). RXNHZWBATFFGFEMQDJJVBXER0521J05X9VHVT5DBRHWMNA695P5G T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G;A077PA4PM12TWH3KX6E55ZKHXSSPTA6BSSS99F5TFG1HPNA3E38G;SA4Y5S2MEGJXZ67AW8EZ91R8DPGZZQEQAS7KV8XNEPS8PBWCPGC0 83b6f616ac244334064c4c56d391c23eb42a7ce6 J9PXQGSDM3H3EKWQ3FTC1E4ZWEA71FPMY9VPPV33PHS0REY4YWZ0 +MR-SOFI-0220 dsm::sofi::resolution::consumed_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed - CONFORMANCE §8 MR-SOFI-0220 (Met) 7C58SM50DCYTA6PYAC5WNHYSX7MJW2CA9DCG1J4V20H93K6REGC0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/consumed_route(). 3NM7YGYD34C8QGJMVA23T6B82QGQ6KNGP5C571ZXEBDYQPX676VG T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G;A077PA4PM12TWH3KX6E55ZKHXSSPTA6BSSS99F5TFG1HPNA3E38G;SA4Y5S2MEGJXZ67AW8EZ91R8DPGZZQEQAS7KV8XNEPS8PBWCPGC0 83b6f616ac244334064c4c56d391c23eb42a7ce6 29PAM2BNXZQ17KDJ37SQ4MRY5TE8G83PZQN6SGJWFM65038QTG0G +MR-SOFI-0220 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::sofi::resolution::tests::a_final_leg_of_an_invalid_route_is_not_consumed - CONFORMANCE §8 MR-SOFI-0220 (Met) 5PPG90F05GR797GA96B2XD2N9QNF1EPWBCJWZEAVT1JSW9HR1XV0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). PG9D9T049JFWQH6JZV03094SYAQAENXNC7NFP2A5TXV7EJWDECKG T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G;A077PA4PM12TWH3KX6E55ZKHXSSPTA6BSSS99F5TFG1HPNA3E38G;SA4Y5S2MEGJXZ67AW8EZ91R8DPGZZQEQAS7KV8XNEPS8PBWCPGC0 83b6f616ac244334064c4c56d391c23eb42a7ce6 RPS5H61PG1E4Y7PQSRWBZE0CXDNYKG54BKFVQTCHTQ05YK7QZQZG +MR-SOFI-0221 dsm::sofi::resolution::consumed_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed - CONFORMANCE §8 MR-SOFI-0221 (Met) Y2PKXX29S7K7EPMZZCQNNEVE0J0FZ0S4ZXK246N3V9B0N7B8V83G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/consumed_route(). 3NM7YGYD34C8QGJMVA23T6B82QGQ6KNGP5C571ZXEBDYQPX676VG RRHFY1ENAT402KS69K88J60H9XGV6914J4VRMEJZYZZ6SGPGNA80 83b6f616ac244334064c4c56d391c23eb42a7ce6 VDCENCB1XDDCQHJDK27ZFWJ0429TV0AH4QJAK0CW5JCART7RVNH0 +MR-SOFI-0221 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed - CONFORMANCE §8 MR-SOFI-0221 (Met) ZTTSFSNAH40CY4Q38W35CSTWSWT25V69FCWY371JN4HQKP88F19G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 7Y3EZ17CGFBPV07EBJM0FWYJX312MVGZN38YZBRH5Q09BQC99410 RRHFY1ENAT402KS69K88J60H9XGV6914J4VRMEJZYZZ6SGPGNA80 83b6f616ac244334064c4c56d391c23eb42a7ce6 425XHKG51H1Z57325NXS6M507Z7G999YM47KBTYY5MK0542RKX3G +MR-SOFI-0223 dsm::sofi::resolution::trader_parent_compatible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_conditional_parent_that_selected_this_root_processes_normally;dsm::sofi::resolution::tests::a_final_cell_whose_fulfillment_lost_its_position_is_skipped - CONFORMANCE §8 MR-SOFI-0223 (Met) RA7DKAVAV519X8WMS18K1Y1YZBP7JGX82PZ13MR8NCDR61YSNYSG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/trader_parent_compatible(). M37A48FM9B0ZB4B83BVDD151Y4HDSSSMKZYC6W6ZTASVQSCV7P30 KGAW8VTQTFM0Y3Q3BJE908RA0NYM72PVGNJD55ENH8VVV54MKY30;0M5TA699VKZY17R94SNYS6BR2QBD4Y2QMRGSMCC44V3F5SK1DRWG 83b6f616ac244334064c4c56d391c23eb42a7ce6 N18DVP0YM0NQ020SV5B6P3QH439HCE9JSDJ2F03GAEBETG7HHPQG +MR-SOFI-0223 dsm::sofi::resolution::trader_parent_impossible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_conditional_parent_that_selected_this_root_processes_normally;dsm::sofi::resolution::tests::a_final_cell_whose_fulfillment_lost_its_position_is_skipped - CONFORMANCE §8 MR-SOFI-0223 (Met) G8F3C9TB1H2Z9NDH81KGWGEBYYAS9J6PE2MYTDAYA1RPZYXWBN8G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/trader_parent_impossible(). 52TDS9KZZM51A8NH6TEK0NHAR0DYE4HN25Z9GR1A1H14GXATK97G KGAW8VTQTFM0Y3Q3BJE908RA0NYM72PVGNJD55ENH8VVV54MKY30;0M5TA699VKZY17R94SNYS6BR2QBD4Y2QMRGSMCC44V3F5SK1DRWG 83b6f616ac244334064c4c56d391c23eb42a7ce6 HMKM5N0Q9A5NHKM4YPRE9QXFRACH7RRVSENQ6CV6S6SR68X8HZ90 +MR-SOFI-0224 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_lost_route_is_void_only_if_it_conformed;dsm::sofi::resolution::tests::a_lost_route_is_void_when_valid_and_invalid_when_not;dsm::sofi::resolution::tests::void_requires_storage_resolution - CONFORMANCE §8 MR-SOFI-0224 (Met) 433KFRT4QVJC8YPGAHENDE6FBR8H0DW1FH48CTG6WXSKDSDZQDWG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 7Y3EZ17CGFBPV07EBJM0FWYJX312MVGZN38YZBRH5Q09BQC99410 1NTGNQAEV1S2M6DZM5YRQAA457MS2H15CMJ8YHJMCAYVJY5JBDDG;V8KPQSTRVPYK4HYNJ0VHSJZD194YRDAHTQMNVKKS4V325STVN5N0;6VAV2W96FSXMVYHFKWV2CH4VAP1HZYP8A8J2KEPKW9S80A2ZKQ2G 83b6f616ac244334064c4c56d391c23eb42a7ce6 8Y6WFBVK6D6HT9BRGETRSAK1QQZHX29KH99TK9CBX71K5FVNKHXG +MR-SOFI-0226 dsm::sofi::registration::fulfillment_registered android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::an_unregistered_fulfillment_is_not_resolved_even_with_every_leg_final;dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed - CONFORMANCE §8 MR-SOFI-0226 (Met) DQCTNGCJBX33EPKKVHQDGBJW6MBNQ94PTCTGBPP99MJY1H317PY0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/registration/fulfillment_registered(). QHM4GX9X80C41P2JE9W657E57J2CZC0BJKRGQWRVF97A3QTF3150 ED8BXAP0DM70NT0297VNA5GYTHVDDH8SDQ4W0S2NRKG88DD67S3G;RRHFY1ENAT402KS69K88J60H9XGV6914J4VRMEJZYZZ6SGPGNA80 83b6f616ac244334064c4c56d391c23eb42a7ce6 RRD3PWXC562FWW2M7S1X33K8RF777RYJ3AXDT6DGSMJ9V8E9AV0G +MR-SOFI-0226 dsm::sofi::resolution::consumed_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::an_unregistered_fulfillment_is_not_resolved_even_with_every_leg_final;dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed - CONFORMANCE §8 MR-SOFI-0226 (Met) 77FY58P4KV2F5F74RN22MG3XEZGDAQCGP22E38TS7XYH75GB32BG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/consumed_route(). 3NM7YGYD34C8QGJMVA23T6B82QGQ6KNGP5C571ZXEBDYQPX676VG ED8BXAP0DM70NT0297VNA5GYTHVDDH8SDQ4W0S2NRKG88DD67S3G;RRHFY1ENAT402KS69K88J60H9XGV6914J4VRMEJZYZZ6SGPGNA80 83b6f616ac244334064c4c56d391c23eb42a7ce6 M4Y3JE0Q6J0YAAR6NSQKQ1KPXHZPAAA4RFPAZFE58JSG753BMNSG +MR-SOFI-0227 dsm::sofi::lineage::PredecessorClaim android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::a_terminal_resolution_never_becomes_an_admitted_position - CONFORMANCE §8 MR-SOFI-0227 (Met) A95FJ36HZMP378R797CAMWF7T0D9QEW0N8G6GFJHRT232R8YR2WG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/PredecessorClaim# 9BWAB2NJYY62FP2XXK5YTY0CZRYJYS16QT6ZTWN7QH4S7ZABSGEG 45SHR7BVDHZDWMXQWMF1MHP6SCCZ3JB1XTJWGJEA1KS6TSQY8ZG0 83b6f616ac244334064c4c56d391c23eb42a7ce6 B4FXQXXZE024F7S3DEPZEMH9YHJY2PD6QGDAZRDPJVDXXJ11GAW0 +MR-SOFI-0227 dsm::sofi::lineage::descendant_fence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::a_terminal_resolution_never_becomes_an_admitted_position - CONFORMANCE §8 MR-SOFI-0227 (Met) FZJFN6AK9AC5FCVMG1407BP1Z2FD1GYC5J41Q0TWH08PC104YG10 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/descendant_fence(). PNESB6P5146XBGBKRA02XG3851ES121QAJNA9ZQS321AEMET5080 45SHR7BVDHZDWMXQWMF1MHP6SCCZ3JB1XTJWGJEA1KS6TSQY8ZG0 83b6f616ac244334064c4c56d391c23eb42a7ce6 ZNR0719T3XGD013W01KGK3KAYFFANP75WD9KTSDTJJ4QEHE4535G +MR-SOFI-0228 dsm::economic::admission::fence_allows android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_admission_lifecycle::the_fence_blocks_economic_writes_and_allows_ordinary_activity;dsm::sofi_v8_operations::sofi_operations_are_classified_and_gated;dsm::sofi::resolution::tests::void_requires_storage_resolution;dsm::economic::lineage::admitted_position_tests::no_validated_root_is_minted_from_an_unresolved_position - CONFORMANCE §8 MR-SOFI-0228 (Met) EKNNBP2Y115QAK28ZJVX1B8RZJCKQ25SG484ANABYBP9YPJWVVM0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/admission/fence_allows(). PHT2GXY24VAF4HQ864SFGBK7QEBE802HS4GEA89VN7YMGJJKEHN0 0G58F9RJHHEF838PRP0D4M5SXN4KWV7MX3NNF6ZQ2CJHKP5K3N30;SNCS1114Q2WHKMYQ431VWN9C13CRR63BCY618DD3VHMSSGA31GX0;6VAV2W96FSXMVYHFKWV2CH4VAP1HZYP8A8J2KEPKW9S80A2ZKQ2G;0M6NEYZBJC94DH80Z7B2SYMTED6B5CZHNSEBHYHG9X9EJSD1G8X0 83b6f616ac244334064c4c56d391c23eb42a7ce6 MC54DY0AN9NACZ8W4GM1E78E2YDH2DVVYVFZHTXPQWJ5FVQG09SG +MR-SOFI-0228 dsm::sofi::lineage::descendant_fence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_admission_lifecycle::the_fence_blocks_economic_writes_and_allows_ordinary_activity;dsm::sofi_v8_operations::sofi_operations_are_classified_and_gated;dsm::sofi::resolution::tests::void_requires_storage_resolution;dsm::economic::lineage::admitted_position_tests::no_validated_root_is_minted_from_an_unresolved_position - CONFORMANCE §8 MR-SOFI-0228 (Met) A7E1M20ZBW3XJW6VG53BF8JB8N63NG76V842F9QGPRB25ZWH8WXG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/descendant_fence(). PNESB6P5146XBGBKRA02XG3851ES121QAJNA9ZQS321AEMET5080 0G58F9RJHHEF838PRP0D4M5SXN4KWV7MX3NNF6ZQ2CJHKP5K3N30;SNCS1114Q2WHKMYQ431VWN9C13CRR63BCY618DD3VHMSSGA31GX0;6VAV2W96FSXMVYHFKWV2CH4VAP1HZYP8A8J2KEPKW9S80A2ZKQ2G;0M6NEYZBJC94DH80Z7B2SYMTED6B5CZHNSEBHYHG9X9EJSD1G8X0 83b6f616ac244334064c4c56d391c23eb42a7ce6 HDWGWB8K9WDZM7W581ZZK3GR94H42RECVQ7JD5A9WMBKCN908CD0 +MR-SOFI-0228 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_admission_lifecycle::the_fence_blocks_economic_writes_and_allows_ordinary_activity;dsm::sofi_v8_operations::sofi_operations_are_classified_and_gated;dsm::sofi::resolution::tests::void_requires_storage_resolution;dsm::economic::lineage::admitted_position_tests::no_validated_root_is_minted_from_an_unresolved_position - CONFORMANCE §8 MR-SOFI-0228 (Met) KC7KXHSKA8YFYK3ADXDEDYJFJ2T7AD97WPG0C1FXSBNMCD831TZG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 7Y3EZ17CGFBPV07EBJM0FWYJX312MVGZN38YZBRH5Q09BQC99410 0G58F9RJHHEF838PRP0D4M5SXN4KWV7MX3NNF6ZQ2CJHKP5K3N30;SNCS1114Q2WHKMYQ431VWN9C13CRR63BCY618DD3VHMSSGA31GX0;6VAV2W96FSXMVYHFKWV2CH4VAP1HZYP8A8J2KEPKW9S80A2ZKQ2G;0M6NEYZBJC94DH80Z7B2SYMTED6B5CZHNSEBHYHG9X9EJSD1G8X0 83b6f616ac244334064c4c56d391c23eb42a7ce6 GZZ7B63E19HBCAF2QXDV4WNSYZ9HHE62ATX5425744GP5EKB0R50 +MR-SOFI-0228 dsm::types::device_state::DeviceState::advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_admission_lifecycle::the_fence_blocks_economic_writes_and_allows_ordinary_activity;dsm::sofi_v8_operations::sofi_operations_are_classified_and_gated;dsm::sofi::resolution::tests::void_requires_storage_resolution;dsm::economic::lineage::admitted_position_tests::no_validated_root_is_minted_from_an_unresolved_position - CONFORMANCE §8 MR-SOFI-0228 (Met) 18R8N4DRH55BNJE39RK4YHA7BKF6DWVZ20D2GWCBJXY17V3VT6X0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]advance(). E5QPEKJEDVGQSAAG5TC98KNJRQZ88Y5K3MGJED5GPR0F8TPKHH20 0G58F9RJHHEF838PRP0D4M5SXN4KWV7MX3NNF6ZQ2CJHKP5K3N30;SNCS1114Q2WHKMYQ431VWN9C13CRR63BCY618DD3VHMSSGA31GX0;6VAV2W96FSXMVYHFKWV2CH4VAP1HZYP8A8J2KEPKW9S80A2ZKQ2G;0M6NEYZBJC94DH80Z7B2SYMTED6B5CZHNSEBHYHG9X9EJSD1G8X0 83b6f616ac244334064c4c56d391c23eb42a7ce6 QB6N2SSZDA7YM1669XN7M0T8W2GBMT1KW2V5T7M4WY7ZD0AG22CG MR-SOFI-0229 dsm::sofi::lineage::descendant_fence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::nothing_descends_from_an_unresolved_conditional_predecessor;dsm::economic::lineage::admitted_position_tests::the_claim_kind_decides_what_may_descend - CONFORMANCE §8 MR-SOFI-0229 (Met) 80VRZ7T755EPYC3M469ZX7JF21GXXJY4ZACNRS2DV76DPYFCAPK0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/descendant_fence(). PNESB6P5146XBGBKRA02XG3851ES121QAJNA9ZQS321AEMET5080 MEB3PERJF23ZDNN752HWV71RD0DR54DDVWF7NWMHNSEDX3FYG8RG;HBZG66F86TN87FWKKQBAXGV03XTC54KV59NXM3G7ZMNG7WX942W0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 9AVXVP6GZSFJBDDAZ2W51RP7JCG81G6H4A3ACE0WTQZM952RKSB0 -MR-SOFI-0230 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::sofi::resolution::tests::a_reserved_key_another_operation_reached_first_voids - CONFORMANCE §8 MR-SOFI-0230 (Met) 50Z74T1F9D2WQWQRYWAMTBVS8SVZCDD7NCA7TZ5CF741RPF1SQDG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG PEXCGPBJZHCW8GJMEMZEPS6GNGDXPF5JQGBJRP8B55M7YFFQF440;59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;0P11NAR6A0AGTHGTRV9946VN7KT2A48HSEFCMBJ4EYCVVJ7BRR1G a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 V08T8PQ1SQ0C3HXETRJSTR6HT8T4V6WE95QMY71TVR61ZS4CPRR0 -MR-SOFI-0230 dsm::sofi::exercise::attempt_resolution android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::sofi::resolution::tests::a_reserved_key_another_operation_reached_first_voids - CONFORMANCE §8 MR-SOFI-0230 (Met) SM84P14AG851V0JF84PQEKSZ5BFKQY1E0Z37FRDC431Q8KD3PQB0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/attempt_resolution(). SNN86J5J70RV6J8NCYP9JTH3QD9DSHJ3TKR0VCGWFFYVX3992V1G PEXCGPBJZHCW8GJMEMZEPS6GNGDXPF5JQGBJRP8B55M7YFFQF440;59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;0P11NAR6A0AGTHGTRV9946VN7KT2A48HSEFCMBJ4EYCVVJ7BRR1G a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 QV7K6PJF8YNSZMJPFBEJVW606FG9YBSB6D3X7DTY1EDQHMY6GDTG -MR-SOFI-0230 dsm::sofi::resolution::LegFacts::final_on_other android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::sofi::resolution::tests::a_reserved_key_another_operation_reached_first_voids - CONFORMANCE §8 MR-SOFI-0230 (Met) VNHBHFXKSPFWJF0JY8GD4V33HZV4ZT6HW8M2EHRH9DMR7JFKQB9G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/impl#[LegFacts]final_on_other(). JJ87A9CBAQ51KKE7PTT974RVPM8N3T0AVTD3PR8ZV2X8KSMHE2C0 PEXCGPBJZHCW8GJMEMZEPS6GNGDXPF5JQGBJRP8B55M7YFFQF440;59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;0P11NAR6A0AGTHGTRV9946VN7KT2A48HSEFCMBJ4EYCVVJ7BRR1G a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 QHQNWJNC77A6JBTA2C66E8WHPKE7SYK9XJRGK6WDXTJAHYWHWKG0 -MR-SOFI-0231 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_walk_is_chunking_equivalent - CONFORMANCE §8 MR-SOFI-0231 (Met) CMMX195H2HCV73995TM1D3YQX834X0ZHJTQ3AAMK7A6238HKGK20 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). ZQQ66FECNSE6F7FPVTHD4P81YD8P954F4X3E4601VXZ9RRD2DW70 036YZG6YKBACPF8QJ32EKPSTB8MHB871ZF2D0JAY7X3PENF1KRVG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 6Q059HV44106WCJ0DFW2R6TNZ38ACHM77N4BZADYEX2FC77FE65G -MR-SOFI-0231 dsm::sofi::resolution::walk android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_walk_is_chunking_equivalent - CONFORMANCE §8 MR-SOFI-0231 (Met) VGBC7TM6RG6ZEPPJW7CXN2CF2W751WQ9XYGBQ081NGKBA0M2XEKG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/walk(). QBQH86N4BEPKWJ5TTRDP1F4XXNYEK3EYPBB7697HMW8AQEWEP6J0 036YZG6YKBACPF8QJ32EKPSTB8MHB871ZF2D0JAY7X3PENF1KRVG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 PFEDKB0YSQEWCTE0H38YN11BEFJK1DTRZZDDGNAZ5H3PNW6SXD1G -MR-SOFI-0232 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_walk_is_chunking_equivalent - CONFORMANCE §8 MR-SOFI-0232 (Met) M30REZ2990NCR5GKZY1TFEZGRXZF9K6VRYK3S3DRD9RFET0NAH20 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). ZQQ66FECNSE6F7FPVTHD4P81YD8P954F4X3E4601VXZ9RRD2DW70 036YZG6YKBACPF8QJ32EKPSTB8MHB871ZF2D0JAY7X3PENF1KRVG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 V6BGZ4CZGA8G5GF3AHY9FSQW5F2ZCBZ1QACBM8P62D65W317YJ70 -MR-SOFI-0232 dsm::sofi::resolution::walk android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_walk_is_chunking_equivalent - CONFORMANCE §8 MR-SOFI-0232 (Met) X2C65Q35AQKN2Y6K48S0R01VRRXEAMJCMSTEEMJQ29RFMSD7HCX0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/walk(). QBQH86N4BEPKWJ5TTRDP1F4XXNYEK3EYPBB7697HMW8AQEWEP6J0 036YZG6YKBACPF8QJ32EKPSTB8MHB871ZF2D0JAY7X3PENF1KRVG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 WQFX1BA888VKAZE6273HKN7Y0CSQ2PWNM300PGGCT33MJ2ZJ9XCG -MR-SOFI-0233 dsm::sofi::resolution::consumed_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed - CONFORMANCE §8 MR-SOFI-0233 (Met) 0ZQFYGE3QYEZRF3Q4FS8E9ZEEDJ0BZQ8QZPETJVRNRQMXWPQ2Y4G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/consumed_route(). NR7GA1AMN11EW5VRSG9V0PZ11P35WHHJ4T16JYYCD3WW1K309GF0 J6G0S0D19S14QEE6ZHAQZB6XFD9T9BX502KZ67VKWFYFJDZDTJG0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 TM6YYSW90BCWXKBYMVCRQVQ9MW5P7EQ82DJVKNZMYAW9RMZ6HB1G +MR-SOFI-0230 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::sofi::resolution::tests::a_reserved_key_another_operation_reached_first_voids - CONFORMANCE §8 MR-SOFI-0230 (Met) 50Z74T1F9D2WQWQRYWAMTBVS8SVZCDD7NCA7TZ5CF741RPF1SQDG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 A077PA4PM12TWH3KX6E55ZKHXSSPTA6BSSS99F5TFG1HPNA3E38G;XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;3B2X0Z5SYW3192DQFM9FX8B0VTHR3R128HFDVXT30BQDMPM2YFYG 83b6f616ac244334064c4c56d391c23eb42a7ce6 AFPAZPNX5HG2F08ZSZPEKX1T58TWYECXXG2YAQTEMTYY6K430TBG +MR-SOFI-0230 dsm::sofi::exercise::attempt_resolution android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::sofi::resolution::tests::a_reserved_key_another_operation_reached_first_voids - CONFORMANCE §8 MR-SOFI-0230 (Met) SM84P14AG851V0JF84PQEKSZ5BFKQY1E0Z37FRDC431Q8KD3PQB0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/attempt_resolution(). GQDBM8E9QP6M1E0ATYVZPT2N2SN9EZMZJMG5R1AAP3V7112JQRAG A077PA4PM12TWH3KX6E55ZKHXSSPTA6BSSS99F5TFG1HPNA3E38G;XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;3B2X0Z5SYW3192DQFM9FX8B0VTHR3R128HFDVXT30BQDMPM2YFYG 83b6f616ac244334064c4c56d391c23eb42a7ce6 TDEMF34AJN8GE438TSMRJ1JDWVF778WVWQJKCJN68ASJ642P2SQG +MR-SOFI-0230 dsm::sofi::resolution::LegFacts::final_on_other android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::a_successor_key_resolves_to_the_e_of_the_exercise_that_names_it_or_stays_open;dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::sofi::resolution::tests::a_reserved_key_another_operation_reached_first_voids - CONFORMANCE §8 MR-SOFI-0230 (Met) VNHBHFXKSPFWJF0JY8GD4V33HZV4ZT6HW8M2EHRH9DMR7JFKQB9G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/impl#[LegFacts]final_on_other(). JJ87A9CBAQ51KKE7PTT974RVPM8N3T0AVTD3PR8ZV2X8KSMHE2C0 A077PA4PM12TWH3KX6E55ZKHXSSPTA6BSSS99F5TFG1HPNA3E38G;XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;3B2X0Z5SYW3192DQFM9FX8B0VTHR3R128HFDVXT30BQDMPM2YFYG 83b6f616ac244334064c4c56d391c23eb42a7ce6 NQ0YXJGDTD774PM443VD3GTQHBB926KAX8E5ZRMBPTEFQAAC2Y90 +MR-SOFI-0231 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_walk_is_chunking_equivalent - CONFORMANCE §8 MR-SOFI-0231 (Met) CMMX195H2HCV73995TM1D3YQX834X0ZHJTQ3AAMK7A6238HKGK20 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). 27SD1RF63CMKETEWZ774G5G88QW5NBRVST20VW57DSGG66ESWY20 MP95E0DTXJE1EY3MX3A1QNCQSSRYS4AMTNFQYC304JPFSEVDSTTG 83b6f616ac244334064c4c56d391c23eb42a7ce6 C8F23FDYPR2S7PCG8SXVXXR7J1GSJ76KMJSV01KAVKMEZ39KX370 +MR-SOFI-0231 dsm::sofi::resolution::walk android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_walk_is_chunking_equivalent - CONFORMANCE §8 MR-SOFI-0231 (Met) VGBC7TM6RG6ZEPPJW7CXN2CF2W751WQ9XYGBQ081NGKBA0M2XEKG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/walk(). DRK88CS0FWSWR1KHE9PQTGDGSX807EXVNFSTT4K5PN7TEEJBXB20 MP95E0DTXJE1EY3MX3A1QNCQSSRYS4AMTNFQYC304JPFSEVDSTTG 83b6f616ac244334064c4c56d391c23eb42a7ce6 NH4ACPXJQ9Y08M9VK908RFAZQBN3E1H2DAWE6W7RK7WX7NBAYBM0 +MR-SOFI-0232 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_walk_is_chunking_equivalent - CONFORMANCE §8 MR-SOFI-0232 (Met) M30REZ2990NCR5GKZY1TFEZGRXZF9K6VRYK3S3DRD9RFET0NAH20 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). 27SD1RF63CMKETEWZ774G5G88QW5NBRVST20VW57DSGG66ESWY20 MP95E0DTXJE1EY3MX3A1QNCQSSRYS4AMTNFQYC304JPFSEVDSTTG 83b6f616ac244334064c4c56d391c23eb42a7ce6 8ZCYKJK2GC59E4Q0ZSN83P0D6J43ZJ5ATZZ2E74FHABH2KT30JMG +MR-SOFI-0232 dsm::sofi::resolution::walk android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_walk_is_chunking_equivalent - CONFORMANCE §8 MR-SOFI-0232 (Met) X2C65Q35AQKN2Y6K48S0R01VRRXEAMJCMSTEEMJQ29RFMSD7HCX0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/walk(). DRK88CS0FWSWR1KHE9PQTGDGSX807EXVNFSTT4K5PN7TEEJBXB20 MP95E0DTXJE1EY3MX3A1QNCQSSRYS4AMTNFQYC304JPFSEVDSTTG 83b6f616ac244334064c4c56d391c23eb42a7ce6 FC0EVCFRDTQT5NSBAMVY1CFD1S2025SGGS55EEGTSHSFX3MXT70G +MR-SOFI-0233 dsm::sofi::resolution::consumed_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed - CONFORMANCE §8 MR-SOFI-0233 (Met) 0ZQFYGE3QYEZRF3Q4FS8E9ZEEDJ0BZQ8QZPETJVRNRQMXWPQ2Y4G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/consumed_route(). 3NM7YGYD34C8QGJMVA23T6B82QGQ6KNGP5C571ZXEBDYQPX676VG RRHFY1ENAT402KS69K88J60H9XGV6914J4VRMEJZYZZ6SGPGNA80 83b6f616ac244334064c4c56d391c23eb42a7ce6 CM3MVV8ZKP8J82GWEB1GWR6ZPRR8NS3G0FD9MKS18NMB04Q95JS0 MR-SOFI-0234 dsm::sofi::resolution::trader_parent_compatible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_trader_parent_arm_is_monotone - CONFORMANCE §8 MR-SOFI-0234 (Met) E6WQCGFNMJTB16V8EGQSYRQ11FCVWRDBAVX21RJJEFDAEX9JVBKG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/trader_parent_compatible(). M37A48FM9B0ZB4B83BVDD151Y4HDSSSMKZYC6W6ZTASVQSCV7P30 0FB31KEQPJWCG6SEQGN4JA5ZK471S4V1JB46TMN00ZFBVMZQSDCG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 XVCZ1XCYX2FZEZH8J215G5C2ZV6MVT6KKJS6Z0AKN1DF0J1WVFEG MR-SOFI-0234 dsm::sofi::resolution::trader_parent_impossible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_trader_parent_arm_is_monotone - CONFORMANCE §8 MR-SOFI-0234 (Met) 1G4FZCYDFF4SMX93ANVR7EZP6DQB510H0YJRJC0K3DZ1SNP5MMM0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/trader_parent_impossible(). 52TDS9KZZM51A8NH6TEK0NHAR0DYE4HN25Z9GR1A1H14GXATK97G 0FB31KEQPJWCG6SEQGN4JA5ZK471S4V1JB46TMN00ZFBVMZQSDCG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 204P67BN4XPS7HXCS1C9H433Y9RY90HR7QCQZ2QNT80PBBPQC950 MR-SOFI-0235 dsm::sofi::resolution::trader_parent_compatible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_trader_parent_arm_is_monotone - CONFORMANCE §8 MR-SOFI-0235 (Met) 3VF3CB28FSV8FV9KSZWVKKGQTDWKJER8J5695C4JT8KPJG7J7J1G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/trader_parent_compatible(). M37A48FM9B0ZB4B83BVDD151Y4HDSSSMKZYC6W6ZTASVQSCV7P30 0FB31KEQPJWCG6SEQGN4JA5ZK471S4V1JB46TMN00ZFBVMZQSDCG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 RNXJ8MGGSAAZ7VP0TBPZNASXMTN5WM8XEC38QZ590ZB54W2KYPSG MR-SOFI-0235 dsm::sofi::resolution::trader_parent_impossible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_trader_parent_arm_is_monotone - CONFORMANCE §8 MR-SOFI-0235 (Met) F34AR41X504NXZWYXFZ8NJX7KAFHXTG3YTTQA517P2S979GX69R0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/trader_parent_impossible(). 52TDS9KZZM51A8NH6TEK0NHAR0DYE4HN25Z9GR1A1H14GXATK97G 0FB31KEQPJWCG6SEQGN4JA5ZK471S4V1JB46TMN00ZFBVMZQSDCG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 A0XFGW9WPJGS9A5NZ4VD24W0CQYEYB13AHVF91JCAHAFA13VYR0G -MR-SOFI-0236 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::legs_final_on_different_commitments_are_not_one_route - CONFORMANCE §8 MR-SOFI-0236 (Met) NH441B0DVJB1J428QWZ3AE6QK2ZCYKCM8WW69NYYSB5TJ5TKW61G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). ZQQ66FECNSE6F7FPVTHD4P81YD8P954F4X3E4601VXZ9RRD2DW70 WRRYDY03C8P3QGE2VC7J7M9PCX52VJBDMN0EBF5TMX8124SFBFH0 f874698f19cfbf70dc6226e653c0d5abb49a05d0 PTMJJ2GJBJCT80BB6X51MC2N354195CJVQB2ZNRASS4KDG1CW2VG -MR-SOFI-0236 dsm::sofi::resolution::consumed_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::legs_final_on_different_commitments_are_not_one_route - CONFORMANCE §8 MR-SOFI-0236 (Met) XNERZE4KBGCRDP9BJVQK9KB8S6HKFRD3NJQSMHGRFASQ99Z15X50 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/consumed_route(). NR7GA1AMN11EW5VRSG9V0PZ11P35WHHJ4T16JYYCD3WW1K309GF0 WRRYDY03C8P3QGE2VC7J7M9PCX52VJBDMN0EBF5TMX8124SFBFH0 f874698f19cfbf70dc6226e653c0d5abb49a05d0 JM9QZYHXCJXGBB9A1NZ2T0W6N57T5D91ZKR0AFBY39RQZZH7MHXG -MR-SOFI-0237 dsm::sofi::resolution::route_impossible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_stranded_final_cell_of_an_impossible_route_is_skipped - CONFORMANCE §8 MR-SOFI-0237 (Met) Y14615G893ZXE84MW9P3N69QZHR07NP51XEHM297E1GCG3CW036G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/route_impossible(). 5K74NFJYG7P3GDXM9CWJZRYE8WTA3BSYERXTE57MNDRGHT8GTNAG YNYMK7E8R414E2APBXV7EJR12T1DG7V0H64VQ5JN27D9AWHRMDF0 f874698f19cfbf70dc6226e653c0d5abb49a05d0 M52EWHW6KBWQE1J3XSRWFM9B0GVKMX8PVF388XYQRM6ZHX83ERE0 -MR-SOFI-0238 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_final_cell_of_a_conformance_invalid_fulfillment_is_skipped;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-SOFI-0238 (Met) 2G0W24KT9G7VCHGFG7YDXFBNMNJ2E7686JPTD1J4P2BZEJE3P200 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). ZQQ66FECNSE6F7FPVTHD4P81YD8P954F4X3E4601VXZ9RRD2DW70 EQ9A2B417DG1Z9K82CC52H4CPE78N14DZ84GVMMD366E4VPRBF5G;19AT1XYWNCC37AQA0D8NZ8PG5F2B1P1PCNYQCJQFY22P1GXKNHJG f874698f19cfbf70dc6226e653c0d5abb49a05d0 SWVKSF6NV052C36C4H0J3AW7W3NFRM0S2046WVGP87BBRPD11TK0 -MR-SOFI-0238 dsm::sofi::resolution::fulfillment_impossible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_final_cell_of_a_conformance_invalid_fulfillment_is_skipped;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-SOFI-0238 (Met) A27H6ZQ5MDG139YBHRG75JXK5RRB1RTB3JF6CJXQVV31XRKSCF7G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/fulfillment_impossible(). JXNX4F05YGV5DAH1F82NRY2AKPYMB12RQ7S79T2QRPHYN3V6NDJ0 EQ9A2B417DG1Z9K82CC52H4CPE78N14DZ84GVMMD366E4VPRBF5G;19AT1XYWNCC37AQA0D8NZ8PG5F2B1P1PCNYQCJQFY22P1GXKNHJG f874698f19cfbf70dc6226e653c0d5abb49a05d0 KZJ3P8DRF8Q3M9RYAZR4ABRW592HTHJRFB4DRBN3GKMZMXSKR3F0 -MR-SOFI-0239 dsm::sofi::resolution::route_impossible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::route_impossibility_reads_nothing_about_a_particular_fulfillment;dsm::sofi::resolution::tests::a_final_cell_whose_fulfillment_lost_its_position_is_skipped - CONFORMANCE §8 MR-SOFI-0239 (Met) WQRHFGTJ75W7J8Q08GME1J668MZH89YPYFB6NYCQ5QVV14FXZGA0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/route_impossible(). 5K74NFJYG7P3GDXM9CWJZRYE8WTA3BSYERXTE57MNDRGHT8GTNAG RJD4BS4MRKFTTX6H5D9R9TX8QT4NVB37WZ4G8MK9ZF05JHE7PB80;JZXJ8S91DH34X5NCXEYG13APMJ5C6AZZBWBSZFJSAQ48YHAB9SC0 f874698f19cfbf70dc6226e653c0d5abb49a05d0 DWGJHYVWRE1GWZETQD54T9M4MTH4EENNEB4TKJN7ZXZS325YAH9G -MR-SOFI-0240 dsm::sofi::resolution::route_impossible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_statically_invalid_route_is_invalid_before_storage_resolves;dsm::sofi::resolution::tests::the_orphan_and_consumed_elsewhere_arms_hold_on_a_valid_route;dsm::sofi::resolution::tests::a_conditional_parent_that_selected_another_root_is_invalid - CONFORMANCE §8 MR-SOFI-0240 (Met) 1249AREQDYDPAEDTYMQFJF721B03FPABBYKNKW67FGAGW7MF9ED0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/route_impossible(). 5K74NFJYG7P3GDXM9CWJZRYE8WTA3BSYERXTE57MNDRGHT8GTNAG J8ARWGBHNK69S0K6VXC7H0WC31WFNRGHMCTGW1R4RMA8AHZ1HWE0;5WRB8AMTMPH0V3YHMFCQ4XA80J3TSN80N6XJ47VT7NGER74PEA50;FS5843QTEAF5P3WFQFCKN27N6KAVEYFK9MHF1AHFEVF6916BN0K0 f874698f19cfbf70dc6226e653c0d5abb49a05d0 5147SRX74V2WPYX61XPVS5Z7T1AFZPG3MS6E4WZPHGVJ5DGKXN40 -MR-SOFI-0241 dsm::sofi::facts::establish_ground android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_dead_cell_skips_on_facts_that_need_no_evidence;dsm::sofi::resolution::tests::an_evidence_free_skip_answers_as_the_complete_facts_do;dsm_sdk::handlers::node_e2e_tests::a_key_whose_fulfillment_can_never_register_is_skipped_without_its_evidence - CONFORMANCE §8 MR-SOFI-0241 (Partial) NJWPV726ANMX1BXZDC51KWYGXM3CM8J3AKMEA228BJE9NBSM2VF0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/facts/establish_ground(). 42B19C62057M4DED0J8FC5BS9KCAKCN3JY2AVQ7Z9R5FXAW4AKX0 8DQRZE1NE5517M7R0KTX7M0T6HYZTVW5VD1KY6HPHQJWQYDRJZS0;KAKPS1T0CN5GRXDCNAJ8H4FFYTRG8D0T960MJKVM230CBD3ZK5M0;B29C3JMRCGWTMT0D5CHK1AKRPVE47P504SV4NB7DGHP2590FKHMG b7d9468858f6bcdb31f97ed84937343e7eea7227 PK4MYNC8AY2B6GNHF1PMVH36TH2HM81V4MQSZ4Q9473RWJAP74KG -MR-SOFI-0241 dsm::sofi::resolution::skip_without_evidence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_dead_cell_skips_on_facts_that_need_no_evidence;dsm::sofi::resolution::tests::an_evidence_free_skip_answers_as_the_complete_facts_do;dsm_sdk::handlers::node_e2e_tests::a_key_whose_fulfillment_can_never_register_is_skipped_without_its_evidence - CONFORMANCE §8 MR-SOFI-0241 (Partial) VBCZA8790EP497VWNBY13G4DJX3ZNWA3CCPGFDXJYQPJF1HMBB30 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/skip_without_evidence(). 2F6J066DZW58AE74R39TH0G35KB3NRGAQXSBGS497CJ1DKBYF8E0 8DQRZE1NE5517M7R0KTX7M0T6HYZTVW5VD1KY6HPHQJWQYDRJZS0;KAKPS1T0CN5GRXDCNAJ8H4FFYTRG8D0T960MJKVM230CBD3ZK5M0;B29C3JMRCGWTMT0D5CHK1AKRPVE47P504SV4NB7DGHP2590FKHMG b7d9468858f6bcdb31f97ed84937343e7eea7227 1D1YYFA6SQF3D7AJE5H9HH8MKNB5PAX4KG008R8WFBH4716BFY50 -MR-SOFI-0242 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_final_leg_of_an_incomplete_route_is_not_consumed - CONFORMANCE §8 MR-SOFI-0242 (Met) VWFC879YASJ2073MEVESYG6E77C9DWXZ47JZ39P4P1E184XCD3CG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). ZQQ66FECNSE6F7FPVTHD4P81YD8P954F4X3E4601VXZ9RRD2DW70 Y7XPANX0PJAT5N55VXMS5PS6BRCNQHF5VNVDR4CR9M9QCZ9E6TF0 f874698f19cfbf70dc6226e653c0d5abb49a05d0 PJDD3C7FJK5DT956DVZ3QT3FGVPN7FB02R74KJKKE30TF1K94PYG -MR-SOFI-0243 dsm::sofi::resolution::walk android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_walk_is_chunking_equivalent;dsm_sdk::handlers::node_e2e_tests::a_key_held_by_an_exercise_its_own_bytes_refute_is_skipped_on_those_bytes_alone - CONFORMANCE §8 MR-SOFI-0243 (Met) BKFB2FE1Z94HF40D0B7H933SV1WW7T3Q15GC38CP5K0RBPWW34M0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/walk(). QBQH86N4BEPKWJ5TTRDP1F4XXNYEK3EYPBB7697HMW8AQEWEP6J0 036YZG6YKBACPF8QJ32EKPSTB8MHB871ZF2D0JAY7X3PENF1KRVG;DH1N3XGRW56NNW8ZNAJ1KDHFF4Z9EMVWTWEQJ4DR6D3AF741QEWG b7d9468858f6bcdb31f97ed84937343e7eea7227 2H8N04KDV1HVPEEPREHHZFHWMW0AN90FAEFGBQJDT76ZBX98JS1G -MR-SOFI-0244 dsm::sofi::resolution::walk android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_walk_is_chunking_equivalent - CONFORMANCE §8 MR-SOFI-0244 (Met) KGYNE2HEDM5830F1VARVH54JTKVK6PM6T903ZFKFQDR7NYWRAA60 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/walk(). QBQH86N4BEPKWJ5TTRDP1F4XXNYEK3EYPBB7697HMW8AQEWEP6J0 036YZG6YKBACPF8QJ32EKPSTB8MHB871ZF2D0JAY7X3PENF1KRVG f874698f19cfbf70dc6226e653c0d5abb49a05d0 V3DZ0D31GE5NBQNZABH1B8ADMHYXTGVBPX6W2SKJ8ER2E3P36W0G -MR-SOFI-0245 dsm::sofi::conformance::derive_policy_fulfillments android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi::conformance::tests::item_3_the_policy_fulfillment_set_is_the_canonical_set_of_p;dsm::sofi::conformance::tests::item_7_identities_and_bounds_hold - CONFORMANCE §8 MR-SOFI-0245 (Met) GCW6CSEXZ0AQ5HTTRM16FM2VQDGMWC594JWXR0Y48MJKDZ5C63C0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/derive_policy_fulfillments(). KXV892YX3MYZ95T8VRTRRQRZTQZ198GR7GBDR9BPP2PNPEKR9820 F25QN8RY419P5VY9MQ9ZKGEMEY8DVPQ2GK2EDJMN7KGXBGRAR8R0;8VWMXQ6X628D2ENG509380J9CW7WNEF1H7E69ZH4T7K5FN8NMM9G;QVKQGG842YG6PFED22287W9VH837ZFTMCSWYSFMWPMBFNNJ239YG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 C9K0XM1HA1D1YV08MARF58P1R51WJZ5M1YPX7GADB6DPV55SWBT0 -MR-SOFI-0245 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi::conformance::tests::item_3_the_policy_fulfillment_set_is_the_canonical_set_of_p;dsm::sofi::conformance::tests::item_7_identities_and_bounds_hold - CONFORMANCE §8 MR-SOFI-0245 (Met) DFWGA0WRFY5QS2KRTT1XMHTAK3WCRHZMFK3W3KV78Q36QSE7ZJX0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). MV7ZYP94K6RT29EJKSV0A02QNMGFNVAVXP04TSKYWKXVBSNB3Y3G F25QN8RY419P5VY9MQ9ZKGEMEY8DVPQ2GK2EDJMN7KGXBGRAR8R0;8VWMXQ6X628D2ENG509380J9CW7WNEF1H7E69ZH4T7K5FN8NMM9G;QVKQGG842YG6PFED22287W9VH837ZFTMCSWYSFMWPMBFNNJ239YG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 EWFJ7MBR8QAKB94BZ250FJ0RQ4DNKVZYAFVQGVH1DBE735ZPH700 -MR-SOFI-0245 dsm::sofi::conformance::successor_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi::conformance::tests::item_3_the_policy_fulfillment_set_is_the_canonical_set_of_p;dsm::sofi::conformance::tests::item_7_identities_and_bounds_hold - CONFORMANCE §8 MR-SOFI-0245 (Met) T2VZZPPY0FH1QXT4K55C6Q9MPVK7NWR84MPG8YJE0FG8R7S7JX00 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/successor_position(). 8MMCJYS2QV6NF0WAYZQX0PBB917269XXS3GWAVJTQKCJEHQS5XRG F25QN8RY419P5VY9MQ9ZKGEMEY8DVPQ2GK2EDJMN7KGXBGRAR8R0;8VWMXQ6X628D2ENG509380J9CW7WNEF1H7E69ZH4T7K5FN8NMM9G;QVKQGG842YG6PFED22287W9VH837ZFTMCSWYSFMWPMBFNNJ239YG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 24587V50W83NG2HB4S9DKPCG2VM2EGMDJWXCPZ52RE2TWDE2QF00 -MR-SOFI-0245 dsm::sofi::wire::objects::PreEClosureIndex::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi::conformance::tests::item_3_the_policy_fulfillment_set_is_the_canonical_set_of_p;dsm::sofi::conformance::tests::item_7_identities_and_bounds_hold - CONFORMANCE §8 MR-SOFI-0245 (Met) 3CH5B8EQWQJRV73XPGTBTJTMJAH1E9RQ9ZFMZ0JQS7P526VM1STG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/impl#[PreEClosureIndex]new(). VQN14V3D79VPPT9QKN2D77NEZSEQNAWRMGKNKW9EKSZZWMC9TAP0 F25QN8RY419P5VY9MQ9ZKGEMEY8DVPQ2GK2EDJMN7KGXBGRAR8R0;8VWMXQ6X628D2ENG509380J9CW7WNEF1H7E69ZH4T7K5FN8NMM9G;QVKQGG842YG6PFED22287W9VH837ZFTMCSWYSFMWPMBFNNJ239YG 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 R8MFAM45CT6ZYEJFTRZH3CN41Z22X52P37FY2ZPM9ZG7PVF7BRAG +MR-SOFI-0236 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::legs_final_on_different_commitments_are_not_one_route - CONFORMANCE §8 MR-SOFI-0236 (Met) NH441B0DVJB1J428QWZ3AE6QK2ZCYKCM8WW69NYYSB5TJ5TKW61G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). 27SD1RF63CMKETEWZ774G5G88QW5NBRVST20VW57DSGG66ESWY20 KHV1G8M44622VPXYX7QQPWTXJ77V0A7SD594M9CCN2Y3N624ETVG 83b6f616ac244334064c4c56d391c23eb42a7ce6 4J6ZVA0702RB0ZDW7DZBVFNZA8JPHHX1BGPPASW60VWJ14Z5SFEG +MR-SOFI-0236 dsm::sofi::resolution::consumed_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::legs_final_on_different_commitments_are_not_one_route - CONFORMANCE §8 MR-SOFI-0236 (Met) XNERZE4KBGCRDP9BJVQK9KB8S6HKFRD3NJQSMHGRFASQ99Z15X50 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/consumed_route(). 3NM7YGYD34C8QGJMVA23T6B82QGQ6KNGP5C571ZXEBDYQPX676VG KHV1G8M44622VPXYX7QQPWTXJ77V0A7SD594M9CCN2Y3N624ETVG 83b6f616ac244334064c4c56d391c23eb42a7ce6 3325PJ9W7HWJVXV7QPEV6936X3GJPSCV3SHS01RCCPAMN5HCAN10 +MR-SOFI-0237 dsm::sofi::resolution::route_impossible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_stranded_final_cell_of_an_impossible_route_is_skipped - CONFORMANCE §8 MR-SOFI-0237 (Met) Y14615G893ZXE84MW9P3N69QZHR07NP51XEHM297E1GCG3CW036G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/route_impossible(). TYZ3R41FZ9BGGKG1PBKN3N27XP34R3AYVM35BBZSBFNY8JJ30W40 3MMHBNW5V9J4GHFEEV9MX6G7SMR3GZ307RHAT8W1A4V8NTBD53WG 83b6f616ac244334064c4c56d391c23eb42a7ce6 DZSB5JK3FA6G1DH13K0F2F5FCRFYCJWPDYGVPW5ZXEQSPWF9WNSG +MR-SOFI-0238 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_final_cell_of_a_conformance_invalid_fulfillment_is_skipped;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-SOFI-0238 (Met) 2G0W24KT9G7VCHGFG7YDXFBNMNJ2E7686JPTD1J4P2BZEJE3P200 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). 27SD1RF63CMKETEWZ774G5G88QW5NBRVST20VW57DSGG66ESWY20 RG01RVXJCEW3D1QXCKTD5C737KXGZ81NDKBT22WGEW1QX4RX59D0;ZNHRDPFDRN5DSFFGA0XCSFN1GYFSPCXREKTK0MXQKX2D5PRPN810 83b6f616ac244334064c4c56d391c23eb42a7ce6 K5V5D9GHGEJZSM4TTG9KNZ0SR7A77ZNX4RW7CRMKC8G09ST94M5G +MR-SOFI-0238 dsm::sofi::resolution::fulfillment_impossible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_final_cell_of_a_conformance_invalid_fulfillment_is_skipped;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-SOFI-0238 (Met) A27H6ZQ5MDG139YBHRG75JXK5RRB1RTB3JF6CJXQVV31XRKSCF7G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/fulfillment_impossible(). X3YHZZRP0SXHC8PQ4947QGDZD80KF9TPP6WZ6T6T00RAREGG7V80 RG01RVXJCEW3D1QXCKTD5C737KXGZ81NDKBT22WGEW1QX4RX59D0;ZNHRDPFDRN5DSFFGA0XCSFN1GYFSPCXREKTK0MXQKX2D5PRPN810 83b6f616ac244334064c4c56d391c23eb42a7ce6 B2EZQA5ESYXQR2J5KH62A6FJAKF0HWCZ2J55FFT8BFG4W5WX27PG +MR-SOFI-0239 dsm::sofi::resolution::route_impossible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::route_impossibility_reads_nothing_about_a_particular_fulfillment;dsm::sofi::resolution::tests::a_final_cell_whose_fulfillment_lost_its_position_is_skipped - CONFORMANCE §8 MR-SOFI-0239 (Met) WQRHFGTJ75W7J8Q08GME1J668MZH89YPYFB6NYCQ5QVV14FXZGA0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/route_impossible(). TYZ3R41FZ9BGGKG1PBKN3N27XP34R3AYVM35BBZSBFNY8JJ30W40 QN648B79XERKGHB2S0CT496RKBW1QY9JF3ZBA139S1445C77WFT0;0M5TA699VKZY17R94SNYS6BR2QBD4Y2QMRGSMCC44V3F5SK1DRWG 83b6f616ac244334064c4c56d391c23eb42a7ce6 EA2G42CCYM44SH9B130QHF7E2Y0TM133R8MT6N86DCBGX4TK8BPG +MR-SOFI-0240 dsm::sofi::resolution::route_impossible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_statically_invalid_route_is_invalid_before_storage_resolves;dsm::sofi::resolution::tests::the_orphan_and_consumed_elsewhere_arms_hold_on_a_valid_route;dsm::sofi::resolution::tests::a_conditional_parent_that_selected_another_root_is_invalid - CONFORMANCE §8 MR-SOFI-0240 (Met) 1249AREQDYDPAEDTYMQFJF721B03FPABBYKNKW67FGAGW7MF9ED0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/route_impossible(). TYZ3R41FZ9BGGKG1PBKN3N27XP34R3AYVM35BBZSBFNY8JJ30W40 C6AQDVWQ8K6QB9YN68YZWG7ZATSNRWRQ8ANJ37VGM1568FBWW6J0;HFC1P38VT1HV651XPCYPMKM58EBFN5ZY2NBHKPXYH3VA608EF0BG;182WGV2HHQSB1B2NH662K3RHD7YE977FD9D33M4QP8N5G5860S7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 XC4TVMAQXX3NQ4KE1H2FTYE2H0TSR3E01ARSR9VN0PY1H7Z0TH5G +MR-SOFI-0241 dsm::sofi::facts::establish_ground android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_dead_cell_skips_on_facts_that_need_no_evidence;dsm::sofi::resolution::tests::an_evidence_free_skip_answers_as_the_complete_facts_do;dsm_sdk::handlers::node_e2e_tests::a_key_whose_fulfillment_can_never_register_is_skipped_without_its_evidence - CONFORMANCE §8 MR-SOFI-0241 (Partial) NJWPV726ANMX1BXZDC51KWYGXM3CM8J3AKMEA228BJE9NBSM2VF0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/facts/establish_ground(). E3R17P2DVZ1ZY2CK9SBX5NEJWCD2P4F9M89FM4YVYM77RY0RSDDG 5GXYWCG9KXQJ20CYRX8444TGM4ZQF5GQTWCA4E9DE2E1S6GRPSC0;JQCGPB99K70W4C2TGK0V9C325C5G4P05H5YMM5B3SGV4NYF02V1G;2G4GRJG247AKHDSNSPQHXNB21RGGFFQJGXK406HCY5TVCERH6E1G 83b6f616ac244334064c4c56d391c23eb42a7ce6 KT312A7613ZSTFA4Z8R5FSTCH0DCD4VE83QQ6X79GV9JTPXPED50 +MR-SOFI-0241 dsm::sofi::resolution::skip_without_evidence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_dead_cell_skips_on_facts_that_need_no_evidence;dsm::sofi::resolution::tests::an_evidence_free_skip_answers_as_the_complete_facts_do;dsm_sdk::handlers::node_e2e_tests::a_key_whose_fulfillment_can_never_register_is_skipped_without_its_evidence - CONFORMANCE §8 MR-SOFI-0241 (Partial) VBCZA8790EP497VWNBY13G4DJX3ZNWA3CCPGFDXJYQPJF1HMBB30 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/skip_without_evidence(). N9EDBMQ89MMD4FM089YTHYMXKQ5YNKEGVA3YPKQFZDFX29XKQZS0 5GXYWCG9KXQJ20CYRX8444TGM4ZQF5GQTWCA4E9DE2E1S6GRPSC0;JQCGPB99K70W4C2TGK0V9C325C5G4P05H5YMM5B3SGV4NYF02V1G;2G4GRJG247AKHDSNSPQHXNB21RGGFFQJGXK406HCY5TVCERH6E1G 83b6f616ac244334064c4c56d391c23eb42a7ce6 MDW7S99WZVR96QMMF62J2D0M3BYK8MDY4YY3V7A2WCGERK1B3G00 +MR-SOFI-0242 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_final_leg_of_an_incomplete_route_is_not_consumed - CONFORMANCE §8 MR-SOFI-0242 (Met) VWFC879YASJ2073MEVESYG6E77C9DWXZ47JZ39P4P1E184XCD3CG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). 27SD1RF63CMKETEWZ774G5G88QW5NBRVST20VW57DSGG66ESWY20 21WPV9RYXNP5VTWPB4G5SFGWMRA8TJED617RXNRBMQ5HWWDZH6N0 83b6f616ac244334064c4c56d391c23eb42a7ce6 85A2Q9BC15ZQ94MDZSR7CHW3468HS0SDKD69X1YZ9VD98G05YFN0 +MR-SOFI-0243 dsm::sofi::resolution::walk android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_walk_is_chunking_equivalent;dsm_sdk::handlers::node_e2e_tests::a_key_held_by_an_exercise_its_own_bytes_refute_is_skipped_on_those_bytes_alone - CONFORMANCE §8 MR-SOFI-0243 (Met) BKFB2FE1Z94HF40D0B7H933SV1WW7T3Q15GC38CP5K0RBPWW34M0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/walk(). DRK88CS0FWSWR1KHE9PQTGDGSX807EXVNFSTT4K5PN7TEEJBXB20 MP95E0DTXJE1EY3MX3A1QNCQSSRYS4AMTNFQYC304JPFSEVDSTTG;DKM0673S5DM9927BAVAW99VNBM62SYYNA5CW2V1TE2KPF1Y82BQG 83b6f616ac244334064c4c56d391c23eb42a7ce6 CTNVDR6Y57JE2N5R0XYFJRZH144YHSGBA7EJRCMEDT6NKJF21H30 +MR-SOFI-0244 dsm::sofi::resolution::walk android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::the_walk_is_chunking_equivalent - CONFORMANCE §8 MR-SOFI-0244 (Met) KGYNE2HEDM5830F1VARVH54JTKVK6PM6T903ZFKFQDR7NYWRAA60 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/walk(). DRK88CS0FWSWR1KHE9PQTGDGSX807EXVNFSTT4K5PN7TEEJBXB20 MP95E0DTXJE1EY3MX3A1QNCQSSRYS4AMTNFQYC304JPFSEVDSTTG 83b6f616ac244334064c4c56d391c23eb42a7ce6 68350WQJHJ2V2D39W62H4FY84QWW8FCTNYBVAWK63GAZPAF8V7EG +MR-SOFI-0245 dsm::sofi::conformance::derive_policy_fulfillments android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi::conformance::tests::item_3_the_policy_fulfillment_set_is_the_canonical_set_of_p;dsm::sofi::conformance::tests::item_7_identities_and_bounds_hold - CONFORMANCE §8 MR-SOFI-0245 (Met) GCW6CSEXZ0AQ5HTTRM16FM2VQDGMWC594JWXR0Y48MJKDZ5C63C0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/derive_policy_fulfillments(). BGVBMZEHARBD52PDAZ0QAC660M69WFZDJPW03SBFSHNP986BJ6P0 H1FNRX0T3TQ79VC65AWNV56FJ6VRV9EVR27X8F490JFM5GC41TQ0;DXWNGE55DMFGBAHQ8QR09Q5331VTZ5R3XFDGWXRQVVZGBN1T083G;9PG62GTDRPRSAC8KHEHPA9WM36BP0NF8RD91Q0E9TZSN85FS97Q0 83b6f616ac244334064c4c56d391c23eb42a7ce6 RV4KT6WEKT4K0M32AR838DF3WKFS26HJ5E4MG0GMK167XB6VSR40 +MR-SOFI-0245 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi::conformance::tests::item_3_the_policy_fulfillment_set_is_the_canonical_set_of_p;dsm::sofi::conformance::tests::item_7_identities_and_bounds_hold - CONFORMANCE §8 MR-SOFI-0245 (Met) DFWGA0WRFY5QS2KRTT1XMHTAK3WCRHZMFK3W3KV78Q36QSE7ZJX0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). 0GNW3138AJMNVB91YHV011S1F2Y62ZNBXYYVAASXN6NQGBYP8ZRG H1FNRX0T3TQ79VC65AWNV56FJ6VRV9EVR27X8F490JFM5GC41TQ0;DXWNGE55DMFGBAHQ8QR09Q5331VTZ5R3XFDGWXRQVVZGBN1T083G;9PG62GTDRPRSAC8KHEHPA9WM36BP0NF8RD91Q0E9TZSN85FS97Q0 83b6f616ac244334064c4c56d391c23eb42a7ce6 VVC9V0S930SM1TE5P1P2KHV805SPTY8YXT300Q32S4JBNM5ECPS0 +MR-SOFI-0245 dsm::sofi::conformance::successor_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi::conformance::tests::item_3_the_policy_fulfillment_set_is_the_canonical_set_of_p;dsm::sofi::conformance::tests::item_7_identities_and_bounds_hold - CONFORMANCE §8 MR-SOFI-0245 (Met) T2VZZPPY0FH1QXT4K55C6Q9MPVK7NWR84MPG8YJE0FG8R7S7JX00 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/successor_position(). 3T2WBR5EFK30S9YDE2852C76P1SAJV6XFBZHJ7YAS58CPW5X2M0G H1FNRX0T3TQ79VC65AWNV56FJ6VRV9EVR27X8F490JFM5GC41TQ0;DXWNGE55DMFGBAHQ8QR09Q5331VTZ5R3XFDGWXRQVVZGBN1T083G;9PG62GTDRPRSAC8KHEHPA9WM36BP0NF8RD91Q0E9TZSN85FS97Q0 83b6f616ac244334064c4c56d391c23eb42a7ce6 5JSXRVPDB1VGG41KDXZBQJ3RJN3PHC8SWKF9WWGR5A4FK3CPT6A0 +MR-SOFI-0245 dsm::sofi::wire::objects::PreEClosureIndex::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi::conformance::tests::item_3_the_policy_fulfillment_set_is_the_canonical_set_of_p;dsm::sofi::conformance::tests::item_7_identities_and_bounds_hold - CONFORMANCE §8 MR-SOFI-0245 (Met) 3CH5B8EQWQJRV73XPGTBTJTMJAH1E9RQ9ZFMZ0JQS7P526VM1STG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/impl#[PreEClosureIndex]new(). WPEKDEXKT849NQV0RFG6WTCEBWBGF9HEQ626G4N0JSXHHJ938PSG H1FNRX0T3TQ79VC65AWNV56FJ6VRV9EVR27X8F490JFM5GC41TQ0;DXWNGE55DMFGBAHQ8QR09Q5331VTZ5R3XFDGWXRQVVZGBN1T083G;9PG62GTDRPRSAC8KHEHPA9WM36BP0NF8RD91Q0E9TZSN85FS97Q0 83b6f616ac244334064c4c56d391c23eb42a7ce6 MSG1NDAT1GWB6AK7C4F4055864XXHVNY0TRGV3N2H94NNB0N8JE0 MR-SOFI-0246 dsm::sofi::resolution::parent_status android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_generation_the_chain_has_not_reached_waits_and_is_never_orphaned - CONFORMANCE §8 MR-SOFI-0246 (Met) MA5R6AVZ2C346CJDNED99K7T0M02HVH97EXBMDESSM7VTYWVTG9G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/parent_status(). KD22D7JG02V32SEHBVX04AA3S959GGCE69EAZGXH4BGS1BD7SBX0 EA51JJZ0RVX6BJT34DD52V8STD5TQTT1NPY2V3TG9XMKAH8PXZM0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 BW31QNCM36DPN083C3HCT8D5930KBQH59GRWDWNRZ69M5JXJMYVG -MR-SOFI-0247 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_terminal_resolution_is_never_reached_from_another_terminal_one - CONFORMANCE §8 MR-SOFI-0247 (Met) KCFMV824KGZN6DPN5AM0C4HMNAMDK1EHXD77GAGNA4MFYTBGXZNG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 3RGXSFWYQ876BJBAT13HAVWXSDK3GK9Y9C818K0QESD3NV2N0GWG H1ZYJ81NA3BWZ4NPPJMRNGXA67T1VKC7RP27HN37M3CB9CKDHG7G a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 TG3SKXJ6V14STDGZD1G2R3HAAH625SQ9ZZ6Q9J8WPK16Q6NSZM90 -MR-SOFI-0249 dsm::sofi::resolution::consumed_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::realized_requires_conformance - CONFORMANCE §8 MR-SOFI-0249 (Met) ASPDMZPS71P05JTHHVP10S0MA6HQK8MV93NA4P5WFPD1NNEE3C50 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/consumed_route(). NR7GA1AMN11EW5VRSG9V0PZ11P35WHHJ4T16JYYCD3WW1K309GF0 FE3RYRZ231ZE11ZHNDG1A51PEMZBS040Q0X2YBX2S0PAPBJ9TD6G;YX9PA1NMBS180132WPP6AYTZHSM9F0041WCSZWT40YRTF5VQAN90 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 7ZVSDBWKVPRV00BQAPQH2FRCPAQZW9MJ2H1PEM84N2NHWHWQXFKG -MR-SOFI-0249 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::realized_requires_conformance - CONFORMANCE §8 MR-SOFI-0249 (Met) RGJ3X5S3Z0Z9PAT4QC415S4QT7WG9V7QNFGEVRVJFV2Y4DHG16H0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 3RGXSFWYQ876BJBAT13HAVWXSDK3GK9Y9C818K0QESD3NV2N0GWG FE3RYRZ231ZE11ZHNDG1A51PEMZBS040Q0X2YBX2S0PAPBJ9TD6G;YX9PA1NMBS180132WPP6AYTZHSM9F0041WCSZWT40YRTF5VQAN90 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 Y8Q49AV6Z3HGHR2NCX9JNVNVN3YYE72VYAN4A5JVRWXQWFNWDC2G +MR-SOFI-0247 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_terminal_resolution_is_never_reached_from_another_terminal_one - CONFORMANCE §8 MR-SOFI-0247 (Met) KCFMV824KGZN6DPN5AM0C4HMNAMDK1EHXD77GAGNA4MFYTBGXZNG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 7Y3EZ17CGFBPV07EBJM0FWYJX312MVGZN38YZBRH5Q09BQC99410 E4WQ9HAYHG3CCKSZVTAKPP9W6T84WZ3YPWR2QGKPBBDZA2SKSBYG 83b6f616ac244334064c4c56d391c23eb42a7ce6 3MXZ0JV9MWYYTJG7FMTNSCQKH06DABP6A1QPNB83M13Z0JGW0RZ0 +MR-SOFI-0249 dsm::sofi::resolution::consumed_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::realized_requires_conformance - CONFORMANCE §8 MR-SOFI-0249 (Met) ASPDMZPS71P05JTHHVP10S0MA6HQK8MV93NA4P5WFPD1NNEE3C50 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/consumed_route(). 3NM7YGYD34C8QGJMVA23T6B82QGQ6KNGP5C571ZXEBDYQPX676VG RNP8PZT9855E2Z8YH9SFYS6W36S819X3H4PGXG5H8WSXPZ924JSG;1ZYE048B7A1MS6SXG58DM75HY9YMSRC7H74CFW538W2R3GF2XMNG 83b6f616ac244334064c4c56d391c23eb42a7ce6 D3R29KAD9A4WG2NHEK5W0RT1X1JGHN319SEE9WE9625G2WFN9WBG +MR-SOFI-0249 dsm::sofi::resolution::resolve_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::registration_is_not_conformance;dsm::sofi::resolution::tests::realized_requires_conformance - CONFORMANCE §8 MR-SOFI-0249 (Met) RGJ3X5S3Z0Z9PAT4QC415S4QT7WG9V7QNFGEVRVJFV2Y4DHG16H0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/resolve_position(). 7Y3EZ17CGFBPV07EBJM0FWYJX312MVGZN38YZBRH5Q09BQC99410 RNP8PZT9855E2Z8YH9SFYS6W36S819X3H4PGXG5H8WSXPZ924JSG;1ZYE048B7A1MS6SXG58DM75HY9YMSRC7H74CFW538W2R3GF2XMNG 83b6f616ac244334064c4c56d391c23eb42a7ce6 JC6Q3AG8638TPXRMGB27FM1D34EBM3BNER08QSYKMRSYYZN1PH20 MR-SOFI-0250 dsm::sofi::resolution::Resolution android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::only_realized_installs_the_realize_root_and_void_installs_the_previous_one - CONFORMANCE §8 MR-SOFI-0250 (Met) V5FZW2AB9FKDV9M2SDT0KM3Z7YDA4A3AGH20R3A41SKRQ53SYWJG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/Resolution# RHZK0QWCQN38CFBCTAH0PBME1Q8K74B3ST7MNE1T8AQHQAVS7K4G A499BQY99HTQV1D35XFYXRF4HZYCHRCX8VJ0DG3D4GVGFARWW9F0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 PPKSM7EFHW2ZCB7WJKDMB30WTSZ48DCPPM5ZAHY2807R27FKVQ80 MR-SOFI-0250 dsm::sofi::resolution::effect_of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::only_realized_installs_the_realize_root_and_void_installs_the_previous_one - CONFORMANCE §8 MR-SOFI-0250 (Met) 9N6H53JEP7M6YHF7RS1TTYB86BYNMX5X6198KM293Q0V2MQQEY1G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/effect_of(). PYQTE6N9Z11HKXSPGEKD5PHQ3YGE02TNYQ191R4H3326Q8PQPH5G A499BQY99HTQV1D35XFYXRF4HZYCHRCX8VJ0DG3D4GVGFARWW9F0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 01GQRXCXEZ1ER73G5J5CT34PNP52S4Q9WZXT3743Z1TYDNSX66NG -MR-SOFI-0251 dsm::sofi::lineage::advance_resolved android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::advance_is_refused_on_each_missing_conjunct - CONFORMANCE §8 MR-SOFI-0251 (Met) 07Y12WKQWBW4A8B3W7TVPS3CZC469EZRA9ZTF6820XSVGCXECRAG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/advance_resolved(). 6693ZE7RZ7NQFKF1ZT468W6HVBV0SX4BQTEEF0D2AZXK6S2RRTN0 PSHFKN7N24T985S2S6VHPE1831VY3YZJ5RHZ5HKTTXZG9JTT27B0 b7d9468858f6bcdb31f97ed84937343e7eea7227 MNAJ3Z5JY9ZGGR4H8WTW5BH4KKP7J11NBVWP1H4Y7BTXJVZKQ9WG -MR-SOFI-0254 dsm_sdk::sdk::sofi_flow::exercise_draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0254 (Partial) 97CCAJDDSC5DF4XVDKEYM2J0RCWJV80DP9P2V1FMYZXXKA8HAKCG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/exercise_draft(). VX5TQYF4W5C4YFFFTZ2QX4N6X3F4BXJK7HC835Y7K5S6E1F969G0 - b7d9468858f6bcdb31f97ed84937343e7eea7227 Z76S03604BFRPGJNH1SCTXZXZ1RW3XEN42DRB0XFFA60SD9MT940 -MR-SOFI-0254 dsm_sdk::sdk::sofi_sdk::check_draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0254 (Partial) CJYYJ6WFS77CWE0TSM9PTYZRMK1CG1WA9SCX1B9DDFB5S4QCEQ70 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/check_draft(). 7DW1AMZ76HJV044P3ENHA799S5S33NVT94Z85VS1T1APXWAV3D9G - 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 ZJV9PQF81XSDT4W3RBENQVGR4Q7T37QW7HK7T272QSJ00A6H4VFG -MR-SOFI-0255 dsm_sdk::handlers::sofi_routes::AppRouterImpl::handle_sofi_invoke android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) ZXWGNEKX4NKV76V11EM2FDQ2MQ08W32NE6Y7TMR89Z6G3GRXDXVG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 handlers/sofi_routes/impl#[AppRouterImpl]handle_sofi_invoke(). 2CXB73BH97EFWKEHR2ANQ1N24XP9QJRBX6ET97PMV1YBCFN43YD0 21Y5F3K6GYFYZET461JFNVJ9E5GEY6373N3D6WPZKG6FKFSWF6MG;VZ0W278FNFPYREFPZ0VQEWRVFZ2QNP7772EQE1KYRAX5XRAAX4YG;5NVR9BJNCK23NSWQA9CAYTZWQXX1CEA15DJMZPYED3MZ01CM0T70;23TQAENNJQD8SEEQNPAFQCMV0GS6APYE4PPZ4XDD03RTEXVCZ62G;CB8RQ9PYS4TZ2K6P3T8WC4H9T4B5A2SXDVKYH6P1819YH9ZMDF30 b7d9468858f6bcdb31f97ed84937343e7eea7227 YH717RH7394P3QXCCZNGSJ6Z7TFSWXZXS50VKP9MJX8PZWFXEA9G -MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::create_vault android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) VGDATVN4F0EAXB51XASMPZR5ETH2MYZST58GPC9H5W843DEM7MP0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/create_vault(). 2N3SFAH26VBYG962PZ193D2P93WZS9GBTWA2C7NXDBJZ79E71HQ0 21Y5F3K6GYFYZET461JFNVJ9E5GEY6373N3D6WPZKG6FKFSWF6MG;VZ0W278FNFPYREFPZ0VQEWRVFZ2QNP7772EQE1KYRAX5XRAAX4YG;5NVR9BJNCK23NSWQA9CAYTZWQXX1CEA15DJMZPYED3MZ01CM0T70;23TQAENNJQD8SEEQNPAFQCMV0GS6APYE4PPZ4XDD03RTEXVCZ62G;CB8RQ9PYS4TZ2K6P3T8WC4H9T4B5A2SXDVKYH6P1819YH9ZMDF30 b7d9468858f6bcdb31f97ed84937343e7eea7227 YPQ918ERSPDJ8QFC25MJCZR37G4BFHXBAZDAPY74TT783G3S8XZG -MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::setup android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) N1NKT9AR2W2P2EA90WHK6RNNJ9X51T21SGR3P091HB4KY24T20AG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/setup(). P9QSGNQ20PE8MCVGP0S2NMPR6NXFMM305R926P04FF3CN9VDWWXG 21Y5F3K6GYFYZET461JFNVJ9E5GEY6373N3D6WPZKG6FKFSWF6MG;VZ0W278FNFPYREFPZ0VQEWRVFZ2QNP7772EQE1KYRAX5XRAAX4YG;5NVR9BJNCK23NSWQA9CAYTZWQXX1CEA15DJMZPYED3MZ01CM0T70;23TQAENNJQD8SEEQNPAFQCMV0GS6APYE4PPZ4XDD03RTEXVCZ62G;CB8RQ9PYS4TZ2K6P3T8WC4H9T4B5A2SXDVKYH6P1819YH9ZMDF30 b7d9468858f6bcdb31f97ed84937343e7eea7227 MEKNB3SWRXXQ2JKDM2W2EKZ1Q82RDPJP2DRCJYQ0NGQ1EC3SP4DG -MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::find_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) 9Y41PBEHB2KG42G92436T2TD6XTP72SER3F5Z8J3RJBJ9VNPFA2G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/find_route(). PTEVP9R7ND00FRB8RS60DQDFFV98TWJDHAPZPE5QD8HP2C6FRPF0 21Y5F3K6GYFYZET461JFNVJ9E5GEY6373N3D6WPZKG6FKFSWF6MG;VZ0W278FNFPYREFPZ0VQEWRVFZ2QNP7772EQE1KYRAX5XRAAX4YG;5NVR9BJNCK23NSWQA9CAYTZWQXX1CEA15DJMZPYED3MZ01CM0T70;23TQAENNJQD8SEEQNPAFQCMV0GS6APYE4PPZ4XDD03RTEXVCZ62G;CB8RQ9PYS4TZ2K6P3T8WC4H9T4B5A2SXDVKYH6P1819YH9ZMDF30 b7d9468858f6bcdb31f97ed84937343e7eea7227 MNNKHNE3M95B494E1RZXTX23XHMF0QWC2FYV41G40KCT4TG13PDG -MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::trade android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) KA55THCDD6MA63R09AG86W208DC5QC40PGP1X0ZY2VS8ZA5R45Q0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/trade(). P9S9EPWTSZASFGR9EY0DJWW5M339Z4F86RRABJTTJ09WVSX003HG 21Y5F3K6GYFYZET461JFNVJ9E5GEY6373N3D6WPZKG6FKFSWF6MG;VZ0W278FNFPYREFPZ0VQEWRVFZ2QNP7772EQE1KYRAX5XRAAX4YG;5NVR9BJNCK23NSWQA9CAYTZWQXX1CEA15DJMZPYED3MZ01CM0T70;23TQAENNJQD8SEEQNPAFQCMV0GS6APYE4PPZ4XDD03RTEXVCZ62G;CB8RQ9PYS4TZ2K6P3T8WC4H9T4B5A2SXDVKYH6P1819YH9ZMDF30 b7d9468858f6bcdb31f97ed84937343e7eea7227 9V7QHSJ9XT84MX2AYGBQJK6MX3CVXBPX84YGYMXGABBASC96RJX0 -MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::close android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) C7V6Q4SS8RHRKMV2RX5GN6CX6JFJ47BPQTYHQMDE0KKM7HWXSPT0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/close(). W4EGMRND7QYYW6DXJF283SD6B7PGVNSN9930M503MXSRWFVYS8GG 21Y5F3K6GYFYZET461JFNVJ9E5GEY6373N3D6WPZKG6FKFSWF6MG;VZ0W278FNFPYREFPZ0VQEWRVFZ2QNP7772EQE1KYRAX5XRAAX4YG;5NVR9BJNCK23NSWQA9CAYTZWQXX1CEA15DJMZPYED3MZ01CM0T70;23TQAENNJQD8SEEQNPAFQCMV0GS6APYE4PPZ4XDD03RTEXVCZ62G;CB8RQ9PYS4TZ2K6P3T8WC4H9T4B5A2SXDVKYH6P1819YH9ZMDF30 b7d9468858f6bcdb31f97ed84937343e7eea7227 AGWXF2J11GF52G3SNBWVXQ504FRNB0PECNT5SRYQW3HDM3Y8Q6WG -MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::relay android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) 7NE6DM24AK3CP0NNNZBGXY2BTRZE0XG48TNG8KF32MS31M2NP42G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/relay(). WP8R3TXR15HN78NMB0QBR0EAGSKDQVB4PHM6R50VWJ52ZKZY7C7G 21Y5F3K6GYFYZET461JFNVJ9E5GEY6373N3D6WPZKG6FKFSWF6MG;VZ0W278FNFPYREFPZ0VQEWRVFZ2QNP7772EQE1KYRAX5XRAAX4YG;5NVR9BJNCK23NSWQA9CAYTZWQXX1CEA15DJMZPYED3MZ01CM0T70;23TQAENNJQD8SEEQNPAFQCMV0GS6APYE4PPZ4XDD03RTEXVCZ62G;CB8RQ9PYS4TZ2K6P3T8WC4H9T4B5A2SXDVKYH6P1819YH9ZMDF30 b7d9468858f6bcdb31f97ed84937343e7eea7227 AXVAMYZA6H6V34VS5XY5AW6W021FKWEP5JZZZ1YGC666RJQH6NP0 -MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::resolve android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) PPWT78RBZ55E1WEY27SY4V16GR07J6WZ2KS0RDD410YKDVHDW3H0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/resolve(). P0KPBZGGH9GCT2VBS7GZJZG6JY4MAN9J6FZEGFY4XD08Z59GE0N0 21Y5F3K6GYFYZET461JFNVJ9E5GEY6373N3D6WPZKG6FKFSWF6MG;VZ0W278FNFPYREFPZ0VQEWRVFZ2QNP7772EQE1KYRAX5XRAAX4YG;5NVR9BJNCK23NSWQA9CAYTZWQXX1CEA15DJMZPYED3MZ01CM0T70;23TQAENNJQD8SEEQNPAFQCMV0GS6APYE4PPZ4XDD03RTEXVCZ62G;CB8RQ9PYS4TZ2K6P3T8WC4H9T4B5A2SXDVKYH6P1819YH9ZMDF30 b7d9468858f6bcdb31f97ed84937343e7eea7227 AZN8SG7M1EY8245W2HR2Z4THSVZ68Q9EYHW895NE002ZA8V6X3C0 -MR-SOFI-0256 dsm_sdk::sdk::sofi_flow::find_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route - CONFORMANCE §8 MR-SOFI-0256 (Met) C9VX037G767AQECQVCKHFT4X8RD8YFAFAXQND5HCMXHDCH6BM2EG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/find_route(). PTEVP9R7ND00FRB8RS60DQDFFV98TWJDHAPZPE5QD8HP2C6FRPF0 23TQAENNJQD8SEEQNPAFQCMV0GS6APYE4PPZ4XDD03RTEXVCZ62G b7d9468858f6bcdb31f97ed84937343e7eea7227 K4JG5CAHPRJH5TT25T5EVAN08SVEYZHEF4GBRJTG4RWTVKJ4RRA0 -MR-SOFI-0256 dsm_sdk::sdk::sofi_flow::quote android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_a_vault_is_an_error_not_an_empty_route - CONFORMANCE §8 MR-SOFI-0256 (Met) NFGHXQ5WARS867S0V0MGT6WY84GYQKG0692WM6MCWKBXAT438SBG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/quote(). XEN2MSF7MMK6QN40N72MW8XPGRCP2A5966CGRKWTM2YK87BZ7XF0 23TQAENNJQD8SEEQNPAFQCMV0GS6APYE4PPZ4XDD03RTEXVCZ62G b7d9468858f6bcdb31f97ed84937343e7eea7227 7AXMDT7XVVDJ5FYS1A8CSCV1QC4HBTMEZ0D979JS6A1YK288QXZG -MR-SOFI-0260 dsm_sdk::sdk::sofi_sdk::build_fulfillment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0260 (Partial) 10A7Z1V8A48VN2AMNFTPXTH0CVYE41B7WAN0QE6VDSH8PMWSY3BG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/build_fulfillment(). V1Y2FV8W51BRTNE4D2NV3ZR9GN405F6JR9KNW278W2ZDMJ0WHR70 - 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 7C5PD5XFMZQGT6N7QN2ARR091JNKXQMTRR7EGAT7BWR58HTD47FG -MR-SOFI-0260 dsm_sdk::sdk::sofi_sdk::check_draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0260 (Partial) HM420HJAXSNC19N0ZV4DHVCV7VGW59D02DZV3X5NJ7N6M106DC00 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/check_draft(). 7DW1AMZ76HJV044P3ENHA799S5S33NVT94Z85VS1T1APXWAV3D9G - 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 MR05AX4V89ZS3688NZSTXTC2V89DFXJD9Q1BWFXGNZJY8GEZPGC0 -MR-SOFI-0260 dsm_sdk::sdk::sofi_sdk::draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0260 (Partial) J8Z0GA3Q539AMT7Z6EM1CP82EEAT2F4EV3555YZC37DH9X8JG7H0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/draft(). 6GKEZFYP2PGPEP3DVHA4WM6XE5WD7AFEQ8SCRVC20H3WG09PRWCG - 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 SB0QWPQ3G46MEQ4MHZVD5P0X1B2NRA6YNT80SQS18AFM2VHDNPC0 -MR-SOFI-0263 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed;dsm::sofi::resolution::tests::a_stranded_final_cell_of_an_impossible_route_is_skipped - CONFORMANCE §8 MR-SOFI-0263 (Met) Z17M186RDNJMHP7JWRFK1Q2DP20H3CYPN807W9K2C86W9ZF3Y9HG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). ZQQ66FECNSE6F7FPVTHD4P81YD8P954F4X3E4601VXZ9RRD2DW70 J6G0S0D19S14QEE6ZHAQZB6XFD9T9BX502KZ67VKWFYFJDZDTJG0;YNYMK7E8R414E2APBXV7EJR12T1DG7V0H64VQ5JN27D9AWHRMDF0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 2Z3EGP7EBFEHNAPE4QV1MJWDY26M14AE15BHH3NPH0Z8R393J4G0 -MR-SOFI-0263 dsm::sofi::resolution::route_impossible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed;dsm::sofi::resolution::tests::a_stranded_final_cell_of_an_impossible_route_is_skipped - CONFORMANCE §8 MR-SOFI-0263 (Met) PAN0QB16EZJGH0YEYKDNZD9WKV410F7SY4N5X1P666DX57H0EQZ0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/route_impossible(). 5K74NFJYG7P3GDXM9CWJZRYE8WTA3BSYERXTE57MNDRGHT8GTNAG J6G0S0D19S14QEE6ZHAQZB6XFD9T9BX502KZ67VKWFYFJDZDTJG0;YNYMK7E8R414E2APBXV7EJR12T1DG7V0H64VQ5JN27D9AWHRMDF0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 9XAQ89QM85GQZBBF50E95S1DWCSPJ36SEYGF2BV231C6FW5XCB7G -MR-SOFI-0264 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed;dsm::sofi::resolution::tests::a_stranded_final_cell_of_an_impossible_route_is_skipped - CONFORMANCE §8 MR-SOFI-0264 (Met) DCT6JGH7KHB3GNSW1192512ZZGF3MM2VDJ9H30DC9GPENCBBPHR0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). ZQQ66FECNSE6F7FPVTHD4P81YD8P954F4X3E4601VXZ9RRD2DW70 J6G0S0D19S14QEE6ZHAQZB6XFD9T9BX502KZ67VKWFYFJDZDTJG0;YNYMK7E8R414E2APBXV7EJR12T1DG7V0H64VQ5JN27D9AWHRMDF0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 775TE5ZF1GBB2KE16XX0T6RZNS52YCME9EJ61EFFR6V9GZ6K2Y5G -MR-SOFI-0264 dsm::sofi::resolution::route_impossible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed;dsm::sofi::resolution::tests::a_stranded_final_cell_of_an_impossible_route_is_skipped - CONFORMANCE §8 MR-SOFI-0264 (Met) Z2DDRW3CCN3N4SPQF41SSBHM19E2585JHCTXTEQNE1ZQPJA3RXBG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/route_impossible(). 5K74NFJYG7P3GDXM9CWJZRYE8WTA3BSYERXTE57MNDRGHT8GTNAG J6G0S0D19S14QEE6ZHAQZB6XFD9T9BX502KZ67VKWFYFJDZDTJG0;YNYMK7E8R414E2APBXV7EJR12T1DG7V0H64VQ5JN27D9AWHRMDF0 a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 HC7SFREQR1KR5ZGTD74BGKPAQ400VW9GGE8H0G67GTVEH7K1V79G -MR-SOFI-0269 dsm::sofi::conformance::ConformanceEvidence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg;dsm::sofi::conformance::tests::item_8_the_preimage_and_closure_verify;dsm::sofi::validation::tests::bytes_that_do_not_authenticate_to_their_address_are_unavailable_not_invalid;dsm::sofi::validation::tests::missing_evidence_is_named_never_invalid - CONFORMANCE §8 MR-SOFI-0269 (Met) VSWR79B57JVWHJ2ANBHM3MKPT41RQZYC3RX5C46K96WF5DCV3G3G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/ConformanceEvidence# TXXR2N04040RF5Y7R9731G4N9W13CEC21VVX7XM51GCDW6Y6M0V0 F25QN8RY419P5VY9MQ9ZKGEMEY8DVPQ2GK2EDJMN7KGXBGRAR8R0;14XJG6NKKMEJV4C0XAF6M97MD9P730Z3ME59W64ZKPE0SPMNWAKG;P3S54XJMMRP2M42YKQWS3EJXHHPMF0CJCWX2V9CP5875GRA09270;GJWH5JWBB542VTWRBM6DFPGJZ6JZ7WYCRJWH7572J52ERDQDTPQ0;S6T8Q0SGHX2XDZ6KQW4QX0T0NKRSSQ5ZHGJM07FXB47WGWT0XN6G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 JF4CV53X4XQ4R6VR0V1JZCXYCGACE3A81PB2TZCAZ6DJ9ZFMB4FG -MR-SOFI-0269 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg;dsm::sofi::conformance::tests::item_8_the_preimage_and_closure_verify;dsm::sofi::validation::tests::bytes_that_do_not_authenticate_to_their_address_are_unavailable_not_invalid;dsm::sofi::validation::tests::missing_evidence_is_named_never_invalid - CONFORMANCE §8 MR-SOFI-0269 (Met) FZWTJWBNT5GHFWGPVDW81P9BKX4H4ESW1HKRQ2NQMM1EQHTVBFGG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). MV7ZYP94K6RT29EJKSV0A02QNMGFNVAVXP04TSKYWKXVBSNB3Y3G F25QN8RY419P5VY9MQ9ZKGEMEY8DVPQ2GK2EDJMN7KGXBGRAR8R0;14XJG6NKKMEJV4C0XAF6M97MD9P730Z3ME59W64ZKPE0SPMNWAKG;P3S54XJMMRP2M42YKQWS3EJXHHPMF0CJCWX2V9CP5875GRA09270;GJWH5JWBB542VTWRBM6DFPGJZ6JZ7WYCRJWH7572J52ERDQDTPQ0;S6T8Q0SGHX2XDZ6KQW4QX0T0NKRSSQ5ZHGJM07FXB47WGWT0XN6G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 BVSCN9WFJ7WDQ59VS1377PR61EVDXYS4MAADGNXH11YJNJ453MTG -MR-SOFI-0269 dsm::sofi::validation::Evidence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg;dsm::sofi::conformance::tests::item_8_the_preimage_and_closure_verify;dsm::sofi::validation::tests::bytes_that_do_not_authenticate_to_their_address_are_unavailable_not_invalid;dsm::sofi::validation::tests::missing_evidence_is_named_never_invalid - CONFORMANCE §8 MR-SOFI-0269 (Met) 50CFH4YME9GG7N6KPB7HEY9H938RXXQQNZKNXG5QRW6ERGKT00V0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/Evidence# WJQQ0K1WSSNMX99BCJ8YD2E6RES1A4FG5XMFE06TG469EBH55MG0 F25QN8RY419P5VY9MQ9ZKGEMEY8DVPQ2GK2EDJMN7KGXBGRAR8R0;14XJG6NKKMEJV4C0XAF6M97MD9P730Z3ME59W64ZKPE0SPMNWAKG;P3S54XJMMRP2M42YKQWS3EJXHHPMF0CJCWX2V9CP5875GRA09270;GJWH5JWBB542VTWRBM6DFPGJZ6JZ7WYCRJWH7572J52ERDQDTPQ0;S6T8Q0SGHX2XDZ6KQW4QX0T0NKRSSQ5ZHGJM07FXB47WGWT0XN6G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 BB3K28C4FH2PGP11YWMZVE201MGXB49Y9NHGRQ6B2E7Q14M82A60 -MR-SOFI-0269 dsm::sofi::validation::Evidence::acquired android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg;dsm::sofi::conformance::tests::item_8_the_preimage_and_closure_verify;dsm::sofi::validation::tests::bytes_that_do_not_authenticate_to_their_address_are_unavailable_not_invalid;dsm::sofi::validation::tests::missing_evidence_is_named_never_invalid - CONFORMANCE §8 MR-SOFI-0269 (Met) 4KF9MPFRWZ4Y57YZ3B6ZXAYAANT0XWY4RKC2P33CARSSKBQNC3H0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/impl#[Evidence]acquired(). YW43849HSB5V1JNDJ6QEVM9JPVJQVZCEMS52FYT2GJZMRGC9TGZG F25QN8RY419P5VY9MQ9ZKGEMEY8DVPQ2GK2EDJMN7KGXBGRAR8R0;14XJG6NKKMEJV4C0XAF6M97MD9P730Z3ME59W64ZKPE0SPMNWAKG;P3S54XJMMRP2M42YKQWS3EJXHHPMF0CJCWX2V9CP5875GRA09270;GJWH5JWBB542VTWRBM6DFPGJZ6JZ7WYCRJWH7572J52ERDQDTPQ0;S6T8Q0SGHX2XDZ6KQW4QX0T0NKRSSQ5ZHGJM07FXB47WGWT0XN6G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 AMWMTY9PSE2Q5CZX3GZYR9M5CS0DHX56ZM00Q8D8R5J6RER95HF0 -MR-SOFI-0270 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::a_settlement_preimage_carries_one_core_per_referenced_parent;dsm::sofi::validation::tests::an_extra_trader_entry_is_invalid;dsm::sofi_v8_independent::decoders_refuse_wrong_envelopes_truncation_and_trailing_bytes;dsm::sofi::conformance::tests::item_8_the_preimage_and_closure_verify - CONFORMANCE §8 MR-SOFI-0270 (Met) 4RKTWEHZ5KE8C46B1CE8RZMCB3VZ9A0G6EY69TTV6X4N37F60KM0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). MV7ZYP94K6RT29EJKSV0A02QNMGFNVAVXP04TSKYWKXVBSNB3Y3G JRGYMGG2Y8CFJ38JEXM1H4DYND0JM230DXVZQ408065STRMQ9T2G;NFQKFWPB7W34NEPJ5KY3V0M7HX9JPY459C63P6XHKDGJ2CYDCYT0;05H5VF1W7V71JGRR0SP5NT9RXKTSJ5R13QQ6VXA6THR4QENAHJ1G;P3S54XJMMRP2M42YKQWS3EJXHHPMF0CJCWX2V9CP5875GRA09270 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 RCJ19HWZS25TZHHVFH466NC3G79DNMCFY7M975DVZBFJGQPVY1WG -MR-SOFI-0270 dsm::sofi::validation::validate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::a_settlement_preimage_carries_one_core_per_referenced_parent;dsm::sofi::validation::tests::an_extra_trader_entry_is_invalid;dsm::sofi_v8_independent::decoders_refuse_wrong_envelopes_truncation_and_trailing_bytes;dsm::sofi::conformance::tests::item_8_the_preimage_and_closure_verify - CONFORMANCE §8 MR-SOFI-0270 (Met) 5155FEWHXFP1MW3T6RW9G2BF73Y5XFHDK9YCGQHYVPWZHB1J3BXG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate(). Q46WNDHC1NPK8Q2Y8AHBWA21XZTXGWEXTGVXCSHTPQ7TP9TS5TA0 JRGYMGG2Y8CFJ38JEXM1H4DYND0JM230DXVZQ408065STRMQ9T2G;NFQKFWPB7W34NEPJ5KY3V0M7HX9JPY459C63P6XHKDGJ2CYDCYT0;05H5VF1W7V71JGRR0SP5NT9RXKTSJ5R13QQ6VXA6THR4QENAHJ1G;P3S54XJMMRP2M42YKQWS3EJXHHPMF0CJCWX2V9CP5875GRA09270 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 FG2XM4ED236JSP0CQ37SD6GER9K42XKRSF9011PRWKZPWS0QPM6G -MR-SOFI-0270 dsm::sofi::wire::objects::SettlementPreimage::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::a_settlement_preimage_carries_one_core_per_referenced_parent;dsm::sofi::validation::tests::an_extra_trader_entry_is_invalid;dsm::sofi_v8_independent::decoders_refuse_wrong_envelopes_truncation_and_trailing_bytes;dsm::sofi::conformance::tests::item_8_the_preimage_and_closure_verify - CONFORMANCE §8 MR-SOFI-0270 (Met) PAG4VK4XNW1XJ5EQH4ZTFWCPQ8XFHVRX3QH1E8ZEE7KY4EJAAPQG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/impl#[SettlementPreimage]new(). 8YKPXANC7AF9RSNPFZFSYCA6HQRZJYQASMAQ4KFEM6H4VBHDD580 JRGYMGG2Y8CFJ38JEXM1H4DYND0JM230DXVZQ408065STRMQ9T2G;NFQKFWPB7W34NEPJ5KY3V0M7HX9JPY459C63P6XHKDGJ2CYDCYT0;05H5VF1W7V71JGRR0SP5NT9RXKTSJ5R13QQ6VXA6THR4QENAHJ1G;P3S54XJMMRP2M42YKQWS3EJXHHPMF0CJCWX2V9CP5875GRA09270 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 EWJ5YPP63HG4Q5NWR221SJM53TG9MTDDKDCGBGKHFBJ7VZFCMJR0 -MR-SOFI-0271 dsm::sofi::lineage::advance_resolved android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::advance_is_refused_on_each_missing_conjunct - CONFORMANCE §8 MR-SOFI-0271 (Met) 3T26X5SVRP088E1YY2RB0Y9WGMR3J86YZE4AWPYY2YXCVRABRGAG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/advance_resolved(). 6693ZE7RZ7NQFKF1ZT468W6HVBV0SX4BQTEEF0D2AZXK6S2RRTN0 PSHFKN7N24T985S2S6VHPE1831VY3YZJ5RHZ5HKTTXZG9JTT27B0 b7d9468858f6bcdb31f97ed84937343e7eea7227 9GSGWJ4JY7E0PTGNM0SNGNEBAFMAQ9DQF789AJGDX0MF4AC42R70 -MR-SOFI-0272 dsm_sdk::sdk::sofi_register::install_fulfillment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0272 (Partial) 46X28805XEDYF2K1BTZB4VQHCQ906VK9YHTPM5514NFR3FSN3ED0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_register/install_fulfillment(). D3JFRAAPGRJ3NYEXM92MR1377NXN6V39BQJK1HPV16KVPDAKNPEG - b7d9468858f6bcdb31f97ed84937343e7eea7227 6VEDTKR93FZHTQHPT80MVR5BHYJPQMDZTM7SNHJ0ESKQ0BHV6W90 -MR-SOFI-0272 dsm_sdk::sdk::sofi_sdk::check_draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0272 (Partial) CGP79W4VQAS825QPHQPJMJ20XXBMSYDHN1VWP7DGWYPWCXSJBMAG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/check_draft(). 7DW1AMZ76HJV044P3ENHA799S5S33NVT94Z85VS1T1APXWAV3D9G - 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 VH3CCEK1F4W2W1KD0FCKCP641CKA379AZCF8D9XRY1S1Q7Q4R5P0 -MR-SOFI-0272 dsm_sdk::sdk::sofi_sdk::draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0272 (Partial) QMTC713QP0WTF7RKPBC5ZK1QZRXFK44W7JC808FZY835NR71V5P0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/draft(). 6GKEZFYP2PGPEP3DVHA4WM6XE5WD7AFEQ8SCRVC20H3WG09PRWCG - 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 4XQBMZRKSWCTJZNJ5W33FRQNRFEFW9WX37M708MWY3ZAGMD4RKRG +MR-SOFI-0251 dsm::sofi::lineage::advance_resolved android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::advance_is_refused_on_each_missing_conjunct - CONFORMANCE §8 MR-SOFI-0251 (Met) 07Y12WKQWBW4A8B3W7TVPS3CZC469EZRA9ZTF6820XSVGCXECRAG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/advance_resolved(). 7XMHFHYKJAJ1EBD6C4WNEX5ABNYDQ6RA1Q8EWNAAEP036WYG8WEG Q62TGEDTPCRBDWCQYETJRZP5R9Z92ZTEDB1K205S6Y365YYMG8QG 83b6f616ac244334064c4c56d391c23eb42a7ce6 DPT52E6G6679Y2CCFQW3ZX2VH0809H6S78HHE4V0XW743Q1PA270 +MR-SOFI-0254 dsm_sdk::sdk::sofi_flow::exercise_draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0254 (Partial) 97CCAJDDSC5DF4XVDKEYM2J0RCWJV80DP9P2V1FMYZXXKA8HAKCG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/exercise_draft(). KTJ1MQNG289HC5RVTZ2BRGSQ4SGWBDRE2N0N4TJ9JB614YW36MM0 - 83b6f616ac244334064c4c56d391c23eb42a7ce6 D80QWY1VDRCTGGDR7ZZK3PECHQJM4M0KZEC3PY36P3ZJR9GC50HG +MR-SOFI-0254 dsm_sdk::sdk::sofi_sdk::check_draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0254 (Partial) CJYYJ6WFS77CWE0TSM9PTYZRMK1CG1WA9SCX1B9DDFB5S4QCEQ70 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/check_draft(). 1J7X2ZZHRN7QHCKYSFC9DNNFSB8ZRANKMDSB9B1SKCMYSH5A6FR0 - 83b6f616ac244334064c4c56d391c23eb42a7ce6 MC2SHSJR92Z4EN535WFRM5VSPPBPKQ0GPZRG91V3FMET2VJWCV9G +MR-SOFI-0255 dsm_sdk::handlers::sofi_routes::AppRouterImpl::handle_sofi_invoke android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) 0R673S6X6KE82G3P3KPBK0GE80WSBX9JVHKBRR6YT79FANJ6HE20 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 handlers/sofi_routes/impl#[AppRouterImpl]handle_sofi_invoke(). C0VDM5SYME6G0FV5VVB4QZM7D4X26J72E0NJJ8XGG70ZDK64Y2X0 BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;TTCXH6ZC86TDY5K7GFEV9RD7EV229K6AZGKHAE2HR2JCFDKHZX00;Q5EBMGY3QZK02BYSAP9629GXVVJW61JKCKV1GBCZCK2W5YZX5ABG;ZYNMKPAPS4AT2PN0B2WMZZH5F0QQKGNE93WEKBSCB6SQYG3QRT4G;988EDAR2WBBQ4QNC0MPFC73VH14N2ZBVVVNMYG1PV85A1JAWCWKG 83b6f616ac244334064c4c56d391c23eb42a7ce6 F53NF9R28PDHMN30WWFK82H140W7MVCQRZVXGM5NWDM6YJM1RTH0 +MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::create_vault android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) NAXE9QC20XF1EC96MKKA658B6YPX1M7FCGNNZ82RQQFZ5MMRSJ00 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/create_vault(). E4X1YPKE6B9V104YX8E63ZANQQT481G20FXF8ZJWD8XQBKX35M0G BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;TTCXH6ZC86TDY5K7GFEV9RD7EV229K6AZGKHAE2HR2JCFDKHZX00;Q5EBMGY3QZK02BYSAP9629GXVVJW61JKCKV1GBCZCK2W5YZX5ABG;ZYNMKPAPS4AT2PN0B2WMZZH5F0QQKGNE93WEKBSCB6SQYG3QRT4G;988EDAR2WBBQ4QNC0MPFC73VH14N2ZBVVVNMYG1PV85A1JAWCWKG 83b6f616ac244334064c4c56d391c23eb42a7ce6 JR2HK39GNTA5QCG5H4HE8BZVWHXJ84S83YS65HJBS6XE6578DDVG +MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::owned_vaults android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) AZKTY32RT80RGPN2RF67MXYPKFCJCX9RDKFG5BEKPNY1M6C2DZB0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/owned_vaults(). BAP8H552W68JNYS3081FFWKZQARSR4WVAN9M2XZSBH0DWSTRSF70 BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;TTCXH6ZC86TDY5K7GFEV9RD7EV229K6AZGKHAE2HR2JCFDKHZX00;Q5EBMGY3QZK02BYSAP9629GXVVJW61JKCKV1GBCZCK2W5YZX5ABG;ZYNMKPAPS4AT2PN0B2WMZZH5F0QQKGNE93WEKBSCB6SQYG3QRT4G;988EDAR2WBBQ4QNC0MPFC73VH14N2ZBVVVNMYG1PV85A1JAWCWKG 83b6f616ac244334064c4c56d391c23eb42a7ce6 72A19F8PCXTHD5ZA86TAA2WWRKH1T095CBGVB0X4B0J2VD3B85R0 +MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::find_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) DMNEKM7PTJG8PBB6KJ4AHYJHCGCG8T62H1XARTM1340DMPY617BG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/find_route(). 06WV7XSFVKNA25GC6GA908XDZGZMZ0VKP8Y138EFV1AF9Y0JBKMG BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;TTCXH6ZC86TDY5K7GFEV9RD7EV229K6AZGKHAE2HR2JCFDKHZX00;Q5EBMGY3QZK02BYSAP9629GXVVJW61JKCKV1GBCZCK2W5YZX5ABG;ZYNMKPAPS4AT2PN0B2WMZZH5F0QQKGNE93WEKBSCB6SQYG3QRT4G;988EDAR2WBBQ4QNC0MPFC73VH14N2ZBVVVNMYG1PV85A1JAWCWKG 83b6f616ac244334064c4c56d391c23eb42a7ce6 QYD543A90F8BT8Q8BA5QPM9XNVMAQ5X6YEMZ1HG8TVK0FR0XM3YG +MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::trade android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) 341W9F7QZKM2EEVC841DNKMSVME4XJW48QHEMWNTY2NY3DV99ZV0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/trade(). 4MXHCYYXEAVE7TFW6R13Y4G3BBH4NFHS21M7D7ET470N932RY2SG BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;TTCXH6ZC86TDY5K7GFEV9RD7EV229K6AZGKHAE2HR2JCFDKHZX00;Q5EBMGY3QZK02BYSAP9629GXVVJW61JKCKV1GBCZCK2W5YZX5ABG;ZYNMKPAPS4AT2PN0B2WMZZH5F0QQKGNE93WEKBSCB6SQYG3QRT4G;988EDAR2WBBQ4QNC0MPFC73VH14N2ZBVVVNMYG1PV85A1JAWCWKG 83b6f616ac244334064c4c56d391c23eb42a7ce6 T4BZTZQ1EP591TWV7BAKXSP44SE4MVBDN33TS2Y6PMJJNH0WFARG +MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::close android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) MD9T26R3H0AA5SBNMG47M2ZGEKPD616ZCNFGS2RF9411K8HQ58GG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/close(). W55SQ881KA2R3D6JFQC3GPDHEC9C6YWG8B51HE6J6ZH52556YBJ0 BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;TTCXH6ZC86TDY5K7GFEV9RD7EV229K6AZGKHAE2HR2JCFDKHZX00;Q5EBMGY3QZK02BYSAP9629GXVVJW61JKCKV1GBCZCK2W5YZX5ABG;ZYNMKPAPS4AT2PN0B2WMZZH5F0QQKGNE93WEKBSCB6SQYG3QRT4G;988EDAR2WBBQ4QNC0MPFC73VH14N2ZBVVVNMYG1PV85A1JAWCWKG 83b6f616ac244334064c4c56d391c23eb42a7ce6 7MYPDK727RBZB1GA35Y2NTPTYQMX2NHHFZSAEXVBKSVKQAXDK1K0 +MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::relay android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) 7795E2EVHDS7TD3DMGTC2WTVZD989A31A30W29YSTZCMEDMYEA2G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/relay(). MBEFFD8HT4JM6A02XM5CS687P2SHHMGZAXRXSZRAW64T81070NJ0 BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;TTCXH6ZC86TDY5K7GFEV9RD7EV229K6AZGKHAE2HR2JCFDKHZX00;Q5EBMGY3QZK02BYSAP9629GXVVJW61JKCKV1GBCZCK2W5YZX5ABG;ZYNMKPAPS4AT2PN0B2WMZZH5F0QQKGNE93WEKBSCB6SQYG3QRT4G;988EDAR2WBBQ4QNC0MPFC73VH14N2ZBVVVNMYG1PV85A1JAWCWKG 83b6f616ac244334064c4c56d391c23eb42a7ce6 6Z3SQ2DV0AYKEVPTHX1XT11200W1M453MTB05F16XQFN0K6AA0QG +MR-SOFI-0255 dsm_sdk::sdk::sofi_flow::resolve android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::a_trade_cut_short_by_a_refused_write_is_the_network_status_until_it_lands - CONFORMANCE §8 MR-SOFI-0255 (Met) WBCFE38X25MBKS1AE8QK3JXTGJBBS8HQFNH78Q484S9VM3MZ2QY0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/resolve(). B2RFNH9YRPCV5FT8KPD5VAK5TRXBX85H3SJDYQY6P55T130FK8QG BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;TTCXH6ZC86TDY5K7GFEV9RD7EV229K6AZGKHAE2HR2JCFDKHZX00;Q5EBMGY3QZK02BYSAP9629GXVVJW61JKCKV1GBCZCK2W5YZX5ABG;ZYNMKPAPS4AT2PN0B2WMZZH5F0QQKGNE93WEKBSCB6SQYG3QRT4G;988EDAR2WBBQ4QNC0MPFC73VH14N2ZBVVVNMYG1PV85A1JAWCWKG 83b6f616ac244334064c4c56d391c23eb42a7ce6 GZ5H6161Q0X8GB7G3KAAKHKFBWGRG4YAHCC39YQ59WK4WZDVWDTG +MR-SOFI-0256 dsm_sdk::sdk::sofi_flow::find_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so - CONFORMANCE §8 MR-SOFI-0256 (Met) FNE45D215M0VZ0CGHHEKWTD9Y4ZFA5K1W85Q16RM68B75RVP5WCG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/find_route(). 06WV7XSFVKNA25GC6GA908XDZGZMZ0VKP8Y138EFV1AF9Y0JBKMG ZYNMKPAPS4AT2PN0B2WMZZH5F0QQKGNE93WEKBSCB6SQYG3QRT4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 RFQ94EK8B0NKHHDWSWKN1681KXSJ24FWX459TH437SMSZWFK7EEG +MR-SOFI-0256 dsm_sdk::sdk::sofi_flow::quote android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so - CONFORMANCE §8 MR-SOFI-0256 (Met) 7NH084Q2T17KVVK8RP5TMPZSSYEKXFP99AMTK37P2H3DBZ1SKP5G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/quote(). XEN2MSF7MMK6QN40N72MW8XPGRCP2A5966CGRKWTM2YK87BZ7XF0 ZYNMKPAPS4AT2PN0B2WMZZH5F0QQKGNE93WEKBSCB6SQYG3QRT4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 33KC3KE0H6Y7XATM19NBQ22WGWJMDP43XM76BZJ14X33ZJ478W4G +MR-SOFI-0256 dsm_sdk::sdk::sofi_flow::plan android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0256 (Met) QE7ZQXG08RYS6Y52HTSSPZBAQBMSMDF2D3WVVEMWM2VSVFK1AV30 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/plan(). F798EJK2EG57Y7G5FKXFQZTR8MD9R844TTBHZ273X9JYGH90K0S0 ZYNMKPAPS4AT2PN0B2WMZZH5F0QQKGNE93WEKBSCB6SQYG3QRT4G;QK3RAEF3EZV23JVS36XXMH7FKKCBQVX0040RH441ER26AT62Q3E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 KEEFR7J7DT9XA6PPMMPZWYYT2V9DXQXR1JYY1308PPHA2HCXYPN0 +MR-SOFI-0260 dsm_sdk::sdk::sofi_sdk::build_fulfillment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0260 (Partial) 10A7Z1V8A48VN2AMNFTPXTH0CVYE41B7WAN0QE6VDSH8PMWSY3BG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/build_fulfillment(). 0WVJA5A9QR3C9W37J21S66Q7XWH80VR60SNMH7MQER8XFDM4QJWG - 83b6f616ac244334064c4c56d391c23eb42a7ce6 G97Y3ACT25BQXRYJ50MPK65F5AWXXYWNK05C46QAHZA2CFHGXWW0 +MR-SOFI-0260 dsm_sdk::sdk::sofi_sdk::check_draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0260 (Partial) HM420HJAXSNC19N0ZV4DHVCV7VGW59D02DZV3X5NJ7N6M106DC00 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/check_draft(). 1J7X2ZZHRN7QHCKYSFC9DNNFSB8ZRANKMDSB9B1SKCMYSH5A6FR0 - 83b6f616ac244334064c4c56d391c23eb42a7ce6 VFMXT2KMS2VM7ZJX565JFJB9RP1PKAN0SX66329AET2AXH2PG6TG +MR-SOFI-0260 dsm_sdk::sdk::sofi_sdk::draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0260 (Partial) J8Z0GA3Q539AMT7Z6EM1CP82EEAT2F4EV3555YZC37DH9X8JG7H0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/draft(). BSKR3D3F2JHAVHBCPBGZZR8CWGGXDW8AG43QNM3SV4QP1R9S6XPG - 83b6f616ac244334064c4c56d391c23eb42a7ce6 DDZR7H8948FXJR0Y2YASJ7V45YHTBSR1AN914Z2NP609ZAS2XSD0 +MR-SOFI-0263 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed;dsm::sofi::resolution::tests::a_stranded_final_cell_of_an_impossible_route_is_skipped - CONFORMANCE §8 MR-SOFI-0263 (Met) Z17M186RDNJMHP7JWRFK1Q2DP20H3CYPN807W9K2C86W9ZF3Y9HG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). 27SD1RF63CMKETEWZ774G5G88QW5NBRVST20VW57DSGG66ESWY20 RRHFY1ENAT402KS69K88J60H9XGV6914J4VRMEJZYZZ6SGPGNA80;3MMHBNW5V9J4GHFEEV9MX6G7SMR3GZ307RHAT8W1A4V8NTBD53WG 83b6f616ac244334064c4c56d391c23eb42a7ce6 5VRQ4XHK0RZ85EF4TSP5VERYRDCNRAE4PQ74ZY40XJQ14508XB0G +MR-SOFI-0263 dsm::sofi::resolution::route_impossible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed;dsm::sofi::resolution::tests::a_stranded_final_cell_of_an_impossible_route_is_skipped - CONFORMANCE §8 MR-SOFI-0263 (Met) PAN0QB16EZJGH0YEYKDNZD9WKV410F7SY4N5X1P666DX57H0EQZ0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/route_impossible(). TYZ3R41FZ9BGGKG1PBKN3N27XP34R3AYVM35BBZSBFNY8JJ30W40 RRHFY1ENAT402KS69K88J60H9XGV6914J4VRMEJZYZZ6SGPGNA80;3MMHBNW5V9J4GHFEEV9MX6G7SMR3GZ307RHAT8W1A4V8NTBD53WG 83b6f616ac244334064c4c56d391c23eb42a7ce6 XF5EQNVV16PQS163QF1K08P6W0955TV9SGJET9J2BW07J14VJ6H0 +MR-SOFI-0264 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed;dsm::sofi::resolution::tests::a_stranded_final_cell_of_an_impossible_route_is_skipped - CONFORMANCE §8 MR-SOFI-0264 (Met) DCT6JGH7KHB3GNSW1192512ZZGF3MM2VDJ9H30DC9GPENCBBPHR0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). 27SD1RF63CMKETEWZ774G5G88QW5NBRVST20VW57DSGG66ESWY20 RRHFY1ENAT402KS69K88J60H9XGV6914J4VRMEJZYZZ6SGPGNA80;3MMHBNW5V9J4GHFEEV9MX6G7SMR3GZ307RHAT8W1A4V8NTBD53WG 83b6f616ac244334064c4c56d391c23eb42a7ce6 42XHA9W3TTM4NP5SDJE1NBCPEQV4S1R9QC50SZP0KZNG60MEP4VG +MR-SOFI-0264 dsm::sofi::resolution::route_impossible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_route_with_one_leg_still_open_is_not_consumed;dsm::sofi::resolution::tests::a_stranded_final_cell_of_an_impossible_route_is_skipped - CONFORMANCE §8 MR-SOFI-0264 (Met) Z2DDRW3CCN3N4SPQF41SSBHM19E2585JHCTXTEQNE1ZQPJA3RXBG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/route_impossible(). TYZ3R41FZ9BGGKG1PBKN3N27XP34R3AYVM35BBZSBFNY8JJ30W40 RRHFY1ENAT402KS69K88J60H9XGV6914J4VRMEJZYZZ6SGPGNA80;3MMHBNW5V9J4GHFEEV9MX6G7SMR3GZ307RHAT8W1A4V8NTBD53WG 83b6f616ac244334064c4c56d391c23eb42a7ce6 WS33CWARNAQ67P9ZHDW92K85XH1719NWNNNQHTJTV8AJWV3PP8K0 +MR-SOFI-0269 dsm::sofi::conformance::ConformanceEvidence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg;dsm::sofi::conformance::tests::item_8_the_preimage_and_closure_verify;dsm::sofi::validation::tests::bytes_that_do_not_authenticate_to_their_address_are_unavailable_not_invalid;dsm::sofi::validation::tests::missing_evidence_is_named_never_invalid - CONFORMANCE §8 MR-SOFI-0269 (Met) VSWR79B57JVWHJ2ANBHM3MKPT41RQZYC3RX5C46K96WF5DCV3G3G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/ConformanceEvidence# TXXR2N04040RF5Y7R9731G4N9W13CEC21VVX7XM51GCDW6Y6M0V0 H1FNRX0T3TQ79VC65AWNV56FJ6VRV9EVR27X8F490JFM5GC41TQ0;9JRSAV43MP891NZVDJ8CF6JB19PC6R538ZRT1PR8TEPN84B30T60;4W4NGQTM08Y7GJFGB1WDQW94659RGGNPCXPWCJATBNDJE6G84VJ0;3HTEZ26DM9G962X40W7QXJTVVFEM8RJN1K3DB5ES41DHN3B1MVWG;WVCW4DKBVDXKPNQJMZH6HPC9WRDCKSY4VVFD6Z4QVJBMMGWPTQR0 83b6f616ac244334064c4c56d391c23eb42a7ce6 31G85E5VVF95BBBNGX7M3T2Q04DG1J8HNT9ZGD8DQF9JB3V5DAX0 +MR-SOFI-0269 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg;dsm::sofi::conformance::tests::item_8_the_preimage_and_closure_verify;dsm::sofi::validation::tests::bytes_that_do_not_authenticate_to_their_address_are_unavailable_not_invalid;dsm::sofi::validation::tests::missing_evidence_is_named_never_invalid - CONFORMANCE §8 MR-SOFI-0269 (Met) FZWTJWBNT5GHFWGPVDW81P9BKX4H4ESW1HKRQ2NQMM1EQHTVBFGG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). 0GNW3138AJMNVB91YHV011S1F2Y62ZNBXYYVAASXN6NQGBYP8ZRG H1FNRX0T3TQ79VC65AWNV56FJ6VRV9EVR27X8F490JFM5GC41TQ0;9JRSAV43MP891NZVDJ8CF6JB19PC6R538ZRT1PR8TEPN84B30T60;4W4NGQTM08Y7GJFGB1WDQW94659RGGNPCXPWCJATBNDJE6G84VJ0;3HTEZ26DM9G962X40W7QXJTVVFEM8RJN1K3DB5ES41DHN3B1MVWG;WVCW4DKBVDXKPNQJMZH6HPC9WRDCKSY4VVFD6Z4QVJBMMGWPTQR0 83b6f616ac244334064c4c56d391c23eb42a7ce6 WXFMVT98J2WQZJ1GDYY5MF48P32YCACXZY8H17N776Z5G22GM9BG +MR-SOFI-0269 dsm::sofi::validation::Evidence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg;dsm::sofi::conformance::tests::item_8_the_preimage_and_closure_verify;dsm::sofi::validation::tests::bytes_that_do_not_authenticate_to_their_address_are_unavailable_not_invalid;dsm::sofi::validation::tests::missing_evidence_is_named_never_invalid - CONFORMANCE §8 MR-SOFI-0269 (Met) 50CFH4YME9GG7N6KPB7HEY9H938RXXQQNZKNXG5QRW6ERGKT00V0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/Evidence# WJQQ0K1WSSNMX99BCJ8YD2E6RES1A4FG5XMFE06TG469EBH55MG0 H1FNRX0T3TQ79VC65AWNV56FJ6VRV9EVR27X8F490JFM5GC41TQ0;9JRSAV43MP891NZVDJ8CF6JB19PC6R538ZRT1PR8TEPN84B30T60;4W4NGQTM08Y7GJFGB1WDQW94659RGGNPCXPWCJATBNDJE6G84VJ0;3HTEZ26DM9G962X40W7QXJTVVFEM8RJN1K3DB5ES41DHN3B1MVWG;WVCW4DKBVDXKPNQJMZH6HPC9WRDCKSY4VVFD6Z4QVJBMMGWPTQR0 83b6f616ac244334064c4c56d391c23eb42a7ce6 8C00P92225ED7B0RHGKEH77NSNDBG7MH0GRV7M7P4MY400PRDG9G +MR-SOFI-0269 dsm::sofi::validation::Evidence::acquired android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::conformance::tests::item_1_the_referenced_p_verifies_and_q_is_its_successor;dsm::sofi::conformance::tests::item_6_setup_registered_holds_for_every_leg;dsm::sofi::conformance::tests::item_8_the_preimage_and_closure_verify;dsm::sofi::validation::tests::bytes_that_do_not_authenticate_to_their_address_are_unavailable_not_invalid;dsm::sofi::validation::tests::missing_evidence_is_named_never_invalid - CONFORMANCE §8 MR-SOFI-0269 (Met) 4KF9MPFRWZ4Y57YZ3B6ZXAYAANT0XWY4RKC2P33CARSSKBQNC3H0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/impl#[Evidence]acquired(). Q0ND86BMTV368M3HRP261JZNYYKMR35SJ6BJ70G004CE95705YDG H1FNRX0T3TQ79VC65AWNV56FJ6VRV9EVR27X8F490JFM5GC41TQ0;9JRSAV43MP891NZVDJ8CF6JB19PC6R538ZRT1PR8TEPN84B30T60;4W4NGQTM08Y7GJFGB1WDQW94659RGGNPCXPWCJATBNDJE6G84VJ0;3HTEZ26DM9G962X40W7QXJTVVFEM8RJN1K3DB5ES41DHN3B1MVWG;WVCW4DKBVDXKPNQJMZH6HPC9WRDCKSY4VVFD6Z4QVJBMMGWPTQR0 83b6f616ac244334064c4c56d391c23eb42a7ce6 9TAVMYGN18EK0R6XZQ0M62NM20NCTBGJQ38Q3R3SEGJ3H9PT8TZ0 +MR-SOFI-0270 dsm::sofi::conformance::fulfillment_conformance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::a_settlement_preimage_carries_one_core_per_referenced_parent;dsm::sofi::validation::tests::an_extra_trader_entry_is_invalid;dsm::sofi_v8_independent::decoders_refuse_wrong_envelopes_truncation_and_trailing_bytes;dsm::sofi::conformance::tests::item_8_the_preimage_and_closure_verify - CONFORMANCE §8 MR-SOFI-0270 (Met) 4RKTWEHZ5KE8C46B1CE8RZMCB3VZ9A0G6EY69TTV6X4N37F60KM0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/fulfillment_conformance(). 0GNW3138AJMNVB91YHV011S1F2Y62ZNBXYYVAASXN6NQGBYP8ZRG S0QDYXVVZRJFDTCQ44VZ89NYNCCP8J7YEBEJH4DKZEG9ADFF8JKG;EGPP9GEWBJN7VHDTKFYT09JE897DZ96C8V9GHADRE8XB5S9HQK70;F4T832JK0H6QKSW9XABFSZS1RVNATCCBKFVC7MEYFWG96DVQ6J8G;4W4NGQTM08Y7GJFGB1WDQW94659RGGNPCXPWCJATBNDJE6G84VJ0 83b6f616ac244334064c4c56d391c23eb42a7ce6 350XTFE9J7DRJ0DX8TQ0RDFMER6MVE19J76GWQN1BJ43BQ4ZKCY0 +MR-SOFI-0270 dsm::sofi::validation::validate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::a_settlement_preimage_carries_one_core_per_referenced_parent;dsm::sofi::validation::tests::an_extra_trader_entry_is_invalid;dsm::sofi_v8_independent::decoders_refuse_wrong_envelopes_truncation_and_trailing_bytes;dsm::sofi::conformance::tests::item_8_the_preimage_and_closure_verify - CONFORMANCE §8 MR-SOFI-0270 (Met) 5155FEWHXFP1MW3T6RW9G2BF73Y5XFHDK9YCGQHYVPWZHB1J3BXG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate(). 4GFFRATK8W7QWFC6CD22F8KA4MQH5F1489SCGW2864FJ14BE5CVG S0QDYXVVZRJFDTCQ44VZ89NYNCCP8J7YEBEJH4DKZEG9ADFF8JKG;EGPP9GEWBJN7VHDTKFYT09JE897DZ96C8V9GHADRE8XB5S9HQK70;F4T832JK0H6QKSW9XABFSZS1RVNATCCBKFVC7MEYFWG96DVQ6J8G;4W4NGQTM08Y7GJFGB1WDQW94659RGGNPCXPWCJATBNDJE6G84VJ0 83b6f616ac244334064c4c56d391c23eb42a7ce6 S4JGYZEH0NEP4ZN3582AT7SNEK5CQM3WVRYPSNZ3QVY35NCD173G +MR-SOFI-0270 dsm::sofi::wire::objects::SettlementPreimage::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::a_settlement_preimage_carries_one_core_per_referenced_parent;dsm::sofi::validation::tests::an_extra_trader_entry_is_invalid;dsm::sofi_v8_independent::decoders_refuse_wrong_envelopes_truncation_and_trailing_bytes;dsm::sofi::conformance::tests::item_8_the_preimage_and_closure_verify - CONFORMANCE §8 MR-SOFI-0270 (Met) PAG4VK4XNW1XJ5EQH4ZTFWCPQ8XFHVRX3QH1E8ZEE7KY4EJAAPQG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/impl#[SettlementPreimage]new(). N4KEQ8EX01197AJJ8N5ZDFYN3QWTAX11V215H7ZNS3DXVAQE2370 S0QDYXVVZRJFDTCQ44VZ89NYNCCP8J7YEBEJH4DKZEG9ADFF8JKG;EGPP9GEWBJN7VHDTKFYT09JE897DZ96C8V9GHADRE8XB5S9HQK70;F4T832JK0H6QKSW9XABFSZS1RVNATCCBKFVC7MEYFWG96DVQ6J8G;4W4NGQTM08Y7GJFGB1WDQW94659RGGNPCXPWCJATBNDJE6G84VJ0 83b6f616ac244334064c4c56d391c23eb42a7ce6 WXP57VDJR3T6RMG0A7FFDCR4RHXQHPZFXMBPXJWKJ0Z3KPRD46PG +MR-SOFI-0271 dsm::sofi::lineage::advance_resolved android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::advance_is_refused_on_each_missing_conjunct - CONFORMANCE §8 MR-SOFI-0271 (Met) 3T26X5SVRP088E1YY2RB0Y9WGMR3J86YZE4AWPYY2YXCVRABRGAG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/advance_resolved(). 7XMHFHYKJAJ1EBD6C4WNEX5ABNYDQ6RA1Q8EWNAAEP036WYG8WEG Q62TGEDTPCRBDWCQYETJRZP5R9Z92ZTEDB1K205S6Y365YYMG8QG 83b6f616ac244334064c4c56d391c23eb42a7ce6 0HMDG1R5EYDXBN46HWDNZ3NPPKRMCG5PQ9GW478QYKM13CJ41J50 +MR-SOFI-0272 dsm_sdk::sdk::sofi_register::install_fulfillment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0272 (Partial) 46X28805XEDYF2K1BTZB4VQHCQ906VK9YHTPM5514NFR3FSN3ED0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_register/install_fulfillment(). FNRQXRDKEX7TK2617XJVG3GV4DANAZ4S4EH8HE58JAVR4MYE78MG - 83b6f616ac244334064c4c56d391c23eb42a7ce6 PJPHSVA0S6MH2FKXRT6XK9DMJ8X6NZFTMJCSSGCGP53K9WBC9F60 +MR-SOFI-0272 dsm_sdk::sdk::sofi_sdk::check_draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0272 (Partial) CGP79W4VQAS825QPHQPJMJ20XXBMSYDHN1VWP7DGWYPWCXSJBMAG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/check_draft(). 1J7X2ZZHRN7QHCKYSFC9DNNFSB8ZRANKMDSB9B1SKCMYSH5A6FR0 - 83b6f616ac244334064c4c56d391c23eb42a7ce6 51DJ1SXFV9NJD1FQTWC0FVZN09JNTJ3YBHG2HA11VHK2H3F6W020 +MR-SOFI-0272 dsm_sdk::sdk::sofi_sdk::draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0272 (Partial) QMTC713QP0WTF7RKPBC5ZK1QZRXFK44W7JC808FZY835NR71V5P0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/draft(). BSKR3D3F2JHAVHBCPBGZZR8CWGGXDW8AG43QNM3SV4QP1R9S6XPG - 83b6f616ac244334064c4c56d391c23eb42a7ce6 SA23BYNCMX1CZD9KM53K3B47Y0P15C7JFV2MTYWX0TFXM8XMC8DG MR-SOFI-0274 dsm::sofi::conformance::ConformanceEvidence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0274 (Partial) S5EB3MW8RQF2TP2PNMPCSAPMGF3C26NEQFCNEK74ESJVQRYG9VHG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/conformance/ConformanceEvidence# TXXR2N04040RF5Y7R9731G4N9W13CEC21VVX7XM51GCDW6Y6M0V0 - 8b2814918a9f0cf54a83d29080a9c6bf177682d9 SFB1F696AR5CX5SPHN1SWMFMW95P794Y47VWN1BSQXYJQS03PGT0 MR-SOFI-0274 dsm::sofi::validation::Evidence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0274 (Partial) DV3GXWYX7HYNQKSNFRF34RHX425WG9QQYSPFBYG893DRHGM7X8V0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/Evidence# WJQQ0K1WSSNMX99BCJ8YD2E6RES1A4FG5XMFE06TG469EBH55MG0 - 1d58ffa8846eaab4902a4912f44b359e16553bb3 W0PJFQEECDGBS2NF1R1QWZ5W0S38SG713ZE5JDTKAEQC1Z6GN6M0 -MR-SOFI-0277 dsm_sdk::sdk::sofi_sdk::draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::operations::tests::roundtrip::genesis - CONFORMANCE §8 MR-SOFI-0277 (Met) 7771X83J0C1SZ1EE8M9BNQ1DENRB9WSEM8JJFNBEXTFT38EJ8XMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/draft(). 6GKEZFYP2PGPEP3DVHA4WM6XE5WD7AFEQ8SCRVC20H3WG09PRWCG 5EVQ2AP1DQCRF5R962B89T9591AMSECGPH28C5ZG15V843E91500 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 CQ6DJK75GH8N6DG6WPEE1SHD59A8AJS1PCTH9CYQQXCF6K9GTAJ0 -MR-SOFI-0280 dsm::types::device_state::DeviceState::derive_transition_entropy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::advance_derives_the_one_entropy_and_nothing_else_supplies_it;dsm::types::device_state::tests::changing_a_carried_byte_changes_the_derived_value_and_the_tip - CONFORMANCE §8 MR-SOFI-0280 (Met) BTJ5AGKDCKRCH9KZ9VTZP9H8TF39W3ZP05DTFEPNQWS688E0V560 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]derive_transition_entropy(). PKKNJ4KNMHY4YMHZKFMWND79BCDW12AH4B2453FQWXGPCAMP8DH0 X78JW1FN2GTZWNKN2HN8GZA34S69VJZJ46HQGM5R6Q2EYS5DB5Q0;VGZDKAN8F1ZCWB0BWZF1ZFVNVJG07VM0QH69ZVVS7XB00BK92TR0 375506f9333de6e529968767d19d565d189cc385 BHF3XSY6ZF8HBK5916HAREB4VRGPMAGD3ZCKVC8C1C6H0GMQVQK0 -MR-SOFI-0281 dsm::core::state_machine::StateMachine::prepare_advance_relationship android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0281 (Partial) EPTNMTMS57XQPBPHZ9YNG0BMXZX53NAR6Z4TATACJZT0GSJSH2AG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 core/state_machine/impl#[StateMachine]prepare_advance_relationship(). DBHBAFN8YQG9CAPREEJ312TRKPGSA8KQKCT6JB09Z1K5AF1N719G - 375506f9333de6e529968767d19d565d189cc385 SNR9XTRM6B55XSZGFQE3SXTVFXNQ9Z9BD72W6VK7ARRC93WFM440 -MR-SOFI-0281 dsm_sdk::sdk::core_sdk::CoreSDK::admitted_advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0281 (Partial) GARS68PC3AA3VHMSN9N6B6QRCCJJG41EGHDRPKG5V7XK3Z3T69NG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/core_sdk/impl#[CoreSDK]admitted_advance(). NHMRQK05AXFCSMMBHZEGFB3TQBQVRZS00G422VRRBNNEKCKDKVPG - b7d9468858f6bcdb31f97ed84937343e7eea7227 Y39YFD1F20FJHNDX2Z1S4381EGPCD0AMAN0N8DDHEXQJNQDGNEYG -MR-SOFI-0282 dsm::types::device_state::DeviceState::advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::advance_derives_the_one_entropy_and_nothing_else_supplies_it;dsm::types::device_state::tests::tip_and_both_receipt_hashes_contain_the_one_derived_value - CONFORMANCE §8 MR-SOFI-0282 (Met) 3QTD9XXJKBF5AT2R2H4HDQ4Q1VS53FE86VGV4P7K5WWG93SS2VR0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]advance(). ZZ2VV07H48E8QY9YNMD5KTNEX65YMZSHA69K5WTJSBZF26486BT0 X78JW1FN2GTZWNKN2HN8GZA34S69VJZJ46HQGM5R6Q2EYS5DB5Q0;V5DAZ3AMVRHPM4V3MHGCJFBN82PH3C4P41Q8M1EBSW60G9JRM44G 375506f9333de6e529968767d19d565d189cc385 PRE2DGES6PZ3BVZB57ZJJGNJ7C434513FEPVD6RXZDENBEGAFJCG -MR-SOFI-0282 dsm::types::device_state::DeviceState::derive_transition_entropy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::advance_derives_the_one_entropy_and_nothing_else_supplies_it;dsm::types::device_state::tests::tip_and_both_receipt_hashes_contain_the_one_derived_value - CONFORMANCE §8 MR-SOFI-0282 (Met) FSFPXZS01K0P07F5BXT7VQAH83EEA3Z325EG2AJ34HW0BK4E4AVG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]derive_transition_entropy(). PKKNJ4KNMHY4YMHZKFMWND79BCDW12AH4B2453FQWXGPCAMP8DH0 X78JW1FN2GTZWNKN2HN8GZA34S69VJZJ46HQGM5R6Q2EYS5DB5Q0;V5DAZ3AMVRHPM4V3MHGCJFBN82PH3C4P41Q8M1EBSW60G9JRM44G 375506f9333de6e529968767d19d565d189cc385 QH1DJ4HV32WEJ4X1V14FPTWHZ2ETZ9RH5AFSPP3EG4RW2NV0G7GG -MR-SOFI-0287 dsm_storage_node::storage_contract_router node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly - CONFORMANCE §8 MR-SOFI-0287 (Met) 2WQHBFJEZ32D9FX7EEHYBG8MMEZM2800XXS35WNYDS904K019J9G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 storage_contract_router(). M46JH6SFF1YQ79ZYCY90CS59ZWPAG6YNXG5W2RHA81S9HZ21Y96G PQB9NJN15XKF5FJ0273BPM0GR2WPR20J1T4N13MSHJJVAADVJNB0 375506f9333de6e529968767d19d565d189cc385 5M80WQ1F6P3HWDJENMS86ZF7KD9BP0C1NVD6W3XDV5CDX6YG6MB0 -MR-SOFI-0288 dsm::sofi::signature::verify_operation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_sofi_setup_advances_only_with_a_signature_over_its_own_digest - CONFORMANCE §8 MR-SOFI-0288 (Met) WEZQSTNXXJJVRZ04NCGQCXGGDY4FN017399N6A7F3FS70ZNYW0YG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/signature/verify_operation(). D3Z1YXJP113506EXC2TGBXM1RS12C5EV1RA0RPYV5C3BJQCTAC80 CA2BMHDZTRYER3PN7W93NP1WFKW0H0D1V73HW2D4V86YFM8J4NH0 375506f9333de6e529968767d19d565d189cc385 X9GRXXR5DMTRV5C808FFQFAWWE95YRDN877DW8JNHVRMM33118HG -MR-SOFI-0289 dsm_storage_node::api::objects::immutable::get_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::bytes_put_into_the_immutable_store_come_back_byte_identical - CONFORMANCE §8 MR-SOFI-0289 (Met) S5DS2W39DBPJXZ7VBAJRWVYXC476K7HYZDVWVAT1Z6KN84WZZH1G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/get_immutable(). 72KGDEXXRHV64H3GARF88Z7YV7KBKVW16BXT9ZFYM3Y1GH6HN8R0 GKQ1K4T5BQH1VMNMTQ2NM52SG5396QK3C5J1YPQ3AZB4T9X82K30 375506f9333de6e529968767d19d565d189cc385 FKZMFGJRB2P397SEKH073XR281DFVJHNATXN0TMXRDB5DJBAVBB0 -MR-SOFI-0289 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::bytes_put_into_the_immutable_store_come_back_byte_identical - CONFORMANCE §8 MR-SOFI-0289 (Met) 9X9ZGW3EDWY0SEQRS7SK1ZYP9TAHWERGPKVVGNSZHYX593YVT8NG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). 7VMR8Q43YDYV2PEEA9GE2GCHNWTG39XQ987057JPD85E6TWNKEF0 GKQ1K4T5BQH1VMNMTQ2NM52SG5396QK3C5J1YPQ3AZB4T9X82K30 375506f9333de6e529968767d19d565d189cc385 1KJF10ASWATF75HE9TVHQBDBBANS6J7NRKVCENBHW2TJE87BF990 -MR-SOFI-0302 dsm::economic::token_policy::parse_token_policy_blob android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::token_routes::tests::the_packed_policy_parses_to_every_field_it_was_packed_from;dsm_sdk::handlers::token_routes::tests::a_multi_signer_threshold_round_trips - CONFORMANCE §8 MR-SOFI-0302 (Met) 4C3PMPDZ67449WSGZESFT276YJRXGX83VFSKYCZQAVHRW680CVRG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/parse_token_policy_blob(). 77KJ0KQ0D2XKB9SJQNN99CS4EG3KSKZXTEJ4BVXTHK4CXPT8K36G CSNN7ZTMPYGP21MDMETAG6ZR389YARJRVZVSAN303Q3GVZST4400;ATV2AXKZ138RPASBCQ2JVXVP8H540GHMTGP9MGRY0A9WFCSEB8M0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 B70D5NYKKTDH61XPHYQEXYKSBGTQKQ6EQTG6ZQ62HNB12Y5WHDY0 -MR-SOFI-0302 dsm_sdk::handlers::token_routes::build_policy_v3_bytes android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::token_routes::tests::the_packed_policy_parses_to_every_field_it_was_packed_from;dsm_sdk::handlers::token_routes::tests::a_multi_signer_threshold_round_trips - CONFORMANCE §8 MR-SOFI-0302 (Met) BJMHEPFRKSDH4C93DAYG4EWPDMNXA3KKQ398MZQ0ZY5JC54YMGFG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 handlers/token_routes/build_policy_v3_bytes(). DKEK758SS68XGCXWZZH42HA0TETZ1BA9P6ES7A5FB7HJJ3WAYRHG CSNN7ZTMPYGP21MDMETAG6ZR389YARJRVZVSAN303Q3GVZST4400;ATV2AXKZ138RPASBCQ2JVXVP8H540GHMTGP9MGRY0A9WFCSEB8M0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 9NHCDN626P3YAS71MNGJ5EDS85RYHF0FPKGTFX9QX7GJ4WEVQSRG -MR-SOFI-0303 dsm::economic::token_policy::parse_token_policy_blob android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::token_routes::tests::a_bad_ticker_or_decimals_is_refused;dsm_sdk::handlers::token_routes::tests::an_empty_or_oversized_signer_set_is_refused;dsm_sdk::handlers::token_routes::tests::an_unsatisfiable_threshold_is_refused;dsm::economic::token_policy::tests::every_rule_refuses_its_violation - CONFORMANCE §8 MR-SOFI-0303 (Partial) BVNMQTNZX8K5FH7T6XR2WGKRESB9X5YZ48JYR3KAXFNK2PBGP8X0 Partial SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/parse_token_policy_blob(). 77KJ0KQ0D2XKB9SJQNN99CS4EG3KSKZXTEJ4BVXTHK4CXPT8K36G PS199DT5HZ1V3T54F0NR2M5E1FTA76DC80EB6D11AZY9MC1PAD1G;4F6P7J74W6GG7JQJ37ATCEJTQHGZNQQFH9XR3DN7YHCXHSJ4CM5G;NZHVR2P1CRBZKD3EZX1JZKJ3TYFV781XKJ31AKPPS33YPQR0H230;7YXQJQNSMV14FARF597204TJC2VZK5C8SXN3RY73QKR2WEKPNC70 8b2814918a9f0cf54a83d29080a9c6bf177682d9 GNC0NSJ2MDTNVTV699BBK9QVQZDNV2AHWMZCWH37EBFP071X24D0 -MR-SOFI-0303 dsm_sdk::handlers::token_routes::build_policy_v3_bytes android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::token_routes::tests::a_bad_ticker_or_decimals_is_refused;dsm_sdk::handlers::token_routes::tests::an_empty_or_oversized_signer_set_is_refused;dsm_sdk::handlers::token_routes::tests::an_unsatisfiable_threshold_is_refused;dsm::economic::token_policy::tests::every_rule_refuses_its_violation - CONFORMANCE §8 MR-SOFI-0303 (Partial) MDTPWTPT0V8SCM77CSQ7QE7VJ426TMBNQG64KK5HVCH0395ZXVR0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 handlers/token_routes/build_policy_v3_bytes(). DKEK758SS68XGCXWZZH42HA0TETZ1BA9P6ES7A5FB7HJJ3WAYRHG PS199DT5HZ1V3T54F0NR2M5E1FTA76DC80EB6D11AZY9MC1PAD1G;4F6P7J74W6GG7JQJ37ATCEJTQHGZNQQFH9XR3DN7YHCXHSJ4CM5G;NZHVR2P1CRBZKD3EZX1JZKJ3TYFV781XKJ31AKPPS33YPQR0H230;7YXQJQNSMV14FARF597204TJC2VZK5C8SXN3RY73QKR2WEKPNC70 8b2814918a9f0cf54a83d29080a9c6bf177682d9 7H3TAW1V9S8DGW1W6PNJSSM68D11T37W2DCKZ23619D8QT67WPX0 -MR-SOFI-0304 dsm::core::token::policy::TokenPolicySystem::commitment_of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::a_policy_is_registered_from_its_committed_bytes_alone;dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm_sdk::handlers::token_routes::tests::the_packed_policy_parses_to_every_field_it_was_packed_from - CONFORMANCE §8 MR-SOFI-0304 (Met) 19VN197XW99S83DCVWT9C23134XC7WNM6RBDVX9PS7ZFKKMXY19G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/impl#[TokenPolicySystem]commitment_of(). 31RS525YNBFJCGGKEVZ7K8FT3RYXW0KXXDRPMX0D8PXZ4B8YV9M0 X97GFZCKR8811524JP6ZQZQG137Y7MRZBJPWDN7TW7MY1ATRAYCG;R8XDYK58WCQP6X2QM069NZQZNFWSH31GTKN6ZV5GYSD8A2ERK9QG;CSNN7ZTMPYGP21MDMETAG6ZR389YARJRVZVSAN303Q3GVZST4400 8b2814918a9f0cf54a83d29080a9c6bf177682d9 H4400M39YYY5FXXJ87WZ8805MKGF1AZH53VM5HJQTXK8JAHCQZVG -MR-SOFI-0304 dsm::core::token::policy::TokenPolicySystem::register_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::a_policy_is_registered_from_its_committed_bytes_alone;dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm_sdk::handlers::token_routes::tests::the_packed_policy_parses_to_every_field_it_was_packed_from - CONFORMANCE §8 MR-SOFI-0304 (Met) A21RDXK8JV8TAW28ESQ2AQG4YQ8KRDAM2ZN1K3ND4R2XE5ZJZDWG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/impl#[TokenPolicySystem]register_policy(). ZABYWG5EXPCACFGFRJJ0PZHFPHQ4WVQ6PW5RAHE59RFVRXTZS8V0 X97GFZCKR8811524JP6ZQZQG137Y7MRZBJPWDN7TW7MY1ATRAYCG;R8XDYK58WCQP6X2QM069NZQZNFWSH31GTKN6ZV5GYSD8A2ERK9QG;CSNN7ZTMPYGP21MDMETAG6ZR389YARJRVZVSAN303Q3GVZST4400 8b2814918a9f0cf54a83d29080a9c6bf177682d9 1YRKDB69MDPFJAP1PQKSZECHVV24D7MP9KKWP7EG6P9GH4Y3EW1G -MR-SOFI-0304 dsm::sofi::validation::market_legs_permitted android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::a_policy_is_registered_from_its_committed_bytes_alone;dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm_sdk::handlers::token_routes::tests::the_packed_policy_parses_to_every_field_it_was_packed_from - CONFORMANCE §8 MR-SOFI-0304 (Met) WNRTPAXN2YYSP4X50AFMPH0KS02MDRV66K5JPB5XFDV40GKGH68G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/market_legs_permitted(). F6890T0MAK6FBDTJMGBMNKRADBPSDVGDHCEDZSBQZJ0T90FQNK9G X97GFZCKR8811524JP6ZQZQG137Y7MRZBJPWDN7TW7MY1ATRAYCG;R8XDYK58WCQP6X2QM069NZQZNFWSH31GTKN6ZV5GYSD8A2ERK9QG;CSNN7ZTMPYGP21MDMETAG6ZR389YARJRVZVSAN303Q3GVZST4400 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 X6CR35J20JNHDMR1A5SJEYBXSKNZ2YS663VP0KANWTMQRV7HRHH0 -MR-SOFI-0306 dsm::economic::token_policy::parse_token_policy_blob android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::token_policy::tests::a_zero_genesis_supply_is_refused;dsm::economic::token_policy::tests::every_rule_refuses_its_violation;dsm_sdk::supply_cap_enforcement::supply_cap_denies_a_creation_that_would_exceed_it - CONFORMANCE §8 MR-SOFI-0306 (Met) GTYF44EHK72VBEQT5HP0ZP3YMQ4WG7T9VHNA5FCEHS67BYCAFZVG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/parse_token_policy_blob(). 77KJ0KQ0D2XKB9SJQNN99CS4EG3KSKZXTEJ4BVXTHK4CXPT8K36G TSQQCZ621PNK5NGXF58YWXQXAEASD0CF4YYZ1EN5SV09AYQEY44G;7YXQJQNSMV14FARF597204TJC2VZK5C8SXN3RY73QKR2WEKPNC70;90816X74FB4BANF5CSQJZB6KEX7R3775JHWAGS0QA550EQAC2YEG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 T7M3QR7ZGS89JAZ7NQ9CFJ2Q8HG47CGTSJ2NCS7NS2BDAN8H8VG0 -MR-SOFI-0306 dsm::types::policy_types::PolicyCondition android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::token_policy::tests::a_zero_genesis_supply_is_refused;dsm::economic::token_policy::tests::every_rule_refuses_its_violation;dsm_sdk::supply_cap_enforcement::supply_cap_denies_a_creation_that_would_exceed_it - CONFORMANCE §8 MR-SOFI-0306 (Met) 2CYEDJQ2F1Z0ANBDAAQWFVXBVY4620GPSW501RTCKJF9ANC1E6C0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 types/policy_types/PolicyCondition# Z6PM6A9DBGTDXSM5FGDTZ326RZ2FCCX40CM96KK0XT60A0YFYZVG TSQQCZ621PNK5NGXF58YWXQXAEASD0CF4YYZ1EN5SV09AYQEY44G;7YXQJQNSMV14FARF597204TJC2VZK5C8SXN3RY73QKR2WEKPNC70;90816X74FB4BANF5CSQJZB6KEX7R3775JHWAGS0QA550EQAC2YEG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 D7VP67V43TPGEB30WYQPM8G12AYYZYXHCJWFZBMK1J15DMH2KY9G -MR-SOFI-0307 dsm::economic::provenance::verify_genesis_release android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_created_token_releases_its_whole_genesis_supply_to_its_creator;dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage;dsm::economic_write_set::a_burn_round_trips_and_removes_a_zeroed_balance - CONFORMANCE §8 MR-SOFI-0307 (Partial) PNM5W3VHZTWVFFZ0J2TZWC05FHKXV4D8VPAYYZSVXDG787J98NBG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/provenance/verify_genesis_release(). 1X0FN1N2HPJRF6ZW6JYXW0XXY9SYS7W6WV13R3C67Q2PHZPECTJG DCECB4VVN97BQB0DJD0Q1GJJTSW5G3Q8SEWBSF8YC5R9PQJ3PGZG;91WRZVFK93AW3ZN7PR6HK5QD0P14NC5EQTKG1ZV0JRTD2P5G6RMG;JM6SWMCQ9WPXGZ0YC2BZWXH64A1GNCB6P4H6W3RYR4BR0ATBHWK0 b7d9468858f6bcdb31f97ed84937343e7eea7227 GYFRDZQKZPVC1P8JNAQA3E5P116F2HW32NA0N7Q79QRJT2VV79DG -MR-SOFI-0307 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_created_token_releases_its_whole_genesis_supply_to_its_creator;dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage;dsm::economic_write_set::a_burn_round_trips_and_removes_a_zeroed_balance - CONFORMANCE §8 MR-SOFI-0307 (Partial) 7ZZWZQ683V53MSKBVTJ4TNFYMGRFGXZT08H3AP4V2M2CS46NBKPG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). G608SP6WY4FK1Z8C89NTNFCZKGAT0RAGA0C8MQ2P20V2GTQ5NR30 DCECB4VVN97BQB0DJD0Q1GJJTSW5G3Q8SEWBSF8YC5R9PQJ3PGZG;91WRZVFK93AW3ZN7PR6HK5QD0P14NC5EQTKG1ZV0JRTD2P5G6RMG;JM6SWMCQ9WPXGZ0YC2BZWXH64A1GNCB6P4H6W3RYR4BR0ATBHWK0 b7d9468858f6bcdb31f97ed84937343e7eea7227 VPBT4W6YZ5YTGRPDPSPHEAN2KWC9CET5FMHZGVSEPKZN6E2BVDK0 -MR-SOFI-0307 dsm::types::device_state::validate_conservation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_created_token_releases_its_whole_genesis_supply_to_its_creator;dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage;dsm::economic_write_set::a_burn_round_trips_and_removes_a_zeroed_balance - CONFORMANCE §8 MR-SOFI-0307 (Partial) 3XWCQK34RV8434MW1YMK6YD85EEMBRZF4VYSVQJAXVZGK0DMSY30 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/validate_conservation(). 2W0DT0R5QASTTAYX1RV58A342N7Q5V34D4RKJPP327DA4HGCNY6G DCECB4VVN97BQB0DJD0Q1GJJTSW5G3Q8SEWBSF8YC5R9PQJ3PGZG;91WRZVFK93AW3ZN7PR6HK5QD0P14NC5EQTKG1ZV0JRTD2P5G6RMG;JM6SWMCQ9WPXGZ0YC2BZWXH64A1GNCB6P4H6W3RYR4BR0ATBHWK0 b7d9468858f6bcdb31f97ed84937343e7eea7227 236DN55F8K09742GZKE7WAXVST384DPVZ8Z8S7EYVNK3T7NJ4YF0 -MR-SOFI-0310 dsm::core::token::policy::policy_enforcement::PolicyEnforcer::check_condition android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::policy_enforcement::tests::the_policy_permits_exactly_what_its_flags_name;dsm_sdk::handlers::sender_admission_tests::a_burn_disabled_token_refuses_its_burn - CONFORMANCE §8 MR-SOFI-0310 (Met) WRAHDSGXDJENM81N09W5NF681HR1058MHSZK69V2CW251DDKN770 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/policy_enforcement/impl#[PolicyEnforcer]check_condition(). 8M3TKAHAANX8GGK2WCD1RM7V6TP45B2DCGVSAV9ES9HVRRWGHZTG 62D4JY8BTFN3P4FKSZWA3RXX6WMKSG7WHQJ3DQR4Z6JEYHCBA7KG;H633D5GMDPZNGMRT44TGM418TGV6JQV11P9HFFDVHRSG2PNQ5VNG b7d9468858f6bcdb31f97ed84937343e7eea7227 N775MZR925QB1DWDKS3DSNS34533YC6S2MEXJ1RA0FZ392S0VVEG -MR-SOFI-0310 dsm::core::token::policy::policy_enforcement::enforced_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::policy_enforcement::tests::the_policy_permits_exactly_what_its_flags_name;dsm_sdk::handlers::sender_admission_tests::a_burn_disabled_token_refuses_its_burn - CONFORMANCE §8 MR-SOFI-0310 (Met) 0RRP2Y9KTTV9YE503HMZKDM25ST1KJQQWCXG1XQH9B003SGND3EG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/policy_enforcement/enforced_policy(). GNTQCRXVBZC59CERGESFTFXEQ46S0GDMMBV73Y5CTP4J41168SFG 62D4JY8BTFN3P4FKSZWA3RXX6WMKSG7WHQJ3DQR4Z6JEYHCBA7KG;H633D5GMDPZNGMRT44TGM418TGV6JQV11P9HFFDVHRSG2PNQ5VNG b7d9468858f6bcdb31f97ed84937343e7eea7227 27JD3G98Y2F20B4XHCEEP1T2T5YDY4SKHKZNX6SJR29G554JS2DG -MR-SOFI-0310 dsm::core::token::policy::policy_enforcement::permitted_operations android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::policy_enforcement::tests::the_policy_permits_exactly_what_its_flags_name;dsm_sdk::handlers::sender_admission_tests::a_burn_disabled_token_refuses_its_burn - CONFORMANCE §8 MR-SOFI-0310 (Met) P51YG23Z2D1VY023CDSV181CS57WZYY4PZS9AERJF8346Z05CP4G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/policy_enforcement/permitted_operations(). 11SVMTR3M7R7M3BZQ1HJR2GHQYSTN5JP06X16Q2S4P7BAC6KET20 62D4JY8BTFN3P4FKSZWA3RXX6WMKSG7WHQJ3DQR4Z6JEYHCBA7KG;H633D5GMDPZNGMRT44TGM418TGV6JQV11P9HFFDVHRSG2PNQ5VNG b7d9468858f6bcdb31f97ed84937343e7eea7227 RYTWJ6VTGM8RBCTJM61KAKJ9BX5F6EG1C6WW738YWV837T1YD9W0 -MR-SOFI-0311 dsm::economic::issuance::check_market_leg_permitted android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg;dsm::sofi::lineage::genesis_acceptance::a_vault_over_a_token_that_forbids_transfer_is_refused - CONFORMANCE §8 MR-SOFI-0311 (Partial) J5GS1XZN1D8TWZEHGQT4JP3XXV458W52BHK5C1AGZC0F4TTFYV3G Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/issuance/check_market_leg_permitted(). MZ9E6X0F1VX0PNVSQ7J507ZN58RS0RYB4D4ZPRW14WMW3K7B3MYG 1Z8DHMH799QQNTMJYHACF3C4AZZ7JJ6WY44A74GJH98P1Y3JFP30;3VY6QSFE5DMAT9FCG6HZH5YDMAJ6W5MTQFGR6Y1VJANX6BNDCQE0 b7d9468858f6bcdb31f97ed84937343e7eea7227 J01TX47NDDKP2N1GGCXFXG4Z5N4YNME49DCV7W5JKMVN4PYCXGJG -MR-SOFI-0311 dsm::sofi::lineage::genesis_accepted android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg;dsm::sofi::lineage::genesis_acceptance::a_vault_over_a_token_that_forbids_transfer_is_refused - CONFORMANCE §8 MR-SOFI-0311 (Partial) SM8DS7X5EVK1QVRE4S0PBQ7TJSVCK25MKQF3XQ0J63542YBY0K70 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/genesis_accepted(). 5VRDA0MFP5T6JC5JXDNHDX8F578BAPJWJ4Z0PW24JQ7VJWDM8YD0 1Z8DHMH799QQNTMJYHACF3C4AZZ7JJ6WY44A74GJH98P1Y3JFP30;3VY6QSFE5DMAT9FCG6HZH5YDMAJ6W5MTQFGR6Y1VJANX6BNDCQE0 b7d9468858f6bcdb31f97ed84937343e7eea7227 J2HK9AETKM03X43BAQ2JH2C1PJT5FXB3NCR9ADZKZWDQK7611CM0 -MR-SOFI-0311 dsm::sofi::validation::market_legs_permitted android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg;dsm::sofi::lineage::genesis_acceptance::a_vault_over_a_token_that_forbids_transfer_is_refused - CONFORMANCE §8 MR-SOFI-0311 (Partial) 3YV94WGA4QBBRBV6Z7DXCM15ZVHBJVAKFYZH41G39TJ0H9WMRW6G Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/market_legs_permitted(). F6890T0MAK6FBDTJMGBMNKRADBPSDVGDHCEDZSBQZJ0T90FQNK9G 1Z8DHMH799QQNTMJYHACF3C4AZZ7JJ6WY44A74GJH98P1Y3JFP30;3VY6QSFE5DMAT9FCG6HZH5YDMAJ6W5MTQFGR6Y1VJANX6BNDCQE0 b7d9468858f6bcdb31f97ed84937343e7eea7227 QM5NBGPE9MSGA4CZ8WB7D90YPB31CQ25C9FPE4MAZ9KQRSSMYPN0 +MR-SOFI-0277 dsm_sdk::sdk::sofi_sdk::draft android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::operations::tests::roundtrip::genesis - CONFORMANCE §8 MR-SOFI-0277 (Met) 7771X83J0C1SZ1EE8M9BNQ1DENRB9WSEM8JJFNBEXTFT38EJ8XMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/draft(). BSKR3D3F2JHAVHBCPBGZZR8CWGGXDW8AG43QNM3SV4QP1R9S6XPG 2KXFWWMP2RA4GWCEFN0NMWE8ZK88CC7ZR2HH17821JSEQM10N7T0 83b6f616ac244334064c4c56d391c23eb42a7ce6 HCR2H1GDWJF2R2W3A8RETVZFT3XWPFZ4HAFVETGP7JGRRZ9HW7GG +MR-SOFI-0280 dsm::types::device_state::DeviceState::derive_transition_entropy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::advance_derives_the_one_entropy_and_nothing_else_supplies_it;dsm::types::device_state::tests::changing_a_carried_byte_changes_the_derived_value_and_the_tip - CONFORMANCE §8 MR-SOFI-0280 (Met) BTJ5AGKDCKRCH9KZ9VTZP9H8TF39W3ZP05DTFEPNQWS688E0V560 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]derive_transition_entropy(). 808H6XR3P64R7RQTWAXJEJDGCANWWE49K7JBTEHYPGX5HMX5EMF0 83AT99W02D7JGTMWJT71EW5D1BJYQDS9AM5ZMD536H3GJFHBWZ4G;C7YWS786S2WKQZSN711F0P9TYK9TX9BXXCTWG7XAGJ7EQYY5N1C0 83b6f616ac244334064c4c56d391c23eb42a7ce6 99V3TYZY6TP3EV9ZTTMF5AKZFZ1WH93X95TDMPPE2RY3R6ZWF0VG +MR-SOFI-0281 dsm::core::state_machine::StateMachine::prepare_advance_relationship android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0281 (Partial) EPTNMTMS57XQPBPHZ9YNG0BMXZX53NAR6Z4TATACJZT0GSJSH2AG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 core/state_machine/impl#[StateMachine]prepare_advance_relationship(). PDS4DJ2HX5TXET4C5Y9QCY1W1W0AYXESPKJ6MXYA69Z6JS7CJ980 - 83b6f616ac244334064c4c56d391c23eb42a7ce6 2457S62TK930FDVWE4GKVPA6WZ45X2N31952V08Q33QDVT1219M0 +MR-SOFI-0281 dsm_sdk::sdk::core_sdk::CoreSDK::admitted_advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0281 (Partial) GARS68PC3AA3VHMSN9N6B6QRCCJJG41EGHDRPKG5V7XK3Z3T69NG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/core_sdk/impl#[CoreSDK]admitted_advance(). 45VVM8Z20Q9VDT6A8F3W66GC5KBGFAK35NBTMX4PB19EQZWNHK5G - 83b6f616ac244334064c4c56d391c23eb42a7ce6 0DGYQKMZFBK6KDHSDC2DKA4C4HFK12AMQ22KY0F68D0EXX3A01JG +MR-SOFI-0282 dsm::types::device_state::DeviceState::advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::advance_derives_the_one_entropy_and_nothing_else_supplies_it;dsm::types::device_state::tests::tip_and_both_receipt_hashes_contain_the_one_derived_value - CONFORMANCE §8 MR-SOFI-0282 (Met) 3QTD9XXJKBF5AT2R2H4HDQ4Q1VS53FE86VGV4P7K5WWG93SS2VR0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]advance(). E5QPEKJEDVGQSAAG5TC98KNJRQZ88Y5K3MGJED5GPR0F8TPKHH20 83AT99W02D7JGTMWJT71EW5D1BJYQDS9AM5ZMD536H3GJFHBWZ4G;VS96D37BJ7CWBQ5AD9F1ARP6BN1C84P2X9H9SW1YN30J94Z3FFN0 83b6f616ac244334064c4c56d391c23eb42a7ce6 NQPMYW3ZWB8FTMK5ZNK7F5E5WNPV5T1PM8VT9V7JCQ0HRGMW2650 +MR-SOFI-0282 dsm::types::device_state::DeviceState::derive_transition_entropy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::advance_derives_the_one_entropy_and_nothing_else_supplies_it;dsm::types::device_state::tests::tip_and_both_receipt_hashes_contain_the_one_derived_value - CONFORMANCE §8 MR-SOFI-0282 (Met) FSFPXZS01K0P07F5BXT7VQAH83EEA3Z325EG2AJ34HW0BK4E4AVG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]derive_transition_entropy(). 808H6XR3P64R7RQTWAXJEJDGCANWWE49K7JBTEHYPGX5HMX5EMF0 83AT99W02D7JGTMWJT71EW5D1BJYQDS9AM5ZMD536H3GJFHBWZ4G;VS96D37BJ7CWBQ5AD9F1ARP6BN1C84P2X9H9SW1YN30J94Z3FFN0 83b6f616ac244334064c4c56d391c23eb42a7ce6 9PABRQCFAQDM6DJ31EQ2ABEKBNS05BRH34488PWQEPBYBK982HBG +MR-SOFI-0287 dsm_storage_node::storage_contract_router node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly - CONFORMANCE §8 MR-SOFI-0287 (Met) 2WQHBFJEZ32D9FX7EEHYBG8MMEZM2800XXS35WNYDS904K019J9G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 storage_contract_router(). HFYRD5M223V04JGR5SX1JHV19Z8K3QNCC5XZS8MZ8VRAGEQ513E0 7YNNQ8C9MMDCRZBWBN3W9N6V6MG4ZSYBXNZEEZ9JT5VTQ0N6SAG0 83b6f616ac244334064c4c56d391c23eb42a7ce6 XWQYGYJZ53TTKDCRX0DRS5XV40B2B75CRMF8B207DJJS71VXRAK0 +MR-SOFI-0288 dsm::sofi::signature::verify_operation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_sofi_setup_advances_only_with_a_signature_over_its_own_digest - CONFORMANCE §8 MR-SOFI-0288 (Met) WEZQSTNXXJJVRZ04NCGQCXGGDY4FN017399N6A7F3FS70ZNYW0YG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/signature/verify_operation(). MJQTQ9FV0B13NGS162S6EHH1QP7WJKQDJK1N3QYRKV95EX953D10 R8DJGM09885F6Q2J98HHTTN8SAZ62YBGPWCJBJ1Q2SATWX9T62BG 83b6f616ac244334064c4c56d391c23eb42a7ce6 1PHN09CJQNEZA07HPDJBN7CHJSX4AVBWHMD7H5W3R273D17P6EFG +MR-SOFI-0289 dsm_storage_node::api::objects::immutable::get_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::bytes_put_into_the_immutable_store_come_back_byte_identical - CONFORMANCE §8 MR-SOFI-0289 (Met) S5DS2W39DBPJXZ7VBAJRWVYXC476K7HYZDVWVAT1Z6KN84WZZH1G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/get_immutable(). C1K478QFNYEWF1K1RH047DRTNTBQ9HNQWT5C9PCA3WZXENH7JDVG 2TJ46NE373MVTRDQS4F3Z17W23CJBXV575ED8PZWNAY6714R6M70 83b6f616ac244334064c4c56d391c23eb42a7ce6 C08RBGDNSK6N6ZZMAS7AK042CVKD6EQEQCF8SD4VD2KMWC9E9K10 +MR-SOFI-0289 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::bytes_put_into_the_immutable_store_come_back_byte_identical - CONFORMANCE §8 MR-SOFI-0289 (Met) 9X9ZGW3EDWY0SEQRS7SK1ZYP9TAHWERGPKVVGNSZHYX593YVT8NG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). TFRDYBH6HSA6CVY40SPX839PDAKFKNBHG40NGN0E8971PY6C9D9G 2TJ46NE373MVTRDQS4F3Z17W23CJBXV575ED8PZWNAY6714R6M70 83b6f616ac244334064c4c56d391c23eb42a7ce6 ETHRBGMJ0M97TWFZZEW3WA6C1MZD6KC8932A8FRNDF5N9WTVF8YG +MR-SOFI-0302 dsm::economic::token_policy::parse_token_policy_blob android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::token_routes::tests::the_packed_policy_parses_to_every_field_it_was_packed_from;dsm_sdk::handlers::token_routes::tests::a_multi_signer_threshold_round_trips - CONFORMANCE §8 MR-SOFI-0302 (Met) 4C3PMPDZ67449WSGZESFT276YJRXGX83VFSKYCZQAVHRW680CVRG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/parse_token_policy_blob(). TN7C1BJ61VFMPF9JV3BQK73KX1FE9W9A3V3ZA1TWTYQ46683PPF0 3V2PX1Y5KAEFH5SV46D0ZWDMGRTGM24QB7P4B4CPDBC6SDYN8A20;EKDA2PHKZJDSW1HR2ZK14355B81TYNQ1HF7FPFZCCRPWM4EBYK8G 83b6f616ac244334064c4c56d391c23eb42a7ce6 Z69NJQPSKHCFNX5D6FKNVWYSTZT1TX7QE57HCPW24GAJZTGKKKAG +MR-SOFI-0302 dsm_sdk::handlers::token_routes::build_policy_v3_bytes android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::token_routes::tests::the_packed_policy_parses_to_every_field_it_was_packed_from;dsm_sdk::handlers::token_routes::tests::a_multi_signer_threshold_round_trips - CONFORMANCE §8 MR-SOFI-0302 (Met) BJMHEPFRKSDH4C93DAYG4EWPDMNXA3KKQ398MZQ0ZY5JC54YMGFG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 handlers/token_routes/build_policy_v3_bytes(). Z4JAEPD6QRN4RZY65GF2P9SXFQT1RAC6MQ9149D9XD0A3V58XYB0 3V2PX1Y5KAEFH5SV46D0ZWDMGRTGM24QB7P4B4CPDBC6SDYN8A20;EKDA2PHKZJDSW1HR2ZK14355B81TYNQ1HF7FPFZCCRPWM4EBYK8G 83b6f616ac244334064c4c56d391c23eb42a7ce6 AZMFE3C9JKMHCCTR1B4DPW1Y8JAQ9ENWJ772C04Y1NCTZB3H1E6G +MR-SOFI-0303 dsm::economic::token_policy::parse_token_policy_blob android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::token_routes::tests::a_bad_ticker_or_decimals_is_refused;dsm_sdk::handlers::token_routes::tests::an_empty_or_oversized_signer_set_is_refused;dsm_sdk::handlers::token_routes::tests::an_unsatisfiable_threshold_is_refused;dsm::economic::token_policy::tests::every_rule_refuses_its_violation - CONFORMANCE §8 MR-SOFI-0303 (Partial) BVNMQTNZX8K5FH7T6XR2WGKRESB9X5YZ48JYR3KAXFNK2PBGP8X0 Partial SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/parse_token_policy_blob(). TN7C1BJ61VFMPF9JV3BQK73KX1FE9W9A3V3ZA1TWTYQ46683PPF0 BFZ17DRT9QNW5HXVYG232Q9AFDQW6C2KFV8353W7KF9SYRZ79MKG;04WT4N2RM8CKKQHAE8PFYRFYSNZNKBDDB0V8BG7SCVNFACP08J6G;78GGDQGMP3QX9NASB0JSAGCB9G5NH7FPA734FNTP4BX4HR2DMP6G;5SMY318WFXJ53S6HSK993XF807BNNQ2NKSE7C1RENY53WZR3B1C0 83b6f616ac244334064c4c56d391c23eb42a7ce6 T6RS8XE7YJP75XV62C3DN8WPYCVJ0SGPDVGA9D2MD6BMWHQJMSEG +MR-SOFI-0303 dsm_sdk::handlers::token_routes::build_policy_v3_bytes android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::token_routes::tests::a_bad_ticker_or_decimals_is_refused;dsm_sdk::handlers::token_routes::tests::an_empty_or_oversized_signer_set_is_refused;dsm_sdk::handlers::token_routes::tests::an_unsatisfiable_threshold_is_refused;dsm::economic::token_policy::tests::every_rule_refuses_its_violation - CONFORMANCE §8 MR-SOFI-0303 (Partial) MDTPWTPT0V8SCM77CSQ7QE7VJ426TMBNQG64KK5HVCH0395ZXVR0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 handlers/token_routes/build_policy_v3_bytes(). Z4JAEPD6QRN4RZY65GF2P9SXFQT1RAC6MQ9149D9XD0A3V58XYB0 BFZ17DRT9QNW5HXVYG232Q9AFDQW6C2KFV8353W7KF9SYRZ79MKG;04WT4N2RM8CKKQHAE8PFYRFYSNZNKBDDB0V8BG7SCVNFACP08J6G;78GGDQGMP3QX9NASB0JSAGCB9G5NH7FPA734FNTP4BX4HR2DMP6G;5SMY318WFXJ53S6HSK993XF807BNNQ2NKSE7C1RENY53WZR3B1C0 83b6f616ac244334064c4c56d391c23eb42a7ce6 Y9MD4C9H4M4ZDW0NS8JV3VHSXF58KKEV19KJ95G3RGA0D419T7VG +MR-SOFI-0304 dsm::core::token::policy::TokenPolicySystem::commitment_of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::a_policy_is_registered_from_its_committed_bytes_alone;dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm_sdk::handlers::token_routes::tests::the_packed_policy_parses_to_every_field_it_was_packed_from - CONFORMANCE §8 MR-SOFI-0304 (Met) 19VN197XW99S83DCVWT9C23134XC7WNM6RBDVX9PS7ZFKKMXY19G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/impl#[TokenPolicySystem]commitment_of(). 295J90SE7H1NVQY0JCK9B7J3KC120HB042FAGNEM8H853KDAVBE0 Z8Y4HRYZFX0JP1K4WPG7GRQVVA92FMGD8JX39X1ENSHRYPMFFNV0;CSBK9FAYE0EC1FV9ZJBV2VFBBP96YFJHHDWRZHVW8JFZRWWGW3AG;3V2PX1Y5KAEFH5SV46D0ZWDMGRTGM24QB7P4B4CPDBC6SDYN8A20 83b6f616ac244334064c4c56d391c23eb42a7ce6 2T0X1KWHFPWR846NQ9YRD29BWMNAKHGZ41J6RQKW2FR9CPK59DRG +MR-SOFI-0304 dsm::core::token::policy::TokenPolicySystem::register_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::a_policy_is_registered_from_its_committed_bytes_alone;dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm_sdk::handlers::token_routes::tests::the_packed_policy_parses_to_every_field_it_was_packed_from - CONFORMANCE §8 MR-SOFI-0304 (Met) A21RDXK8JV8TAW28ESQ2AQG4YQ8KRDAM2ZN1K3ND4R2XE5ZJZDWG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/impl#[TokenPolicySystem]register_policy(). 2STDH2RDMH3C09CVHKDH4YV2QV07YHSPCYW5Z0T7Z667M89JP350 Z8Y4HRYZFX0JP1K4WPG7GRQVVA92FMGD8JX39X1ENSHRYPMFFNV0;CSBK9FAYE0EC1FV9ZJBV2VFBBP96YFJHHDWRZHVW8JFZRWWGW3AG;3V2PX1Y5KAEFH5SV46D0ZWDMGRTGM24QB7P4B4CPDBC6SDYN8A20 83b6f616ac244334064c4c56d391c23eb42a7ce6 KMH5XMEKD0N5FKP47GXC2CMKEEXN6MJY1P75NJ8YAVBZ2C6AEY4G +MR-SOFI-0304 dsm::sofi::validation::market_legs_permitted android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::a_policy_is_registered_from_its_committed_bytes_alone;dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm_sdk::handlers::token_routes::tests::the_packed_policy_parses_to_every_field_it_was_packed_from - CONFORMANCE §8 MR-SOFI-0304 (Met) WNRTPAXN2YYSP4X50AFMPH0KS02MDRV66K5JPB5XFDV40GKGH68G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/market_legs_permitted(). B52DMD5Z6XQVMKXK695C5B4N1CWJN30JZAXQH1VYEEZ8J6JNVD10 Z8Y4HRYZFX0JP1K4WPG7GRQVVA92FMGD8JX39X1ENSHRYPMFFNV0;CSBK9FAYE0EC1FV9ZJBV2VFBBP96YFJHHDWRZHVW8JFZRWWGW3AG;3V2PX1Y5KAEFH5SV46D0ZWDMGRTGM24QB7P4B4CPDBC6SDYN8A20 83b6f616ac244334064c4c56d391c23eb42a7ce6 J7S9CEGSCZ3DF0E0CN1871JX7Z9BDKJHYGGWW1GVN403VSDCNQSG +MR-SOFI-0306 dsm::economic::token_policy::parse_token_policy_blob android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::token_policy::tests::a_zero_genesis_supply_is_refused;dsm::economic::token_policy::tests::every_rule_refuses_its_violation;dsm_sdk::supply_cap_enforcement::supply_cap_denies_a_creation_that_would_exceed_it - CONFORMANCE §8 MR-SOFI-0306 (Met) GTYF44EHK72VBEQT5HP0ZP3YMQ4WG7T9VHNA5FCEHS67BYCAFZVG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/parse_token_policy_blob(). TN7C1BJ61VFMPF9JV3BQK73KX1FE9W9A3V3ZA1TWTYQ46683PPF0 HV6DZ5NRYWARCC710KJ5NA238AX060TSFCMSHP14M0NE7305Q7EG;5SMY318WFXJ53S6HSK993XF807BNNQ2NKSE7C1RENY53WZR3B1C0;YVTAQCVBBA560H0A5SP4Z1W72RS0S0CQ058T9WDVJDPD98ZFGNJ0 83b6f616ac244334064c4c56d391c23eb42a7ce6 XAXQCW3TT2XC7KJRMBB21FYSNVS5EZ8024VJP6VG2WPN3FBQEJP0 +MR-SOFI-0306 dsm::types::policy_types::PolicyCondition android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::token_policy::tests::a_zero_genesis_supply_is_refused;dsm::economic::token_policy::tests::every_rule_refuses_its_violation;dsm_sdk::supply_cap_enforcement::supply_cap_denies_a_creation_that_would_exceed_it - CONFORMANCE §8 MR-SOFI-0306 (Met) 2CYEDJQ2F1Z0ANBDAAQWFVXBVY4620GPSW501RTCKJF9ANC1E6C0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 types/policy_types/PolicyCondition# H87HG57T7YQZVA89FTY577W2TGZ85KBP62TT8SGRWB2MB7KB083G HV6DZ5NRYWARCC710KJ5NA238AX060TSFCMSHP14M0NE7305Q7EG;5SMY318WFXJ53S6HSK993XF807BNNQ2NKSE7C1RENY53WZR3B1C0;YVTAQCVBBA560H0A5SP4Z1W72RS0S0CQ058T9WDVJDPD98ZFGNJ0 83b6f616ac244334064c4c56d391c23eb42a7ce6 SFV0DNCRE6PJZHWN048YHGHVNT6M0EAWDRR2B9WMP6R309D8Z150 +MR-SOFI-0307 dsm::economic::provenance::verify_genesis_release android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_created_token_releases_its_whole_genesis_supply_to_its_creator;dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage;dsm::economic_write_set::a_burn_round_trips_and_removes_a_zeroed_balance - CONFORMANCE §8 MR-SOFI-0307 (Partial) PNM5W3VHZTWVFFZ0J2TZWC05FHKXV4D8VPAYYZSVXDG787J98NBG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/provenance/verify_genesis_release(). V1653KK9B26YP2JA7K363E0Q0GHGQCDVDNKNE12D61V34C5FKHHG S7MVSJW5HF8VBNPJCZERJ66CNF0KJ5S8QTD96E8CNT6PQ0Y751P0;YS57YHRZH8RG97YF1DBE17SJ2YGXKQT3H1DTGW4GS8QBA3QJ1ARG;KQCK8ERKPZS63TKCGFJSXEGA1A30E2YMKDQBY7Q7M15Z0R632EBG 83b6f616ac244334064c4c56d391c23eb42a7ce6 W2C2G59V03SQ6SPCQ87YDB3HRDSXXPYJVT4NMBSRPJX88WKJ6JXG +MR-SOFI-0307 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_created_token_releases_its_whole_genesis_supply_to_its_creator;dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage;dsm::economic_write_set::a_burn_round_trips_and_removes_a_zeroed_balance - CONFORMANCE §8 MR-SOFI-0307 (Partial) 7ZZWZQ683V53MSKBVTJ4TNFYMGRFGXZT08H3AP4V2M2CS46NBKPG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). ZHP08EX4NHJGE0M8MSVJETQ4AYSP7X053J607M9VZ2BED8MY5CN0 S7MVSJW5HF8VBNPJCZERJ66CNF0KJ5S8QTD96E8CNT6PQ0Y751P0;YS57YHRZH8RG97YF1DBE17SJ2YGXKQT3H1DTGW4GS8QBA3QJ1ARG;KQCK8ERKPZS63TKCGFJSXEGA1A30E2YMKDQBY7Q7M15Z0R632EBG 83b6f616ac244334064c4c56d391c23eb42a7ce6 ZBXZ6N6MQ45KD79A554FNP6NXSZZMZ964P1C39PHWCN3VFWTE7X0 +MR-SOFI-0307 dsm::types::device_state::validate_conservation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_created_token_releases_its_whole_genesis_supply_to_its_creator;dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage;dsm::economic_write_set::a_burn_round_trips_and_removes_a_zeroed_balance - CONFORMANCE §8 MR-SOFI-0307 (Partial) 3XWCQK34RV8434MW1YMK6YD85EEMBRZF4VYSVQJAXVZGK0DMSY30 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/validate_conservation(). 60G8QTY9E1Q0SE9EMXEEDZSR2RSGR6ZNCS1ZDT6R97TBTV1R8M20 S7MVSJW5HF8VBNPJCZERJ66CNF0KJ5S8QTD96E8CNT6PQ0Y751P0;YS57YHRZH8RG97YF1DBE17SJ2YGXKQT3H1DTGW4GS8QBA3QJ1ARG;KQCK8ERKPZS63TKCGFJSXEGA1A30E2YMKDQBY7Q7M15Z0R632EBG 83b6f616ac244334064c4c56d391c23eb42a7ce6 JBBAPGJ0C2FD37NFSMPA3DWTQ44W4BG42W0T026FCDPDECS1QMJ0 +MR-SOFI-0310 dsm::core::token::policy::policy_enforcement::PolicyEnforcer::check_condition android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::policy_enforcement::tests::the_policy_permits_exactly_what_its_flags_name;dsm_sdk::handlers::sender_admission_tests::a_burn_disabled_token_refuses_its_burn - CONFORMANCE §8 MR-SOFI-0310 (Met) WRAHDSGXDJENM81N09W5NF681HR1058MHSZK69V2CW251DDKN770 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/policy_enforcement/impl#[PolicyEnforcer]check_condition(). JBHWYZQ5NVYJ3979AY1P00YEQ94QWNJ6KYHHMAM750BZTTCEMK80 H05D7NBFGC51XWH4Q5KH22K2ASBEHD6G6VXRRSES1907H6B09X3G;VJCE7GGR8R3407DJ28YG3HT61JPKRWV6WQA84P0BQR3P1NZVZK20 83b6f616ac244334064c4c56d391c23eb42a7ce6 D9HKSYF34BPDJSBXCVRJQ6NYV3R6PEN2HPKJTKR1HE69P8YHFV90 +MR-SOFI-0310 dsm::core::token::policy::policy_enforcement::enforced_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::policy_enforcement::tests::the_policy_permits_exactly_what_its_flags_name;dsm_sdk::handlers::sender_admission_tests::a_burn_disabled_token_refuses_its_burn - CONFORMANCE §8 MR-SOFI-0310 (Met) 0RRP2Y9KTTV9YE503HMZKDM25ST1KJQQWCXG1XQH9B003SGND3EG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/policy_enforcement/enforced_policy(). X7JXMX1MAJ3CJKJGJEVA0RYBVCNEDHH797R0S1V7FTJJ5SVWFJDG H05D7NBFGC51XWH4Q5KH22K2ASBEHD6G6VXRRSES1907H6B09X3G;VJCE7GGR8R3407DJ28YG3HT61JPKRWV6WQA84P0BQR3P1NZVZK20 83b6f616ac244334064c4c56d391c23eb42a7ce6 D2CWMCQZ11QTH44185BFD85H179M64N1585AKJAGJTGP3V3ZFJMG +MR-SOFI-0310 dsm::core::token::policy::policy_enforcement::permitted_operations android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::policy_enforcement::tests::the_policy_permits_exactly_what_its_flags_name;dsm_sdk::handlers::sender_admission_tests::a_burn_disabled_token_refuses_its_burn - CONFORMANCE §8 MR-SOFI-0310 (Met) P51YG23Z2D1VY023CDSV181CS57WZYY4PZS9AERJF8346Z05CP4G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/policy_enforcement/permitted_operations(). 9AAZYAGSDEK769JPB1PTA5K1BA6XY3X8H3910W8EHRJ8RFB3BXRG H05D7NBFGC51XWH4Q5KH22K2ASBEHD6G6VXRRSES1907H6B09X3G;VJCE7GGR8R3407DJ28YG3HT61JPKRWV6WQA84P0BQR3P1NZVZK20 83b6f616ac244334064c4c56d391c23eb42a7ce6 XQHZE8EYDSMEQ89B3NDGKFFEP266VV1ESM74ZNJZZHHD00AHEFWG +MR-SOFI-0311 dsm::economic::issuance::check_market_leg_permitted android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg;dsm::sofi::lineage::genesis_acceptance::a_vault_over_a_token_that_forbids_transfer_is_refused - CONFORMANCE §8 MR-SOFI-0311 (Partial) J5GS1XZN1D8TWZEHGQT4JP3XXV458W52BHK5C1AGZC0F4TTFYV3G Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/issuance/check_market_leg_permitted(). MZ9E6X0F1VX0PNVSQ7J507ZN58RS0RYB4D4ZPRW14WMW3K7B3MYG GNEX9J4XY0C0RXR35MJ8Q0WRDKKR55QWQ824GVEJWPXHDX5J6QKG;W2X7GE4D9WGG1SXHKCWBB4GW0QP1630CTRSFNT484T8WZ590ACGG 83b6f616ac244334064c4c56d391c23eb42a7ce6 0FTQBWSQW2CJ3ZWJP9FTS0S1NVYMGVGAY61KMGY987R3KH2AWP5G +MR-SOFI-0311 dsm::sofi::lineage::genesis_accepted android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg;dsm::sofi::lineage::genesis_acceptance::a_vault_over_a_token_that_forbids_transfer_is_refused - CONFORMANCE §8 MR-SOFI-0311 (Partial) SM8DS7X5EVK1QVRE4S0PBQ7TJSVCK25MKQF3XQ0J63542YBY0K70 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/genesis_accepted(). FVVEKJY3C3B7Y5WVFA4VP5W59NY32NAK0MVT6JH3QV9AWQCSF3YG GNEX9J4XY0C0RXR35MJ8Q0WRDKKR55QWQ824GVEJWPXHDX5J6QKG;W2X7GE4D9WGG1SXHKCWBB4GW0QP1630CTRSFNT484T8WZ590ACGG 83b6f616ac244334064c4c56d391c23eb42a7ce6 G2VRGWG782TVWHXS98S0792RYT3EZAVW8KM5ST2PTNNWDW2DPYJG +MR-SOFI-0311 dsm::sofi::validation::market_legs_permitted android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg;dsm::sofi::lineage::genesis_acceptance::a_vault_over_a_token_that_forbids_transfer_is_refused - CONFORMANCE §8 MR-SOFI-0311 (Partial) 3YV94WGA4QBBRBV6Z7DXCM15ZVHBJVAKFYZH41G39TJ0H9WMRW6G Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/market_legs_permitted(). B52DMD5Z6XQVMKXK695C5B4N1CWJN30JZAXQH1VYEEZ8J6JNVD10 GNEX9J4XY0C0RXR35MJ8Q0WRDKKR55QWQ824GVEJWPXHDX5J6QKG;W2X7GE4D9WGG1SXHKCWBB4GW0QP1630CTRSFNT484T8WZ590ACGG 83b6f616ac244334064c4c56d391c23eb42a7ce6 HXQ2J2B332Z5DWKGBRGEDFEDE2MHJV6N8XXA5HJXKNZ11FBRVD30 MR-SOFI-0312 dsm::economic::issuance::check_market_leg_permitted android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0312 (Partial) X80V3HSCPT8ADCN4VM0Y88FT0J1GEBRGAE4NAZAC5KSYCY6DXCS0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/issuance/check_market_leg_permitted(). MZ9E6X0F1VX0PNVSQ7J507ZN58RS0RYB4D4ZPRW14WMW3K7B3MYG - 8b2814918a9f0cf54a83d29080a9c6bf177682d9 NK8EZ337KYERHHR99S6DY3CRXVQBVVMTG841F5K5GGZDYGX769V0 -MR-SOFI-0312 dsm::economic::token_policy::parse_token_policy_blob android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0312 (Partial) 1XAP118FDJ90DDBRXE56GGYPG3H6XBGTAR8KSVJB7MH9WQ28YNBG Partial SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/parse_token_policy_blob(). 77KJ0KQ0D2XKB9SJQNN99CS4EG3KSKZXTEJ4BVXTHK4CXPT8K36G - 8b2814918a9f0cf54a83d29080a9c6bf177682d9 KN5JEXJ5J59JTZB215Y19BFFH0SC9W0F9GB3YXKN3FD0BRD87GY0 -MR-SOFI-0314 dsm::economic::token_policy::parse_token_policy_blob android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::token_routes::tests::the_packed_policy_parses_to_every_field_it_was_packed_from;dsm_sdk::handlers::node_e2e_tests::a_created_token_releases_its_whole_genesis_supply_to_its_creator - CONFORMANCE §8 MR-SOFI-0314 (Met) VSJGT7TPXJ669JNNJNHGMBJHPYDDXTYYYH5M0K354KRYCY5TB10G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/parse_token_policy_blob(). 77KJ0KQ0D2XKB9SJQNN99CS4EG3KSKZXTEJ4BVXTHK4CXPT8K36G CSNN7ZTMPYGP21MDMETAG6ZR389YARJRVZVSAN303Q3GVZST4400;DCECB4VVN97BQB0DJD0Q1GJJTSW5G3Q8SEWBSF8YC5R9PQJ3PGZG b7d9468858f6bcdb31f97ed84937343e7eea7227 JE22STHA4JS3YX618EE285FZMM4JV9FKMVGFEMFN3T77JC74M6JG -MR-SOFI-0314 dsm_sdk::handlers::token_routes::build_policy_v3_bytes android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::token_routes::tests::the_packed_policy_parses_to_every_field_it_was_packed_from;dsm_sdk::handlers::node_e2e_tests::a_created_token_releases_its_whole_genesis_supply_to_its_creator - CONFORMANCE §8 MR-SOFI-0314 (Met) PMY78HV3F6NZK5VJKS0JEW5QFVY1S0AERT2Z4QKTB7YEG2206RT0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 handlers/token_routes/build_policy_v3_bytes(). DKEK758SS68XGCXWZZH42HA0TETZ1BA9P6ES7A5FB7HJJ3WAYRHG CSNN7ZTMPYGP21MDMETAG6ZR389YARJRVZVSAN303Q3GVZST4400;DCECB4VVN97BQB0DJD0Q1GJJTSW5G3Q8SEWBSF8YC5R9PQJ3PGZG b7d9468858f6bcdb31f97ed84937343e7eea7227 TPA1F8CC9YXX6JY2HK5N8V30D6TH3WM4E7RES7RARFT176JQY5VG -MR-SOFI-0315 dsm::core::token::policy::TokenPolicySystem::enforce_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm_sdk::handlers::sender_admission_tests::a_burn_disabled_token_refuses_its_burn - CONFORMANCE §8 MR-SOFI-0315 (Met) ZH95CJMXBNFRSG4Q61N0NZ29XX45Y61VAG97CSB8ZWFTSWQNY4BG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/impl#[TokenPolicySystem]enforce_policy(). 2XYBVY391K8808VQ0QQZT214A8SFADS1KBVF3XM9H4JH97AXXB8G R8XDYK58WCQP6X2QM069NZQZNFWSH31GTKN6ZV5GYSD8A2ERK9QG;H633D5GMDPZNGMRT44TGM418TGV6JQV11P9HFFDVHRSG2PNQ5VNG b7d9468858f6bcdb31f97ed84937343e7eea7227 T38Z99S3BA854N53229C6HAQ2NZE2BCGPX59MXYEZHCQWR5VRN4G -MR-SOFI-0315 dsm::core::token::policy::TokenPolicySystem::register_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm_sdk::handlers::sender_admission_tests::a_burn_disabled_token_refuses_its_burn - CONFORMANCE §8 MR-SOFI-0315 (Met) 1419Y8J47F64T280V1MPJBW66XXXCA1945KRZF3GQC76Z52GAFM0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/impl#[TokenPolicySystem]register_policy(). ZABYWG5EXPCACFGFRJJ0PZHFPHQ4WVQ6PW5RAHE59RFVRXTZS8V0 R8XDYK58WCQP6X2QM069NZQZNFWSH31GTKN6ZV5GYSD8A2ERK9QG;H633D5GMDPZNGMRT44TGM418TGV6JQV11P9HFFDVHRSG2PNQ5VNG b7d9468858f6bcdb31f97ed84937343e7eea7227 FDK7BDYH33FS2ZWF9B5J0Y6ARAF57NAT011GKAMH8ZWS5HSV4WZG -MR-SOFI-0315 dsm::types::device_state::validate_conservation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm_sdk::handlers::sender_admission_tests::a_burn_disabled_token_refuses_its_burn - CONFORMANCE §8 MR-SOFI-0315 (Met) FNVPCE6QBAM5Y3EZDXCNPB7935E05WBC2AEGESBKAFVPRBRKY1G0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/validate_conservation(). 2W0DT0R5QASTTAYX1RV58A342N7Q5V34D4RKJPP327DA4HGCNY6G R8XDYK58WCQP6X2QM069NZQZNFWSH31GTKN6ZV5GYSD8A2ERK9QG;H633D5GMDPZNGMRT44TGM418TGV6JQV11P9HFFDVHRSG2PNQ5VNG b7d9468858f6bcdb31f97ed84937343e7eea7227 TFCGG0P9PKB51GT9EB9QX8F3NP6MEQVH1ZT0WBMNE48KJNMTJ62G -MR-SOFI-0316 dsm::economic::native_reserve::release_constructible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_created_token_releases_its_whole_genesis_supply_to_its_creator;dsm::economic::native_reserve::tests::a_release_of_any_amount_but_the_payout_never_holds_the_cell;dsm_sdk::handlers::faucet_flow_tests::a_release_of_the_whole_supply_holds_nothing_and_the_claim_lands;dsm::native_reserve_wire::credits_funded_along_a_lineage_sum_to_what_the_reserve_released;dsm::economic::native_reserve::tests::a_release_signed_by_any_key_but_the_recipient_devices_never_holds_the_cell;dsm_sdk::handlers::faucet_flow_tests::a_release_naming_a_device_its_key_does_not_derive_holds_nothing - CONFORMANCE §8 MR-SOFI-0316 (Partial) 2BXMQSNMF0MNP587MMJ59PER7B3XRZQ5NBEVAYBHQTXEYFABG9B0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/native_reserve/release_constructible(). KMVYP63WWPG52ATYQS3HTWRPHZZTXFFXZS3F85CE9PK654DF27H0 DCECB4VVN97BQB0DJD0Q1GJJTSW5G3Q8SEWBSF8YC5R9PQJ3PGZG;CPH66A73SK3Q1X2HW6REERJNVPVP2PMFGJB7B01PVN25QF11QCWG;FXKWVSZSQ8FZSDVTTEH93E5X2XEVABF9FSHBGHXMB44G4D0TJ480;8AG8B4KA6YEYRFYYFAMZX6FPDS67XH1ACS30NH4MTVH1ZPB6RHS0;TMZHGBYNQS15ZG1ZTGQPWYJHJCCTTP7K2G22JSC8DZCGMG2RC49G;M358XNRK66D9EJ6STRC6YHW8GN4Y2GD3MWBC74X9XG4KBSQ2JADG b7d9468858f6bcdb31f97ed84937343e7eea7227 SYEF31442Y5YEAKFX7V6DWN3J60F0TGH89SHS96AZQ6C9Y3RRKCG -MR-SOFI-0316 dsm::economic::token_policy::ReleaseRule android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_created_token_releases_its_whole_genesis_supply_to_its_creator;dsm::economic::native_reserve::tests::a_release_of_any_amount_but_the_payout_never_holds_the_cell;dsm_sdk::handlers::faucet_flow_tests::a_release_of_the_whole_supply_holds_nothing_and_the_claim_lands;dsm::native_reserve_wire::credits_funded_along_a_lineage_sum_to_what_the_reserve_released;dsm::economic::native_reserve::tests::a_release_signed_by_any_key_but_the_recipient_devices_never_holds_the_cell;dsm_sdk::handlers::faucet_flow_tests::a_release_naming_a_device_its_key_does_not_derive_holds_nothing - CONFORMANCE §8 MR-SOFI-0316 (Partial) DFWE8EQG3B942RTNB0437NXD7QTPZZ5PRX95GNDVCPDW9WHQWGAG Partial SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/ReleaseRule# TT24KJ17KAJG0DMSJMM4SSC50RHCJQFPA72ANKXZQDJ9HRW75GTG DCECB4VVN97BQB0DJD0Q1GJJTSW5G3Q8SEWBSF8YC5R9PQJ3PGZG;CPH66A73SK3Q1X2HW6REERJNVPVP2PMFGJB7B01PVN25QF11QCWG;FXKWVSZSQ8FZSDVTTEH93E5X2XEVABF9FSHBGHXMB44G4D0TJ480;8AG8B4KA6YEYRFYYFAMZX6FPDS67XH1ACS30NH4MTVH1ZPB6RHS0;TMZHGBYNQS15ZG1ZTGQPWYJHJCCTTP7K2G22JSC8DZCGMG2RC49G;M358XNRK66D9EJ6STRC6YHW8GN4Y2GD3MWBC74X9XG4KBSQ2JADG b7d9468858f6bcdb31f97ed84937343e7eea7227 8J1CBV5QXSE9WJBK9FJJHVF0QBXFR2R736B0PC5S2JEW2T33R6QG -MR-SOFI-0316 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_created_token_releases_its_whole_genesis_supply_to_its_creator;dsm::economic::native_reserve::tests::a_release_of_any_amount_but_the_payout_never_holds_the_cell;dsm_sdk::handlers::faucet_flow_tests::a_release_of_the_whole_supply_holds_nothing_and_the_claim_lands;dsm::native_reserve_wire::credits_funded_along_a_lineage_sum_to_what_the_reserve_released;dsm::economic::native_reserve::tests::a_release_signed_by_any_key_but_the_recipient_devices_never_holds_the_cell;dsm_sdk::handlers::faucet_flow_tests::a_release_naming_a_device_its_key_does_not_derive_holds_nothing - CONFORMANCE §8 MR-SOFI-0316 (Partial) NS91SS8XGT1FH1A56HDBP0ASJ5V194EP3J041Y4CTZY2WPB4WCW0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). G608SP6WY4FK1Z8C89NTNFCZKGAT0RAGA0C8MQ2P20V2GTQ5NR30 DCECB4VVN97BQB0DJD0Q1GJJTSW5G3Q8SEWBSF8YC5R9PQJ3PGZG;CPH66A73SK3Q1X2HW6REERJNVPVP2PMFGJB7B01PVN25QF11QCWG;FXKWVSZSQ8FZSDVTTEH93E5X2XEVABF9FSHBGHXMB44G4D0TJ480;8AG8B4KA6YEYRFYYFAMZX6FPDS67XH1ACS30NH4MTVH1ZPB6RHS0;TMZHGBYNQS15ZG1ZTGQPWYJHJCCTTP7K2G22JSC8DZCGMG2RC49G;M358XNRK66D9EJ6STRC6YHW8GN4Y2GD3MWBC74X9XG4KBSQ2JADG b7d9468858f6bcdb31f97ed84937343e7eea7227 MTZJSFD2DPF3SWMZPQWPWDPKNPCXDKPW9YE9HR1GB1E7REW88440 -MR-SOFI-0317 dsm::economic::provenance::verify_genesis_release android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_burn_round_trips_and_removes_a_zeroed_balance;dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage - CONFORMANCE §8 MR-SOFI-0317 (Met) RDQGK10XZ3RRTESNGX5TBHXQDE1F1F1Q8HED10VD1Q61GSRTNQC0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/provenance/verify_genesis_release(). 1X0FN1N2HPJRF6ZW6JYXW0XXY9SYS7W6WV13R3C67Q2PHZPECTJG JM6SWMCQ9WPXGZ0YC2BZWXH64A1GNCB6P4H6W3RYR4BR0ATBHWK0;91WRZVFK93AW3ZN7PR6HK5QD0P14NC5EQTKG1ZV0JRTD2P5G6RMG b7d9468858f6bcdb31f97ed84937343e7eea7227 CN2CS22HNXG3Y3S4S3NK38TFADW7EKECYJ1DY5THPW3JFW6SPMX0 -MR-SOFI-0317 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_burn_round_trips_and_removes_a_zeroed_balance;dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage - CONFORMANCE §8 MR-SOFI-0317 (Met) E5SH9DRNZ0S8R3W2BQCD5QS5K1JC53YGJ0G6DRXENE3P0P5CDS90 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). G608SP6WY4FK1Z8C89NTNFCZKGAT0RAGA0C8MQ2P20V2GTQ5NR30 JM6SWMCQ9WPXGZ0YC2BZWXH64A1GNCB6P4H6W3RYR4BR0ATBHWK0;91WRZVFK93AW3ZN7PR6HK5QD0P14NC5EQTKG1ZV0JRTD2P5G6RMG 1d58ffa8846eaab4902a4912f44b359e16553bb3 RCRX73Z5QPCDW96EAQ0ARQD8ZPYXV0T3PT4B6PGD6T6ZNZBMFB4G -MR-SOFI-0318 dsm::economic::provenance::verify_genesis_release android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_market_tokens_policy_not_in_hand_is_missing;dsm::sofi::validation::tests::a_token_whose_committed_policy_does_not_parse_cannot_be_a_market_leg;dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg - CONFORMANCE §8 MR-SOFI-0318 (Met) AYDQRRK0EVWDCQBZ4QKYJ72SS9HF3DPSZTBZ0TT617PBC9QXYQ7G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/provenance/verify_genesis_release(). 1X0FN1N2HPJRF6ZW6JYXW0XXY9SYS7W6WV13R3C67Q2PHZPECTJG MHG8C5N4T1E3SZXBE6401RC8M59WER18MEYW1Y6JCXKJNA9J9ZJ0;QQ4Y8MPACVGAN0C7RH3492MWTHA8V5BE7BMW3GH68AZ1CMND8V20;1Z8DHMH799QQNTMJYHACF3C4AZZ7JJ6WY44A74GJH98P1Y3JFP30 b7d9468858f6bcdb31f97ed84937343e7eea7227 94KYKAKDQY9MSESZ1EJQ74W62YD32K4Y4XM0S1RPKA7BASTYRWEG -MR-SOFI-0318 dsm::economic::token_policy::parse_token_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_market_tokens_policy_not_in_hand_is_missing;dsm::sofi::validation::tests::a_token_whose_committed_policy_does_not_parse_cannot_be_a_market_leg;dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg - CONFORMANCE §8 MR-SOFI-0318 (Met) 3JDCB24S9G0RY0CTXVVJF9WS8FNP5H3R6PBZ8HCS4PGK6PF9YRB0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/parse_token_policy(). 9CR8YHE6EDNFZKQ4MAHCGCE7E0GMEQC3825FSASXPHTN4XQPBJ60 MHG8C5N4T1E3SZXBE6401RC8M59WER18MEYW1Y6JCXKJNA9J9ZJ0;QQ4Y8MPACVGAN0C7RH3492MWTHA8V5BE7BMW3GH68AZ1CMND8V20;1Z8DHMH799QQNTMJYHACF3C4AZZ7JJ6WY44A74GJH98P1Y3JFP30 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 H420HKSJAH0TSXWTC94C0HYC41QZH6X2NWR3G69GVAE79R48DB2G -MR-SOFI-0318 dsm::sofi::validation::market_legs_permitted android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_market_tokens_policy_not_in_hand_is_missing;dsm::sofi::validation::tests::a_token_whose_committed_policy_does_not_parse_cannot_be_a_market_leg;dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg - CONFORMANCE §8 MR-SOFI-0318 (Met) 4XK08GXH5BE9NXCR8VS36BVPY8XQ6SBH5MGTR60V1EBC0Q6EGNK0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/market_legs_permitted(). F6890T0MAK6FBDTJMGBMNKRADBPSDVGDHCEDZSBQZJ0T90FQNK9G MHG8C5N4T1E3SZXBE6401RC8M59WER18MEYW1Y6JCXKJNA9J9ZJ0;QQ4Y8MPACVGAN0C7RH3492MWTHA8V5BE7BMW3GH68AZ1CMND8V20;1Z8DHMH799QQNTMJYHACF3C4AZZ7JJ6WY44A74GJH98P1Y3JFP30 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 2TEHGEK02WKMED81ZSZ67V0WEZVCNRF51DGGRGC91B4HZA14VTBG -MR-SOFI-0322 dsm::economic::keys::token_creation_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage;dsm::economic_provenance_semantics::a_genesis_release_of_another_creators_policy_is_refused - CONFORMANCE §8 MR-SOFI-0322 (Partial) WATN0EB14HQS1CXCT7HBXYDWHFVBKC864M7YHRHV8C6Y0QP1W44G Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/keys/token_creation_key(). 9N2KBA4KMZ16BM3RJQXPZ8QN3NR16JQ8Z20D0HSEB6376CKRXEFG 91WRZVFK93AW3ZN7PR6HK5QD0P14NC5EQTKG1ZV0JRTD2P5G6RMG;4A5YKJ0RQ4KJ403MYMDT68A1XKCXDD29GBFPZ5XCY871SWB9Y2RG b7d9468858f6bcdb31f97ed84937343e7eea7227 QQ3G369QG4ZQRKB5K649JBJC54HFA4JGF4RWXFXS55ZCF93DJK9G -MR-SOFI-0322 dsm::economic::provenance::verify_genesis_release android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage;dsm::economic_provenance_semantics::a_genesis_release_of_another_creators_policy_is_refused - CONFORMANCE §8 MR-SOFI-0322 (Partial) B0DXE6DHPE7JN3X3RP6XR1Z3E0R9SFQ5T1R7J920A2X3SXB6BZCG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/provenance/verify_genesis_release(). 1X0FN1N2HPJRF6ZW6JYXW0XXY9SYS7W6WV13R3C67Q2PHZPECTJG 91WRZVFK93AW3ZN7PR6HK5QD0P14NC5EQTKG1ZV0JRTD2P5G6RMG;4A5YKJ0RQ4KJ403MYMDT68A1XKCXDD29GBFPZ5XCY871SWB9Y2RG b7d9468858f6bcdb31f97ed84937343e7eea7227 EXEQQ6DA3YJYY5CW76AZ0JGBR2DQ7H2R54T2TEHT6DB67P4H6Q40 -MR-SOFI-0330 dsm::sofi::exercise::check_attempt_completion android MUST_REACH active - dsm::sofi::registration::tests::a_final_fulfillment_has_a_completion_proof_that_checks;dsm::sofi::exercise::tests::a_final_exercise_has_a_completion_proof_that_checks - CONFORMANCE §8 MR-SOFI-0330 (Partial) E3BKFPPKC5AVT7VDRNNWV8RKYRKND5V0F8DMPNGW4FH97MTEGC80 Partial WIRING_GAP dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/check_attempt_completion(). 1CFDFSYF742K30JD09DRZTY937Y6FPP064WZJZADD5NHZN1Q6T4G QGQE1PTTH0T5XZGYFQNAK7KVBFZMBHXX5328JMNN6S9EQFEBPRFG;3ZQZCQF54WK4JHDR6W8BESSAHCNVQS7RGMTRK5F8TQ5K78K7MHF0 375506f9333de6e529968767d19d565d189cc385 EFSKK11XX2BBTPRN6XD2PN67R01GY8YGWXSV8Z1BEZNWKHW1XRZG -MR-SOFI-0330 dsm::sofi::registration::check_fulfillment_completion android MUST_REACH active - dsm::sofi::registration::tests::a_final_fulfillment_has_a_completion_proof_that_checks;dsm::sofi::exercise::tests::a_final_exercise_has_a_completion_proof_that_checks - CONFORMANCE §8 MR-SOFI-0330 (Partial) 9SAWTCABEP6W8NA0633BQ9MTPGES5WRZQ7TX3XXHZY0C2QY8RVVG Partial WIRING_GAP dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/registration/check_fulfillment_completion(). MR7A98S78QJ27PQKA049JWQGXMQ6SX7DMWFSV4AY9RS08XPP3330 QGQE1PTTH0T5XZGYFQNAK7KVBFZMBHXX5328JMNN6S9EQFEBPRFG;3ZQZCQF54WK4JHDR6W8BESSAHCNVQS7RGMTRK5F8TQ5K78K7MHF0 375506f9333de6e529968767d19d565d189cc385 ZKCB6TR5F0B99VXVY5P7TV4G9BR20MZZYADM5T4D3K4YWGPE24SG -MR-SOFI-0330 dsm_sdk::sdk::route_seats::keep_completion android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::a_final_fulfillment_has_a_completion_proof_that_checks;dsm::sofi::exercise::tests::a_final_exercise_has_a_completion_proof_that_checks - CONFORMANCE §8 MR-SOFI-0330 (Partial) BQG34EZ8DQCR605DQ6SKR6RV7TDT0CNP5XMDNYBGAE3YECT1D93G Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/keep_completion(). 9TBWZ53TG64F66JD2DHGBE62VG23KQYZNXCRSTC22JZS9BYMY050 QGQE1PTTH0T5XZGYFQNAK7KVBFZMBHXX5328JMNN6S9EQFEBPRFG;3ZQZCQF54WK4JHDR6W8BESSAHCNVQS7RGMTRK5F8TQ5K78K7MHF0 b7d9468858f6bcdb31f97ed84937343e7eea7227 QTZ27PWKP02TC6P0TSRQZ7RVYZH57C6ZF9MJXW5WRC19798BPGM0 -MR-SOFI-0331 dsm::sofi::validation::Evidence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_setup_naming_another_claim_than_the_accepted_one_is_invalid;dsm::sofi::validation::tests::a_setup_whose_accepted_claim_is_not_in_hand_is_missing;dsm::sofi::validation::tests::a_setup_on_a_lineage_known_invalid_is_invalid;dsm::sofi::validation::tests::a_lineage_not_established_leaves_the_setup_waiting - CONFORMANCE §8 MR-SOFI-0331 (Met) NY8GCJ8W5RBN8PMWHM1FRSVMZ2TQWK6G359KBN6C4ZTAVRRWC520 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/Evidence# WJQQ0K1WSSNMX99BCJ8YD2E6RES1A4FG5XMFE06TG469EBH55MG0 H15PM21W52VYGVGWTM1CFAX9D5NXV47ES7GT5D052EG3YWYCGFR0;JS742GTVC5KGPFCBC7G72Y3EXN0FMZTXB31EMYG35E29CZY9VAH0;RYP6QWSR5R92W19G4PXK6BNW7PNYVQ9XE8A63QTF9XBC3MAEX1Y0;NGEP792FD175W1CVKEGGN0ZR2C9QC1Z38473Y7MHM9MWQ53E4R4G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 PF7GSY884P1KZB7YX0XFVZ1YQ29CWNRHRWAH9XP8TA6F72XH1SAG -MR-SOFI-0331 dsm::sofi::validation::setup_valid android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_setup_naming_another_claim_than_the_accepted_one_is_invalid;dsm::sofi::validation::tests::a_setup_whose_accepted_claim_is_not_in_hand_is_missing;dsm::sofi::validation::tests::a_setup_on_a_lineage_known_invalid_is_invalid;dsm::sofi::validation::tests::a_lineage_not_established_leaves_the_setup_waiting - CONFORMANCE §8 MR-SOFI-0331 (Met) 4YVASKCNV0FFN6101R5YW1QHJDFZVDM970E2MVAFW2PYX0EZ3E20 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/setup_valid(). 7MQ35G834B73MYA7BK9YGTS6B3ZM7T28MRSF6AV96C6VCHQTVBHG H15PM21W52VYGVGWTM1CFAX9D5NXV47ES7GT5D052EG3YWYCGFR0;JS742GTVC5KGPFCBC7G72Y3EXN0FMZTXB31EMYG35E29CZY9VAH0;RYP6QWSR5R92W19G4PXK6BNW7PNYVQ9XE8A63QTF9XBC3MAEX1Y0;NGEP792FD175W1CVKEGGN0ZR2C9QC1Z38473Y7MHM9MWQ53E4R4G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 JH16B6737TTEKMB1KEM51WX11D6K0EK11DRSCG53MRQBKTEE4VJG -MR-SOFI-0332 dsm::economic::provenance::verify_genesis_release android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_provenance_semantics::a_genesis_release_funds_its_creators_whole_supply;dsm::economic_provenance_semantics::a_genesis_release_of_another_creators_policy_is_refused - CONFORMANCE §8 MR-SOFI-0332 (Met) W5DTPPJJ1SYH9PSAB3PH4YM9RCRVJNX8G08RKDJ2E3WKKAW2E0QG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/provenance/verify_genesis_release(). 1X0FN1N2HPJRF6ZW6JYXW0XXY9SYS7W6WV13R3C67Q2PHZPECTJG 44YJYC6JSVGE8MNZKJT6EN0PC7K3KZBQW68JRPQBP9DNKBA2HQX0;4A5YKJ0RQ4KJ403MYMDT68A1XKCXDD29GBFPZ5XCY871SWB9Y2RG b7d9468858f6bcdb31f97ed84937343e7eea7227 PC4Z7DK1X4ZV4CZNVKKA9RX56RF6BVSF554FFFSN66F4FJAN9CRG -MR-SOFI-0332 dsm::economic::token_policy::TokenPolicy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_provenance_semantics::a_genesis_release_funds_its_creators_whole_supply;dsm::economic_provenance_semantics::a_genesis_release_of_another_creators_policy_is_refused - CONFORMANCE §8 MR-SOFI-0332 (Met) ZM8NP7YYR3KJ3RA519X942YTDA06PRPT8PXH7TFPCB00C62NNM10 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/TokenPolicy# 960EESRTQ7YE3H63BGG225VGJJR79VM37H90DMA2V7YCMHKS37J0 44YJYC6JSVGE8MNZKJT6EN0PC7K3KZBQW68JRPQBP9DNKBA2HQX0;4A5YKJ0RQ4KJ403MYMDT68A1XKCXDD29GBFPZ5XCY871SWB9Y2RG b7d9468858f6bcdb31f97ed84937343e7eea7227 MR5GF60R0WNS7GZ0JKBDYQVKQS69D5Q6J0WWHCBAN6H7NKHJJS7G -MR-SOFI-0333 dsm::economic::keys::token_creation_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage;dsm::sofi::lineage::tests::the_creation_record_is_an_economic_leaf_with_its_own_key - CONFORMANCE §8 MR-SOFI-0333 (Met) 3D6456TN3H4CN2H0P55FDHW0ZS2EF6G176TPVQ1CCAWTWBWFMX80 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/keys/token_creation_key(). 9N2KBA4KMZ16BM3RJQXPZ8QN3NR16JQ8Z20D0HSEB6376CKRXEFG 91WRZVFK93AW3ZN7PR6HK5QD0P14NC5EQTKG1ZV0JRTD2P5G6RMG;KTK934ZN1HQVNB5Q3R60QW625ZPCZ513N4CRK99DPMDYXE9DXPXG 1d58ffa8846eaab4902a4912f44b359e16553bb3 C33H953J75ZH011RZYBX65TF5V9FJR6NB67ZW4HR4YAMN2JP79PG -MR-SOFI-0333 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage;dsm::sofi::lineage::tests::the_creation_record_is_an_economic_leaf_with_its_own_key - CONFORMANCE §8 MR-SOFI-0333 (Met) SRDP1XH9FCJ7NAQTQ4BM0XQJMPVH680MGDAM68QKB9QQ2VN0EFZ0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). G608SP6WY4FK1Z8C89NTNFCZKGAT0RAGA0C8MQ2P20V2GTQ5NR30 91WRZVFK93AW3ZN7PR6HK5QD0P14NC5EQTKG1ZV0JRTD2P5G6RMG;KTK934ZN1HQVNB5Q3R60QW625ZPCZ513N4CRK99DPMDYXE9DXPXG 1d58ffa8846eaab4902a4912f44b359e16553bb3 Q67W2B3N0XX9J62QMRAWQTTJTRA7GMK53MEM0E7YB0SBC8KQAP8G -MR-SOFI-0334 dsm::economic::token_policy::parse_token_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::token_policy::tests::a_network_anchored_blob_names_no_creator_and_no_signer_set;dsm::economic::token_policy::tests::a_blob_whose_shape_does_not_match_its_release_rule_does_not_parse;dsm::economic::token_policy::tests::a_non_canonical_wrapper_does_not_parse;dsm_sdk::handlers::token_routes::tests::a_device_created_policy_keeps_its_layout_and_commitment - CONFORMANCE §8 MR-SOFI-0334 (Met) MZGJGZT322P5AETZ2AHHR31FCGPV0TV6TSM8P03037JHFEKNW0N0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/parse_token_policy(). 9CR8YHE6EDNFZKQ4MAHCGCE7E0GMEQC3825FSASXPHTN4XQPBJ60 JKGDZXJGXPV6C9EHK47C4M30Z1ZYFK3ENQ7HPSW3WD96JNZD6HS0;HQEGBRMYNXEG0KRNNVYSGPNCV92GGF97J62RC0DY9GS9W7TP7180;N7488PD41BKN25GXHXG2RM992E512HSBZRH4D25X15TQXB536S7G;CJG5DCPG4ZW10K2BV3J7CEW1S1PBN5PZ31TDV65C4AAZ5TMP5NRG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 62292J327Y93SYCQEAVVJFDCQNJQE188311CRS6682NZY77MTRK0 -MR-SOFI-0334 dsm::economic::token_policy::parse_token_policy_blob android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::token_policy::tests::a_network_anchored_blob_names_no_creator_and_no_signer_set;dsm::economic::token_policy::tests::a_blob_whose_shape_does_not_match_its_release_rule_does_not_parse;dsm::economic::token_policy::tests::a_non_canonical_wrapper_does_not_parse;dsm_sdk::handlers::token_routes::tests::a_device_created_policy_keeps_its_layout_and_commitment - CONFORMANCE §8 MR-SOFI-0334 (Met) FXGSS2JHN67MB602KX5CM0E8QB002YNQH4G37B0P7308D95JABE0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/parse_token_policy_blob(). 77KJ0KQ0D2XKB9SJQNN99CS4EG3KSKZXTEJ4BVXTHK4CXPT8K36G JKGDZXJGXPV6C9EHK47C4M30Z1ZYFK3ENQ7HPSW3WD96JNZD6HS0;HQEGBRMYNXEG0KRNNVYSGPNCV92GGF97J62RC0DY9GS9W7TP7180;N7488PD41BKN25GXHXG2RM992E512HSBZRH4D25X15TQXB536S7G;CJG5DCPG4ZW10K2BV3J7CEW1S1PBN5PZ31TDV65C4AAZ5TMP5NRG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 R505RNHK2QB8AB29P2DQ2EM6V5RDE1CYGNN7PTDQNWFZW013S9M0 -MR-SOFI-0334 dsm_sdk::handlers::token_routes::build_policy_v3_bytes android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::token_policy::tests::a_network_anchored_blob_names_no_creator_and_no_signer_set;dsm::economic::token_policy::tests::a_blob_whose_shape_does_not_match_its_release_rule_does_not_parse;dsm::economic::token_policy::tests::a_non_canonical_wrapper_does_not_parse;dsm_sdk::handlers::token_routes::tests::a_device_created_policy_keeps_its_layout_and_commitment - CONFORMANCE §8 MR-SOFI-0334 (Met) N44C63NGT8ZG8Q566FVT7QK0CDAM5SBS2SHB4VWN24K5NGQKC910 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 handlers/token_routes/build_policy_v3_bytes(). DKEK758SS68XGCXWZZH42HA0TETZ1BA9P6ES7A5FB7HJJ3WAYRHG JKGDZXJGXPV6C9EHK47C4M30Z1ZYFK3ENQ7HPSW3WD96JNZD6HS0;HQEGBRMYNXEG0KRNNVYSGPNCV92GGF97J62RC0DY9GS9W7TP7180;N7488PD41BKN25GXHXG2RM992E512HSBZRH4D25X15TQXB536S7G;CJG5DCPG4ZW10K2BV3J7CEW1S1PBN5PZ31TDV65C4AAZ5TMP5NRG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 2RTPBHHF8ZD4J3F2HECE9MD1HW21C4RKN5FGA62XYHEAJPKEW6G0 -MR-SOFI-0335 dsm::core::token::era_policy::era_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::era_policy::tests::eras_commitment_is_derived_from_its_bytes_and_is_the_specifications;dsm::core::token::era_policy::tests::eras_policy_states_what_the_specification_fixes;dsm::core::token::policy::tests::eras_policy_is_answered_from_cores_bytes_never_cached_or_resolved;dsm_sdk::handlers::token_routes::tests::the_one_packer_reproduces_eras_policy_bytes - CONFORMANCE §8 MR-SOFI-0335 (Met) 1TJ81XS35CQ7D3ZCZV1B5JET9SJRJG2PECE6W3MZ5CAWC6CYCQ80 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/era_policy/era_policy(). RJEK3DSQKVM4AFW8MY72N9675YWP5WQBSYEQ0KKAEY9ZP8W7Y8EG RQBY0MV8WT2CT8CTQJ6ST6N8GCNTHB449BAKG2NENJER74BNJK2G;85RGKP18EYTCDP7YJV2HMGGQYZ1KBE2GWXGGQY5ZYERC6Y1J3TD0;CWMV8PYZ2YPV722Y46J0ADE7G43QG3A24EWAAKZWGEB9V27AH410;WGWNM85V6K7FWM509WA549SW48E6VZX7CFNG361HMTJGZ4ZCMBHG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 TBD8TKE66M4RH23NH22V8NGN6ST6AK02W49YST5C9R1ZAJ8HD8GG -MR-SOFI-0335 dsm::core::token::era_policy::era_policy_commit android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::era_policy::tests::eras_commitment_is_derived_from_its_bytes_and_is_the_specifications;dsm::core::token::era_policy::tests::eras_policy_states_what_the_specification_fixes;dsm::core::token::policy::tests::eras_policy_is_answered_from_cores_bytes_never_cached_or_resolved;dsm_sdk::handlers::token_routes::tests::the_one_packer_reproduces_eras_policy_bytes - CONFORMANCE §8 MR-SOFI-0335 (Met) VKQB9K5KM177G84A50Z2P7KWFMAP3P513Z7Q5WCWY0TY20S47YM0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/era_policy/era_policy_commit(). 11KSSF8BJ9PMQG339C8KJWMY6X41ZFSXG3JBJYNXPHYKCN269V00 RQBY0MV8WT2CT8CTQJ6ST6N8GCNTHB449BAKG2NENJER74BNJK2G;85RGKP18EYTCDP7YJV2HMGGQYZ1KBE2GWXGGQY5ZYERC6Y1J3TD0;CWMV8PYZ2YPV722Y46J0ADE7G43QG3A24EWAAKZWGEB9V27AH410;WGWNM85V6K7FWM509WA549SW48E6VZX7CFNG361HMTJGZ4ZCMBHG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 DB588NQJQPSVW46EGWNSPBSYBMHJEVDKARMXHSQRM8CWAA9AWCZ0 -MR-SOFI-0335 dsm::core::token::policy::TokenPolicySystem::policy_at android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::era_policy::tests::eras_commitment_is_derived_from_its_bytes_and_is_the_specifications;dsm::core::token::era_policy::tests::eras_policy_states_what_the_specification_fixes;dsm::core::token::policy::tests::eras_policy_is_answered_from_cores_bytes_never_cached_or_resolved;dsm_sdk::handlers::token_routes::tests::the_one_packer_reproduces_eras_policy_bytes - CONFORMANCE §8 MR-SOFI-0335 (Met) 8B631M8615FXCV85AGEXCY07BE5G8XR15PPRA769S3D4Q46Q5ERG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/impl#[TokenPolicySystem]policy_at(). Q7B358NRQBAYZCGNNW9E8NVJCVNC38PMJF4DBQZQRNZ64EPKS34G RQBY0MV8WT2CT8CTQJ6ST6N8GCNTHB449BAKG2NENJER74BNJK2G;85RGKP18EYTCDP7YJV2HMGGQYZ1KBE2GWXGGQY5ZYERC6Y1J3TD0;CWMV8PYZ2YPV722Y46J0ADE7G43QG3A24EWAAKZWGEB9V27AH410;WGWNM85V6K7FWM509WA549SW48E6VZX7CFNG361HMTJGZ4ZCMBHG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 5KPV8M456BA7QCC73NWQ25BNWKMTFYEZEMVS2B0TWN7E7XRVKNZG -MR-SOFI-0336 dsm::core::token::policy::TokenPolicySystem::register_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::eras_own_bytes_are_never_registered;dsm_sdk::handlers::token_routes::tests::a_network_anchored_lookalike_is_neither_adopted_nor_published;dsm::economic_provenance_semantics::a_genesis_release_needs_the_all_at_creation_rule;dsm::economic_provenance_semantics::a_creation_naming_eras_commitment_is_refused_from_eras_own_policy - CONFORMANCE §8 MR-SOFI-0336 (Met) CRRNQA7Q4BPFS0R4EMBDRAEJN3TV31EYXNW41BK9FX9SN36VBDAG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/impl#[TokenPolicySystem]register_policy(). ZABYWG5EXPCACFGFRJJ0PZHFPHQ4WVQ6PW5RAHE59RFVRXTZS8V0 EQYEMPAY8FW6S97QF5X4RWH6N7G5T4X3EV48930KTQN71PVQ73XG;2S9GF0XPWVAJH61AG7E2BAY42VHFYTXMVKQC2379VSHM27G78D70;Y2NTVRNNC4JGZHS411NQ78HYM14CNZJWVK8M0CPSJ2Y7TD0WAYXG;BPGNJHTD4H2JM9EDRQ6PAPZTH3YPH068T2F5T7MNZ42EMKGKWXVG b7d9468858f6bcdb31f97ed84937343e7eea7227 PRRSBFQD6NYH1Y5ZQPP5JBNF2MS47A7K3GYZ92S5BSHYH890N4N0 -MR-SOFI-0336 dsm::economic::native_reserve::era_reserve_id android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::eras_own_bytes_are_never_registered;dsm_sdk::handlers::token_routes::tests::a_network_anchored_lookalike_is_neither_adopted_nor_published;dsm::economic_provenance_semantics::a_genesis_release_needs_the_all_at_creation_rule;dsm::economic_provenance_semantics::a_creation_naming_eras_commitment_is_refused_from_eras_own_policy - CONFORMANCE §8 MR-SOFI-0336 (Met) WC0QN1MRT6YHY8J5GEFD3RDJ826XDWCFY239VKH31KJ89TSC9NZG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/native_reserve/era_reserve_id(). MNKG6TQKHXQ5YXP5Y9WGZMNPE7WX4K9EF02F6887VB1TQD1R07RG EQYEMPAY8FW6S97QF5X4RWH6N7G5T4X3EV48930KTQN71PVQ73XG;2S9GF0XPWVAJH61AG7E2BAY42VHFYTXMVKQC2379VSHM27G78D70;Y2NTVRNNC4JGZHS411NQ78HYM14CNZJWVK8M0CPSJ2Y7TD0WAYXG;BPGNJHTD4H2JM9EDRQ6PAPZTH3YPH068T2F5T7MNZ42EMKGKWXVG b7d9468858f6bcdb31f97ed84937343e7eea7227 22N7FCMJ339Z4DJH0YE1TVFTJ734XH1Y5B1HFKTWZFTGHVXRRCE0 -MR-SOFI-0336 dsm::economic::provenance::verify_genesis_release android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::eras_own_bytes_are_never_registered;dsm_sdk::handlers::token_routes::tests::a_network_anchored_lookalike_is_neither_adopted_nor_published;dsm::economic_provenance_semantics::a_genesis_release_needs_the_all_at_creation_rule;dsm::economic_provenance_semantics::a_creation_naming_eras_commitment_is_refused_from_eras_own_policy - CONFORMANCE §8 MR-SOFI-0336 (Met) FMDHF3KD549TD82R8EE0A71M4R14Z4SYT7EVMTPTVW6BYN267D0G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/provenance/verify_genesis_release(). 1X0FN1N2HPJRF6ZW6JYXW0XXY9SYS7W6WV13R3C67Q2PHZPECTJG EQYEMPAY8FW6S97QF5X4RWH6N7G5T4X3EV48930KTQN71PVQ73XG;2S9GF0XPWVAJH61AG7E2BAY42VHFYTXMVKQC2379VSHM27G78D70;Y2NTVRNNC4JGZHS411NQ78HYM14CNZJWVK8M0CPSJ2Y7TD0WAYXG;BPGNJHTD4H2JM9EDRQ6PAPZTH3YPH068T2F5T7MNZ42EMKGKWXVG b7d9468858f6bcdb31f97ed84937343e7eea7227 0VHDZY4QDMNZTQMBWQP1FE7HXDKQ8D9RNFFN0K58T3E4C2810DP0 -MR-SOFI-0336 dsm_sdk::handlers::token_routes::adoptable_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::eras_own_bytes_are_never_registered;dsm_sdk::handlers::token_routes::tests::a_network_anchored_lookalike_is_neither_adopted_nor_published;dsm::economic_provenance_semantics::a_genesis_release_needs_the_all_at_creation_rule;dsm::economic_provenance_semantics::a_creation_naming_eras_commitment_is_refused_from_eras_own_policy - CONFORMANCE §8 MR-SOFI-0336 (Met) CJYHCQ3Z568Y2HG94W5EQ0G4JEAXP3PTFMFFVBGN35AVK5QETT9G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 handlers/token_routes/adoptable_policy(). H1YS5CWRMF5BGP51CZNGGVG8BX9QBE2PKM0QAZEX0DF84557QH1G EQYEMPAY8FW6S97QF5X4RWH6N7G5T4X3EV48930KTQN71PVQ73XG;2S9GF0XPWVAJH61AG7E2BAY42VHFYTXMVKQC2379VSHM27G78D70;Y2NTVRNNC4JGZHS411NQ78HYM14CNZJWVK8M0CPSJ2Y7TD0WAYXG;BPGNJHTD4H2JM9EDRQ6PAPZTH3YPH068T2F5T7MNZ42EMKGKWXVG b7d9468858f6bcdb31f97ed84937343e7eea7227 MQCAK220DZ074CD5HRE7600H0X0MK68CJK76MT1AA2RZ5ZGSA520 -MR-SOFI-0338 dsm::sofi::wire::objects::TraderPreBalance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::a_trader_pre_balance_matches_the_independent_encoder_and_its_frozen_address - CONFORMANCE §8 MR-SOFI-0338 (Met) PC2Y3JZ1M4V8XMWV9J96388Q7969TFA12BA8S47M3X97158G17TG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/TraderPreBalance# 8TZYHPZGN5XY4WA5VHNDEKN5TK6TDAVBRD6P1CC4KC2M5RVWZ0SG WN4R5C1R92TXW8FDJ5334WJMCQTXS9DCN30R6N0F1SFJ71VE48B0 1d58ffa8846eaab4902a4912f44b359e16553bb3 GKFKDPATN3WQH1W90MTAT08RAK9CG9NCK39PFB9BY9CVHHK5183G -MR-SOFI-0338 dsm::sofi::derive::closure_content_address android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::a_trader_pre_balance_matches_the_independent_encoder_and_its_frozen_address;dsm::sofi::validation::tests::bytes_that_do_not_re_derive_the_named_address_prove_nothing - CONFORMANCE §8 MR-SOFI-0338 (Met) 98SST19X01DZG7ZXQD5TYHVFQ72XVEFEHW5209JWX1G6GAYTQB2G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/closure_content_address(). Q62A3Q4KJW0TVQ5DFH74BJ1MDB6YTSP6JT1VW74Q5MZJWD0NF2PG WN4R5C1R92TXW8FDJ5334WJMCQTXS9DCN30R6N0F1SFJ71VE48B0;4EN6K5APCEMKHSYKAQ58F64JMTRB1EAWHAHBNHZ6VASK29J9JQP0 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 E57XYEK27M4KH39X5VW7KWKVJY6XEJFPE7G7BP3QE3THZ2ZCQT70 -MR-SOFI-0339 dsm::sofi::validation::trader_pre_balances android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_balance_the_closure_does_not_carry_is_invalid;dsm::sofi::validation::tests::extra_balances_in_the_closure_are_invalid;dsm::sofi::validation::tests::a_balance_keyed_to_no_stated_balance_is_invalid;dsm::sofi::validation::tests::a_balance_of_another_trader_is_invalid;dsm::sofi::validation::tests::a_balance_that_is_not_the_leaf_the_core_states_is_invalid - CONFORMANCE §8 MR-SOFI-0339 (Met) STTFK2YNKB183BJ9K6TA56V0V18ZAA7R59N45DCQRCZ7FF1P4HMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/trader_pre_balances(). 55K397WYC18FNDT7F7X15KPDD74CTTEWEQES793RMPW7DT796W2G KE9CG8Q86Q9T4VE4R0D3N9ZFHZPQB3P82GN0S1QX583QBEKQNMP0;55C20CNMB1GCQ91793DY8W1YMG1SGNY2PNWMRJ6AMKX1G3FXN7H0;WTDDF9GNJTTAFEZ2HYEM1GG1V07TQJ7DF2SH7JHA8F9BNGANP4G0;0VBRYVCNQNSXVCXCECBT9AR9H7ZQGTJQGEV18C4PYBSQ8N7BRVH0;B1PK4SZ2X8C34AW6WPG2T5FWBTCJZ3A1823CKRZX5Q2EGR3TMEH0 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 BY2B05S7ZB5M58HE4WJ4399PP10FGP1GENC6HHFXRV4XR90ENQX0 -MR-SOFI-0339 dsm_sdk::sdk::sofi_sdk::draft_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner - CONFORMANCE §8 MR-SOFI-0339 (Met) AB99Y7CV9167CD4F3FGYT58QXPVKMZ02ZVQ3PADPVJJY54MMNME0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/draft_route(). YH98AP7TWK56XE41GEY8NFAFE2RX0XRTTZQ3VKWBJ1KATVF6ATM0 21Y5F3K6GYFYZET461JFNVJ9E5GEY6373N3D6WPZKG6FKFSWF6MG;VZ0W278FNFPYREFPZ0VQEWRVFZ2QNP7772EQE1KYRAX5XRAAX4YG b7d9468858f6bcdb31f97ed84937343e7eea7227 WWMME6QXV2Q9KZT3E6SQNDYY5F516PF5EHQ7S3NTHRJF6T13RC7G -MR-SOFI-0339 dsm_sdk::sdk::sofi_sdk::draft_close android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner - CONFORMANCE §8 MR-SOFI-0339 (Met) 6D35MX3AKC7S4T0JZ46Z44AAJVZQHPQ6P0YFSJV10X6YDQ8KD200 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/draft_close(). TDKFWAXK6W5F3C439VFCBXSS7T1HR4839WG57XT5XB3YQFCNA0N0 21Y5F3K6GYFYZET461JFNVJ9E5GEY6373N3D6WPZKG6FKFSWF6MG;VZ0W278FNFPYREFPZ0VQEWRVFZ2QNP7772EQE1KYRAX5XRAAX4YG b7d9468858f6bcdb31f97ed84937343e7eea7227 S2STJXB9WMQ1K2R00FYCZQ1J6FTTJN0AAENDWSNE1QVKJGTTZQTG -MR-SOFI-0340 dsm::sofi::validation::Evidence::pre_balance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_balance_the_closure_does_not_carry_is_invalid;dsm::sofi::validation::tests::bytes_at_a_named_address_that_are_not_a_balance_are_invalid;dsm::sofi::validation::tests::a_named_balance_not_in_hand_waits;dsm::sofi::validation::tests::bytes_that_do_not_re_derive_the_named_address_prove_nothing - CONFORMANCE §8 MR-SOFI-0340 (Met) SWBSW6XY93XKK4G5YRGTWKH3Q513C6X7GSQT79MTZ95GBCQ8AR4G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/impl#[Evidence]pre_balance(). EGVPW2H7XSHQ7RD48SM3TDZM2DZRSR2QS38XYXMS5BH5KKQ13QEG KE9CG8Q86Q9T4VE4R0D3N9ZFHZPQB3P82GN0S1QX583QBEKQNMP0;NNN3CZ8RPQ4201XH65KGQPH60N8EN4W5DVJTZZ3J4T33CAQ2Z6GG;FKP10R7A52QEX2JVBYXJQ8BPV4VYPJEP9E9GH2KZBN3VZR56Q410;4EN6K5APCEMKHSYKAQ58F64JMTRB1EAWHAHBNHZ6VASK29J9JQP0 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 8Q52AK89SVGBRS8WRQD79TT2EG9YRZ2QWF66TQFF8GKJR7R0XAF0 -MR-SOFI-0341 dsm::sofi::resolve::Verifier::acquire_evidence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_trade_that_does_not_debit_the_trader_is_invalid_from_the_exercise_alone;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer - CONFORMANCE §8 MR-SOFI-0341 (Met) BR8XVQ33AY86D3MWT9EBFGNFM984Z1Z4TGMM03JR9J0YFP40VDQG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/impl#[`Verifier<'_, R>`]acquire_evidence(). R0EFVJQEPGSG44Z7NQ52A8JGVZ3JN1CYE5TTAK31TWB645CZPF7G M9SY9TA684FJ4JG42SS7TMP3BXEBKRK66A1QSNKXR4B1F5YFQ8Q0;VZ0W278FNFPYREFPZ0VQEWRVFZ2QNP7772EQE1KYRAX5XRAAX4YG;21Y5F3K6GYFYZET461JFNVJ9E5GEY6373N3D6WPZKG6FKFSWF6MG b7d9468858f6bcdb31f97ed84937343e7eea7227 DCMFXSPY0YQHSP2WXP4872CTC1PQW7SC89MZ36XQ6P45B8PXD8G0 -MR-SOFI-0341 dsm::sofi::validation::trader_pre_balances android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_trade_that_does_not_debit_the_trader_is_invalid_from_the_exercise_alone;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer - CONFORMANCE §8 MR-SOFI-0341 (Met) HEDEZN1JF1YMA371AMAFN69W3TV1234MNJ3VTRKDW8M3XQ1K3XC0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/trader_pre_balances(). 55K397WYC18FNDT7F7X15KPDD74CTTEWEQES793RMPW7DT796W2G M9SY9TA684FJ4JG42SS7TMP3BXEBKRK66A1QSNKXR4B1F5YFQ8Q0;VZ0W278FNFPYREFPZ0VQEWRVFZ2QNP7772EQE1KYRAX5XRAAX4YG;21Y5F3K6GYFYZET461JFNVJ9E5GEY6373N3D6WPZKG6FKFSWF6MG b7d9468858f6bcdb31f97ed84937343e7eea7227 J9H7NHHKF731VAG2Q4NZ9CRFFG0A4GDW77VWB17FBKQF9P7PMTG0 -MR-SOFI-0342 dsm::sofi::validation::setup_lineage android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_setup_on_a_lineage_known_invalid_is_invalid;dsm::sofi::validation::tests::an_invalid_verdict_about_another_lineage_or_position_supplies_nothing;dsm::sofi::validation::tests::a_lineage_not_established_leaves_the_setup_waiting - CONFORMANCE §8 MR-SOFI-0342 (Met) VFK7SDZ9YPF1RA5WX10Q7QG7VAARR2F28JNJF0YDTZEMC2A5J49G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/setup_lineage(). YQA76Y5GXBYEVWRXC60E444B4TFEEHG6AERTZ3KS71SQ94YC51M0 RYP6QWSR5R92W19G4PXK6BNW7PNYVQ9XE8A63QTF9XBC3MAEX1Y0;PVC9ZNRNG6DA9202JTCD9Q82N9NET7RJR6Z5ZBQX59YGFKZY1YT0;NGEP792FD175W1CVKEGGN0ZR2C9QC1Z38473Y7MHM9MWQ53E4R4G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 34VM2XD72BFF6S2G150TJBG4Y3BXK2A5CDHYBYZMN6Z65S8D44HG -MR-SOFI-0342 dsm::sofi::validation::setup_valid android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_setup_on_a_lineage_known_invalid_is_invalid;dsm::sofi::validation::tests::an_invalid_verdict_about_another_lineage_or_position_supplies_nothing;dsm::sofi::validation::tests::a_lineage_not_established_leaves_the_setup_waiting - CONFORMANCE §8 MR-SOFI-0342 (Met) VPVDC5D15N8D4WP7MP7ZBNP0FDPSPGXDT5KB7P46SRGSB944BGK0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/setup_valid(). 7MQ35G834B73MYA7BK9YGTS6B3ZM7T28MRSF6AV96C6VCHQTVBHG RYP6QWSR5R92W19G4PXK6BNW7PNYVQ9XE8A63QTF9XBC3MAEX1Y0;PVC9ZNRNG6DA9202JTCD9Q82N9NET7RJR6Z5ZBQX59YGFKZY1YT0;NGEP792FD175W1CVKEGGN0ZR2C9QC1Z38473Y7MHM9MWQ53E4R4G 0524597b9901fcd2b9ee4fc0e29629b1901d3f15 J8BBSNJYB34HAQPTFEN9ADCGWD5D83KMQXPTTZ7A7YCXT0JVCYB0 -MR-SOFI-0343 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_final_cell_whose_fulfillment_lost_its_position_is_skipped;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-SOFI-0343 (Met) W5E2STW9STWF5DCAYQD5RWK7D336BJ5DYEKVAD4BPDPKKA5J9HD0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). ZQQ66FECNSE6F7FPVTHD4P81YD8P954F4X3E4601VXZ9RRD2DW70 JZXJ8S91DH34X5NCXEYG13APMJ5C6AZZBWBSZFJSAQ48YHAB9SC0;19AT1XYWNCC37AQA0D8NZ8PG5F2B1P1PCNYQCJQFY22P1GXKNHJG a1302cc0ff3527ac7b8f5ad63b06f953abc328e0 E4QHC10Y7BMSGEHZBK15DP5BNG7A3D3SX9V70B5JTQBJCZGMGJTG -MR-SOFI-0344 dsm::sofi::resolve::Verifier::peer_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_trader_who_has_traded_can_pay - CONFORMANCE §8 MR-SOFI-0344 (Met) W4EPZEVJSQKY151TWFN4G44N58T73FDV18SST5A684PYEKX9M0R0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/impl#[`Verifier<'_, R>`]peer_position(). 0P561AR0QDV1MR5F8TE8WSFRRY6JEFXF4C1YYYP7RXJ51SW8E890 K81W2M8AATK67N7M9YZAS4M59CCSTAVQR4A3PRMSGWC2Q31HR080 b7d9468858f6bcdb31f97ed84937343e7eea7227 RRF5QVASRCZGB468JGJ0G6H6GQPDV2AR427XNPPD7JBJK0KMBQ10 -MR-SOFI-0344 dsm::sofi::lineage::advance_peer_resolved android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_trader_who_has_traded_can_pay - CONFORMANCE §8 MR-SOFI-0344 (Met) TVTJP8FYYHEKRCDSRE5HCC288BZJ4HDN5BVZ7X0HM64XE982SWFG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/advance_peer_resolved(). BDRSS7G3Q8FR6FJ9K1KPVRE0S3KCRZ358JJ2BNPQA7B29XWRECSG K81W2M8AATK67N7M9YZAS4M59CCSTAVQR4A3PRMSGWC2Q31HR080 b7d9468858f6bcdb31f97ed84937343e7eea7227 SA3G0N25EG4C4YM42YCP8V6CE620KNDF359N4GB6K6JY6TV376B0 -MR-SOFI-0348 dsm::sofi::lineage::advance_peer_resolved android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::another_verifier_resolves_the_position_without_the_traders_adoptions;dsm::sofi::lineage::tests::a_realized_position_crediting_an_unadopted_token_is_refused - CONFORMANCE §8 MR-SOFI-0348 (Met) FEN2KC2KRPBY50K7TEXQ07HGACJ0JDEMGV2RBZJYWEY8H9Z6CMXG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/advance_peer_resolved(). BDRSS7G3Q8FR6FJ9K1KPVRE0S3KCRZ358JJ2BNPQA7B29XWRECSG 97VKDJCM9454FR1RBKYBSDZ5XR0AJX44QGT4HDKYC8BE739CPJ7G;13Y0SAPV4AQYSPBF921DX56YW92TK68GRT1NMKA8A58X32DBJZ7G b7d9468858f6bcdb31f97ed84937343e7eea7227 D2TQ8BY58C4TZPRBF6WXV5NCDGQXZARN4JKGHRCVTFW1T6BGQ0T0 -MR-STOR-0006 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened;dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes - CONFORMANCE §8 MR-STOR-0006 (Met) S4VZSHW331B4HCDFFJDMXHWXPBMNAHVHCX7TH4F3MN9P5MMD0SVG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). 7VMR8Q43YDYV2PEEA9GE2GCHNWTG39XQ987057JPD85E6TWNKEF0 D4CDXFTQCTE4Q6FJQ571P0AAM78VEQHQ48BR6YECWTJB578QJJT0;CPXY5HCPPR8QPH0N4X2V394M0NNWBF1HH69MPDDZBH9G45KKZG50 8b2814918a9f0cf54a83d29080a9c6bf177682d9 R7W783VJ8G61V95TJD1246MDBYXXNY8ME2QJKF38T7MJ5AM089Z0 -MR-STOR-0006 dsm_storage_node::api::transport::b0x::router node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened;dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes - CONFORMANCE §8 MR-STOR-0006 (Met) VDFRZHW6MFEFE0A4M1W5WN61WC1V6YRDXQ66FTH33RB40KBAQV1G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/transport/b0x/router(). GTACWG9TCAD2JXSNZS1PDA4Y6SH6VNAJD5K8W7KMC9VJ6TRS5DYG D4CDXFTQCTE4Q6FJQ571P0AAM78VEQHQ48BR6YECWTJB578QJJT0;CPXY5HCPPR8QPH0N4X2V394M0NNWBF1HH69MPDDZBH9G45KKZG50 8b2814918a9f0cf54a83d29080a9c6bf177682d9 34ZW8APSGVPHZYMKAGMYHYVSNMZHYD4BRDC3W244KWMKA20F93H0 -MR-STOR-0007 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened;dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes - CONFORMANCE §8 MR-STOR-0007 (Met) 1APH25514439CXQP7656Y1BWFWYMJV73JZQBBJ56JF81FD35CTS0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). 7VMR8Q43YDYV2PEEA9GE2GCHNWTG39XQ987057JPD85E6TWNKEF0 D4CDXFTQCTE4Q6FJQ571P0AAM78VEQHQ48BR6YECWTJB578QJJT0;CPXY5HCPPR8QPH0N4X2V394M0NNWBF1HH69MPDDZBH9G45KKZG50 8b2814918a9f0cf54a83d29080a9c6bf177682d9 GKJM7TT6G4A65DEG0WHW4EGNEE3PA83J7R2E8HK55AGA56FRMW00 -MR-STOR-0007 dsm_storage_node::api::transport::b0x::router node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened;dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes - CONFORMANCE §8 MR-STOR-0007 (Met) BZ6HYJQYYFB8VHZFSDFW1XJGH6KYGES7CTC35HBP48A04HWQRB30 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/transport/b0x/router(). GTACWG9TCAD2JXSNZS1PDA4Y6SH6VNAJD5K8W7KMC9VJ6TRS5DYG D4CDXFTQCTE4Q6FJQ571P0AAM78VEQHQ48BR6YECWTJB578QJJT0;CPXY5HCPPR8QPH0N4X2V394M0NNWBF1HH69MPDDZBH9G45KKZG50 8b2814918a9f0cf54a83d29080a9c6bf177682d9 M5PRTPG9NBWC2MZAFHXAD6ETGEJ4XV1H6A05VYNFG7H819YAR4T0 -MR-STOR-0009 dsm_storage_node::api::objects::bytecommit::mirror_sync node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself;dsm_storage_node::bytecommit_chain::an_impostor_at_a_set_mates_endpoint_is_not_mirrored - CONFORMANCE §8 MR-STOR-0009 (Met) XX2FGJE7HTC170QHBHTD89N8G5TZDSVGZ9BBT52GF7N6K5XK3GBG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/bytecommit/mirror_sync(). 0G47KCFM9T65FD5N74JAB11EF5ER54PRN2P06XHTQERSTTY369WG XSWCJEC1E6HQEZWQ98GADFX5BMR0FRE4E9K28E61PVGP1AYBKK2G;94J1A361NWMW7QKGVMYQMQRW9480QAT1M5MG4MG61VGJBVKWSK30 375506f9333de6e529968767d19d565d189cc385 BRM1C2B5J7WXJ0QZ1ZSMJSSHJXE07G8Q8EK7D1576YA86PNHCT20 -MR-STOR-0009 dsm_storage_node::set_client::pinned_set_client node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself;dsm_storage_node::bytecommit_chain::an_impostor_at_a_set_mates_endpoint_is_not_mirrored - CONFORMANCE §8 MR-STOR-0009 (Met) ED7ZC5PA0B9W6VNS3MS0Q084W06MH95041W4VRX6W0G0MMD5VNF0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 set_client/pinned_set_client(). TWBKT2HE32QWBPNDBB6GDE1N222BAVDCMBJ4MC85E717T8SD77KG XSWCJEC1E6HQEZWQ98GADFX5BMR0FRE4E9K28E61PVGP1AYBKK2G;94J1A361NWMW7QKGVMYQMQRW9480QAT1M5MG4MG61VGJBVKWSK30 375506f9333de6e529968767d19d565d189cc385 W95PMATN58APZCBHKPP6Q16TFXC7SFEJXVP7SK25FH8TPPGXG5J0 -MR-STOR-0010 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened;dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes - CONFORMANCE §8 MR-STOR-0010 (Met) ARDYV9CB036WQR1HNNG5RZXY85MTPWK4JY755Z01BX5T4DW5FGS0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). 7VMR8Q43YDYV2PEEA9GE2GCHNWTG39XQ987057JPD85E6TWNKEF0 D4CDXFTQCTE4Q6FJQ571P0AAM78VEQHQ48BR6YECWTJB578QJJT0;CPXY5HCPPR8QPH0N4X2V394M0NNWBF1HH69MPDDZBH9G45KKZG50 8b2814918a9f0cf54a83d29080a9c6bf177682d9 28Z2608YCGYCAXZSSGWGZ2KC89J8CYGG078GGNJVKTF2QFVD9B80 -MR-STOR-0010 dsm_storage_node::api::transport::b0x::router node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened;dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes - CONFORMANCE §8 MR-STOR-0010 (Met) TF5N9RZ43H76BW2Q84K4MVTY7R42721BGHVM8TFXESG7R4A87TCG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/transport/b0x/router(). GTACWG9TCAD2JXSNZS1PDA4Y6SH6VNAJD5K8W7KMC9VJ6TRS5DYG D4CDXFTQCTE4Q6FJQ571P0AAM78VEQHQ48BR6YECWTJB578QJJT0;CPXY5HCPPR8QPH0N4X2V394M0NNWBF1HH69MPDDZBH9G45KKZG50 8b2814918a9f0cf54a83d29080a9c6bf177682d9 NQ1A35XPX7YRQHCGMEZC7QHBZN559GYD1RSD6M9DJTPS6GDXTJA0 -MR-STOR-0012 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::recipient_dispatch::tests::a_second_copy_with_a_lying_wrapper_is_the_same_transfer_credited_once;dsm_sdk::handlers::recipient_dispatch::tests::a_sender_named_in_a_wrapper_blocks_nothing;dsm::sofi::storage::tests::wrong_bytes_never_count;dsm::sofi::storage::tests::a_wrong_namespace_never_counts;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-STOR-0012 (Met) XAX32Q3G5RS2883DZ3WY0D00MAWXF4D18PQT985R3WTP6TWNP330 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG 6RGSNJ9NX4DZ86YFFEA7MQQ539J49E8893Z04N2B9NNKTWW7ETTG;8G72W9KAS8X501FRCAPC5CQH04NX6V728YR7052WC9JTE30GQ6DG;MCQJB3ES8YM15QG3G9VBKS4JGPYW1DZ61Y8RVEE8QCYFH95CH4FG;R1D6Z6P5FAZFZBPNA1DXPAVKAMBKNQT933982X53PEWAA2HA1TM0;P9HAC0KWS1VJ4VSA5TH2988NV4XZS3FRHEXF3DY2RS3XF2GJG9WG;H4T19ZPDRZ06ZVP6FD61382XDW2QGTC37XTVWGTYN2NXMXWKS1RG b7d9468858f6bcdb31f97ed84937343e7eea7227 K0CSF3FGH0NW8G8ZRDME03FTHSXJB1TY8QDCZB68VBB3DEYDT18G -MR-STOR-0012 dsm::sofi::storage::counts android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::recipient_dispatch::tests::a_second_copy_with_a_lying_wrapper_is_the_same_transfer_credited_once;dsm_sdk::handlers::recipient_dispatch::tests::a_sender_named_in_a_wrapper_blocks_nothing;dsm::sofi::storage::tests::wrong_bytes_never_count;dsm::sofi::storage::tests::a_wrong_namespace_never_counts;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-STOR-0012 (Met) HBSJCM3C88KP1XZN9W6RRTSXP40PQEYHVNWAAK5YQQ89KASMT9C0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/counts(). HXCZWKC0WCR2K7V8QYAHYS7E10JBCJ7CJT7920P2S2DMWVDW69VG 6RGSNJ9NX4DZ86YFFEA7MQQ539J49E8893Z04N2B9NNKTWW7ETTG;8G72W9KAS8X501FRCAPC5CQH04NX6V728YR7052WC9JTE30GQ6DG;MCQJB3ES8YM15QG3G9VBKS4JGPYW1DZ61Y8RVEE8QCYFH95CH4FG;R1D6Z6P5FAZFZBPNA1DXPAVKAMBKNQT933982X53PEWAA2HA1TM0;P9HAC0KWS1VJ4VSA5TH2988NV4XZS3FRHEXF3DY2RS3XF2GJG9WG;H4T19ZPDRZ06ZVP6FD61382XDW2QGTC37XTVWGTYN2NXMXWKS1RG b7d9468858f6bcdb31f97ed84937343e7eea7227 JC90GS4VG06XYS30JR6HQS075W26ZMK9KDMHTWBN4T4XTC21XK4G -MR-STOR-0012 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::recipient_dispatch::tests::a_second_copy_with_a_lying_wrapper_is_the_same_transfer_credited_once;dsm_sdk::handlers::recipient_dispatch::tests::a_sender_named_in_a_wrapper_blocks_nothing;dsm::sofi::storage::tests::wrong_bytes_never_count;dsm::sofi::storage::tests::a_wrong_namespace_never_counts;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-STOR-0012 (Met) G9HTAHX40S3FSJSMTNZSBEGXRVKJDWNM7VV593XGV7E3VSRBXKJ0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). JJN597TCWXMBBABP8QEW2RR360M1A3HK5BTTY2S14Q5K4RQNYY8G 6RGSNJ9NX4DZ86YFFEA7MQQ539J49E8893Z04N2B9NNKTWW7ETTG;8G72W9KAS8X501FRCAPC5CQH04NX6V728YR7052WC9JTE30GQ6DG;MCQJB3ES8YM15QG3G9VBKS4JGPYW1DZ61Y8RVEE8QCYFH95CH4FG;R1D6Z6P5FAZFZBPNA1DXPAVKAMBKNQT933982X53PEWAA2HA1TM0;P9HAC0KWS1VJ4VSA5TH2988NV4XZS3FRHEXF3DY2RS3XF2GJG9WG;H4T19ZPDRZ06ZVP6FD61382XDW2QGTC37XTVWGTYN2NXMXWKS1RG b7d9468858f6bcdb31f97ed84937343e7eea7227 BJ12039SGDWE9W3XWDWBQ2S9JDVBDNQ5T10XPMP8A3Q1BT3VFAGG -MR-STOR-0012 dsm_sdk::handlers::recipient_dispatch::ingest_transfer_half android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::recipient_dispatch::tests::a_second_copy_with_a_lying_wrapper_is_the_same_transfer_credited_once;dsm_sdk::handlers::recipient_dispatch::tests::a_sender_named_in_a_wrapper_blocks_nothing;dsm::sofi::storage::tests::wrong_bytes_never_count;dsm::sofi::storage::tests::a_wrong_namespace_never_counts;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-STOR-0012 (Met) 9DW0ARJPDK43DAWKR1HAX7S17JW0DRJWBEF8XW1HRX5XXMHN3S30 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 handlers/recipient_dispatch/ingest_transfer_half(). WHS2Y4PTT6ZRAH0VGK9D4VK75EA3Z313CG258HPZ3FBHZJ333HSG 6RGSNJ9NX4DZ86YFFEA7MQQ539J49E8893Z04N2B9NNKTWW7ETTG;8G72W9KAS8X501FRCAPC5CQH04NX6V728YR7052WC9JTE30GQ6DG;MCQJB3ES8YM15QG3G9VBKS4JGPYW1DZ61Y8RVEE8QCYFH95CH4FG;R1D6Z6P5FAZFZBPNA1DXPAVKAMBKNQT933982X53PEWAA2HA1TM0;P9HAC0KWS1VJ4VSA5TH2988NV4XZS3FRHEXF3DY2RS3XF2GJG9WG;H4T19ZPDRZ06ZVP6FD61382XDW2QGTC37XTVWGTYN2NXMXWKS1RG b7d9468858f6bcdb31f97ed84937343e7eea7227 N2FSCMBYP923DCPN77E57G1RP07VR2YP3HRH2N1YNWXDNKRJXN7G -MR-STOR-0013 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::silence_never_counts;dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in - CONFORMANCE §8 MR-STOR-0013 (Met) 8R3Q92D9NEWYHRTWNKE7DT3T57MK7NN849H5TJPMFWP8W0ZPMZ00 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG 6SCENHZ9S2AQ46PKGT2DTTW8XTV70MDBDRZ6ZS0MABQ9B8PQB1C0;WQDY8DW5G78YCK3CY71S1JY3M8NHPPPCH72GYJZ2MRX7A6G1WD7G 375506f9333de6e529968767d19d565d189cc385 HBCBQQVKQN9V9MGJQ2HVT2NW2FY67VTFYTNQSMKZR54N12ZK0EH0 -MR-STOR-0013 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::silence_never_counts;dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in - CONFORMANCE §8 MR-STOR-0013 (Met) 73TJW41BMW0JXWDNBAM8XY9AKCAFJN12BETF2WGZADAF3DSNAV30 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). JJN597TCWXMBBABP8QEW2RR360M1A3HK5BTTY2S14Q5K4RQNYY8G 6SCENHZ9S2AQ46PKGT2DTTW8XTV70MDBDRZ6ZS0MABQ9B8PQB1C0;WQDY8DW5G78YCK3CY71S1JY3M8NHPPPCH72GYJZ2MRX7A6G1WD7G 375506f9333de6e529968767d19d565d189cc385 CHE5W38QCP5B63M1QAGHS1X6A5CVXQX0F9CFYMM9TMXD1QVY87TG -MR-STOR-0014 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::store_properties::immutable_put_is_write_once_on_the_tuple;dsm_storage_node::db::store_properties::a_conflicting_put_leaves_the_first_write_untouched;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-STOR-0014 (Met) JHS65RCCBJWTTWQSC2N131NK9SF01F6HBGRGP6PSC7ZH32M8BMW0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). GZ7EWHR37RDX3J8J1HVVPMX123TAWYFWP82BXDSQSWZ99K6JX02G SNVHDV2MY49QA91RM3ATM2T3HX0QABQQ1M1JM60A96EDVW971EEG;VA5XGPQ5GDRVNF96A1HRSTW54RSE8GSKF10H21T5RY330FM65D80;YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0 375506f9333de6e529968767d19d565d189cc385 E4VJJK4KA88T7B266Y2GAW923PMP520ZZ7QHG2EWWF2PSP8JV7JG -MR-STOR-0014 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::store_properties::immutable_put_is_write_once_on_the_tuple;dsm_storage_node::db::store_properties::a_conflicting_put_leaves_the_first_write_untouched;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-STOR-0014 (Met) A9SH05M5GVQ4YPJDY5CRF7QZ00T437160JN72E9540NBJX6ZH640 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). 7VMR8Q43YDYV2PEEA9GE2GCHNWTG39XQ987057JPD85E6TWNKEF0 SNVHDV2MY49QA91RM3ATM2T3HX0QABQQ1M1JM60A96EDVW971EEG;VA5XGPQ5GDRVNF96A1HRSTW54RSE8GSKF10H21T5RY330FM65D80;YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0 375506f9333de6e529968767d19d565d189cc385 31DSP2FT0AWPGNC8YH8NTCPBHSJN5KVRQ3CQ9RVN9V21AMQRS170 -MR-STOR-0018 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in;dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm_storage_node::db::pg::durable_posture_tests::a_weaker_posture_is_refused_and_the_refusal_names_the_setting - CONFORMANCE §8 MR-STOR-0018 (Met) 6D4G69BR4RGS33G06JPAQYX24KM0PM9NWM7VNEKAK1ABC2BHMMY0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG WQDY8DW5G78YCK3CY71S1JY3M8NHPPPCH72GYJZ2MRX7A6G1WD7G;6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0;DWZ3SC14BNR50B26NS35MB8Q1D0A2AEDT2WSQFM59024V5JBGXB0 375506f9333de6e529968767d19d565d189cc385 9HF198C2WD7Q8AEMFYW7YVJNE719B02HZ92F3BV2Q2K38Z1V7MB0 -MR-STOR-0018 dsm_storage_node::db::pg::require_durable_commit_posture node MUST_REACH active dsm_storage_node::main dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in;dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm_storage_node::db::pg::durable_posture_tests::a_weaker_posture_is_refused_and_the_refusal_names_the_setting - CONFORMANCE §8 MR-STOR-0018 (Met) CJM3R4HYG7FARRVY77ZTVXJPT3ZVXDAV1P48G9EDM9X26MPMMFG0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/require_durable_commit_posture(). F5VAN4026RN5HJBYH5F19C8NGVYZ2PDHDGMYE2HJPQYRR1S07HWG WQDY8DW5G78YCK3CY71S1JY3M8NHPPPCH72GYJZ2MRX7A6G1WD7G;6XMJMP9F594S7PKQDQCYFYMMK8PS1X80B2BPWF8BRH32T6X3RRQ0;DWZ3SC14BNR50B26NS35MB8Q1D0A2AEDT2WSQFM59024V5JBGXB0 375506f9333de6e529968767d19d565d189cc385 RJ35G3JT135BW70KNQ14T6J0YZZ5G7TBCBE3BXYB748JRK1B9PCG -MR-STOR-0021 dsm::economic::lineage::advance_validated android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::an_unestablished_candidate_is_never_none;dsm::sofi::storage::tests::an_unestablished_candidate_makes_discovery_partial;dsm_sdk::sdk::sofi_reads::tests::an_unestablished_genesis_candidate_is_not_read_as_unpublished;dsm_sdk::sdk::sofi_flow::tests::a_setup_scan_that_met_an_unestablished_candidate_is_not_a_refusal;dsm::economic_admission_lifecycle::a_register_set_not_established_is_not_a_verdict_about_the_claimant;dsm_sdk::sdk::storage_node_sdk::tests::a_member_that_answers_404_took_nothing;dsm_sdk::handlers::online_finalize::tests::an_unreadable_counterparty_head_is_never_read_as_genesis;dsm_sdk::sdk::inbox_poller::tests::a_lifecycle_stop_is_declined_while_settlement_state_is_unreadable;dsm_sdk::handlers::node_e2e_tests::an_inbox_read_that_did_not_cover_every_delivery_is_not_a_complete_sync - CONFORMANCE §8 MR-STOR-0021 (Met) 2R01NQ2D7GW56HYDTPHYA9YZ26WA7EYXR2BK9QQXG0WTA06DZX1G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/lineage/advance_validated(). DA0Z5E6SCYFJ8C4AEQMVZWHPEDH21H4BHWX531NFN4H1R2CVAQ2G QFV32V62TFC9QA37WVCEXD9JFZCB92Y3W9ZR2J4GMT0JCF1WMWP0;P5SZR78N65VSJ2BHYF55VFDT7ZZREEM132XEAS42005R2EJGB620;QY3A69TCV5ZKJTVRS5T5N953GEW8YXTRQ3P8PYZA47JMWAEXFW7G;KNKRP3FTMA2XNWBDMNJBFQ387YARKCERA66NGWXYFECN6SJH6EH0;RJ63GHWPYSA2CHCZ95DW3D4ZVENEY2FFPZ1AFEA1YT4GHSA875AG;BTRBZ7GZM52PXNC7Z0HAF3XWCPM4WE4GMRP5G21SCDZ1GX2XH360;B3BZNCW1XTPDK6M0GWMK8R9KQC2MQ4FA62HTJZHWH22DNM6NTKDG;78NECGNJQM668XKJMNC13TSMPB36F5SB90Z0ZZQ7V6DNE36BTSV0;T072V3BW6FDV1CAH7HQ2QP1SK94WNCZDY0SYEKPTX0T9FBZA34A0 b7d9468858f6bcdb31f97ed84937343e7eea7227 XS4SKBYBYT6XBTR4Y0HVMGGDCGDSERGHCBBED0NH55VXXW2VV4Y0 -MR-STOR-0021 dsm::sofi::resolve::Verifier::vault_genesis android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::an_unestablished_candidate_is_never_none;dsm::sofi::storage::tests::an_unestablished_candidate_makes_discovery_partial;dsm_sdk::sdk::sofi_reads::tests::an_unestablished_genesis_candidate_is_not_read_as_unpublished;dsm_sdk::sdk::sofi_flow::tests::a_setup_scan_that_met_an_unestablished_candidate_is_not_a_refusal;dsm::economic_admission_lifecycle::a_register_set_not_established_is_not_a_verdict_about_the_claimant;dsm_sdk::sdk::storage_node_sdk::tests::a_member_that_answers_404_took_nothing;dsm_sdk::handlers::online_finalize::tests::an_unreadable_counterparty_head_is_never_read_as_genesis;dsm_sdk::sdk::inbox_poller::tests::a_lifecycle_stop_is_declined_while_settlement_state_is_unreadable;dsm_sdk::handlers::node_e2e_tests::an_inbox_read_that_did_not_cover_every_delivery_is_not_a_complete_sync - CONFORMANCE §8 MR-STOR-0021 (Met) 9J5PR3ME2V0BHS9PE97CZHGRJFT71RQV8W2XK4B1Y10P92FEGMFG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/impl#[`Verifier<'_, R>`]vault_genesis(). 98X6A8SH4N57NG6VGFKZ6PDCSQJQ00PBC2RVJVWTZHP6TXG1H1PG QFV32V62TFC9QA37WVCEXD9JFZCB92Y3W9ZR2J4GMT0JCF1WMWP0;P5SZR78N65VSJ2BHYF55VFDT7ZZREEM132XEAS42005R2EJGB620;QY3A69TCV5ZKJTVRS5T5N953GEW8YXTRQ3P8PYZA47JMWAEXFW7G;KNKRP3FTMA2XNWBDMNJBFQ387YARKCERA66NGWXYFECN6SJH6EH0;RJ63GHWPYSA2CHCZ95DW3D4ZVENEY2FFPZ1AFEA1YT4GHSA875AG;BTRBZ7GZM52PXNC7Z0HAF3XWCPM4WE4GMRP5G21SCDZ1GX2XH360;B3BZNCW1XTPDK6M0GWMK8R9KQC2MQ4FA62HTJZHWH22DNM6NTKDG;78NECGNJQM668XKJMNC13TSMPB36F5SB90Z0ZZQ7V6DNE36BTSV0;T072V3BW6FDV1CAH7HQ2QP1SK94WNCZDY0SYEKPTX0T9FBZA34A0 b7d9468858f6bcdb31f97ed84937343e7eea7227 S4K5RH87CZ8E9TY5F498G3BTZ12AHEQX9RMXGAW8EKC81C8AT3RG -MR-STOR-0021 dsm::sofi::storage::keep_all_verifying android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::an_unestablished_candidate_is_never_none;dsm::sofi::storage::tests::an_unestablished_candidate_makes_discovery_partial;dsm_sdk::sdk::sofi_reads::tests::an_unestablished_genesis_candidate_is_not_read_as_unpublished;dsm_sdk::sdk::sofi_flow::tests::a_setup_scan_that_met_an_unestablished_candidate_is_not_a_refusal;dsm::economic_admission_lifecycle::a_register_set_not_established_is_not_a_verdict_about_the_claimant;dsm_sdk::sdk::storage_node_sdk::tests::a_member_that_answers_404_took_nothing;dsm_sdk::handlers::online_finalize::tests::an_unreadable_counterparty_head_is_never_read_as_genesis;dsm_sdk::sdk::inbox_poller::tests::a_lifecycle_stop_is_declined_while_settlement_state_is_unreadable;dsm_sdk::handlers::node_e2e_tests::an_inbox_read_that_did_not_cover_every_delivery_is_not_a_complete_sync - CONFORMANCE §8 MR-STOR-0021 (Met) ZCG1JD53K9MCPZCDANQ1JE943F49Z51DHXH01199F5RPF9AR3VBG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/keep_all_verifying(). 99FJTCXG81D7GD791BVE4644CGGHTFN3Q7M5Z542WX9Y138EH9HG QFV32V62TFC9QA37WVCEXD9JFZCB92Y3W9ZR2J4GMT0JCF1WMWP0;P5SZR78N65VSJ2BHYF55VFDT7ZZREEM132XEAS42005R2EJGB620;QY3A69TCV5ZKJTVRS5T5N953GEW8YXTRQ3P8PYZA47JMWAEXFW7G;KNKRP3FTMA2XNWBDMNJBFQ387YARKCERA66NGWXYFECN6SJH6EH0;RJ63GHWPYSA2CHCZ95DW3D4ZVENEY2FFPZ1AFEA1YT4GHSA875AG;BTRBZ7GZM52PXNC7Z0HAF3XWCPM4WE4GMRP5G21SCDZ1GX2XH360;B3BZNCW1XTPDK6M0GWMK8R9KQC2MQ4FA62HTJZHWH22DNM6NTKDG;78NECGNJQM668XKJMNC13TSMPB36F5SB90Z0ZZQ7V6DNE36BTSV0;T072V3BW6FDV1CAH7HQ2QP1SK94WNCZDY0SYEKPTX0T9FBZA34A0 b7d9468858f6bcdb31f97ed84937343e7eea7227 F71FDX00HASTQGGJH052BCKNR62PGHJXBRHJ4CS6WQ7G2RFQQHCG -MR-STOR-0021 dsm::sofi::storage::keep_verifying android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::an_unestablished_candidate_is_never_none;dsm::sofi::storage::tests::an_unestablished_candidate_makes_discovery_partial;dsm_sdk::sdk::sofi_reads::tests::an_unestablished_genesis_candidate_is_not_read_as_unpublished;dsm_sdk::sdk::sofi_flow::tests::a_setup_scan_that_met_an_unestablished_candidate_is_not_a_refusal;dsm::economic_admission_lifecycle::a_register_set_not_established_is_not_a_verdict_about_the_claimant;dsm_sdk::sdk::storage_node_sdk::tests::a_member_that_answers_404_took_nothing;dsm_sdk::handlers::online_finalize::tests::an_unreadable_counterparty_head_is_never_read_as_genesis;dsm_sdk::sdk::inbox_poller::tests::a_lifecycle_stop_is_declined_while_settlement_state_is_unreadable;dsm_sdk::handlers::node_e2e_tests::an_inbox_read_that_did_not_cover_every_delivery_is_not_a_complete_sync - CONFORMANCE §8 MR-STOR-0021 (Met) 75WY2YZPV7VCQ3X0158TYE9XWH0J9GY2N5HRNHR7W7J51AZW7CEG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/keep_verifying(). S6TGEQ3E4E1X6FZBKBEHQ859RCVXCE633Z2N2YAQ34WFEFX18TT0 QFV32V62TFC9QA37WVCEXD9JFZCB92Y3W9ZR2J4GMT0JCF1WMWP0;P5SZR78N65VSJ2BHYF55VFDT7ZZREEM132XEAS42005R2EJGB620;QY3A69TCV5ZKJTVRS5T5N953GEW8YXTRQ3P8PYZA47JMWAEXFW7G;KNKRP3FTMA2XNWBDMNJBFQ387YARKCERA66NGWXYFECN6SJH6EH0;RJ63GHWPYSA2CHCZ95DW3D4ZVENEY2FFPZ1AFEA1YT4GHSA875AG;BTRBZ7GZM52PXNC7Z0HAF3XWCPM4WE4GMRP5G21SCDZ1GX2XH360;B3BZNCW1XTPDK6M0GWMK8R9KQC2MQ4FA62HTJZHWH22DNM6NTKDG;78NECGNJQM668XKJMNC13TSMPB36F5SB90Z0ZZQ7V6DNE36BTSV0;T072V3BW6FDV1CAH7HQ2QP1SK94WNCZDY0SYEKPTX0T9FBZA34A0 b7d9468858f6bcdb31f97ed84937343e7eea7227 0MBZ58XTA4JEY5C5KYMHE3KB3QXPZS4G9TM8SY9N4KJ0Y5XFJAG0 -MR-STOR-0021 dsm_sdk::sdk::b0x_sdk::B0xSDK::retrieve_from_b0x_v2 android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::an_unestablished_candidate_is_never_none;dsm::sofi::storage::tests::an_unestablished_candidate_makes_discovery_partial;dsm_sdk::sdk::sofi_reads::tests::an_unestablished_genesis_candidate_is_not_read_as_unpublished;dsm_sdk::sdk::sofi_flow::tests::a_setup_scan_that_met_an_unestablished_candidate_is_not_a_refusal;dsm::economic_admission_lifecycle::a_register_set_not_established_is_not_a_verdict_about_the_claimant;dsm_sdk::sdk::storage_node_sdk::tests::a_member_that_answers_404_took_nothing;dsm_sdk::handlers::online_finalize::tests::an_unreadable_counterparty_head_is_never_read_as_genesis;dsm_sdk::sdk::inbox_poller::tests::a_lifecycle_stop_is_declined_while_settlement_state_is_unreadable;dsm_sdk::handlers::node_e2e_tests::an_inbox_read_that_did_not_cover_every_delivery_is_not_a_complete_sync - CONFORMANCE §8 MR-STOR-0021 (Met) BG77NNG6AVQFDKH31Y5M4NAZ3Y0XK2NYZ8PD5VCDPK8106W1Y3EG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/b0x_sdk/impl#[B0xSDK]retrieve_from_b0x_v2(). JSRM69CX1GP9X1J7K4KC4K7R5HRER8MK23YSBAHKJKYWJMQMMP80 QFV32V62TFC9QA37WVCEXD9JFZCB92Y3W9ZR2J4GMT0JCF1WMWP0;P5SZR78N65VSJ2BHYF55VFDT7ZZREEM132XEAS42005R2EJGB620;QY3A69TCV5ZKJTVRS5T5N953GEW8YXTRQ3P8PYZA47JMWAEXFW7G;KNKRP3FTMA2XNWBDMNJBFQ387YARKCERA66NGWXYFECN6SJH6EH0;RJ63GHWPYSA2CHCZ95DW3D4ZVENEY2FFPZ1AFEA1YT4GHSA875AG;BTRBZ7GZM52PXNC7Z0HAF3XWCPM4WE4GMRP5G21SCDZ1GX2XH360;B3BZNCW1XTPDK6M0GWMK8R9KQC2MQ4FA62HTJZHWH22DNM6NTKDG;78NECGNJQM668XKJMNC13TSMPB36F5SB90Z0ZZQ7V6DNE36BTSV0;T072V3BW6FDV1CAH7HQ2QP1SK94WNCZDY0SYEKPTX0T9FBZA34A0 b7d9468858f6bcdb31f97ed84937343e7eea7227 A1N0MHY1B7EZESX8SY4TF599EQG6XYT8FWSZVB3E0C4KW9NTN8EG -MR-STOR-0021 dsm_sdk::sdk::inbox_poller::has_pending_settlement_work android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::an_unestablished_candidate_is_never_none;dsm::sofi::storage::tests::an_unestablished_candidate_makes_discovery_partial;dsm_sdk::sdk::sofi_reads::tests::an_unestablished_genesis_candidate_is_not_read_as_unpublished;dsm_sdk::sdk::sofi_flow::tests::a_setup_scan_that_met_an_unestablished_candidate_is_not_a_refusal;dsm::economic_admission_lifecycle::a_register_set_not_established_is_not_a_verdict_about_the_claimant;dsm_sdk::sdk::storage_node_sdk::tests::a_member_that_answers_404_took_nothing;dsm_sdk::handlers::online_finalize::tests::an_unreadable_counterparty_head_is_never_read_as_genesis;dsm_sdk::sdk::inbox_poller::tests::a_lifecycle_stop_is_declined_while_settlement_state_is_unreadable;dsm_sdk::handlers::node_e2e_tests::an_inbox_read_that_did_not_cover_every_delivery_is_not_a_complete_sync - CONFORMANCE §8 MR-STOR-0021 (Met) DT1WRD50W9QARNM7CMNGGRSZWAP8KR6PZTM95VPHS213M6WXNWRG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/inbox_poller/has_pending_settlement_work(). EJ16XXBKTBWPSWWVPSVW6P6EJC7TQW5HM0A5PQZ3MREK1FDCQ2QG QFV32V62TFC9QA37WVCEXD9JFZCB92Y3W9ZR2J4GMT0JCF1WMWP0;P5SZR78N65VSJ2BHYF55VFDT7ZZREEM132XEAS42005R2EJGB620;QY3A69TCV5ZKJTVRS5T5N953GEW8YXTRQ3P8PYZA47JMWAEXFW7G;KNKRP3FTMA2XNWBDMNJBFQ387YARKCERA66NGWXYFECN6SJH6EH0;RJ63GHWPYSA2CHCZ95DW3D4ZVENEY2FFPZ1AFEA1YT4GHSA875AG;BTRBZ7GZM52PXNC7Z0HAF3XWCPM4WE4GMRP5G21SCDZ1GX2XH360;B3BZNCW1XTPDK6M0GWMK8R9KQC2MQ4FA62HTJZHWH22DNM6NTKDG;78NECGNJQM668XKJMNC13TSMPB36F5SB90Z0ZZQ7V6DNE36BTSV0;T072V3BW6FDV1CAH7HQ2QP1SK94WNCZDY0SYEKPTX0T9FBZA34A0 b7d9468858f6bcdb31f97ed84937343e7eea7227 YZ6BQDKTGZFC127W3CS32SRJNZ889GZWA28RT22SYGSFEV1C1ZT0 -MR-STOR-0022 dsm::storage_object::immutable_addr node MUST_REACH active dsm_storage_node::main dsm::storage_object::tests::the_address_matches_the_spec_construction - CONFORMANCE §8 MR-STOR-0022 (Met) FH11DXBJCDZFN31J0PPFN2CWM62QAWRKG5CRBF48D861256RFEKG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 storage_object/immutable_addr(). ZQW5QXHXAWRVR8KTF7HBPT3J3ZM1W2NXWFYS7ZGH34WWYXVB9BFG GWGY7SPR3S8X3B000QANDX1KWADB8C5V9MPRVTFE3CH6F57T25D0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 7ANR8495Q2S1GRENVZ99YZNER1XBQGDCRWC6XCGXA6CKR17Q2JZG -MR-STOR-0022 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm::storage_object::tests::the_address_matches_the_spec_construction - CONFORMANCE §8 MR-STOR-0022 (Met) 97JY6PKQ88NCKRC9GQ0B3X4G3QH0SNNYQ6QPRBF9JAZ8RAY44H0G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). 7VMR8Q43YDYV2PEEA9GE2GCHNWTG39XQ987057JPD85E6TWNKEF0 GWGY7SPR3S8X3B000QANDX1KWADB8C5V9MPRVTFE3CH6F57T25D0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 PMJ05F6Y9MSX2V1AD38VZQJDEFK78A59SSA93BWFDS5R14TGSRC0 -MR-STOR-0024 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::store_properties::immutable_put_is_write_once_on_the_tuple;dsm_storage_node::db::store_properties::a_conflicting_put_leaves_the_first_write_untouched - CONFORMANCE §8 MR-STOR-0024 (Met) FEH6S6B3NZBK9P5AMJXCGEQG0QH1HQ9G9N2JGJ89Z4354RV42AZG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). 7VMR8Q43YDYV2PEEA9GE2GCHNWTG39XQ987057JPD85E6TWNKEF0 SNVHDV2MY49QA91RM3ATM2T3HX0QABQQ1M1JM60A96EDVW971EEG;VA5XGPQ5GDRVNF96A1HRSTW54RSE8GSKF10H21T5RY330FM65D80 8b2814918a9f0cf54a83d29080a9c6bf177682d9 FMR8FNYRXTDE4VKJ9TT9Y6X12XGBPWMT0AD4B0V6MGVFXFNQ2GWG -MR-STOR-0027 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::two_members_is_not_stored;dsm::sofi::storage::tests::stored_returns_exact_bytes - CONFORMANCE §8 MR-STOR-0027 (Met) Y0RZXSPX82P5SJ0T4303MMCPYGZ2HE0ANQPAJNYF2X55EW656VE0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). JJN597TCWXMBBABP8QEW2RR360M1A3HK5BTTY2S14Q5K4RQNYY8G QS6CQJXHWQVZ56RQFFQCGH5RVYW0A8ZPPN66MEKZGZN5T279EKY0;8RMV59HTPWSMFTCZ6XBVDVCDVBPVZJDYCWG8PK31KYP15Z18P1YG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 TD5T1WHSB3DYGTXQ1G2MZZ7GWPXNETE5J2D5XQ4TFXJ52Y98H2D0 -MR-STOR-0027 dsm::sofi::wire::STORAGE_FINALITY_COUNT android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::two_members_is_not_stored;dsm::sofi::storage::tests::stored_returns_exact_bytes - CONFORMANCE §8 MR-STOR-0027 (Met) 0MWAV1RSXE488P5MGAS7FKMFYHWVPT3EV3FE8NDTTD2FMRWMCBAG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/STORAGE_FINALITY_COUNT. 5MCZVC3855A1Q64Z3GTMT5SYBWNZWK2WNDP8DXZCTJ87SK1C8Z10 QS6CQJXHWQVZ56RQFFQCGH5RVYW0A8ZPPN66MEKZGZN5T279EKY0;8RMV59HTPWSMFTCZ6XBVDVCDVBPVZJDYCWG8PK31KYP15Z18P1YG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 XDCS7XBN049XJGAFM1Q1DADQM5YQN0DKQFEE0X0BDJ5GPCH1WJM0 -MR-STOR-0028 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::an_identical_value_put_twice_is_held_twice - CONFORMANCE §8 MR-STOR-0028 (Met) B4G100GG3ZSP07J93VXNNGXXKDK5PDH2H7TQ7647Z9D9ND8SCX00 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). GZ7EWHR37RDX3J8J1HVVPMX123TAWYFWP82BXDSQSWZ99K6JX02G RZXD867E5R3SXTNXZVK8BRBRKEJ61R3YAJATSNHKWK6BXYGBMBVG 375506f9333de6e529968767d19d565d189cc385 J48VJ4RKQFYW8YGR66H5GQKA71PMN720SMCWS6X7NEW05WC38960 -MR-STOR-0028 dsm_storage_node::api::cells::put_cells node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::an_identical_value_put_twice_is_held_twice - CONFORMANCE §8 MR-STOR-0028 (Met) BMC2HC0RPPC6Y8PV39K118PJF5Y4ZSFMA95X9ZG3Y0V9GZK8J560 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cells(). 6HKHDZYH9Z6MM1X3RJ14VQK2QH7W8M176C7BM078Y5VSA1RJ9XPG RZXD867E5R3SXTNXZVK8BRBRKEJ61R3YAJATSNHKWK6BXYGBMBVG 375506f9333de6e529968767d19d565d189cc385 7ZD0Z15K0S54R8MSY1WEESFQVYJ141RET25MQ4MRRXA0VX6CPFG0 -MR-STOR-0029 dsm_storage_node::api::cells::get_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm_storage_node::cells_keep_everything::a_key_nothing_was_put_under_reads_as_an_empty_list_with_200;dsm_storage_node::db::cell_properties::every_value_put_at_a_key_is_held_in_arrival_order - CONFORMANCE §8 MR-STOR-0029 (Met) GGRRYGATGPZZQJZ57FN2XFVZDTEZD1X9S5N7BT8FFWGAH70QH470 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/get_cell(). CX2EM3AHQNMX7JY2WTMVGCJSS9CGRTS3PCCSCC7Q0MVC2NKGFPBG YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0;AACPZXBAPG9NX1JP0KCV3Z0NXB1QJN7731ARW0VKP09CKF1G7BKG;H457ZDVGJV78N1XRHCF24JC8YTP2TYRDCHRJ1ZH9N3NQ0P9NQHRG 375506f9333de6e529968767d19d565d189cc385 9GW6PT0HHBN04HKCTET2HMMKKQG3VXMM7ZD3BGZA893Q4QQ18H90 -MR-STOR-0029 dsm_storage_node::db::pg::get_cell_entries node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm_storage_node::cells_keep_everything::a_key_nothing_was_put_under_reads_as_an_empty_list_with_200;dsm_storage_node::db::cell_properties::every_value_put_at_a_key_is_held_in_arrival_order - CONFORMANCE §8 MR-STOR-0029 (Met) F5NJTDM44KCZ1FFQJCRCDD38MF3QM7AHBXP5DZFKKKM1K4GCRHXG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/get_cell_entries(). QWNTRQFXHHN117RP3Z0HGPH7QQ3YMTS57S2V1CWKP1TSTV5FAQF0 YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0;AACPZXBAPG9NX1JP0KCV3Z0NXB1QJN7731ARW0VKP09CKF1G7BKG;H457ZDVGJV78N1XRHCF24JC8YTP2TYRDCHRJ1ZH9N3NQ0P9NQHRG 375506f9333de6e529968767d19d565d189cc385 F6GCCMQ25FPD9PH9A5S610HK9BE8Z6FDG5ZRR4Y1YT7VM3NVA0JG -MR-STOR-0031 dsm_storage_node::storage_contract_router node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly - CONFORMANCE §8 MR-STOR-0031 (Met) C9BXYTXYBM6PCJGKS00PCQJDEZG5FMA5VJ1BBT9PCGDRMER0V9XG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 storage_contract_router(). M46JH6SFF1YQ79ZYCY90CS59ZWPAG6YNXG5W2RHA81S9HZ21Y96G PQB9NJN15XKF5FJ0273BPM0GR2WPR20J1T4N13MSHJJVAADVJNB0 375506f9333de6e529968767d19d565d189cc385 HAATE1F2PXSA3NQRB51R0WQ0FACWBTH50NXC1HWYGP4A62ZXBQZ0 -MR-STOR-0032 dsm_storage_node::api::cells::append_index node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::an_index_pages_in_append_order_from_the_last_seq - CONFORMANCE §8 MR-STOR-0032 (Met) N40SQST4WE4Y3VW62GMSYCX29R441BQTT3EB7VHEZ87309QGNQZG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/append_index(). F54WXD4DNNE366J4D7F50CTXEPH1W7DM73X3GDXE49NG2AGZBKF0 J6JNNMENWG4P8YSNC2WH41XMEME8A96XZ8PTMDY8BRP1QN2FGB80 375506f9333de6e529968767d19d565d189cc385 X02NVJ9PSCQXMA32XR4EX6C8QZ5P13KJ2A53Q2ZDKEAR4VAY4BE0 -MR-STOR-0032 dsm_storage_node::api::cells::read_index node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::an_index_pages_in_append_order_from_the_last_seq - CONFORMANCE §8 MR-STOR-0032 (Met) 2ECKGHP39W2Z9W4BEYWBC95KX9FDTSGBPJFHDFJTSG95YG4HJBFG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/read_index(). CE7CB88HBYB2KMHX3H7TT6XKMG7BN6AWDES7Q0XXFMSYEQEA6T1G J6JNNMENWG4P8YSNC2WH41XMEME8A96XZ8PTMDY8BRP1QN2FGB80 375506f9333de6e529968767d19d565d189cc385 5XF7BDGPJ20A42TSC4KZ0Y5HDAMCTGYFW5PNYWH0GHV3SJ8VZBY0 -MR-STOR-0034 dsm_storage_node::api::transport::b0x::router node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened;dsm_storage_node::api::transport::b0x::tests::a_submitted_envelope_is_read_back_from_its_spool - CONFORMANCE §8 MR-STOR-0034 (Met) QJXB0EFY9JJ0QACZ1FMDXW9993DM55EQV97FRYBSJPY15HM4AB0G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/transport/b0x/router(). GTACWG9TCAD2JXSNZS1PDA4Y6SH6VNAJD5K8W7KMC9VJ6TRS5DYG D4CDXFTQCTE4Q6FJQ571P0AAM78VEQHQ48BR6YECWTJB578QJJT0;YB9WYJ35M4FQP17X9950RSPM9XE33FR5KCSPE718KR39N4G2C710 8b2814918a9f0cf54a83d29080a9c6bf177682d9 Q9MWW1JKHX5BY1BDGP1D5TNM3YJ1CGCNWMQWT3W57DEQK4GX8RA0 -MR-STOR-0036 dsm::core::bilateral_transaction_manager::BilateralTransactionManager::create_bilateral_precommitment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed;dsm::types::device_state::tests::a_credit_of_an_unadopted_token_is_refused_at_advance;dsm::core::bilateral_transaction_manager::tests::establish_relationship_missing_contact;dsm::core::bilateral_transaction_manager::tests::create_precommitment_without_relationship - CONFORMANCE §8 MR-STOR-0036 (Met) ANX390VMRXNVD43P4YJH7NPC9D3K7G3D8KC2D24APB42A5B77MJG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/bilateral_transaction_manager/impl#[BilateralTransactionManager]create_bilateral_precommitment(). E8B51TZDTRQ9ACKTGVRM0X45VE8H8NXPEJQQF9TCEF19S0WS7D3G 47H9A519MJ5DKWAW2ZYRC81C96G0SB709CZF0H2CEBB5MCHMRGSG;WFMHVZPJS6N35YDS5SH9MB3YTMW12M5ZD55BVTS6D3ECY23FH7PG;P71WEX5QJADMZY15T306DWHZRD974VNZNXNSJ4JN4XEBGRE67130;4ACK2B307HFGSXSSJDTT7G2FMBMSAVR2PZ6QN60MYTS5WY1X86NG b7d9468858f6bcdb31f97ed84937343e7eea7227 M4F23226C8Y00YBB7T25GE8YN9KMQ618AJPKD6ZGKF5F4K932A6G -MR-STOR-0036 dsm::core::bilateral_transaction_manager::BilateralTransactionManager::establish_relationship android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed;dsm::types::device_state::tests::a_credit_of_an_unadopted_token_is_refused_at_advance;dsm::core::bilateral_transaction_manager::tests::establish_relationship_missing_contact;dsm::core::bilateral_transaction_manager::tests::create_precommitment_without_relationship - CONFORMANCE §8 MR-STOR-0036 (Met) YJQ26SAP7RP2T0VK5J70JDXZN3ZW0W2TMM2F5YKS0F3Q64PCBXM0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/bilateral_transaction_manager/impl#[BilateralTransactionManager]establish_relationship(). BDXGETXCRQ4MW2G8WSQ09C8W44V8JHE3BMA2MW04VK5DSX2KBZ30 47H9A519MJ5DKWAW2ZYRC81C96G0SB709CZF0H2CEBB5MCHMRGSG;WFMHVZPJS6N35YDS5SH9MB3YTMW12M5ZD55BVTS6D3ECY23FH7PG;P71WEX5QJADMZY15T306DWHZRD974VNZNXNSJ4JN4XEBGRE67130;4ACK2B307HFGSXSSJDTT7G2FMBMSAVR2PZ6QN60MYTS5WY1X86NG b7d9468858f6bcdb31f97ed84937343e7eea7227 PHKX0M14Y9E4TV3NESPNA010NX58KMZQWVYVVEQ6GKNX4R78HHR0 -MR-STOR-0036 dsm::types::device_state::DeviceState::advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed;dsm::types::device_state::tests::a_credit_of_an_unadopted_token_is_refused_at_advance;dsm::core::bilateral_transaction_manager::tests::establish_relationship_missing_contact;dsm::core::bilateral_transaction_manager::tests::create_precommitment_without_relationship - CONFORMANCE §8 MR-STOR-0036 (Met) T3BZA8JYD5MPMTNDC0GV4K4S7Y03HQ6MQWT1KPH9ST6W75DSH9DG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]advance(). ZZ2VV07H48E8QY9YNMD5KTNEX65YMZSHA69K5WTJSBZF26486BT0 47H9A519MJ5DKWAW2ZYRC81C96G0SB709CZF0H2CEBB5MCHMRGSG;WFMHVZPJS6N35YDS5SH9MB3YTMW12M5ZD55BVTS6D3ECY23FH7PG;P71WEX5QJADMZY15T306DWHZRD974VNZNXNSJ4JN4XEBGRE67130;4ACK2B307HFGSXSSJDTT7G2FMBMSAVR2PZ6QN60MYTS5WY1X86NG b7d9468858f6bcdb31f97ed84937343e7eea7227 3H95E21V8EA26GVB4TTDWZ3Q3B17CYVYPXA4XE1CV0KAG85CR7QG -MR-STOR-0036 dsm::types::device_state::DeviceState::establish_relationship android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed;dsm::types::device_state::tests::a_credit_of_an_unadopted_token_is_refused_at_advance;dsm::core::bilateral_transaction_manager::tests::establish_relationship_missing_contact;dsm::core::bilateral_transaction_manager::tests::create_precommitment_without_relationship - CONFORMANCE §8 MR-STOR-0036 (Met) 04WAZMCKVKDG09YR0SGDGHJN59FS6AGTVCS8B4NWM2WXEBP1CFY0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]establish_relationship(). YR7WVRJM1XEXR1KEVP43105NPEAFPFV4NNKFCTF02JAQF6RY4GFG 47H9A519MJ5DKWAW2ZYRC81C96G0SB709CZF0H2CEBB5MCHMRGSG;WFMHVZPJS6N35YDS5SH9MB3YTMW12M5ZD55BVTS6D3ECY23FH7PG;P71WEX5QJADMZY15T306DWHZRD974VNZNXNSJ4JN4XEBGRE67130;4ACK2B307HFGSXSSJDTT7G2FMBMSAVR2PZ6QN60MYTS5WY1X86NG b7d9468858f6bcdb31f97ed84937343e7eea7227 9RYXB44A9X3VN0D9W44RM6KF952XCAFGCCSGRG3D3DJEZADZ08DG -MR-STOR-0041 dsm_storage_node::api::transport::b0x::router node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly;dsm_storage_node::api::transport::b0x::tests::a_submitted_envelope_is_read_back_from_its_spool - CONFORMANCE §8 MR-STOR-0041 (Met) PYW9XR3G0MP2HJ0PPEPKWTEJMTK3HEFXB116CFQ9K237PWAC0JM0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/transport/b0x/router(). GTACWG9TCAD2JXSNZS1PDA4Y6SH6VNAJD5K8W7KMC9VJ6TRS5DYG PQB9NJN15XKF5FJ0273BPM0GR2WPR20J1T4N13MSHJJVAADVJNB0;YB9WYJ35M4FQP17X9950RSPM9XE33FR5KCSPE718KR39N4G2C710 375506f9333de6e529968767d19d565d189cc385 996J851EFBKPVDKBJ5T3C8Q11REZ8P1QV8C2ZNY1FY10K0BBG75G -MR-STOR-0041 dsm_storage_node::storage_contract_router node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly;dsm_storage_node::api::transport::b0x::tests::a_submitted_envelope_is_read_back_from_its_spool - CONFORMANCE §8 MR-STOR-0041 (Met) 8RTXVYZNBST4HNBW8HYY35AZQAYAE8T84JB9XR3QFKRDX8A7T07G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 storage_contract_router(). M46JH6SFF1YQ79ZYCY90CS59ZWPAG6YNXG5W2RHA81S9HZ21Y96G PQB9NJN15XKF5FJ0273BPM0GR2WPR20J1T4N13MSHJJVAADVJNB0;YB9WYJ35M4FQP17X9950RSPM9XE33FR5KCSPE718KR39N4G2C710 375506f9333de6e529968767d19d565d189cc385 5J86YZDRMZCEY156MHJ2DVEWYG4T62VV2JJRMZGMXPBF4VGSN480 -MR-STOR-0042 dsm::route_chain::Route::leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-STOR-0042 (Met) Z6T03X429VSA5F46G0CHMX5D1JHYV1F2CYWCYHPPZ81X0XAVJTR0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). BEX2CAGVT7VCZ341WGN9ZJBNNP0FTXRK2JGQ0VXAEVGZV2DGGBJG P52Q4ZD292XXTV1GMMWMB0VE3ZWJAJYEBRAPBFAQSEWSQKTT8QCG;W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 KE55V98GS7VTJAEKQH36MXZWPMN1MWJWAYBPA2GDXTXPBCDT6SQ0 -MR-STOR-0042 dsm::route_chain::Route::leader node MUST_NOT_REACH active - - a storage node never computes a cell's route or its leader storage §9 (STOR-009/L167); CONFORMANCE §8 MR-STOR-0042 YBKC1MN6R0FKSQGAKCEA2FE2FRBRE1QX6AWNJ8PN7HYMDG66QTBG Met CORRECT dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). BEX2CAGVT7VCZ341WGN9ZJBNNP0FTXRK2JGQ0VXAEVGZV2DGGBJG - 8b2814918a9f0cf54a83d29080a9c6bf177682d9 836T7CSRNK465HCMEPSA4BY3G0AV8CQ87QQCD0WYR2BQY57EVBN0 -MR-STOR-0042 dsm::route_chain::Route::of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-STOR-0042 (Met) 5RRWSK2NFK0YBK64QH8R0WYEH2835MN9JKYRR4VA5KTMREMV5AF0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). 2H7D33H2YAHV1P8H49KSWBYX8C1X27V35D0EM1TNFQPRPA2YJB80 P52Q4ZD292XXTV1GMMWMB0VE3ZWJAJYEBRAPBFAQSEWSQKTT8QCG;W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 4N2N42WFA5KVT3591S1F8XD9GMV9CCECZ5Y2D5WDJ455AE5H57ZG -MR-STOR-0042 dsm::route_chain::Route::of node MUST_NOT_REACH active - - a storage node never computes a cell's route or its leader storage §9 (STOR-009/L167); CONFORMANCE §8 MR-STOR-0042 659H6AVKG7DMR8G1V3A87H3DBZ1R8XS324D8C3GDBDENES3TCXA0 Met CORRECT dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). 2H7D33H2YAHV1P8H49KSWBYX8C1X27V35D0EM1TNFQPRPA2YJB80 - 8b2814918a9f0cf54a83d29080a9c6bf177682d9 6HZXKFBEKSYVH486ZAACY1K8QGH8ERZKM6VT1DCP0YFMK1FX89Z0 -MR-STOR-0043 dsm::sofi::derive::storage_seed android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root - CONFORMANCE §8 MR-STOR-0043 (Met) 16SDTXSZHDQZXJ956W06BF56PV2TREF41W3EYJR0X3TNSEAD5GK0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/storage_seed(). 5PY9J9KYQ3QX5BAFVGQF6TYSN1KVAXVGAVXNFZSD9HYSY7MKE5D0 7NB7WHEC4FWCEBDEE5HE46BNM5CE1VHPVEEEB0FFV84CKYFFKSHG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 P53JFMZPWZA8MP45W70XZNBSFEBE1PT7BK8YV78CF3R1QGJPSQW0 -MR-STOR-0043 dsm::sofi::exercise::AttemptCell android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root - CONFORMANCE §8 MR-STOR-0043 (Met) C8DVS8J03Q09F3ADV1VGE75Z7ZKATH7S40QEGTTB2M8P9PT59WE0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/AttemptCell# X6DSS28H11EVMVZD0TZFMNA2Y805BFDR9H4J33ZKSN4EVQZ040Q0 7NB7WHEC4FWCEBDEE5HE46BNM5CE1VHPVEEEB0FFV84CKYFFKSHG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 X3TXVZHD78P7J0BJ5S4B4G4K6V8VJW2AJGPKQTRJRSRAC64A4P5G -MR-STOR-0044 dsm::route_chain::RoutedCell::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_cell_is_routed_only_over_the_committed_set - CONFORMANCE §8 MR-STOR-0044 (Met) P9CGB2X3BVT9SVK5T5Y6BFY6EZB2SYZEX32FK1XVGR5SB3S4CA30 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[RoutedCell]new(). 4SZQMENH08549QSKCVCF1SW6YKDK7A5G989H2M47JZEQ5BBXX8KG WTBCD6HV6R2BM20SSDE146SRVMJ3NB40HY51SDJ3M0PZNWKXTAM0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 ABJHCZ0HJRXJWMMM942D4GGK8VASKQ1SE816CM047TFJBCRRKN1G -MR-STOR-0048 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in - CONFORMANCE §8 MR-STOR-0048 (Met) K6E698YXMR7GVRYR14Z1GJK09R0CA1E80QXMYT57P1SCMGS47EDG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG WQDY8DW5G78YCK3CY71S1JY3M8NHPPPCH72GYJZ2MRX7A6G1WD7G 375506f9333de6e529968767d19d565d189cc385 C10JJRHD8KGH8JPPMRBDFRDNAAFH5BXE94MHX0XHN3B94W2B85FG -MR-STOR-0049 dsm::route_chain::Route::of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set;dsm::route_chain::tests::a_cell_is_routed_only_over_the_committed_set - CONFORMANCE §8 MR-STOR-0049 (Met) QFWTCSFX3ABX8C23T5RVHZBD7J3NS7CBB3AG3Y30T0NB2ZREY5WG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). 2H7D33H2YAHV1P8H49KSWBYX8C1X27V35D0EM1TNFQPRPA2YJB80 W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG;WTBCD6HV6R2BM20SSDE146SRVMJ3NB40HY51SDJ3M0PZNWKXTAM0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 Q7PWNBKP46FHQKP4ZY8VQFKKAPZGVH7D07351F6T1FCN7T27XHP0 -MR-STOR-0049 dsm::sofi::fisher_yates::permute android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set;dsm::route_chain::tests::a_cell_is_routed_only_over_the_committed_set - CONFORMANCE §8 MR-STOR-0049 (Met) C42ZECH9G031W14B72TJ806K1BV1YMHSQ6ZP8BT04CQMJK1JWHYG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/fisher_yates/permute(). 37G8F2SWBRDHNN3X9NW22AJVWMGS8H7SE490NDKEBJCVVWNEBDY0 W788VB29XB0H3C03HTMGZEKSK1W8VCW1CA5JFXQET0VVDAAA7XGG;WTBCD6HV6R2BM20SSDE146SRVMJ3NB40HY51SDJ3M0PZNWKXTAM0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 HZ8S3NVKSZJXDQPH7MF2EP8P1T3QNDWVKQQ6VD9NFRFF0FVKHV00 -MR-STOR-0055 dsm_sdk::sdk::storage_set::StorageSet::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::sdk::storage_set::tests::set_id_is_order_independent_and_length_prefixed - CONFORMANCE §8 MR-STOR-0055 (Met) R1CMY325HC9RPXG9X6PE3FC2PR6XTXZ37VZRB0SEX68X5CHS22YG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/storage_set/impl#[StorageSet]new(). QZ3KTT9HBTRXD76FG4KJMZ0XJ5YKW7HPSSPE868T34EG76RQCPP0 JJ8FWH61XZT7QY9KSW9AE24JR9DYXN5ZCZ89D6DFRAF15YF57CS0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 FDAQABD3QZ6Z2F7V5VAEJZPX36K7AWEZTT69PZKBA2A07FGHC0RG -MR-STOR-0055 dsm_sdk::sdk::storage_set::compute_storage_set_id android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::sdk::storage_set::tests::set_id_is_order_independent_and_length_prefixed - CONFORMANCE §8 MR-STOR-0055 (Met) E5YHHC340R3KG3CARCM1CE0YQC1CVXHRJB1VQAEMGDFB6GEMQEH0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/storage_set/compute_storage_set_id(). B7NBD61VFKXXPV1ME1NJ3R5JBC02TG3K5QPCVS3AFV3Z5518T25G JJ8FWH61XZT7QY9KSW9AE24JR9DYXN5ZCZ89D6DFRAF15YF57CS0 8b2814918a9f0cf54a83d29080a9c6bf177682d9 BRDGX6FQX6GP0BGESCGSAE33YBMBXSPDZETCAQNH5AXEVW8JBXC0 -MR-STOR-0056 dsm::economic::native_reserve::NativeReserveState::genesis android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::sdk::storage_set::tests::the_pinned_beta_set_id_is_the_one_every_provisioned_member_logged - CONFORMANCE §8 MR-STOR-0056 (Met) A5P1A284EGZRBZ0W6BJ303V1MCR9M7CHZ44VA45BFDEABEMHRK70 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/native_reserve/impl#[NativeReserveState]genesis(). 1DVTRD1YF6917CFWV7JQ4N02HW27DWHB42KGY5ZQACD818Y4Q3A0 6TFB6S4R8B3HA4RZC31DTFSJ439R8EACQVDXFC3P0C97ZJ2GX290 8b2814918a9f0cf54a83d29080a9c6bf177682d9 YJS9XW4VJZDWWPZFCT3NSC7WRG84SWCDQ25SNB9YSNSFYR9T5VKG -MR-STOR-0093 dsm::storage_cell::ByteCommit node MUST_REACH active dsm_storage_node::main dsm::storage_cell::tests::the_bytecommit_digest_matches_the_spec_construction;dsm_storage_node::bytecommit_chain::cycles_close_over_new_entries_and_commit_their_records - CONFORMANCE §8 MR-STOR-0093 (Met) E154R7RFCCHQXHNC53VCGJQBEDEEN0BXX6H73SR54YX94D8V1VZ0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 storage_cell/ByteCommit# SE4FR3Q2SC1EGK0PJ72MF53ZPE78M4Y0PYKFDQW46TRA4N17B6D0 06356KZH0WCSJ5KNDJE4C8D3E53B7XN7ZSTXY11V681Z1VF5WH1G;9HHVVXDV5R7TYE3DEQMTDXDMDERRKT9J8E2P7VY4459VRH6VXZAG 375506f9333de6e529968767d19d565d189cc385 WSTQ5EWRANA7Y6196DG84B0C0ADCYJGNS37PEBV2Q94S3KZT70Y0 -MR-STOR-0093 dsm_storage_node::db::pg::close_cycle node MUST_REACH active dsm_storage_node::main dsm::storage_cell::tests::the_bytecommit_digest_matches_the_spec_construction;dsm_storage_node::bytecommit_chain::cycles_close_over_new_entries_and_commit_their_records - CONFORMANCE §8 MR-STOR-0093 (Met) TG422G7SWKNXK2Z1SM18BKH8PGGSY4KEQ0VX992WXMBET6ATV3J0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/close_cycle(). VND2SW4JVPKM0N79FJKG2EAQF9BA6RFY9EN3M3XMNE7TJPM2EK5G 06356KZH0WCSJ5KNDJE4C8D3E53B7XN7ZSTXY11V681Z1VF5WH1G;9HHVVXDV5R7TYE3DEQMTDXDMDERRKT9J8E2P7VY4459VRH6VXZAG 375506f9333de6e529968767d19d565d189cc385 5GT0XRFKZZD0857CG889DQKVFMHJV2ZN2Z0CXYP80FK9YXKZTJ4G -MR-STOR-0096 dsm::storage_cell::entry_digest node MUST_REACH active dsm_storage_node::main dsm::storage_cell::tests::the_running_hash_matches_the_spec_construction;dsm::storage_cell::tests::any_change_to_earlier_entries_breaks_later_records - CONFORMANCE §8 MR-STOR-0096 (Met) RR4DJG1TKPCN0TE54HX7QX9J9Y2XSR1VGAR2E3FMHK1PJNFNNXCG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 storage_cell/entry_digest(). 1C5QAMS133QBFHYQH02CKA0RSKGQZN0D6AJ2GMY05QT8X6D35HV0 PH84G9A88N20964WEY49BRTJ047339BZ4VJ1BSES8ZE0J69GHBVG;4CPRPSCFBCBXD744BAVZDHSW5WHRYA2YME8N3TCB72T6VZQ97WAG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 E15KHXZJ6CJF6XTZQ37JY889Q7H34TDTRWAPY0M6AR1581JDQNA0 -MR-STOR-0096 dsm::storage_cell::running_hash_next node MUST_REACH active dsm_storage_node::main dsm::storage_cell::tests::the_running_hash_matches_the_spec_construction;dsm::storage_cell::tests::any_change_to_earlier_entries_breaks_later_records - CONFORMANCE §8 MR-STOR-0096 (Met) G97P0VDH4BV0P8CE577S05CJ8DB0VFHQRAB2Y082AB7QBGVK329G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 storage_cell/running_hash_next(). 0B2PSX04FPYX18166TH5KPRBHD3X59DNV5MW4S8NNS2E5XMRJ87G PH84G9A88N20964WEY49BRTJ047339BZ4VJ1BSES8ZE0J69GHBVG;4CPRPSCFBCBXD744BAVZDHSW5WHRYA2YME8N3TCB72T6VZQ97WAG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 8HQG5HH2QFCQ3V48KSK37DQDJC2B14JF2JPRZZPRXFR82ABM0Q6G -MR-STOR-0096 dsm_storage_node::db::pg::append_cell_entry node MUST_REACH active dsm_storage_node::main dsm::storage_cell::tests::the_running_hash_matches_the_spec_construction;dsm::storage_cell::tests::any_change_to_earlier_entries_breaks_later_records - CONFORMANCE §8 MR-STOR-0096 (Met) R19K142XHM38TNKSBZPAYCG6NANFYX8N7W4G2ZFTANC6QK231XSG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/append_cell_entry(). E94EV7JAQ5FSN2VH2EB20FQYTHB2B3183J5D8AVKNCDXDK6Y7AR0 PH84G9A88N20964WEY49BRTJ047339BZ4VJ1BSES8ZE0J69GHBVG;4CPRPSCFBCBXD744BAVZDHSW5WHRYA2YME8N3TCB72T6VZQ97WAG 8b2814918a9f0cf54a83d29080a9c6bf177682d9 9CAAG12TGQEMKTZT3M4RNPDWV5QYWB6ZMY3F88CADTD4RYWBC78G -MR-STOR-0116 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::cell_properties::held_values_and_index_entries_survive_reopening_the_store - CONFORMANCE §8 MR-STOR-0116 (Partial) GY4YZ4SCJYWEGJ79JG0DH61DGQN1TT4YM5PPBR6KEXAPBGGF305G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). GZ7EWHR37RDX3J8J1HVVPMX123TAWYFWP82BXDSQSWZ99K6JX02G PAHS16TX12B97F85C75Y2TKP6XZ44XVT3TEHKRP4F11N9RR2GZ40 0c6ca6cb265254eaa1c68ebf97ca24fa70df5ba1 HYXHDM8X0EWNZQ46VJ4QJ8SAF3VRMGZRWQ477BHZF4Q950YS3RSG -MR-STOR-0116 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::cell_properties::held_values_and_index_entries_survive_reopening_the_store - CONFORMANCE §8 MR-STOR-0116 (Partial) DWE0T17CGZ3WBX9MRMJQ2E4EX0Z5HGWAY06RCFFA9F4E897AH5A0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). 7VMR8Q43YDYV2PEEA9GE2GCHNWTG39XQ987057JPD85E6TWNKEF0 PAHS16TX12B97F85C75Y2TKP6XZ44XVT3TEHKRP4F11N9RR2GZ40 0c6ca6cb265254eaa1c68ebf97ca24fa70df5ba1 VW2JA1W0KXMPTXRPZ9AXDGZB2DVTD3FSNRFZM75EP17T858NAD0G -MR-STOR-0129 dsm::storage_cell::ArrivalRecord node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_put_answers_with_the_arrival_record_a_verifier_replays - CONFORMANCE §8 MR-STOR-0129 (Met) 90GGAPNPACDMPNW514V1BRD2TAMNHP122K5Y918AJZP0QZRFN68G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 storage_cell/ArrivalRecord# R48VAZ51TM2RYF6WEK93ZS0YYHFAS60MRW811N98ZE29J2581RCG 7D5FC8AMPXT4PDFNCC1ZZ9EZ314ZS92VP0SYEH1B88MD4NZ9F6GG 375506f9333de6e529968767d19d565d189cc385 63B3Y48GJE68BKCQT2WWQ8P80BVKSFM8VQABAQAVVG9BHAMTDFM0 -MR-STOR-0129 dsm_storage_node::api::cells::get_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_put_answers_with_the_arrival_record_a_verifier_replays - CONFORMANCE §8 MR-STOR-0129 (Met) 7DFCG59VN965HA8BAG9MK2AMEW1HCMX8XAQA6V8RT3CERSTTTV1G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/get_cell(). CX2EM3AHQNMX7JY2WTMVGCJSS9CGRTS3PCCSCC7Q0MVC2NKGFPBG 7D5FC8AMPXT4PDFNCC1ZZ9EZ314ZS92VP0SYEH1B88MD4NZ9F6GG 375506f9333de6e529968767d19d565d189cc385 Q5BAYECMS9Q3KPVRXW99WS1YMZ0QDMF4K2RA72EJ4CCSPGH69VPG -MR-STOR-0129 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_put_answers_with_the_arrival_record_a_verifier_replays - CONFORMANCE §8 MR-STOR-0129 (Met) 8CBVPZ5QEXYMB1XDP3RWK7FJKSDC6FCW52PCD7H9RV27CNSZDQS0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). GZ7EWHR37RDX3J8J1HVVPMX123TAWYFWP82BXDSQSWZ99K6JX02G 7D5FC8AMPXT4PDFNCC1ZZ9EZ314ZS92VP0SYEH1B88MD4NZ9F6GG 375506f9333de6e529968767d19d565d189cc385 7ETW90P6ZHC8CSXY8XMKRN8KSNQCWC7QEE9T9GA2PH65NCRH6MYG -MR-STOR-0135 dsm_storage_node::api::cells::get_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm_storage_node::cells_keep_everything::an_identical_value_put_twice_is_held_twice - CONFORMANCE §8 MR-STOR-0135 (Met) Q6XMH8B5DZZ671SSXC19AMY7HKFC14WJKFF3P9N76JEHWHJ9CJ80 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/get_cell(). CX2EM3AHQNMX7JY2WTMVGCJSS9CGRTS3PCCSCC7Q0MVC2NKGFPBG YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0;RZXD867E5R3SXTNXZVK8BRBRKEJ61R3YAJATSNHKWK6BXYGBMBVG 375506f9333de6e529968767d19d565d189cc385 8ZBEX6BNWXJRVPCZ4TZXT0TH496B8AF64947X0RACKJV34G1Z8X0 -MR-STOR-0135 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm_storage_node::cells_keep_everything::an_identical_value_put_twice_is_held_twice - CONFORMANCE §8 MR-STOR-0135 (Met) 9N8JXQ2A6VCHY3TX3PM3S0BMNH2TZ1JGSQSBST18EJCV42ZJMA5G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). GZ7EWHR37RDX3J8J1HVVPMX123TAWYFWP82BXDSQSWZ99K6JX02G YWFYJ5X3F04XQ0RQDFCC3V2567212ENFPGS75T86RBTB8RX5HNX0;RZXD867E5R3SXTNXZVK8BRBRKEJ61R3YAJATSNHKWK6BXYGBMBVG 375506f9333de6e529968767d19d565d189cc385 SVZD6JH34K12RD20PFWXXEAWBZH0A80BV46PSRJ0CZBDG6GD4EZG -MR-STOR-0140 dsm_storage_node::api::objects::bytecommit::fetch_commit node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself - CONFORMANCE §8 MR-STOR-0140 (Met) MVQP4C6GJZ2BSSZSFXX1ZW1YMBCW148X712EJCATX7M2W435SZ10 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/bytecommit/fetch_commit(). J68HPE3456EMGGHTQ9EVKEEP240VFB5TN7C83F0T7MDTMK6Y7WA0 XSWCJEC1E6HQEZWQ98GADFX5BMR0FRE4E9K28E61PVGP1AYBKK2G 375506f9333de6e529968767d19d565d189cc385 PWJDTP5XP95XGC9ZGB49NVJEQEZ2SBN245RY3GH6XSJHK4XYZQ00 -MR-STOR-0140 dsm_storage_node::api::objects::bytecommit::sync_one node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself - CONFORMANCE §8 MR-STOR-0140 (Met) 7XR5ESV7J2S0K7EH1MD0FGTP0B7YHG8SCF46JBB5XZY64EBBZGWG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/bytecommit/sync_one(). ZWPZZBG4W2QX7725WPQ0YXZCW9F2SYRXZ1RDQKNF5AB1EEWT8E80 XSWCJEC1E6HQEZWQ98GADFX5BMR0FRE4E9K28E61PVGP1AYBKK2G 375506f9333de6e529968767d19d565d189cc385 G71A5WN0FH02617TQ2HKSAVFG50WC5238WFZ9Y84AETFT4E18HHG -MR-STOR-0141 dsm_storage_node::api::objects::bytecommit::fetch_commit node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::an_impostor_at_a_set_mates_endpoint_is_not_mirrored - CONFORMANCE §8 MR-STOR-0141 (Met) 338N85DW4CF766RAYAEGEGC63JWQARXC5AZ273JCYCYTF72KJKZG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/bytecommit/fetch_commit(). J68HPE3456EMGGHTQ9EVKEEP240VFB5TN7C83F0T7MDTMK6Y7WA0 94J1A361NWMW7QKGVMYQMQRW9480QAT1M5MG4MG61VGJBVKWSK30 375506f9333de6e529968767d19d565d189cc385 VRFZR57Z33XTPNDX2SMHF3YNKNQ62Y71MXJTVMG0N1CHE421XHM0 -MR-STOR-0141 dsm_storage_node::db::pg::mirror_put node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::an_impostor_at_a_set_mates_endpoint_is_not_mirrored - CONFORMANCE §8 MR-STOR-0141 (Met) XBPKD4H8BA162PJ9TFTQSFTB3VAEQ86B1S5CMAYQ773DV75KQJ60 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/mirror_put(). 18A4XXJ1QBA27GH1YJAAHP5JM6TF50M4ST0W158MTD5R4BME1HN0 94J1A361NWMW7QKGVMYQMQRW9480QAT1M5MG4MG61VGJBVKWSK30 375506f9333de6e529968767d19d565d189cc385 FEB38VMC5P5X38FCVQNMFCGF97ZPADTQG9SSR35XZ5Z5Q2PQ8R2G -MR-STOR-0142 dsm_storage_node::db::pg::mirror_put node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::a_rewritten_cycle_is_kept_beside_the_first - CONFORMANCE §8 MR-STOR-0142 (Met) 4NNA1QZ3XPFMHZXWZ4QTZWKKDTFY8VVF2W61NVNSDXC84F0AFRXG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/mirror_put(). 18A4XXJ1QBA27GH1YJAAHP5JM6TF50M4ST0W158MTD5R4BME1HN0 Z2DQHMPZ75KMGJT3CSHH5SKBXA0SV3RFBMKZNMZ8PZ8VZ9J5HTSG 375506f9333de6e529968767d19d565d189cc385 J8DTWPKVS17CRXFDPMVTNYX93EKV37Z3W1TRK3YWHQPFN6WBZXA0 -MR-STOR-0146 dsm_sdk::sdk::b0x_sdk::seal_for android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_transfer_reaches_the_nodes_only_sealed_and_arrives;dsm::crypto::spool_seal::tests::a_sealed_payload_opens_to_its_bytes;dsm::crypto::spool_seal::tests::it_opens_under_nothing_else - CONFORMANCE §8 MR-STOR-0146 (Met) 4BW42DHRKS27RVVG3NSX1WHE2RAX47Z4N2XMFMW9ABV5NYFF25F0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/b0x_sdk/seal_for(). BE8YJDNJV31F9HF8BHE70HPGEZYDJNG5WT9QFGN4P86T0WHDDJN0 8HDXXK2AZNAYWK3VG4PBM9E4PMX3N5EBXHJFFRJPERG97TK1NKDG;F3JFTYMWT6QDCG3Z3ECZSNQWD858VZN20EWQZ74VJWBK1PFK0RA0;C9VT0PEBC4ZS4DJ4MRBPTVDNDMSA0WZT9S7CX9PDXKVR94PE5EG0 b7d9468858f6bcdb31f97ed84937343e7eea7227 G0EWTM33TXZH3PMRTSD0SNFRYG95D9GYR4QSKAJ3H9HA0PJ8XJFG -MR-STOR-0146 dsm::crypto::spool_seal::seal android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_transfer_reaches_the_nodes_only_sealed_and_arrives;dsm::crypto::spool_seal::tests::a_sealed_payload_opens_to_its_bytes;dsm::crypto::spool_seal::tests::it_opens_under_nothing_else - CONFORMANCE §8 MR-STOR-0146 (Met) W5GV9P3R56S09J8HAZ9QCPYF0SC4BNVMJGBBZPE1SY71PXBZSD7G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 crypto/spool_seal/seal(). AP4TEA889J92KWXB41EV4TJK7QY65787HVCT2ZNF6F93AKSMDWPG 8HDXXK2AZNAYWK3VG4PBM9E4PMX3N5EBXHJFFRJPERG97TK1NKDG;F3JFTYMWT6QDCG3Z3ECZSNQWD858VZN20EWQZ74VJWBK1PFK0RA0;C9VT0PEBC4ZS4DJ4MRBPTVDNDMSA0WZT9S7CX9PDXKVR94PE5EG0 b7d9468858f6bcdb31f97ed84937343e7eea7227 D788Q97VJ3WM56QQBY4G4VA0HD82AQ40885JG332379FFTGMTMK0 -MR-STOR-0148 dsm_sdk::sdk::route_seats::write_recorded android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-STOR-0148 (Partial) 8CYGX9WVRK0GVZY2JGT6J20TXPH7SF8MYQD1YNSWSEP062F92FKG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/write_recorded(). 7D2QTHR6ZYNSGPJ22GM0RN524CPPJFJGPZCDKB09FHB2EXMTWJGG - b7d9468858f6bcdb31f97ed84937343e7eea7227 MT6FQF2NS7A3F384BGK0TWK7F609DR4BWJ911R4G0WXYZ3HDVYEG -MR-STOR-0149 dsm::route_chain::leader_copy_record android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_leader_record_of_a_value_is_recovered_from_the_leader_log;dsm_sdk::sdk::route_seats::tests::a_value_the_leader_already_holds_is_not_written_there_again - CONFORMANCE §8 MR-STOR-0149 (Met) D3171049GEX0H606YBRR2MC0NGV8QQ08QZTQ8TVB995YDF8727HG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/leader_copy_record(). 95GGBVEXQDDJBGE90YNFNF9ZECFWY9ERMXFHB85QRN3E5RDXRX3G JKJ79RQSAY5FM0JB7RJ6BRX5MAC3EN5NSFZXH5V2F9Y49H0V5K90;VN8FSTC6YC6M8AZ3B3Q7A64HGYZ05Z0QA1XNEWF1JKRD0PGBH3NG b107ff045ad48e714cd6e5162bf9c2d51db50bfc G23KER5N0PMX16TWY0N63054ZF43SP4EDPZFN2CCBFY5XC5TYXQ0 -MR-STOR-0149 dsm_sdk::sdk::route_seats::from_leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_leader_record_of_a_value_is_recovered_from_the_leader_log;dsm_sdk::sdk::route_seats::tests::a_value_the_leader_already_holds_is_not_written_there_again - CONFORMANCE §8 MR-STOR-0149 (Met) XYCVNZCP4NFK1K7SJ5CFHJCDGXESZ8C00T382PPTZSJ3F4X26AKG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/from_leader(). 9ZABMZ2N2RQEHFV3C93MP670EWE93FWBYPGBEAHNKVHVT392BY9G JKJ79RQSAY5FM0JB7RJ6BRX5MAC3EN5NSFZXH5V2F9Y49H0V5K90;VN8FSTC6YC6M8AZ3B3Q7A64HGYZ05Z0QA1XNEWF1JKRD0PGBH3NG b107ff045ad48e714cd6e5162bf9c2d51db50bfc K9G5Z274BPE2ZJ8TQF0QAN6FT4GXKKQH63B4MZMB0DSESPHDTKQ0 -MR-STOR-0150 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-STOR-0150 (Met) BHTDA31BHQ0Z386G3N56C4J39DSYVCPKWDQ97YW6B2M1N35SR29G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG 59HMF52A70ZHART8C2PE1QV3XJYG77TTFS6J7RC5JDYYXQHVYBWG;H4T19ZPDRZ06ZVP6FD61382XDW2QGTC37XTVWGTYN2NXMXWKS1RG 375506f9333de6e529968767d19d565d189cc385 6K7ZZGA7GS22TQZTVGGP1ZMRDTW1E0MHMHM22EGHYTV8DFCEASTG -MR-STOR-0151 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_entry_carries_one_slot_per_earlier_position_and_round_trips;dsm::route_chain::tests::an_empty_neither_counts_nor_invalidates - CONFORMANCE §8 MR-STOR-0151 (Partial) CVE0RSXA4SM1QK1RKD6D039D1YA7KN37H698GCVACWJQPRZRWXT0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG GFVNHQ5B4PZ9AB644J502PHZPPRY7BE2RA9KS8H8VZZ9HTWNSCF0;7VPTJXAK7ZN0EA6QC0XH200TEFA04G19W3SG8K9PSBNA14V8C9BG 7981f41cd9f14c3e1ac3def73ccddae9914ac346 1VWGPHJTC9W1JMD71J8D0MDA295W0ZE0D0YCP2VYBJGNNYG0DNS0 -MR-STOR-0151 dsm_sdk::sdk::route_seats::write_recorded_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_entry_carries_one_slot_per_earlier_position_and_round_trips;dsm::route_chain::tests::an_empty_neither_counts_nor_invalidates - CONFORMANCE §8 MR-STOR-0151 (Partial) 8479GCHSSK0N6KEBAQDBY7NHD9WR0EW066T6XREGNJ5EQDZEKAMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/write_recorded_position(). BQ7V4JDCTVEN9ARFSASRR4DB52RTTGHH8C00MGV49SDJ4XR1KQWG GFVNHQ5B4PZ9AB644J502PHZPPRY7BE2RA9KS8H8VZZ9HTWNSCF0;7VPTJXAK7ZN0EA6QC0XH200TEFA04G19W3SG8K9PSBNA14V8C9BG b7d9468858f6bcdb31f97ed84937343e7eea7227 HTNTSJA2Y0WN4Q1DHAF2NK64K97Q29RHF6RVJWDRH1Z3F6NA05E0 -MR-STOR-0152 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_copy_whose_carried_links_are_not_one_chain_does_not_count;dsm::route_chain::tests::a_copy_at_another_position_or_of_another_value_does_not_count - CONFORMANCE §8 MR-STOR-0152 (Partial) YTV22FQXHS5XY34JNZ8EM1BSQY054WDME59418JEJX3HC82KPJ80 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG YN9VV7940Z8RGPM5GNKZDGDM1KHCPY23QN53Z4404BK7XBCT6B3G;WFEE1ERPXRTEWA86GKWZM9B9Z5TKVPKE3WWBB8CZ57RWKNMH6TR0 7981f41cd9f14c3e1ac3def73ccddae9914ac346 MYCKSEB85WCC55JA6RBGCP98YH6VSVRFNT15F3K3RA0QKK8262CG -MR-STOR-0154 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::only_links_of_one_chain_count_toward_final - CONFORMANCE §8 MR-STOR-0154 (Met) NQA6NQCM92RR2RZRM82WZV4T5JGRB8N47X64GC2A95XHB3S2WRN0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). YDWWSD384KR0Y5SX880F4JJW5FD3398XM4D8923KYM2Y99H7RMYG RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;5W9841Y111S07377NM3VYDXBV71NH5N3Q62YCB6XJ7PRRS4B45B0 375506f9333de6e529968767d19d565d189cc385 S3K35J0B9E9CV5QH2X19R87WZRNZWHESEY6TQS3KC2KHTVJNSXKG -MR-STOR-0155 dsm::route_chain::CompletionProof android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_completion_proof_is_the_chain_through_its_third_link - CONFORMANCE §8 MR-STOR-0155 (Met) K0DRDYBM3RW1K5YAV4SZEYHQHDEGJMZR15ZZJ8AW5CPQGBZ3GE80 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/CompletionProof# RSXQ0ZPXPC9M0D8Z4FETVJ097AJ02WE5FCJQRVETRBX329321N70 YV7B9Z7Y2W6K0F38B0PZFX0QMK808N1P2FVJ7979STDACFZZKS90 375506f9333de6e529968767d19d565d189cc385 117DZC9C9J4QGPQT0Q1QVPQHCK5DD5D1VAA5X9053NTS7TZ9NTG0 -MR-STOR-0155 dsm::route_chain::completion_proof android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_completion_proof_is_the_chain_through_its_third_link - CONFORMANCE §8 MR-STOR-0155 (Met) 0T2Q8DY4CHBS0WWNZC77V4WVEV4JSE6XW3T34VS7EBAWM0K5Q0H0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/completion_proof(). AJJHR50Y8N8EYWNTRV2YX52655CTW73XKHTW9F04RVGP5E8YZFVG YV7B9Z7Y2W6K0F38B0PZFX0QMK808N1P2FVJ7979STDACFZZKS90 375506f9333de6e529968767d19d565d189cc385 CK1Q9E5JH1MK3HTNE6PRQEDX35XP0S1MWMG5E1TJK2R8WJ9HJ32G -MR-STOR-0156 dsm::route_chain::check_completion_proof node MUST_REACH active dsm_storage_node::main dsm::route_chain::tests::a_completion_proof_is_checked_against_the_seats - CONFORMANCE §8 MR-STOR-0156 (Partial) 2MDZMNWNC0GTPQ08X8FAKDBY8S2AXYJ5YRFXFBYE44XW27J3H1J0 Partial WIRING_GAP dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/check_completion_proof(). 4V03HV78Z4ZPAJ39R61Y0E4R7EA0EVP94EHC0KVYMQ7FKFJ8AS80 YJMHYTR1DFSCBV4DVFP13JP399WNBX9P6SBMSH9BPPT79PGDGHXG 375506f9333de6e529968767d19d565d189cc385 1MS7WXK23Z79YNGYAWJ1RX1THQ2M1ZMD0AKN77CE4PJG56JJ7GH0 -MR-STOR-0157 dsm::route_chain::completion_digest android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_completion_digest_is_the_proofs_fields - CONFORMANCE §8 MR-STOR-0157 (Met) P4ZJE18GRQ68NXVMXW4ZCJ98T5CA0F12R33NCD45YMGYP63TMBJG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/completion_digest(). S97F3RK46REF7AS2KD8PR5QRNZTGZEF52RGBDTNMF3KKADQM5HKG FJPPWTJSF8ZZVJB2D4PBNK8GKPEE5YT1XEJV095ZBCNA27S2BZ1G 375506f9333de6e529968767d19d565d189cc385 5V577VBJ0MBJ0BB84WNQR41QXGHB2FGVR6DFM0YPYPAAPVBRA4B0 -MR-STOR-0158 dsm_sdk::sdk::route_seats::keep_completion android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-STOR-0158 (Partial) 0W34W90DA5WN7Z4VDQWBBP3YKWSQBAR81KM9746PDABBTTYVZBZ0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/keep_completion(). 9TBWZ53TG64F66JD2DHGBE62VG23KQYZNXCRSTC22JZS9BYMY050 - b7d9468858f6bcdb31f97ed84937343e7eea7227 MNC1HC09KT8W52946E4R3ST5RE75WAZHVB7X58Y5APWD7974YRJ0 -MR-STOR-0158 dsm_sdk::storage::client_db::completion_proofs::keep android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-STOR-0158 (Partial) QXXEMBAGENZJ4BWK4FNXZFM6Q1RV825XY41PSNJT72EEGDG535S0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 storage/client_db/completion_proofs/keep(). BJFKVQV9PR24GEGNMP3W7VN38XXG177X4P5SWVSR9HVHMNYX4BX0 - b7d9468858f6bcdb31f97ed84937343e7eea7227 0RAHMZJTS9Q1BAZM7G2Z5YVN6BR77MP4SSW7FKY5C99AY8XRZFZ0 +MR-SOFI-0312 dsm::economic::token_policy::parse_token_policy_blob android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-SOFI-0312 (Partial) 1XAP118FDJ90DDBRXE56GGYPG3H6XBGTAR8KSVJB7MH9WQ28YNBG Partial SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/parse_token_policy_blob(). TN7C1BJ61VFMPF9JV3BQK73KX1FE9W9A3V3ZA1TWTYQ46683PPF0 - 83b6f616ac244334064c4c56d391c23eb42a7ce6 E22QMBJ2S96WGS3TBNM9QA2W7379DEAJFQ2S23JYMXVJV2YCPMT0 +MR-SOFI-0314 dsm::economic::token_policy::parse_token_policy_blob android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::token_routes::tests::the_packed_policy_parses_to_every_field_it_was_packed_from;dsm_sdk::handlers::node_e2e_tests::a_created_token_releases_its_whole_genesis_supply_to_its_creator - CONFORMANCE §8 MR-SOFI-0314 (Met) VSJGT7TPXJ669JNNJNHGMBJHPYDDXTYYYH5M0K354KRYCY5TB10G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/parse_token_policy_blob(). TN7C1BJ61VFMPF9JV3BQK73KX1FE9W9A3V3ZA1TWTYQ46683PPF0 3V2PX1Y5KAEFH5SV46D0ZWDMGRTGM24QB7P4B4CPDBC6SDYN8A20;S7MVSJW5HF8VBNPJCZERJ66CNF0KJ5S8QTD96E8CNT6PQ0Y751P0 83b6f616ac244334064c4c56d391c23eb42a7ce6 77P9Z1Q7GH2DNYT6J105E9GB2P1FBGQPF9M2ZHGAR8V0MPW94CN0 +MR-SOFI-0314 dsm_sdk::handlers::token_routes::build_policy_v3_bytes android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::token_routes::tests::the_packed_policy_parses_to_every_field_it_was_packed_from;dsm_sdk::handlers::node_e2e_tests::a_created_token_releases_its_whole_genesis_supply_to_its_creator - CONFORMANCE §8 MR-SOFI-0314 (Met) PMY78HV3F6NZK5VJKS0JEW5QFVY1S0AERT2Z4QKTB7YEG2206RT0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 handlers/token_routes/build_policy_v3_bytes(). Z4JAEPD6QRN4RZY65GF2P9SXFQT1RAC6MQ9149D9XD0A3V58XYB0 3V2PX1Y5KAEFH5SV46D0ZWDMGRTGM24QB7P4B4CPDBC6SDYN8A20;S7MVSJW5HF8VBNPJCZERJ66CNF0KJ5S8QTD96E8CNT6PQ0Y751P0 83b6f616ac244334064c4c56d391c23eb42a7ce6 YJ7X42JE4RYRTCJ6N63J0TEM2H3KRGXMDT140TKG467PZZHRVBA0 +MR-SOFI-0315 dsm::core::token::policy::TokenPolicySystem::enforce_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm_sdk::handlers::sender_admission_tests::a_burn_disabled_token_refuses_its_burn - CONFORMANCE §8 MR-SOFI-0315 (Met) ZH95CJMXBNFRSG4Q61N0NZ29XX45Y61VAG97CSB8ZWFTSWQNY4BG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/impl#[TokenPolicySystem]enforce_policy(). KK8YN4NPMXJFS1YK3TSGZEX0MXJ8JVS9XRYB0M7YEQB40GA1HHF0 CSBK9FAYE0EC1FV9ZJBV2VFBBP96YFJHHDWRZHVW8JFZRWWGW3AG;VJCE7GGR8R3407DJ28YG3HT61JPKRWV6WQA84P0BQR3P1NZVZK20 83b6f616ac244334064c4c56d391c23eb42a7ce6 Y90BZSEVYANCHYYMTQSQKDEHH1V31REVB6V3T9CMN7R0XDKR31KG +MR-SOFI-0315 dsm::core::token::policy::TokenPolicySystem::register_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm_sdk::handlers::sender_admission_tests::a_burn_disabled_token_refuses_its_burn - CONFORMANCE §8 MR-SOFI-0315 (Met) 1419Y8J47F64T280V1MPJBW66XXXCA1945KRZF3GQC76Z52GAFM0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/impl#[TokenPolicySystem]register_policy(). 2STDH2RDMH3C09CVHKDH4YV2QV07YHSPCYW5Z0T7Z667M89JP350 CSBK9FAYE0EC1FV9ZJBV2VFBBP96YFJHHDWRZHVW8JFZRWWGW3AG;VJCE7GGR8R3407DJ28YG3HT61JPKRWV6WQA84P0BQR3P1NZVZK20 83b6f616ac244334064c4c56d391c23eb42a7ce6 3HF8HZ71A53V0EQYQ7NVD2YWNBH5SXRRYCDJWYXH47HYD5WAQS4G +MR-SOFI-0315 dsm::types::device_state::validate_conservation android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::bytes_at_another_commitment_are_not_the_policy_asked_for;dsm_sdk::handlers::sender_admission_tests::a_burn_disabled_token_refuses_its_burn - CONFORMANCE §8 MR-SOFI-0315 (Met) FNVPCE6QBAM5Y3EZDXCNPB7935E05WBC2AEGESBKAFVPRBRKY1G0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/validate_conservation(). 60G8QTY9E1Q0SE9EMXEEDZSR2RSGR6ZNCS1ZDT6R97TBTV1R8M20 CSBK9FAYE0EC1FV9ZJBV2VFBBP96YFJHHDWRZHVW8JFZRWWGW3AG;VJCE7GGR8R3407DJ28YG3HT61JPKRWV6WQA84P0BQR3P1NZVZK20 83b6f616ac244334064c4c56d391c23eb42a7ce6 YEY5QSH2TATZ37FHCKQD8P7KMKKSVDHX2VBQ1Q5C9BXA23WAY5B0 +MR-SOFI-0316 dsm::economic::native_reserve::release_constructible android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_created_token_releases_its_whole_genesis_supply_to_its_creator;dsm::economic::native_reserve::tests::a_release_of_any_amount_but_the_payout_never_holds_the_cell;dsm_sdk::handlers::faucet_flow_tests::a_release_of_the_whole_supply_holds_nothing_and_the_claim_lands;dsm::native_reserve_wire::credits_funded_along_a_lineage_sum_to_what_the_reserve_released;dsm::economic::native_reserve::tests::a_release_signed_by_any_key_but_the_recipient_devices_never_holds_the_cell;dsm_sdk::handlers::faucet_flow_tests::a_release_naming_a_device_its_key_does_not_derive_holds_nothing - CONFORMANCE §8 MR-SOFI-0316 (Partial) 2BXMQSNMF0MNP587MMJ59PER7B3XRZQ5NBEVAYBHQTXEYFABG9B0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/native_reserve/release_constructible(). WEPHSMA1D6CJJN4MJ6J2Y7DZ7KV6RQKS2F7TNYK5DP5G3Z6GBT80 S7MVSJW5HF8VBNPJCZERJ66CNF0KJ5S8QTD96E8CNT6PQ0Y751P0;SVZ7H0EY85C7VDD2EVD39VBXK8GRHFNG86RNYM695WM9K8FBRM20;WASP9GGR6DMVSFPAKX4WRSKE9JZV3QPCWBHC42GKAVN55DGW1PT0;V9VHEVFGH7G7RETZSWCE1M44WQNVWNECJZJ04ABGG1WYZ8GX6DA0;5FCHFTQE427FH05KQY617Q7HV41K47Q2MYVB9S6Y3MXFYR14W740;PA5WS703MHVHV9VTP0TKWNNWE5Y8JMYH8TZVM954AZ94P57GXE60 83b6f616ac244334064c4c56d391c23eb42a7ce6 W1GM4EYRCXGG6RV148PDACCC443AKPNTZA4DCN3TC0TE5H7Z9X60 +MR-SOFI-0316 dsm::economic::token_policy::ReleaseRule android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_created_token_releases_its_whole_genesis_supply_to_its_creator;dsm::economic::native_reserve::tests::a_release_of_any_amount_but_the_payout_never_holds_the_cell;dsm_sdk::handlers::faucet_flow_tests::a_release_of_the_whole_supply_holds_nothing_and_the_claim_lands;dsm::native_reserve_wire::credits_funded_along_a_lineage_sum_to_what_the_reserve_released;dsm::economic::native_reserve::tests::a_release_signed_by_any_key_but_the_recipient_devices_never_holds_the_cell;dsm_sdk::handlers::faucet_flow_tests::a_release_naming_a_device_its_key_does_not_derive_holds_nothing - CONFORMANCE §8 MR-SOFI-0316 (Partial) DFWE8EQG3B942RTNB0437NXD7QTPZZ5PRX95GNDVCPDW9WHQWGAG Partial SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/ReleaseRule# TT24KJ17KAJG0DMSJMM4SSC50RHCJQFPA72ANKXZQDJ9HRW75GTG S7MVSJW5HF8VBNPJCZERJ66CNF0KJ5S8QTD96E8CNT6PQ0Y751P0;SVZ7H0EY85C7VDD2EVD39VBXK8GRHFNG86RNYM695WM9K8FBRM20;WASP9GGR6DMVSFPAKX4WRSKE9JZV3QPCWBHC42GKAVN55DGW1PT0;V9VHEVFGH7G7RETZSWCE1M44WQNVWNECJZJ04ABGG1WYZ8GX6DA0;5FCHFTQE427FH05KQY617Q7HV41K47Q2MYVB9S6Y3MXFYR14W740;PA5WS703MHVHV9VTP0TKWNNWE5Y8JMYH8TZVM954AZ94P57GXE60 83b6f616ac244334064c4c56d391c23eb42a7ce6 7337HQD00P8TW33RS37S6Y4AN4HXGH3A59Y3WB7MH5EGPGR8T29G +MR-SOFI-0316 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_created_token_releases_its_whole_genesis_supply_to_its_creator;dsm::economic::native_reserve::tests::a_release_of_any_amount_but_the_payout_never_holds_the_cell;dsm_sdk::handlers::faucet_flow_tests::a_release_of_the_whole_supply_holds_nothing_and_the_claim_lands;dsm::native_reserve_wire::credits_funded_along_a_lineage_sum_to_what_the_reserve_released;dsm::economic::native_reserve::tests::a_release_signed_by_any_key_but_the_recipient_devices_never_holds_the_cell;dsm_sdk::handlers::faucet_flow_tests::a_release_naming_a_device_its_key_does_not_derive_holds_nothing - CONFORMANCE §8 MR-SOFI-0316 (Partial) NS91SS8XGT1FH1A56HDBP0ASJ5V194EP3J041Y4CTZY2WPB4WCW0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). ZHP08EX4NHJGE0M8MSVJETQ4AYSP7X053J607M9VZ2BED8MY5CN0 S7MVSJW5HF8VBNPJCZERJ66CNF0KJ5S8QTD96E8CNT6PQ0Y751P0;SVZ7H0EY85C7VDD2EVD39VBXK8GRHFNG86RNYM695WM9K8FBRM20;WASP9GGR6DMVSFPAKX4WRSKE9JZV3QPCWBHC42GKAVN55DGW1PT0;V9VHEVFGH7G7RETZSWCE1M44WQNVWNECJZJ04ABGG1WYZ8GX6DA0;5FCHFTQE427FH05KQY617Q7HV41K47Q2MYVB9S6Y3MXFYR14W740;PA5WS703MHVHV9VTP0TKWNNWE5Y8JMYH8TZVM954AZ94P57GXE60 83b6f616ac244334064c4c56d391c23eb42a7ce6 8CDETWPQV55J7SWNP65Y4CFE5SCK2MF2VHAAQTT2DV888TG9TESG +MR-SOFI-0317 dsm::economic::provenance::verify_genesis_release android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_burn_round_trips_and_removes_a_zeroed_balance;dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage - CONFORMANCE §8 MR-SOFI-0317 (Met) RDQGK10XZ3RRTESNGX5TBHXQDE1F1F1Q8HED10VD1Q61GSRTNQC0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/provenance/verify_genesis_release(). V1653KK9B26YP2JA7K363E0Q0GHGQCDVDNKNE12D61V34C5FKHHG KQCK8ERKPZS63TKCGFJSXEGA1A30E2YMKDQBY7Q7M15Z0R632EBG;YS57YHRZH8RG97YF1DBE17SJ2YGXKQT3H1DTGW4GS8QBA3QJ1ARG 83b6f616ac244334064c4c56d391c23eb42a7ce6 72WP6WQ0F2N3ZAEQGMHHRCSYJEVKGY13A4CKCCG49HEFS9ZCHY7G +MR-SOFI-0317 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_burn_round_trips_and_removes_a_zeroed_balance;dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage - CONFORMANCE §8 MR-SOFI-0317 (Met) E5SH9DRNZ0S8R3W2BQCD5QS5K1JC53YGJ0G6DRXENE3P0P5CDS90 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). ZHP08EX4NHJGE0M8MSVJETQ4AYSP7X053J607M9VZ2BED8MY5CN0 KQCK8ERKPZS63TKCGFJSXEGA1A30E2YMKDQBY7Q7M15Z0R632EBG;YS57YHRZH8RG97YF1DBE17SJ2YGXKQT3H1DTGW4GS8QBA3QJ1ARG 83b6f616ac244334064c4c56d391c23eb42a7ce6 G1TQZPG7FXNEVQKJF9B4T3BSD9DN72BJ8M0PAR3NQTCH3R5P26H0 +MR-SOFI-0318 dsm::economic::provenance::verify_genesis_release android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_market_tokens_policy_not_in_hand_is_missing;dsm::sofi::validation::tests::a_token_whose_committed_policy_does_not_parse_cannot_be_a_market_leg;dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg - CONFORMANCE §8 MR-SOFI-0318 (Met) AYDQRRK0EVWDCQBZ4QKYJ72SS9HF3DPSZTBZ0TT617PBC9QXYQ7G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/provenance/verify_genesis_release(). V1653KK9B26YP2JA7K363E0Q0GHGQCDVDNKNE12D61V34C5FKHHG EVCK0AW5JHXF78ME4SA4B6PQKTAN9ZMWVQSP4E6ZR80TFVQS9YW0;WD1B1PN25C4GR70YH2PM6AEFEE56WJRSGTPTBCRAE945E4GD1ARG;GNEX9J4XY0C0RXR35MJ8Q0WRDKKR55QWQ824GVEJWPXHDX5J6QKG 83b6f616ac244334064c4c56d391c23eb42a7ce6 VN5BAS7F8VZZPEKQWZJ7ZDZ3ZG303VF7HVJ4TD4X62Q3BTQ5Y5NG +MR-SOFI-0318 dsm::economic::token_policy::parse_token_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_market_tokens_policy_not_in_hand_is_missing;dsm::sofi::validation::tests::a_token_whose_committed_policy_does_not_parse_cannot_be_a_market_leg;dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg - CONFORMANCE §8 MR-SOFI-0318 (Met) 3JDCB24S9G0RY0CTXVVJF9WS8FNP5H3R6PBZ8HCS4PGK6PF9YRB0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/parse_token_policy(). DW42W4NB9J6B9SXSEC3JJYMBB4214SWJQ52W7680CZB1NQFNEN50 EVCK0AW5JHXF78ME4SA4B6PQKTAN9ZMWVQSP4E6ZR80TFVQS9YW0;WD1B1PN25C4GR70YH2PM6AEFEE56WJRSGTPTBCRAE945E4GD1ARG;GNEX9J4XY0C0RXR35MJ8Q0WRDKKR55QWQ824GVEJWPXHDX5J6QKG 83b6f616ac244334064c4c56d391c23eb42a7ce6 C8VA1EMDVEM44334H6TMJ0QEEPST27SBJEVNGNHBQWQVDR5VK280 +MR-SOFI-0318 dsm::sofi::validation::market_legs_permitted android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_market_tokens_policy_not_in_hand_is_missing;dsm::sofi::validation::tests::a_token_whose_committed_policy_does_not_parse_cannot_be_a_market_leg;dsm::sofi::validation::tests::a_token_whose_policy_forbids_transfer_cannot_be_a_market_leg - CONFORMANCE §8 MR-SOFI-0318 (Met) 4XK08GXH5BE9NXCR8VS36BVPY8XQ6SBH5MGTR60V1EBC0Q6EGNK0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/market_legs_permitted(). B52DMD5Z6XQVMKXK695C5B4N1CWJN30JZAXQH1VYEEZ8J6JNVD10 EVCK0AW5JHXF78ME4SA4B6PQKTAN9ZMWVQSP4E6ZR80TFVQS9YW0;WD1B1PN25C4GR70YH2PM6AEFEE56WJRSGTPTBCRAE945E4GD1ARG;GNEX9J4XY0C0RXR35MJ8Q0WRDKKR55QWQ824GVEJWPXHDX5J6QKG 83b6f616ac244334064c4c56d391c23eb42a7ce6 22GFN5NSBJRZZX0BC4YG5AHAKF3PAW3TKC1SJ7FG9V12HX9G3CG0 +MR-SOFI-0322 dsm::economic::keys::token_creation_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage;dsm::economic_provenance_semantics::a_genesis_release_of_another_creators_policy_is_refused - CONFORMANCE §8 MR-SOFI-0322 (Partial) WATN0EB14HQS1CXCT7HBXYDWHFVBKC864M7YHRHV8C6Y0QP1W44G Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/keys/token_creation_key(). 7ZGP8MEJRHKJS1RRSC1R9HDXMV79CGBGGRJAK0V993CP5SQECH10 YS57YHRZH8RG97YF1DBE17SJ2YGXKQT3H1DTGW4GS8QBA3QJ1ARG;YBB0SRVC78SQGHCRF1SYBQCVWZA8SV11WR3B1P5DW2D3WQXQ31SG 83b6f616ac244334064c4c56d391c23eb42a7ce6 6S748419QEHHWWSNG3AQ4BAT15HC78CJJF1KBWTS4TH6YZSN2V7G +MR-SOFI-0322 dsm::economic::provenance::verify_genesis_release android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage;dsm::economic_provenance_semantics::a_genesis_release_of_another_creators_policy_is_refused - CONFORMANCE §8 MR-SOFI-0322 (Partial) B0DXE6DHPE7JN3X3RP6XR1Z3E0R9SFQ5T1R7J920A2X3SXB6BZCG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/provenance/verify_genesis_release(). V1653KK9B26YP2JA7K363E0Q0GHGQCDVDNKNE12D61V34C5FKHHG YS57YHRZH8RG97YF1DBE17SJ2YGXKQT3H1DTGW4GS8QBA3QJ1ARG;YBB0SRVC78SQGHCRF1SYBQCVWZA8SV11WR3B1P5DW2D3WQXQ31SG 83b6f616ac244334064c4c56d391c23eb42a7ce6 X3V45CXDZVG64PMR67MYE5ZC3WE6DHWBMWD3T4RC6YX7FD6R550G +MR-SOFI-0330 dsm::sofi::exercise::check_attempt_completion android MUST_REACH active - dsm::sofi::registration::tests::a_final_fulfillment_has_a_completion_proof_that_checks;dsm::sofi::exercise::tests::a_final_exercise_has_a_completion_proof_that_checks - CONFORMANCE §8 MR-SOFI-0330 (Partial) E3BKFPPKC5AVT7VDRNNWV8RKYRKND5V0F8DMPNGW4FH97MTEGC80 Partial WIRING_GAP dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/check_attempt_completion(). 60ENYSV3BAHG0PHNQMA60YMVR5M9TT19GYJ981M602W7772CPAY0 X8SCAP2X0B6AWQ22AK5ZQBQKEFJZ8XWR4XC32PEDFEMED1HA925G;E7CNXV1QMN37189ZXW62N584N4NDE0N0WZKEJJA1MD02Q3JH6MSG 83b6f616ac244334064c4c56d391c23eb42a7ce6 9XKRRYT8MDEPYC8K462WEWHNVQN5MPXE9E3EP1F3QEC4FPVQSNQG +MR-SOFI-0330 dsm::sofi::registration::check_fulfillment_completion android MUST_REACH active - dsm::sofi::registration::tests::a_final_fulfillment_has_a_completion_proof_that_checks;dsm::sofi::exercise::tests::a_final_exercise_has_a_completion_proof_that_checks - CONFORMANCE §8 MR-SOFI-0330 (Partial) 9SAWTCABEP6W8NA0633BQ9MTPGES5WRZQ7TX3XXHZY0C2QY8RVVG Partial WIRING_GAP dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/registration/check_fulfillment_completion(). PK5688KZYRYJNA2JQ4DJSA4Q4GG06PTTTW733RHKV7KAHM9HT8FG X8SCAP2X0B6AWQ22AK5ZQBQKEFJZ8XWR4XC32PEDFEMED1HA925G;E7CNXV1QMN37189ZXW62N584N4NDE0N0WZKEJJA1MD02Q3JH6MSG 83b6f616ac244334064c4c56d391c23eb42a7ce6 M5MNJ69CT5BP1GE9JCKKN60HYBQ919R77YPTVF0M58SEXJEKY4QG +MR-SOFI-0330 dsm_sdk::sdk::route_seats::keep_completion android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::registration::tests::a_final_fulfillment_has_a_completion_proof_that_checks;dsm::sofi::exercise::tests::a_final_exercise_has_a_completion_proof_that_checks - CONFORMANCE §8 MR-SOFI-0330 (Partial) BQG34EZ8DQCR605DQ6SKR6RV7TDT0CNP5XMDNYBGAE3YECT1D93G Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/keep_completion(). MEXB1XXTJ4TCZMJSGTZK00Y6KBR1CENP24DQWF9GBYBS9S0YD940 X8SCAP2X0B6AWQ22AK5ZQBQKEFJZ8XWR4XC32PEDFEMED1HA925G;E7CNXV1QMN37189ZXW62N584N4NDE0N0WZKEJJA1MD02Q3JH6MSG 83b6f616ac244334064c4c56d391c23eb42a7ce6 CB3AC6PFJ79AKJRFP50ADCP2316FK7RFCT59F37SBEJF6WTZ1XSG +MR-SOFI-0331 dsm::sofi::validation::Evidence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_setup_naming_another_claim_than_the_accepted_one_is_invalid;dsm::sofi::validation::tests::a_setup_whose_accepted_claim_is_not_in_hand_is_missing;dsm::sofi::validation::tests::a_setup_on_a_lineage_known_invalid_is_invalid;dsm::sofi::validation::tests::a_lineage_not_established_leaves_the_setup_waiting - CONFORMANCE §8 MR-SOFI-0331 (Met) NY8GCJ8W5RBN8PMWHM1FRSVMZ2TQWK6G359KBN6C4ZTAVRRWC520 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/Evidence# WJQQ0K1WSSNMX99BCJ8YD2E6RES1A4FG5XMFE06TG469EBH55MG0 HH7MQFQHEGBST8M3F0TC9PQYGZN9Q3NVXRJ39SFG178SYXJQSTPG;HMW0S2B0J7245JKDHN8R33G2MN7WQG3FST2KXN9D4KTS6TMK9RHG;6YREM5Y6K9D06SZ3QBPVNVP38AA2M6RYV6Z7JZCXS9E3T7KZRCC0;XJ48D8J84GSKXWFBK8WV138NJVHQSACKC3DHAJQ5JNB7ZC1DDKTG 83b6f616ac244334064c4c56d391c23eb42a7ce6 N1JCB2QY2TB9ERBXJMYC633X6TQY02WP9H6ABQ3A0WX2AXHQRDY0 +MR-SOFI-0331 dsm::sofi::validation::setup_valid android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_setup_naming_another_claim_than_the_accepted_one_is_invalid;dsm::sofi::validation::tests::a_setup_whose_accepted_claim_is_not_in_hand_is_missing;dsm::sofi::validation::tests::a_setup_on_a_lineage_known_invalid_is_invalid;dsm::sofi::validation::tests::a_lineage_not_established_leaves_the_setup_waiting - CONFORMANCE §8 MR-SOFI-0331 (Met) 4YVASKCNV0FFN6101R5YW1QHJDFZVDM970E2MVAFW2PYX0EZ3E20 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/setup_valid(). 7Y0MFV0MYV0EA6KDK9XH7BM48YYRS6MRSD1FDSJ6RGV3GTTWNCY0 HH7MQFQHEGBST8M3F0TC9PQYGZN9Q3NVXRJ39SFG178SYXJQSTPG;HMW0S2B0J7245JKDHN8R33G2MN7WQG3FST2KXN9D4KTS6TMK9RHG;6YREM5Y6K9D06SZ3QBPVNVP38AA2M6RYV6Z7JZCXS9E3T7KZRCC0;XJ48D8J84GSKXWFBK8WV138NJVHQSACKC3DHAJQ5JNB7ZC1DDKTG 83b6f616ac244334064c4c56d391c23eb42a7ce6 3A8EQCV53SFS44RF1N2TVZFKMZ84J1BBYFWP02X29CKDW4B687AG +MR-SOFI-0332 dsm::economic::provenance::verify_genesis_release android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_provenance_semantics::a_genesis_release_funds_its_creators_whole_supply;dsm::economic_provenance_semantics::a_genesis_release_of_another_creators_policy_is_refused - CONFORMANCE §8 MR-SOFI-0332 (Met) W5DTPPJJ1SYH9PSAB3PH4YM9RCRVJNX8G08RKDJ2E3WKKAW2E0QG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/provenance/verify_genesis_release(). V1653KK9B26YP2JA7K363E0Q0GHGQCDVDNKNE12D61V34C5FKHHG RMNJW0P04PJ9KE5HWECH84TGZ42C5JZZ52HS6X2YC4YWYV0605MG;YBB0SRVC78SQGHCRF1SYBQCVWZA8SV11WR3B1P5DW2D3WQXQ31SG 83b6f616ac244334064c4c56d391c23eb42a7ce6 WST83CVXPKW3DV45JD8BWSVT20AN2CXVMPF1WPMS9SY1VKHPS280 +MR-SOFI-0332 dsm::economic::token_policy::TokenPolicy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_provenance_semantics::a_genesis_release_funds_its_creators_whole_supply;dsm::economic_provenance_semantics::a_genesis_release_of_another_creators_policy_is_refused - CONFORMANCE §8 MR-SOFI-0332 (Met) ZM8NP7YYR3KJ3RA519X942YTDA06PRPT8PXH7TFPCB00C62NNM10 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/TokenPolicy# 960EESRTQ7YE3H63BGG225VGJJR79VM37H90DMA2V7YCMHKS37J0 RMNJW0P04PJ9KE5HWECH84TGZ42C5JZZ52HS6X2YC4YWYV0605MG;YBB0SRVC78SQGHCRF1SYBQCVWZA8SV11WR3B1P5DW2D3WQXQ31SG 83b6f616ac244334064c4c56d391c23eb42a7ce6 ZWFR2PPTPXKA5A214FSX605WBTC6JYFYT7Q8MV2EATK7Q5CYNVP0 +MR-SOFI-0333 dsm::economic::keys::token_creation_key android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage;dsm::sofi::lineage::tests::the_creation_record_is_an_economic_leaf_with_its_own_key - CONFORMANCE §8 MR-SOFI-0333 (Met) 3D6456TN3H4CN2H0P55FDHW0ZS2EF6G176TPVQ1CCAWTWBWFMX80 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/keys/token_creation_key(). 7ZGP8MEJRHKJS1RRSC1R9HDXMV79CGBGGRJAK0V993CP5SQECH10 YS57YHRZH8RG97YF1DBE17SJ2YGXKQT3H1DTGW4GS8QBA3QJ1ARG;8KDH0Z1V82PRQP5MS3PX52EST33PMQY7ZG2JBCK7SF6Q4HB0H5PG 83b6f616ac244334064c4c56d391c23eb42a7ce6 9HEPS7NH43NEQ57NT65FMMBSBTGQ0CD8TYC2A0JYW51N5Q22MTRG +MR-SOFI-0333 dsm::economic::write_set::build_write_set android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic_write_set::a_token_is_created_once_on_its_creators_lineage;dsm::sofi::lineage::tests::the_creation_record_is_an_economic_leaf_with_its_own_key - CONFORMANCE §8 MR-SOFI-0333 (Met) SRDP1XH9FCJ7NAQTQ4BM0XQJMPVH680MGDAM68QKB9QQ2VN0EFZ0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/write_set/build_write_set(). ZHP08EX4NHJGE0M8MSVJETQ4AYSP7X053J607M9VZ2BED8MY5CN0 YS57YHRZH8RG97YF1DBE17SJ2YGXKQT3H1DTGW4GS8QBA3QJ1ARG;8KDH0Z1V82PRQP5MS3PX52EST33PMQY7ZG2JBCK7SF6Q4HB0H5PG 83b6f616ac244334064c4c56d391c23eb42a7ce6 D8HD2HRM3T4MQ034EGEDJGSPGWT2DVC25GZ5FWT4568N3JA3BXP0 +MR-SOFI-0334 dsm::economic::token_policy::parse_token_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::token_policy::tests::a_network_anchored_blob_names_no_creator_and_no_signer_set;dsm::economic::token_policy::tests::a_blob_whose_shape_does_not_match_its_release_rule_does_not_parse;dsm::economic::token_policy::tests::a_non_canonical_wrapper_does_not_parse;dsm_sdk::handlers::token_routes::tests::a_device_created_policy_keeps_its_layout_and_commitment - CONFORMANCE §8 MR-SOFI-0334 (Met) MZGJGZT322P5AETZ2AHHR31FCGPV0TV6TSM8P03037JHFEKNW0N0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/parse_token_policy(). DW42W4NB9J6B9SXSEC3JJYMBB4214SWJQ52W7680CZB1NQFNEN50 GAKVFGKZQ55280A96ST8EHN9D8QZKR36GZTFZ51HXBE7CHQ6KE1G;6NR6EH4X20E2E2YKP28Y7PG2A46DXWYM7CAY4NVSNJX7GGAEWEVG;YKVV099RN57SQ46E1Z71BA4SZ76VYRK0YZQQC6QP2KB3C74JF6CG;1KN3C22SG5NV1R5JNY8EWF29MPP9KCN4HMFG3R4KZMKYV1T2K2H0 83b6f616ac244334064c4c56d391c23eb42a7ce6 WNJ44GGN0PBH5QR3D68N699T63M3AWXA0E987H56PMV3V6DBAR10 +MR-SOFI-0334 dsm::economic::token_policy::parse_token_policy_blob android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::token_policy::tests::a_network_anchored_blob_names_no_creator_and_no_signer_set;dsm::economic::token_policy::tests::a_blob_whose_shape_does_not_match_its_release_rule_does_not_parse;dsm::economic::token_policy::tests::a_non_canonical_wrapper_does_not_parse;dsm_sdk::handlers::token_routes::tests::a_device_created_policy_keeps_its_layout_and_commitment - CONFORMANCE §8 MR-SOFI-0334 (Met) FXGSS2JHN67MB602KX5CM0E8QB002YNQH4G37B0P7308D95JABE0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 economic/token_policy/parse_token_policy_blob(). TN7C1BJ61VFMPF9JV3BQK73KX1FE9W9A3V3ZA1TWTYQ46683PPF0 GAKVFGKZQ55280A96ST8EHN9D8QZKR36GZTFZ51HXBE7CHQ6KE1G;6NR6EH4X20E2E2YKP28Y7PG2A46DXWYM7CAY4NVSNJX7GGAEWEVG;YKVV099RN57SQ46E1Z71BA4SZ76VYRK0YZQQC6QP2KB3C74JF6CG;1KN3C22SG5NV1R5JNY8EWF29MPP9KCN4HMFG3R4KZMKYV1T2K2H0 83b6f616ac244334064c4c56d391c23eb42a7ce6 XNV9HB5X1P863AKH6R381T4QCAAQ9BZT84EE2GS07YC2Z4MRFJY0 +MR-SOFI-0334 dsm_sdk::handlers::token_routes::build_policy_v3_bytes android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::token_policy::tests::a_network_anchored_blob_names_no_creator_and_no_signer_set;dsm::economic::token_policy::tests::a_blob_whose_shape_does_not_match_its_release_rule_does_not_parse;dsm::economic::token_policy::tests::a_non_canonical_wrapper_does_not_parse;dsm_sdk::handlers::token_routes::tests::a_device_created_policy_keeps_its_layout_and_commitment - CONFORMANCE §8 MR-SOFI-0334 (Met) N44C63NGT8ZG8Q566FVT7QK0CDAM5SBS2SHB4VWN24K5NGQKC910 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 handlers/token_routes/build_policy_v3_bytes(). Z4JAEPD6QRN4RZY65GF2P9SXFQT1RAC6MQ9149D9XD0A3V58XYB0 GAKVFGKZQ55280A96ST8EHN9D8QZKR36GZTFZ51HXBE7CHQ6KE1G;6NR6EH4X20E2E2YKP28Y7PG2A46DXWYM7CAY4NVSNJX7GGAEWEVG;YKVV099RN57SQ46E1Z71BA4SZ76VYRK0YZQQC6QP2KB3C74JF6CG;1KN3C22SG5NV1R5JNY8EWF29MPP9KCN4HMFG3R4KZMKYV1T2K2H0 83b6f616ac244334064c4c56d391c23eb42a7ce6 HAHR1XMQQ6SSCP1BKS1FRHB6V31NAGY6FY7E3CKQD9XAWNWSZTAG +MR-SOFI-0335 dsm::core::token::era_policy::era_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::era_policy::tests::eras_commitment_is_derived_from_its_bytes_and_is_the_specifications;dsm::core::token::era_policy::tests::eras_policy_states_what_the_specification_fixes;dsm::core::token::policy::tests::eras_policy_is_answered_from_cores_bytes_never_cached_or_resolved;dsm_sdk::handlers::token_routes::tests::the_one_packer_reproduces_eras_policy_bytes - CONFORMANCE §8 MR-SOFI-0335 (Met) 1TJ81XS35CQ7D3ZCZV1B5JET9SJRJG2PECE6W3MZ5CAWC6CYCQ80 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/era_policy/era_policy(). Y1GGJXFV02ZSVXTGT96WZNH2DR1QP61ZHCXKBSANRF93RST32BE0 MXSRMTGZTKS3BFBRMWGSK64SPQ8EN5DFDTS0NCVK6A54ZJ03JGB0;PZWHF6WBFZBN6A7D8G9QP8RVTGTWAPNKB0KNB91AXT2EZD307C7G;QPW2RWX4MZSD6JW89BWXCSA9VDE0EJSY930ZFMMK3F6E11REZYJG;0QXG0RWCCKM9N0CV98PEWET8B60CF2MZRW1B24V8TCR3C5HD6B4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 J4G17V91HVTS77400TMCRMGG20VNNRR44R7Z1QGC1GB9JHTM1NHG +MR-SOFI-0335 dsm::core::token::era_policy::era_policy_commit android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::era_policy::tests::eras_commitment_is_derived_from_its_bytes_and_is_the_specifications;dsm::core::token::era_policy::tests::eras_policy_states_what_the_specification_fixes;dsm::core::token::policy::tests::eras_policy_is_answered_from_cores_bytes_never_cached_or_resolved;dsm_sdk::handlers::token_routes::tests::the_one_packer_reproduces_eras_policy_bytes - CONFORMANCE §8 MR-SOFI-0335 (Met) VKQB9K5KM177G84A50Z2P7KWFMAP3P513Z7Q5WCWY0TY20S47YM0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/era_policy/era_policy_commit(). 4QGHEXCRBJY28D07JHM4Q74X0YTVQKWS4WAFHBQSYTDMQD3HY7PG MXSRMTGZTKS3BFBRMWGSK64SPQ8EN5DFDTS0NCVK6A54ZJ03JGB0;PZWHF6WBFZBN6A7D8G9QP8RVTGTWAPNKB0KNB91AXT2EZD307C7G;QPW2RWX4MZSD6JW89BWXCSA9VDE0EJSY930ZFMMK3F6E11REZYJG;0QXG0RWCCKM9N0CV98PEWET8B60CF2MZRW1B24V8TCR3C5HD6B4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 275HX6B2PXRN5VQZ280TY0VCZS07PX2T4D2RE6EZJS2WE93CSF70 +MR-SOFI-0335 dsm::core::token::policy::TokenPolicySystem::policy_at android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::era_policy::tests::eras_commitment_is_derived_from_its_bytes_and_is_the_specifications;dsm::core::token::era_policy::tests::eras_policy_states_what_the_specification_fixes;dsm::core::token::policy::tests::eras_policy_is_answered_from_cores_bytes_never_cached_or_resolved;dsm_sdk::handlers::token_routes::tests::the_one_packer_reproduces_eras_policy_bytes - CONFORMANCE §8 MR-SOFI-0335 (Met) 8B631M8615FXCV85AGEXCY07BE5G8XR15PPRA769S3D4Q46Q5ERG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/impl#[TokenPolicySystem]policy_at(). XR4708PQ55TT5H55NS4VKR1CH8DEZVF3SBDX5AFFGY1SC4RW46MG MXSRMTGZTKS3BFBRMWGSK64SPQ8EN5DFDTS0NCVK6A54ZJ03JGB0;PZWHF6WBFZBN6A7D8G9QP8RVTGTWAPNKB0KNB91AXT2EZD307C7G;QPW2RWX4MZSD6JW89BWXCSA9VDE0EJSY930ZFMMK3F6E11REZYJG;0QXG0RWCCKM9N0CV98PEWET8B60CF2MZRW1B24V8TCR3C5HD6B4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 ZE6E5RWCHDNE0BFVRVPSA7ZQR70J3P6TBPW4BS4ZZB52A0MER6E0 +MR-SOFI-0336 dsm::core::token::policy::TokenPolicySystem::register_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::eras_own_bytes_are_never_registered;dsm_sdk::handlers::token_routes::tests::a_network_anchored_lookalike_is_neither_adopted_nor_published;dsm::economic_provenance_semantics::a_genesis_release_needs_the_all_at_creation_rule;dsm::economic_provenance_semantics::a_creation_naming_eras_commitment_is_refused_from_eras_own_policy - CONFORMANCE §8 MR-SOFI-0336 (Met) CRRNQA7Q4BPFS0R4EMBDRAEJN3TV31EYXNW41BK9FX9SN36VBDAG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/token/policy/impl#[TokenPolicySystem]register_policy(). 2STDH2RDMH3C09CVHKDH4YV2QV07YHSPCYW5Z0T7Z667M89JP350 H8R3M3VH9JPYJ69FYYYSENY96CG9AMEZ1747EM764Q19S7S9WDCG;273ZWMEQGQXGZRR7JXA4ZDFRWECKA2AKASFT2T63WVRVME08PFM0;VMT41DRGQANWQEBYAH407F3JAT64Z5CNPMM9YMV3AXJKZQCSNPYG;TP2CYFK7PQV6CFDXJCDVCDTD8WAY4Z5AM8QF3T0VYHP5Z9N5JKFG 83b6f616ac244334064c4c56d391c23eb42a7ce6 WHT1A32FX1F271GN8TWZH9CWBYKQEDQJWV54875SAG5V3NFAVJR0 +MR-SOFI-0336 dsm::economic::native_reserve::era_reserve_id android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::eras_own_bytes_are_never_registered;dsm_sdk::handlers::token_routes::tests::a_network_anchored_lookalike_is_neither_adopted_nor_published;dsm::economic_provenance_semantics::a_genesis_release_needs_the_all_at_creation_rule;dsm::economic_provenance_semantics::a_creation_naming_eras_commitment_is_refused_from_eras_own_policy - CONFORMANCE §8 MR-SOFI-0336 (Met) WC0QN1MRT6YHY8J5GEFD3RDJ826XDWCFY239VKH31KJ89TSC9NZG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/native_reserve/era_reserve_id(). 97Q5AYHR3EAC64JDT42E459CB40KMRG9DRJG25KWA0PF2SCT2EB0 H8R3M3VH9JPYJ69FYYYSENY96CG9AMEZ1747EM764Q19S7S9WDCG;273ZWMEQGQXGZRR7JXA4ZDFRWECKA2AKASFT2T63WVRVME08PFM0;VMT41DRGQANWQEBYAH407F3JAT64Z5CNPMM9YMV3AXJKZQCSNPYG;TP2CYFK7PQV6CFDXJCDVCDTD8WAY4Z5AM8QF3T0VYHP5Z9N5JKFG 83b6f616ac244334064c4c56d391c23eb42a7ce6 KPA8H1GKTJZZTM8B7Y9SSV7FX836DRN755SYXPK6N1834HSQDBA0 +MR-SOFI-0336 dsm::economic::provenance::verify_genesis_release android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::eras_own_bytes_are_never_registered;dsm_sdk::handlers::token_routes::tests::a_network_anchored_lookalike_is_neither_adopted_nor_published;dsm::economic_provenance_semantics::a_genesis_release_needs_the_all_at_creation_rule;dsm::economic_provenance_semantics::a_creation_naming_eras_commitment_is_refused_from_eras_own_policy - CONFORMANCE §8 MR-SOFI-0336 (Met) FMDHF3KD549TD82R8EE0A71M4R14Z4SYT7EVMTPTVW6BYN267D0G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/provenance/verify_genesis_release(). V1653KK9B26YP2JA7K363E0Q0GHGQCDVDNKNE12D61V34C5FKHHG H8R3M3VH9JPYJ69FYYYSENY96CG9AMEZ1747EM764Q19S7S9WDCG;273ZWMEQGQXGZRR7JXA4ZDFRWECKA2AKASFT2T63WVRVME08PFM0;VMT41DRGQANWQEBYAH407F3JAT64Z5CNPMM9YMV3AXJKZQCSNPYG;TP2CYFK7PQV6CFDXJCDVCDTD8WAY4Z5AM8QF3T0VYHP5Z9N5JKFG 83b6f616ac244334064c4c56d391c23eb42a7ce6 JEB87Q1JGRQVXMQY7SDRTGMVF7DT1YEBBVMMNTSJGG2YYMCJXAF0 +MR-SOFI-0336 dsm_sdk::handlers::token_routes::adoptable_policy android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::core::token::policy::tests::eras_own_bytes_are_never_registered;dsm_sdk::handlers::token_routes::tests::a_network_anchored_lookalike_is_neither_adopted_nor_published;dsm::economic_provenance_semantics::a_genesis_release_needs_the_all_at_creation_rule;dsm::economic_provenance_semantics::a_creation_naming_eras_commitment_is_refused_from_eras_own_policy - CONFORMANCE §8 MR-SOFI-0336 (Met) CJYHCQ3Z568Y2HG94W5EQ0G4JEAXP3PTFMFFVBGN35AVK5QETT9G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 handlers/token_routes/adoptable_policy(). T1PD21GP1B08J82BT7WS4CQPPR60QYQ4B6HHMZQENAX81PF6956G H8R3M3VH9JPYJ69FYYYSENY96CG9AMEZ1747EM764Q19S7S9WDCG;273ZWMEQGQXGZRR7JXA4ZDFRWECKA2AKASFT2T63WVRVME08PFM0;VMT41DRGQANWQEBYAH407F3JAT64Z5CNPMM9YMV3AXJKZQCSNPYG;TP2CYFK7PQV6CFDXJCDVCDTD8WAY4Z5AM8QF3T0VYHP5Z9N5JKFG 83b6f616ac244334064c4c56d391c23eb42a7ce6 KACY9RK328DNXYV4JBZWH24SCGH24J9HT25SB501RJTVNXRKNAKG +MR-SOFI-0338 dsm::sofi::wire::objects::TraderPreBalance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::a_trader_pre_balance_matches_the_independent_encoder_and_its_frozen_address - CONFORMANCE §8 MR-SOFI-0338 (Met) PC2Y3JZ1M4V8XMWV9J96388Q7969TFA12BA8S47M3X97158G17TG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/objects/TraderPreBalance# 8TZYHPZGN5XY4WA5VHNDEKN5TK6TDAVBRD6P1CC4KC2M5RVWZ0SG YPRBK64WXENRSXTGKE8J8FEG1MPM0AAS3D5KWEN9Y6THZXX6KRPG 83b6f616ac244334064c4c56d391c23eb42a7ce6 V4C0HAHCZ3M8YT5KFHXYNKXJYMCBBJN0VWJ5RYMS3H3TA3BGQW70 +MR-SOFI-0338 dsm::sofi::derive::closure_content_address android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi_v8_vault_bytes::a_trader_pre_balance_matches_the_independent_encoder_and_its_frozen_address;dsm::sofi::validation::tests::bytes_that_do_not_re_derive_the_named_address_prove_nothing - CONFORMANCE §8 MR-SOFI-0338 (Met) 98SST19X01DZG7ZXQD5TYHVFQ72XVEFEHW5209JWX1G6GAYTQB2G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/closure_content_address(). R7TSAWH8R1ZB0FTD454Z68R59S7ZADSHMCRSK691G0XEWQZY19A0 YPRBK64WXENRSXTGKE8J8FEG1MPM0AAS3D5KWEN9Y6THZXX6KRPG;TKMTJC3HA6GZGTSKYHCF8DWDBXSYFXR31CC78Y5BYH2G5WM7Q1NG 83b6f616ac244334064c4c56d391c23eb42a7ce6 P8ENT6QGRBNHE0XZNMZ649T6CPRE7J8FWA9ESG04CBMBME6F56X0 +MR-SOFI-0339 dsm::sofi::validation::trader_pre_balances android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_balance_the_closure_does_not_carry_is_invalid;dsm::sofi::validation::tests::extra_balances_in_the_closure_are_invalid;dsm::sofi::validation::tests::a_balance_keyed_to_no_stated_balance_is_invalid;dsm::sofi::validation::tests::a_balance_of_another_trader_is_invalid;dsm::sofi::validation::tests::a_balance_that_is_not_the_leaf_the_core_states_is_invalid - CONFORMANCE §8 MR-SOFI-0339 (Met) STTFK2YNKB183BJ9K6TA56V0V18ZAA7R59N45DCQRCZ7FF1P4HMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/trader_pre_balances(). J9T50381TMXQDD457A2VJ6M1PTK9QY7A16RD7K0FXE8VJHS3ZB4G SAR4Z02N91NXM532K4DG4PMY1EVG396Y67FEJ1SHJH674DME4YJG;ASZ92FR9BSWKVB18861HZ7QDMDZGZKZFQGHNKCE8FB3BKS9E010G;Y7D44RRFBDT0RTAKGXKP6ECDMGMSKSEA3QXN6FX7FQ26DXD5BE90;K23DDBFAFHHHHK6RTZWC9TPQQ9YM896G3QP29G68ASQA6AE824AG;GSAWECE4P468C9QFJPNGAHDXV8EPM0WWA0HFXDSGF6HFA8A7BPQ0 83b6f616ac244334064c4c56d391c23eb42a7ce6 PG96DGYDDKZPZB3MDC57WES5TTW2C9VNT6G5RVMZ8SVAACW4B3FG +MR-SOFI-0339 dsm_sdk::sdk::sofi_sdk::draft_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner - CONFORMANCE §8 MR-SOFI-0339 (Met) AB99Y7CV9167CD4F3FGYT58QXPVKMZ02ZVQ3PADPVJJY54MMNME0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/draft_route(). 3ZVT67HASVPKENYSK93ZYDC7J1G65DT2MQB6EQ8DBZK0B06NE2HG BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;TTCXH6ZC86TDY5K7GFEV9RD7EV229K6AZGKHAE2HR2JCFDKHZX00 83b6f616ac244334064c4c56d391c23eb42a7ce6 RG7P9T2QR68CSEM981CF7EGFZ228Y1BCH9T548ZQFEH89J258W60 +MR-SOFI-0339 dsm_sdk::sdk::sofi_sdk::draft_close android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner - CONFORMANCE §8 MR-SOFI-0339 (Met) 6D35MX3AKC7S4T0JZ46Z44AAJVZQHPQ6P0YFSJV10X6YDQ8KD200 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_sdk/draft_close(). HSCN47RDSNYTNEASPCCT6AFDNMX2A8A1J3QB62NKEJ7YVZ3P00HG BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;TTCXH6ZC86TDY5K7GFEV9RD7EV229K6AZGKHAE2HR2JCFDKHZX00 83b6f616ac244334064c4c56d391c23eb42a7ce6 Y3HDKPJ4T7N1514YFX64HA3R95GR8CBSJR17H06QA6FSAYXSQ4N0 +MR-SOFI-0340 dsm::sofi::validation::Evidence::pre_balance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_balance_the_closure_does_not_carry_is_invalid;dsm::sofi::validation::tests::bytes_at_a_named_address_that_are_not_a_balance_are_invalid;dsm::sofi::validation::tests::a_named_balance_not_in_hand_waits;dsm::sofi::validation::tests::bytes_that_do_not_re_derive_the_named_address_prove_nothing - CONFORMANCE §8 MR-SOFI-0340 (Met) SWBSW6XY93XKK4G5YRGTWKH3Q513C6X7GSQT79MTZ95GBCQ8AR4G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/impl#[Evidence]pre_balance(). AKWE9ZAGZD3NEW9M8G4ZEK10KR9Z8RK172YT6J1D6DN6HHB5FA40 SAR4Z02N91NXM532K4DG4PMY1EVG396Y67FEJ1SHJH674DME4YJG;9WDXRM0A465W1WBE77E0JJ2VDXV1EWND23FHKYYV936XFPQ0R3Q0;5WAC2GZG5RHH8AAAS3MTY51FFWH09EDYQH5RMR7PT7FKXKQ0J0DG;TKMTJC3HA6GZGTSKYHCF8DWDBXSYFXR31CC78Y5BYH2G5WM7Q1NG 83b6f616ac244334064c4c56d391c23eb42a7ce6 T257HB9ZVR4GGP773MYWB0ZAYYQ8AWNVTVRTS7C9BGR2NHE0CEB0 +MR-SOFI-0341 dsm::sofi::resolve::Verifier::acquire_evidence android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_trade_that_does_not_debit_the_trader_is_invalid_from_the_exercise_alone;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer - CONFORMANCE §8 MR-SOFI-0341 (Met) BR8XVQ33AY86D3MWT9EBFGNFM984Z1Z4TGMM03JR9J0YFP40VDQG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/impl#[`Verifier<'_, R>`]acquire_evidence(). 1YP2NQGTVTTFEH4NGSW9NV5D7TNY01E945J7QRZJT6VPND05TPC0 TXNQ82JP3AV6KWQBYJ2CCBEDS137SMNMF664NCMFD2RSRG1WBWS0;TTCXH6ZC86TDY5K7GFEV9RD7EV229K6AZGKHAE2HR2JCFDKHZX00;BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G 83b6f616ac244334064c4c56d391c23eb42a7ce6 QFZBHEWQH1MSHV0E6H7SWHVJV9HFYGC7W9VP2H7RX8HFB4RMB830 +MR-SOFI-0341 dsm::sofi::validation::trader_pre_balances android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_trade_that_does_not_debit_the_trader_is_invalid_from_the_exercise_alone;dsm_sdk::handlers::node_e2e_tests::a_vault_traded_through_closes_for_its_owner;dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer - CONFORMANCE §8 MR-SOFI-0341 (Met) HEDEZN1JF1YMA371AMAFN69W3TV1234MNJ3VTRKDW8M3XQ1K3XC0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/trader_pre_balances(). J9T50381TMXQDD457A2VJ6M1PTK9QY7A16RD7K0FXE8VJHS3ZB4G TXNQ82JP3AV6KWQBYJ2CCBEDS137SMNMF664NCMFD2RSRG1WBWS0;TTCXH6ZC86TDY5K7GFEV9RD7EV229K6AZGKHAE2HR2JCFDKHZX00;BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G 83b6f616ac244334064c4c56d391c23eb42a7ce6 YKGJ69CEVE44MKKSXYKVF7HPEK4STWCFWZF1V0X0SQ5Z2EQNJP90 +MR-SOFI-0342 dsm::sofi::validation::setup_lineage android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_setup_on_a_lineage_known_invalid_is_invalid;dsm::sofi::validation::tests::an_invalid_verdict_about_another_lineage_or_position_supplies_nothing;dsm::sofi::validation::tests::a_lineage_not_established_leaves_the_setup_waiting - CONFORMANCE §8 MR-SOFI-0342 (Met) VFK7SDZ9YPF1RA5WX10Q7QG7VAARR2F28JNJF0YDTZEMC2A5J49G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/setup_lineage(). YQA76Y5GXBYEVWRXC60E444B4TFEEHG6AERTZ3KS71SQ94YC51M0 6YREM5Y6K9D06SZ3QBPVNVP38AA2M6RYV6Z7JZCXS9E3T7KZRCC0;SP1DSM3AE9F31QPND83DRSTZ73A6K3J0GN3SPZZYHM0G5BA0ANE0;XJ48D8J84GSKXWFBK8WV138NJVHQSACKC3DHAJQ5JNB7ZC1DDKTG 83b6f616ac244334064c4c56d391c23eb42a7ce6 P8EQPANP54NY8KF774JZC94MXQX8VFTRK7XDVNWJ3W9JM9D8BGK0 +MR-SOFI-0342 dsm::sofi::validation::setup_valid android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_setup_on_a_lineage_known_invalid_is_invalid;dsm::sofi::validation::tests::an_invalid_verdict_about_another_lineage_or_position_supplies_nothing;dsm::sofi::validation::tests::a_lineage_not_established_leaves_the_setup_waiting - CONFORMANCE §8 MR-SOFI-0342 (Met) VPVDC5D15N8D4WP7MP7ZBNP0FDPSPGXDT5KB7P46SRGSB944BGK0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/setup_valid(). 7Y0MFV0MYV0EA6KDK9XH7BM48YYRS6MRSD1FDSJ6RGV3GTTWNCY0 6YREM5Y6K9D06SZ3QBPVNVP38AA2M6RYV6Z7JZCXS9E3T7KZRCC0;SP1DSM3AE9F31QPND83DRSTZ73A6K3J0GN3SPZZYHM0G5BA0ANE0;XJ48D8J84GSKXWFBK8WV138NJVHQSACKC3DHAJQ5JNB7ZC1DDKTG 83b6f616ac244334064c4c56d391c23eb42a7ce6 RPMQSDD93D4R78NVHB39JJX23WC9D7N460DB7K7G6F23SBVTMS2G +MR-SOFI-0343 dsm::sofi::resolution::classify_attempt android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolution::tests::a_final_cell_whose_fulfillment_lost_its_position_is_skipped;dsm::sofi::resolution::tests::an_in_hand_refutation_answers_as_the_complete_facts_do - CONFORMANCE §8 MR-SOFI-0343 (Met) W5E2STW9STWF5DCAYQD5RWK7D336BJ5DYEKVAD4BPDPKKA5J9HD0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolution/classify_attempt(). 27SD1RF63CMKETEWZ774G5G88QW5NBRVST20VW57DSGG66ESWY20 0M5TA699VKZY17R94SNYS6BR2QBD4Y2QMRGSMCC44V3F5SK1DRWG;ZNHRDPFDRN5DSFFGA0XCSFN1GYFSPCXREKTK0MXQKX2D5PRPN810 83b6f616ac244334064c4c56d391c23eb42a7ce6 HWHHW5TWN5ZDDSVZ1ZHJ1NMHNDQXRSX6Y7N6FK2906GYCQF80A4G +MR-SOFI-0344 dsm::sofi::resolve::Verifier::peer_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_trader_who_has_traded_can_pay - CONFORMANCE §8 MR-SOFI-0344 (Met) W4EPZEVJSQKY151TWFN4G44N58T73FDV18SST5A684PYEKX9M0R0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/impl#[`Verifier<'_, R>`]peer_position(). 8NA18Z2PMFQ46X90YCGNVPNW6Z4AN18WZZVTDJW843VA2QQYBFKG K56308DZ286J7GR87Y5RKR93JW2681VQT8V1P87JKA4MYARMZAB0 83b6f616ac244334064c4c56d391c23eb42a7ce6 SVMAQQRNQPA82KFQ2BDKRWX42FX539P50HAQ36WK353CMRHZZVPG +MR-SOFI-0344 dsm::sofi::lineage::advance_peer_resolved android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_trader_who_has_traded_can_pay - CONFORMANCE §8 MR-SOFI-0344 (Met) TVTJP8FYYHEKRCDSRE5HCC288BZJ4HDN5BVZ7X0HM64XE982SWFG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/advance_peer_resolved(). 23X68ANSJMPRK0H84ECHE6DP235XNATAAP6X2TZ4PTVWWT5THP2G K56308DZ286J7GR87Y5RKR93JW2681VQT8V1P87JKA4MYARMZAB0 83b6f616ac244334064c4c56d391c23eb42a7ce6 YWYDRWB975SF6VAJFZXBGE1F3HHBEY74EMH4V85PM4A8356R1JX0 +MR-SOFI-0348 dsm::sofi::lineage::advance_peer_resolved android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::lineage::tests::another_verifier_resolves_the_position_without_the_traders_adoptions;dsm::sofi::lineage::tests::a_realized_position_crediting_an_unadopted_token_is_refused - CONFORMANCE §8 MR-SOFI-0348 (Met) FEN2KC2KRPBY50K7TEXQ07HGACJ0JDEMGV2RBZJYWEY8H9Z6CMXG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/lineage/advance_peer_resolved(). 23X68ANSJMPRK0H84ECHE6DP235XNATAAP6X2TZ4PTVWWT5THP2G W7M2ZMYRZ97H363D2T7FKG3QB4TN4YZ7R2MT50FH5VZNADYPV8H0;WE81XESK05K76SN9SEP5Z6FFWS4GN10DTSVNMWZ7R3T3BDYZMAS0 83b6f616ac244334064c4c56d391c23eb42a7ce6 2TEVKN14ZPW32JSY71W8BE5TD7Q80NC0KM2TKV937BV6WA5MF5SG +MR-SOFI-0349 dsm_sdk::handlers::sofi_routes::entered android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0349 (Met) Y46FR4MQSW80DTM8SE41DYP736Y8CFZPCGTKX99RMCBSYSQC97X0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 handlers/sofi_routes/entered(). N0T1T7MYNYKFF5FYCQFM6N4YR2P68WAT9PH0K57RER9K4Z4B8ZJG BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;QK3RAEF3EZV23JVS36XXMH7FKKCBQVX0040RH441ER26AT62Q3E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 X3HRKWRBCVXGVCA7YQ4BE2PNBSXDF0BBJEYQQNHT0HCNR84Z66RG +MR-SOFI-0349 dsm_sdk::handlers::sofi_routes::shown android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0349 (Met) M85ZE0F15M9CC8X7HZTZY2K5GHGQ6EJ63ZK9NSBX0EYP9GKGG9X0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 handlers/sofi_routes/shown(). 8VYWD908V2WDP412NAQDJY09QJR2GBE0SKXT10M1DX0PTVPX8300 BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;QK3RAEF3EZV23JVS36XXMH7FKKCBQVX0040RH441ER26AT62Q3E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 XW4DRHDM6DZXTTHZPN69RGMDC5DDH067S90JNT8HZWRFP5TS8BG0 +MR-SOFI-0350 dsm::sofi::derive::vault_token_locator android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::publication::tests::vault_objects_land_where_the_verifier_looks;dsm_sdk::handlers::node_e2e_tests::discovery_passes_over_what_is_not_a_vault_of_the_token - CONFORMANCE §8 MR-SOFI-0350 (Met) 7127TGM8SF5G6PBFHT4RFWZ2HAN62627NQMSMJ51GBYA17TCWX10 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/vault_token_locator(). TKAQ440XD3XBV70QQPJAXNGSY1F3E380PV9SBK74335A0A1DQ4YG 9YN1538WDRSPDADREW9B0SAYJSGTKZHC34V4B6XH7TZT0CE4HYF0;NVR2HHSZK4VR12FH7R9HJ5HA2JB2J66F4XBH3J8PF3FGGGAHJGW0 83b6f616ac244334064c4c56d391c23eb42a7ce6 HGNVEJ7Q90TTTZX7C9YA8P5203RK3R7DB7ZAKJMR0BZGPE7MG52G +MR-SOFI-0350 dsm::sofi::publication::Publication::locators android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::publication::tests::vault_objects_land_where_the_verifier_looks;dsm_sdk::handlers::node_e2e_tests::discovery_passes_over_what_is_not_a_vault_of_the_token - CONFORMANCE §8 MR-SOFI-0350 (Met) S93PV5J8YD9QQ30T745VG05Y99E5GMC4AMGNN07MNQBEEW5B0B5G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/publication/impl#[`Publication<'_>`]locators(). Y5J5348ZDVN3253V0BZFHEXPR0K0ZW2MEMWDKS4F676WR02Q2Q5G 9YN1538WDRSPDADREW9B0SAYJSGTKZHC34V4B6XH7TZT0CE4HYF0;NVR2HHSZK4VR12FH7R9HJ5HA2JB2J66F4XBH3J8PF3FGGGAHJGW0 83b6f616ac244334064c4c56d391c23eb42a7ce6 5Y7HXKV89XBRNG0B0BEEA5Y52BYB9WCSWFSM3KZ3D0AYRK3GCS1G +MR-SOFI-0350 dsm_sdk::sdk::sofi_flow::create_vault android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::discovery_passes_over_what_is_not_a_vault_of_the_token;dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer - CONFORMANCE §8 MR-SOFI-0350 (Met) 154BK500373EMGFK3V4ZGQ8B9WJTQQJQJP5AJM69J8FMEXJ4CG3G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/create_vault(). E4X1YPKE6B9V104YX8E63ZANQQT481G20FXF8ZJWD8XQBKX35M0G NVR2HHSZK4VR12FH7R9HJ5HA2JB2J66F4XBH3J8PF3FGGGAHJGW0;BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G 83b6f616ac244334064c4c56d391c23eb42a7ce6 519N0X3E58Q3BZEVBZQASA1NYGQ0NYJGDDK8EGHX11GNM5SKV76G +MR-SOFI-0351 dsm::sofi::resolve::Verifier::vaults_of_token android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::discovery_passes_over_what_is_not_a_vault_of_the_token - CONFORMANCE §8 MR-SOFI-0351 (Met) 2Y70RWWBJZ5617P6YPSNS5WGP97SJFT8W35W4W7GCM43TZQCH8S0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/impl#[`Verifier<'_, R>`]vaults_of_token(). S7A1BJ4XR06492G8VQSSQHQKJ20Z0HJY09K4RM5EM92F2GMX0X9G NVR2HHSZK4VR12FH7R9HJ5HA2JB2J66F4XBH3J8PF3FGGGAHJGW0 83b6f616ac244334064c4c56d391c23eb42a7ce6 BG84WVEYD2XBD020PFAPPTGRWNQFFXDFG96HGCE3MB41S9AQFA7G +MR-SOFI-0352 dsm::sofi::resolve::Verifier::vaults_of_token android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::discovery_passes_over_what_is_not_a_vault_of_the_token;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so - CONFORMANCE §8 MR-SOFI-0352 (Met) 8ZYD35XVN7XD5QSNP655MHBXHAY4H3HAD5FB1CZ87N2JGC376RFG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/impl#[`Verifier<'_, R>`]vaults_of_token(). S7A1BJ4XR06492G8VQSSQHQKJ20Z0HJY09K4RM5EM92F2GMX0X9G NVR2HHSZK4VR12FH7R9HJ5HA2JB2J66F4XBH3J8PF3FGGGAHJGW0;ZYNMKPAPS4AT2PN0B2WMZZH5F0QQKGNE93WEKBSCB6SQYG3QRT4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 EHZCNHBD23WP61GCHQT9RNN8ZBXEVJZT9P1SYADBSMNMQGVX3ACG +MR-SOFI-0353 dsm_sdk::sdk::sofi_flow::find_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so - CONFORMANCE §8 MR-SOFI-0353 (Met) G7DS4583HH9B6SG40RGQKRJTZRNMNBWE2R6PWP7MD2XBQDQGNDFG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/find_route(). 06WV7XSFVKNA25GC6GA908XDZGZMZ0VKP8Y138EFV1AF9Y0JBKMG BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;ZYNMKPAPS4AT2PN0B2WMZZH5F0QQKGNE93WEKBSCB6SQYG3QRT4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 F7M4BJ26MBKYH53QA0SB4VDY5TVAYM0TQTFZH4DNSZ8CX6X9KK00 +MR-SOFI-0353 dsm_sdk::sdk::sofi_flow::vaults_of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_route_search_that_cannot_see_its_vaults_says_so - CONFORMANCE §8 MR-SOFI-0353 (Met) 573RAECSHW2FRS9QJZ3KN754EP37QY01ECXXTW1QNB0S29NJETP0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/vaults_of(). VNZSEXYBG3Z74TRR33B8BFNJX8377RB2FM61DNP2JAYZTBA4V55G BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;ZYNMKPAPS4AT2PN0B2WMZZH5F0QQKGNE93WEKBSCB6SQYG3QRT4G 83b6f616ac244334064c4c56d391c23eb42a7ce6 JWZM6XY4324T1JWK2DJ4N0Y3C9HX4YGMX11MW861W2X8B0VHNWY0 +MR-SOFI-0354 dsm_sdk::sdk::sofi_flow::set_up_with android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_realized_trade_shows_in_balances_and_history_at_once;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0354 (Met) NKRXH5NSDB2MH1EWCX8F8BGXPBDJ5ABCWCW6J37EE6K5CED0FGZ0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/set_up_with(). 2JBG9N8CZ2ZEQKMGCMPV9V9NAFE5ACFCK5VRQ0V9EB2R2JQ8AN50 BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;X84Y268NTJHN8KQYMSGSKM2ANMY7MVRFN3CT4D2M475P2ZX0ZA1G;QK3RAEF3EZV23JVS36XXMH7FKKCBQVX0040RH441ER26AT62Q3E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 F3SNFNM6NNSV3YK2HDMGY83JVW12Y0RZ5TYBYXWXF2HHV7F42EJ0 +MR-SOFI-0354 dsm_sdk::sdk::sofi_flow::check_route android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::a_realized_trade_shows_in_balances_and_history_at_once;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0354 (Met) BXHMXEDZH7J9V2636C2E1W1315ZFPW8JK5HWZYYHZTFVFG8RJDZG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/check_route(). 0K3BW8279TRQ7TG8QE34W4K08X5P7JJVV9VZ5NMZQJYYM78EVXCG BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;X84Y268NTJHN8KQYMSGSKM2ANMY7MVRFN3CT4D2M475P2ZX0ZA1G;QK3RAEF3EZV23JVS36XXMH7FKKCBQVX0040RH441ER26AT62Q3E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 2SBVW8TZ1RBN9M3F6HE8S32YEFZ3D9YRTZT754KW3H9ZCDC162DG +MR-SOFI-0355 dsm_sdk::sdk::sofi_flow::owned_vaults android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0355 (Met) P8HWGTS8B2HW8CSYMJC22AG9PB1J9G5W6B744KGDQ9BG9K61NT90 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/owned_vaults(). BAP8H552W68JNYS3081FFWKZQARSR4WVAN9M2XZSBH0DWSTRSF70 BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;QK3RAEF3EZV23JVS36XXMH7FKKCBQVX0040RH441ER26AT62Q3E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 Y7AEE0KSD27TS0CN0HDK4NV3D72GQ0VW5G2RY4Y7WB3T9VG68BG0 +MR-SOFI-0355 dsm::sofi::resolve::LocalLeaves::vault_creations android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0355 (Met) FS61S23WGW5T33FW1N5G57F12P5A5P4DM4GWRWP7JEPKQHXR1B2G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/impl#[LocalLeaves]vault_creations(). 7FQ33MQDW8DBHMZS8CKNKQD1AYE5XDJNXC4M2QRQYQC5P4C5P1NG BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;QK3RAEF3EZV23JVS36XXMH7FKKCBQVX0040RH441ER26AT62Q3E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 81JKF9R9RNYTW1K3BJSMBPJ018B6MQKG6WHKQE5T8Y5A7ZD4W5J0 +MR-SOFI-0356 dsm::sofi::resolve::Verifier::parent_for android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0356 (Met) AKJD4NJBMDSDBXSR0NADY52P3WSK7JTETQHT3WDHWBYPKKZFY7M0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/impl#[`Verifier<'_, R>`]parent_for(). Z2XJX2B0TPYF260BCGB5RPTTS6ZRBM2Q8HJNQCCM11ZQESE8Y6XG BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;QK3RAEF3EZV23JVS36XXMH7FKKCBQVX0040RH441ER26AT62Q3E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 4PMYSQXEV71RYQ9T05D13VDDCS7XZMT9RETYXGYB5Q8X684KP1PG +MR-SOFI-0356 dsm::sofi::resolve::parent_named android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolve::tests::only_the_position_and_fulfillment_p_names_resolve_its_parent - CONFORMANCE §8 MR-SOFI-0356 (Met) B49KEADY64HXP4Q4DB6GNAK1G52N0WMM7470W4W7GTEARMMGCCW0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/parent_named(). 3GAVWQJPGHXVZNHXJQGZRFDSSSB3TXTR2PC5YQV06X4XY2TNYH60 G5W4QWQKHZ3ABD3H2VN514GH1Y7S9K8XMV0ADTPGGTYNEJDX7PXG 83b6f616ac244334064c4c56d391c23eb42a7ce6 8NTMGWFF597BK9QC5XVESZTY4QPJFK4PP1TSV6444VPPF60RXZB0 +MR-SOFI-0356 dsm::sofi::resolve::Verifier::chain_until android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer - CONFORMANCE §8 MR-SOFI-0356 (Met) GTBF2KTP5EJ8VQQHQ8HHDHZD9S2TXTKG5XA9TWCG1G1RYBHSXJTG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/impl#[`Verifier<'_, R>`]chain_until(). KXVRYHZEV3WD71AQA90P2136Q3ZFFERATC70HKJDN3VC07VJ8000 BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G 83b6f616ac244334064c4c56d391c23eb42a7ce6 9382JQ26VXY209WB539N4GSQJV3D7YP423EM4MDNCFXRVZAJX47G +MR-SOFI-0356 dsm::economic::peer_lineage::peer_root_at android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::economic::peer_lineage::tests::a_frontier_recorded_at_the_position_is_its_root_and_nothing_is_read;dsm::economic::peer_lineage::tests::the_activation_root_names_no_parent;dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0356 (Met) 20EYC7HHZ9DXZRZT74PATCYMD52964T9YCRMX5T4HE7EFW992GJ0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/peer_lineage/peer_root_at(). FTVSR5NDXJYZRAVJY9F9KDH57RPS4K4HCA7Z5HH14YQRG5314XR0 D8B257RCA3JWTZAFC6RXY3DWC7D9RMWVXJVC5A08ZYPP7MT8FWE0;ZSPMHCGA186YP67VX177J07ETVM062KQ7Z5VFWHJ6QJ5S5TJK440;BM88A590BV75S97RAM63PH9A2JZ9XXG291F3VF3H34XK50VK7M6G;QK3RAEF3EZV23JVS36XXMH7FKKCBQVX0040RH441ER26AT62Q3E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 FKZ8ZYSQRS3SWA6SKTB20B93V85WSHYFFES9Y6P6RBN3EM53XZ20 +MR-SOFI-0357 dsm::sofi::validation::route_endpoints android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_route_chains_or_splits_and_its_endpoints_follow - CONFORMANCE §8 MR-SOFI-0357 (Met) RP9B9BYNWSSV9T289WCSECH0X04RJCPQSJ16TGSD25WTSAPMZHRG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/route_endpoints(). T6TBAVCH6JR3WRKNFQSR4KK5VCXA0JVGFHJFEEHGRWFAT1XJQ7JG 2CHJFZB7M7QX8KD5XD5HTW8K69X12NDPYX753CR5V84BWZTFT4C0 83b6f616ac244334064c4c56d391c23eb42a7ce6 EHSPXRHKENTF6DD8EMGCTSVB0WMHVZXXHXF1SHATEXNYQDVHQZ50 +MR-SOFI-0357 dsm::sofi::validation::swap_endpoints android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_route_chains_or_splits_and_its_endpoints_follow;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0357 (Met) 15N00AXG3E3X7AEADTS2A73BY4J10JTH49QHYD9B1XFRS485DPF0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/swap_endpoints(). MM6ZF9YWR5KA8V174XKSP8VPC57WCM7CMR7EWHP9Z8DF72P7X0K0 2CHJFZB7M7QX8KD5XD5HTW8K69X12NDPYX753CR5V84BWZTFT4C0;QK3RAEF3EZV23JVS36XXMH7FKKCBQVX0040RH441ER26AT62Q3E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 89062TRCTKJKQYK17SDVGPB89JYHGD3P2TMY788B88HR3MVF15SG +MR-SOFI-0357 dsm::sofi::validation::validate_swap android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::validation::tests::a_split_whose_legs_sum_to_the_intent_is_not_refuted_by_its_shape;dsm::sofi::validation::tests::a_split_that_does_not_sum_to_the_intent_is_invalid;dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0357 (Met) W02NJHGZ1FQXFC9SJSR7EBG7DDGDWD9DB8P2RTGJM2ZD2Z7RVMF0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/validate_swap(). M7P679FBJMN4P6BPQ6PAFH1JDP9S1N8XYYMPZKTBKBEEVB8CFXPG QWYYESA5FF67E5PZ6JKCK25GT5DMSE4RDEC4DXA4FHX8SV71SKB0;KQBV58SQKGVVADKKB94QDNZX4BBNADG5VJ3JNZZW6ANDP8AXDTAG;QK3RAEF3EZV23JVS36XXMH7FKKCBQVX0040RH441ER26AT62Q3E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 EHB89VZ237NAJTEHQKQ8J3PQWDVMKQGES8MJSQKV2EXCXM9QWNN0 +MR-SOFI-0358 dsm::sofi::validation::trader_movements android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0358 (Met) 8YJHREAFW8BFSB35JP1V31ZSM546TMTSH2M5EK8AK0C2CSKFTY20 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/trader_movements(). GYHYKH2Y7TVVTFPMADQHNFS9ZN8R60TGD3MMVW1C03ENJXRPD5R0 QK3RAEF3EZV23JVS36XXMH7FKKCBQVX0040RH441ER26AT62Q3E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 V42BDW55ZV84YAVPNXZ1C9GED0T21EVDJV53AK6B4V6JASFG76GG +MR-SOFI-0359 dsm_sdk::sdk::sofi_flow::plan android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0359 (Met) Y5PFZ6C7Q3VH8NDV11VZV88BZ5MJ35SDEV8TSW3YC23MABPSJJT0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/plan(). F798EJK2EG57Y7G5FKXFQZTR8MD9R844TTBHZ273X9JYGH90K0S0 QK3RAEF3EZV23JVS36XXMH7FKKCBQVX0040RH441ER26AT62Q3E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 V5BPZWW0KH299P7FRVY098GA5TA9E3333HMYTDVSPNWNGGW39SRG +MR-SOFI-0359 dsm_sdk::sdk::sofi_flow::plan_split android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::one_order_fills_through_two_vaults_of_the_same_pair - CONFORMANCE §8 MR-SOFI-0359 (Met) BBJPPJB8R47K4RHAGNKJFSTMBY2QW1861P0NVZ5T2QCF4XC4DX50 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/plan_split(). 57F9ZGC5WQDB0NME46C3BNSV98ENHD247HTC2391B4BJPZ8TPW3G QK3RAEF3EZV23JVS36XXMH7FKKCBQVX0040RH441ER26AT62Q3E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 DG5VSSDZKCJGXS9QRZ92Z1J0WPAZAY6D1AK1H6695H70SDZ8VP8G +MR-STOR-0006 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened;dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes - CONFORMANCE §8 MR-STOR-0006 (Met) S4VZSHW331B4HCDFFJDMXHWXPBMNAHVHCX7TH4F3MN9P5MMD0SVG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). TFRDYBH6HSA6CVY40SPX839PDAKFKNBHG40NGN0E8971PY6C9D9G HCK61232DNXXVAW14Z74A6EJ4H1X5AN1Z660JTSV05YC781JXDE0;4PT54QECJQASYJXVBMFGXQ3W60KM6W4BP2N2F2AXMGJ1Q0TT0RA0 83b6f616ac244334064c4c56d391c23eb42a7ce6 P3NHW65E8H2CKYD1W3EBZ5443HB9RPS5ZVWDFBBJ5CPD59C51KY0 +MR-STOR-0006 dsm_storage_node::api::transport::b0x::router node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened;dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes - CONFORMANCE §8 MR-STOR-0006 (Met) VDFRZHW6MFEFE0A4M1W5WN61WC1V6YRDXQ66FTH33RB40KBAQV1G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/transport/b0x/router(). SK0QJXZFCCZEJYT223Q7E7B7BN0EWJ81MFKBBDS3CMEPX5F5WJ0G HCK61232DNXXVAW14Z74A6EJ4H1X5AN1Z660JTSV05YC781JXDE0;4PT54QECJQASYJXVBMFGXQ3W60KM6W4BP2N2F2AXMGJ1Q0TT0RA0 83b6f616ac244334064c4c56d391c23eb42a7ce6 JSW1NAAM4G78NF4XFA4ECH7QPB8FXAAJYSSSNHRDXNNY9ANXH8S0 +MR-STOR-0007 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened;dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes - CONFORMANCE §8 MR-STOR-0007 (Met) 1APH25514439CXQP7656Y1BWFWYMJV73JZQBBJ56JF81FD35CTS0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). TFRDYBH6HSA6CVY40SPX839PDAKFKNBHG40NGN0E8971PY6C9D9G HCK61232DNXXVAW14Z74A6EJ4H1X5AN1Z660JTSV05YC781JXDE0;4PT54QECJQASYJXVBMFGXQ3W60KM6W4BP2N2F2AXMGJ1Q0TT0RA0 83b6f616ac244334064c4c56d391c23eb42a7ce6 DS2ABQ1Q18QPH69RF1P7NSA6MYHY6V3WBCXW4QAKDNYVJ6AXCYQ0 +MR-STOR-0007 dsm_storage_node::api::transport::b0x::router node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened;dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes - CONFORMANCE §8 MR-STOR-0007 (Met) BZ6HYJQYYFB8VHZFSDFW1XJGH6KYGES7CTC35HBP48A04HWQRB30 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/transport/b0x/router(). SK0QJXZFCCZEJYT223Q7E7B7BN0EWJ81MFKBBDS3CMEPX5F5WJ0G HCK61232DNXXVAW14Z74A6EJ4H1X5AN1Z660JTSV05YC781JXDE0;4PT54QECJQASYJXVBMFGXQ3W60KM6W4BP2N2F2AXMGJ1Q0TT0RA0 83b6f616ac244334064c4c56d391c23eb42a7ce6 78D37J27NFN98TFT0253HTEJDKQ60VY03SXG373WG9HKGWC82S20 +MR-STOR-0009 dsm_storage_node::api::objects::bytecommit::mirror_sync node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself;dsm_storage_node::bytecommit_chain::an_impostor_at_a_set_mates_endpoint_is_not_mirrored - CONFORMANCE §8 MR-STOR-0009 (Met) XX2FGJE7HTC170QHBHTD89N8G5TZDSVGZ9BBT52GF7N6K5XK3GBG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/bytecommit/mirror_sync(). M28F4CAFF4BN567ST8KT16RB9J9Q1XB9Q6KHT9WSP4GK7JPF9CS0 BFRDX4FBSS6JE6E4X6RPR7NHFC6B3W16S8V6BRBDBA0572R42YG0;WJ46MFBER4NFG7QTNE75FMM7GN3T1YFS9WAMEFYS8K6XAV75GV7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 GWT0PQ3NKFAFNXSGWQDA10Q8RRBNFFGTG7HNC00PYSA6M351929G +MR-STOR-0009 dsm_storage_node::set_client::pinned_set_client node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself;dsm_storage_node::bytecommit_chain::an_impostor_at_a_set_mates_endpoint_is_not_mirrored - CONFORMANCE §8 MR-STOR-0009 (Met) ED7ZC5PA0B9W6VNS3MS0Q084W06MH95041W4VRX6W0G0MMD5VNF0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 set_client/pinned_set_client(). QBSHW43G9SRKHMSEYSH47Z0ND7NTJ7WTA4SYPC5GFH1T8G27X0T0 BFRDX4FBSS6JE6E4X6RPR7NHFC6B3W16S8V6BRBDBA0572R42YG0;WJ46MFBER4NFG7QTNE75FMM7GN3T1YFS9WAMEFYS8K6XAV75GV7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 7KE8C8D5D2V88BS1KNKT8B1VKAG99K1HV68BK8ZYXSWRXH3EM5JG +MR-STOR-0010 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened;dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes - CONFORMANCE §8 MR-STOR-0010 (Met) ARDYV9CB036WQR1HNNG5RZXY85MTPWK4JY755Z01BX5T4DW5FGS0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). TFRDYBH6HSA6CVY40SPX839PDAKFKNBHG40NGN0E8971PY6C9D9G HCK61232DNXXVAW14Z74A6EJ4H1X5AN1Z660JTSV05YC781JXDE0;4PT54QECJQASYJXVBMFGXQ3W60KM6W4BP2N2F2AXMGJ1Q0TT0RA0 83b6f616ac244334064c4c56d391c23eb42a7ce6 4243B5R8WCZHNYFW6HCEFM69MP9RM604YSVHGCXMDVY9RZ5MR6B0 +MR-STOR-0010 dsm_storage_node::api::transport::b0x::router node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened;dsm_storage_node::api::objects::immutable::tests::proto_decodable_bytes_are_just_bytes - CONFORMANCE §8 MR-STOR-0010 (Met) TF5N9RZ43H76BW2Q84K4MVTY7R42721BGHVM8TFXESG7R4A87TCG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/transport/b0x/router(). SK0QJXZFCCZEJYT223Q7E7B7BN0EWJ81MFKBBDS3CMEPX5F5WJ0G HCK61232DNXXVAW14Z74A6EJ4H1X5AN1Z660JTSV05YC781JXDE0;4PT54QECJQASYJXVBMFGXQ3W60KM6W4BP2N2F2AXMGJ1Q0TT0RA0 83b6f616ac244334064c4c56d391c23eb42a7ce6 YCAAJKYGSKN4MKX2Y7KQK43N0JVASZH2NZV8J43SEQFP1YC4PB80 +MR-STOR-0012 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::recipient_dispatch::tests::a_second_copy_with_a_lying_wrapper_is_the_same_transfer_credited_once;dsm_sdk::handlers::recipient_dispatch::tests::a_sender_named_in_a_wrapper_blocks_nothing;dsm::sofi::storage::tests::wrong_bytes_never_count;dsm::sofi::storage::tests::a_wrong_namespace_never_counts;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-STOR-0012 (Met) XAX32Q3G5RS2883DZ3WY0D00MAWXF4D18PQT985R3WTP6TWNP330 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 YV0KRSKWC4DM5C519TARNYKF36265PXG9A6JKEDEGE9ZQQ7BS9MG;3V4904HSR1JFX9RW4PN50ZHJDG7NNM1W2K3MANEWYJJ358PZXZ8G;VWV422YY3E4FEPHNNEPQZ2NKM4TB5FQTPN8K3R85DSTWEG3Y23Y0;BD3E3QXAXRKT75DS4YA0TSJMJJBZ7DJ1AV89N701EDRKB1HRBT80;64RSG57CVNW08F2D8RAQBCV6WA08SGK23V2MDJB1W6Z0WGK06RY0;G3VHSF069HY7VBH7TQ79KCV1430W8MY90CVNB2D0NYFE4GAF0ZY0 83b6f616ac244334064c4c56d391c23eb42a7ce6 H6CAD5VGPVMKSP7E9MG6C1BFBE2RVA53H18RH5GB2D82A3TKH890 +MR-STOR-0012 dsm::sofi::storage::counts android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::recipient_dispatch::tests::a_second_copy_with_a_lying_wrapper_is_the_same_transfer_credited_once;dsm_sdk::handlers::recipient_dispatch::tests::a_sender_named_in_a_wrapper_blocks_nothing;dsm::sofi::storage::tests::wrong_bytes_never_count;dsm::sofi::storage::tests::a_wrong_namespace_never_counts;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-STOR-0012 (Met) HBSJCM3C88KP1XZN9W6RRTSXP40PQEYHVNWAAK5YQQ89KASMT9C0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/counts(). Y0T0ANBD2E9QWAQ99V6MK9MFZFP932R2JSD746THM00MEGT9QV3G YV0KRSKWC4DM5C519TARNYKF36265PXG9A6JKEDEGE9ZQQ7BS9MG;3V4904HSR1JFX9RW4PN50ZHJDG7NNM1W2K3MANEWYJJ358PZXZ8G;VWV422YY3E4FEPHNNEPQZ2NKM4TB5FQTPN8K3R85DSTWEG3Y23Y0;BD3E3QXAXRKT75DS4YA0TSJMJJBZ7DJ1AV89N701EDRKB1HRBT80;64RSG57CVNW08F2D8RAQBCV6WA08SGK23V2MDJB1W6Z0WGK06RY0;G3VHSF069HY7VBH7TQ79KCV1430W8MY90CVNB2D0NYFE4GAF0ZY0 83b6f616ac244334064c4c56d391c23eb42a7ce6 2HQ98Y19T9HPZ05SPERQY5R1K240QCA9T4NE4QM7XE4QJC976PK0 +MR-STOR-0012 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::recipient_dispatch::tests::a_second_copy_with_a_lying_wrapper_is_the_same_transfer_credited_once;dsm_sdk::handlers::recipient_dispatch::tests::a_sender_named_in_a_wrapper_blocks_nothing;dsm::sofi::storage::tests::wrong_bytes_never_count;dsm::sofi::storage::tests::a_wrong_namespace_never_counts;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-STOR-0012 (Met) G9HTAHX40S3FSJSMTNZSBEGXRVKJDWNM7VV593XGV7E3VSRBXKJ0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). 3EXAA7F0RBGKMRE05857K6Y9MXYEDXWDBGTXG3RJH5Y4WCMMVVG0 YV0KRSKWC4DM5C519TARNYKF36265PXG9A6JKEDEGE9ZQQ7BS9MG;3V4904HSR1JFX9RW4PN50ZHJDG7NNM1W2K3MANEWYJJ358PZXZ8G;VWV422YY3E4FEPHNNEPQZ2NKM4TB5FQTPN8K3R85DSTWEG3Y23Y0;BD3E3QXAXRKT75DS4YA0TSJMJJBZ7DJ1AV89N701EDRKB1HRBT80;64RSG57CVNW08F2D8RAQBCV6WA08SGK23V2MDJB1W6Z0WGK06RY0;G3VHSF069HY7VBH7TQ79KCV1430W8MY90CVNB2D0NYFE4GAF0ZY0 83b6f616ac244334064c4c56d391c23eb42a7ce6 VVJEWB0WHV76728Z593101XXRQYRKA2T2A373EDWDJEW2XAFNTYG +MR-STOR-0012 dsm_sdk::handlers::recipient_dispatch::ingest_transfer_half android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::recipient_dispatch::tests::a_second_copy_with_a_lying_wrapper_is_the_same_transfer_credited_once;dsm_sdk::handlers::recipient_dispatch::tests::a_sender_named_in_a_wrapper_blocks_nothing;dsm::sofi::storage::tests::wrong_bytes_never_count;dsm::sofi::storage::tests::a_wrong_namespace_never_counts;dsm::route_chain::tests::junk_first_at_the_leader_blocks_nothing;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-STOR-0012 (Met) 9DW0ARJPDK43DAWKR1HAX7S17JW0DRJWBEF8XW1HRX5XXMHN3S30 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 handlers/recipient_dispatch/ingest_transfer_half(). 6EPCEKG1Q3PPVQA6N7FWAVGZ15K03FMKQA5N989NMXGAH05Y8NDG YV0KRSKWC4DM5C519TARNYKF36265PXG9A6JKEDEGE9ZQQ7BS9MG;3V4904HSR1JFX9RW4PN50ZHJDG7NNM1W2K3MANEWYJJ358PZXZ8G;VWV422YY3E4FEPHNNEPQZ2NKM4TB5FQTPN8K3R85DSTWEG3Y23Y0;BD3E3QXAXRKT75DS4YA0TSJMJJBZ7DJ1AV89N701EDRKB1HRBT80;64RSG57CVNW08F2D8RAQBCV6WA08SGK23V2MDJB1W6Z0WGK06RY0;G3VHSF069HY7VBH7TQ79KCV1430W8MY90CVNB2D0NYFE4GAF0ZY0 83b6f616ac244334064c4c56d391c23eb42a7ce6 MC6DQXMT88PW7XB5CX5B5NXN045P7E4BRBD6V9D5ZNMP7YHMSRTG +MR-STOR-0013 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::silence_never_counts;dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in - CONFORMANCE §8 MR-STOR-0013 (Met) 8R3Q92D9NEWYHRTWNKE7DT3T57MK7NN849H5TJPMFWP8W0ZPMZ00 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 PW40ARV5JWTV4MH114028YYR57FB6FC36RZ8VM4F49F4NAZF8ZZG;X7FYBCPH3Q9E2N8Z97Y23SF0XG73V1SS12G3PKG0ACZ6AXBBGMX0 83b6f616ac244334064c4c56d391c23eb42a7ce6 S75VCK9X986RF9SVYBZMR58XBN8ARXSACDPYPB0ZFRNKKXMNJJGG +MR-STOR-0013 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::silence_never_counts;dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in - CONFORMANCE §8 MR-STOR-0013 (Met) 73TJW41BMW0JXWDNBAM8XY9AKCAFJN12BETF2WGZADAF3DSNAV30 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). 3EXAA7F0RBGKMRE05857K6Y9MXYEDXWDBGTXG3RJH5Y4WCMMVVG0 PW40ARV5JWTV4MH114028YYR57FB6FC36RZ8VM4F49F4NAZF8ZZG;X7FYBCPH3Q9E2N8Z97Y23SF0XG73V1SS12G3PKG0ACZ6AXBBGMX0 83b6f616ac244334064c4c56d391c23eb42a7ce6 6T0CH41FG9H55VARE9GSMFP29DZ8GV3HZDJ8RDQP22WP38NPHWPG +MR-STOR-0014 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::store_properties::immutable_put_is_write_once_on_the_tuple;dsm_storage_node::db::store_properties::a_conflicting_put_leaves_the_first_write_untouched;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-STOR-0014 (Met) JHS65RCCBJWTTWQSC2N131NK9SF01F6HBGRGP6PSC7ZH32M8BMW0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). PG9D9T049JFWQH6JZV03094SYAQAENXNC7NFP2A5TXV7EJWDECKG 4ADKBP06ZMWT8H24W5DF15P97K15F09W34D9MQHDSRX6T162H11G;NAK3P9XP1QNF9K18YAENCW1PJ8NRVF290Y4YNNYD5REED9NNVZJ0;T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G 83b6f616ac244334064c4c56d391c23eb42a7ce6 NNPHYM1KHG95K3KEG5EVPMPCP5SPTZA64F5YXHVDFS2YMBF4FFYG +MR-STOR-0014 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::store_properties::immutable_put_is_write_once_on_the_tuple;dsm_storage_node::db::store_properties::a_conflicting_put_leaves_the_first_write_untouched;dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused - CONFORMANCE §8 MR-STOR-0014 (Met) A9SH05M5GVQ4YPJDY5CRF7QZ00T437160JN72E9540NBJX6ZH640 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). TFRDYBH6HSA6CVY40SPX839PDAKFKNBHG40NGN0E8971PY6C9D9G 4ADKBP06ZMWT8H24W5DF15P97K15F09W34D9MQHDSRX6T162H11G;NAK3P9XP1QNF9K18YAENCW1PJ8NRVF290Y4YNNYD5REED9NNVZJ0;T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G 83b6f616ac244334064c4c56d391c23eb42a7ce6 B26CDAA39HFSKVA51WDQAMGT6ER8TRQG4S0H0670SEY1SMW6BKJG +MR-STOR-0018 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in;dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm_storage_node::db::pg::durable_posture_tests::a_weaker_posture_is_refused_and_the_refusal_names_the_setting - CONFORMANCE §8 MR-STOR-0018 (Met) 6D4G69BR4RGS33G06JPAQYX24KM0PM9NWM7VNEKAK1ABC2BHMMY0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 X7FYBCPH3Q9E2N8Z97Y23SF0XG73V1SS12G3PKG0ACZ6AXBBGMX0;ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G;5GKJJT92NA4CEKZV2G7A9NA2QCB1VHZVDC6NASPC72VZS3CM3KK0 83b6f616ac244334064c4c56d391c23eb42a7ce6 F41QTS1DYNV1P1V15M7G93BKEDMQST09C9QJW4647QB5GYRH66QG +MR-STOR-0018 dsm_storage_node::db::pg::require_durable_commit_posture node MUST_REACH active dsm_storage_node::main dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in;dsm::route_chain::tests::the_state_is_the_count_of_valid_links;dsm_storage_node::db::pg::durable_posture_tests::a_weaker_posture_is_refused_and_the_refusal_names_the_setting - CONFORMANCE §8 MR-STOR-0018 (Met) CJM3R4HYG7FARRVY77ZTVXJPT3ZVXDAV1P48G9EDM9X26MPMMFG0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/require_durable_commit_posture(). FDNEAX02KMW82QNN1ZK2AV9K84Y7JC0PJ1ESTQZPC863NP3WC130 X7FYBCPH3Q9E2N8Z97Y23SF0XG73V1SS12G3PKG0ACZ6AXBBGMX0;ZHXFCYCEQAKZ2HDVCVQ4RPHH0RVE00A1ZVCD16FN1ZQC4D5H7K4G;5GKJJT92NA4CEKZV2G7A9NA2QCB1VHZVDC6NASPC72VZS3CM3KK0 83b6f616ac244334064c4c56d391c23eb42a7ce6 JHE14ZK51C07NN49WTKMC6QD3822PMYDE44J0B4AB4P7J4S5DBVG +MR-STOR-0021 dsm::economic::lineage::advance_validated android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::an_unestablished_candidate_is_never_none;dsm::sofi::storage::tests::an_unestablished_candidate_makes_discovery_partial;dsm_sdk::sdk::sofi_reads::tests::an_unestablished_genesis_candidate_is_not_read_as_unpublished;dsm_sdk::sdk::sofi_flow::tests::a_setup_scan_that_met_an_unestablished_candidate_is_not_a_refusal;dsm::economic_admission_lifecycle::a_register_set_not_established_is_not_a_verdict_about_the_claimant;dsm_sdk::sdk::storage_node_sdk::tests::a_member_that_answers_404_took_nothing;dsm_sdk::handlers::online_finalize::tests::an_unreadable_counterparty_head_is_never_read_as_genesis;dsm_sdk::sdk::inbox_poller::tests::a_lifecycle_stop_is_declined_while_settlement_state_is_unreadable;dsm_sdk::handlers::node_e2e_tests::an_inbox_read_that_did_not_cover_every_delivery_is_not_a_complete_sync - CONFORMANCE §8 MR-STOR-0021 (Met) 2R01NQ2D7GW56HYDTPHYA9YZ26WA7EYXR2BK9QQXG0WTA06DZX1G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/lineage/advance_validated(). 6YC5BB68ZGK1M7HBFGNPCJQVTDHP7KA1VB4Y135GBYBX5GP74QPG WPN3T92F56HFEMPCKFK2JJVVV0EBMM7Q3C39WYTXS9PQTNE1KAFG;JPJZGFJ59HW6E2PANNSFB2P4D29ZNSQQ5GX22AX8X7Z7JCXEX620;ZSAQX823XWBNBRE2AZR424RY3FDXA744RWZFXGMPVN0Z7TW9M7EG;HRE16T127R3161QC4YRKFKJ68DVCND7SANJSYW1573QE5MBATYB0;1ZCK92F3XKCRSTK1RZX6PXP3R7TVPCPN68H8HRAW3F9YZ8JN75X0;HHM5HHB4ATPTYG2TYCV852GZ1QJHPRM8Q35BAVF0C4XPS8XM1YH0;D8KA37R0NRKQ50JJRBPY6SAK5HQQAJ20W9ZGKA5AKKMGKDCFYAF0;47365Z1BHCH99PFD1T3SXA3FVQS313CTXM020Z539V8QFV17A480;1E39E5F6WNTNTNVCFXAJKQSZXR6SEEANGS4CT5TKWG2QYRJX4APG 83b6f616ac244334064c4c56d391c23eb42a7ce6 SM2GX6GF6VPC6DP70W2PF8DX7DN6TE2T2QMRH459AE4JM8SQ9GAG +MR-STOR-0021 dsm::sofi::resolve::Verifier::vault_genesis android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::an_unestablished_candidate_is_never_none;dsm::sofi::storage::tests::an_unestablished_candidate_makes_discovery_partial;dsm_sdk::sdk::sofi_reads::tests::an_unestablished_genesis_candidate_is_not_read_as_unpublished;dsm_sdk::sdk::sofi_flow::tests::a_setup_scan_that_met_an_unestablished_candidate_is_not_a_refusal;dsm::economic_admission_lifecycle::a_register_set_not_established_is_not_a_verdict_about_the_claimant;dsm_sdk::sdk::storage_node_sdk::tests::a_member_that_answers_404_took_nothing;dsm_sdk::handlers::online_finalize::tests::an_unreadable_counterparty_head_is_never_read_as_genesis;dsm_sdk::sdk::inbox_poller::tests::a_lifecycle_stop_is_declined_while_settlement_state_is_unreadable;dsm_sdk::handlers::node_e2e_tests::an_inbox_read_that_did_not_cover_every_delivery_is_not_a_complete_sync - CONFORMANCE §8 MR-STOR-0021 (Met) 9J5PR3ME2V0BHS9PE97CZHGRJFT71RQV8W2XK4B1Y10P92FEGMFG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/impl#[`Verifier<'_, R>`]vault_genesis(). WC05P2A1H0NYV8W6HKHE7ZBQ42EWPFEV2C5S6HGE2BDJ2HYYXS50 WPN3T92F56HFEMPCKFK2JJVVV0EBMM7Q3C39WYTXS9PQTNE1KAFG;JPJZGFJ59HW6E2PANNSFB2P4D29ZNSQQ5GX22AX8X7Z7JCXEX620;ZSAQX823XWBNBRE2AZR424RY3FDXA744RWZFXGMPVN0Z7TW9M7EG;HRE16T127R3161QC4YRKFKJ68DVCND7SANJSYW1573QE5MBATYB0;1ZCK92F3XKCRSTK1RZX6PXP3R7TVPCPN68H8HRAW3F9YZ8JN75X0;HHM5HHB4ATPTYG2TYCV852GZ1QJHPRM8Q35BAVF0C4XPS8XM1YH0;D8KA37R0NRKQ50JJRBPY6SAK5HQQAJ20W9ZGKA5AKKMGKDCFYAF0;47365Z1BHCH99PFD1T3SXA3FVQS313CTXM020Z539V8QFV17A480;1E39E5F6WNTNTNVCFXAJKQSZXR6SEEANGS4CT5TKWG2QYRJX4APG 83b6f616ac244334064c4c56d391c23eb42a7ce6 N61GX3BB0X0F9N7PMS5GZ6R90VSKTTXFC682EZX250ZK2APHVHMG +MR-STOR-0021 dsm::sofi::storage::keep_all_verifying android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::an_unestablished_candidate_is_never_none;dsm::sofi::storage::tests::an_unestablished_candidate_makes_discovery_partial;dsm_sdk::sdk::sofi_reads::tests::an_unestablished_genesis_candidate_is_not_read_as_unpublished;dsm_sdk::sdk::sofi_flow::tests::a_setup_scan_that_met_an_unestablished_candidate_is_not_a_refusal;dsm::economic_admission_lifecycle::a_register_set_not_established_is_not_a_verdict_about_the_claimant;dsm_sdk::sdk::storage_node_sdk::tests::a_member_that_answers_404_took_nothing;dsm_sdk::handlers::online_finalize::tests::an_unreadable_counterparty_head_is_never_read_as_genesis;dsm_sdk::sdk::inbox_poller::tests::a_lifecycle_stop_is_declined_while_settlement_state_is_unreadable;dsm_sdk::handlers::node_e2e_tests::an_inbox_read_that_did_not_cover_every_delivery_is_not_a_complete_sync - CONFORMANCE §8 MR-STOR-0021 (Met) ZCG1JD53K9MCPZCDANQ1JE943F49Z51DHXH01199F5RPF9AR3VBG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/keep_all_verifying(). AHXRZZ0ENQQME1N29YW9CJM7XEJ094EWAMFFTSW0SCYJRPPQZNN0 WPN3T92F56HFEMPCKFK2JJVVV0EBMM7Q3C39WYTXS9PQTNE1KAFG;JPJZGFJ59HW6E2PANNSFB2P4D29ZNSQQ5GX22AX8X7Z7JCXEX620;ZSAQX823XWBNBRE2AZR424RY3FDXA744RWZFXGMPVN0Z7TW9M7EG;HRE16T127R3161QC4YRKFKJ68DVCND7SANJSYW1573QE5MBATYB0;1ZCK92F3XKCRSTK1RZX6PXP3R7TVPCPN68H8HRAW3F9YZ8JN75X0;HHM5HHB4ATPTYG2TYCV852GZ1QJHPRM8Q35BAVF0C4XPS8XM1YH0;D8KA37R0NRKQ50JJRBPY6SAK5HQQAJ20W9ZGKA5AKKMGKDCFYAF0;47365Z1BHCH99PFD1T3SXA3FVQS313CTXM020Z539V8QFV17A480;1E39E5F6WNTNTNVCFXAJKQSZXR6SEEANGS4CT5TKWG2QYRJX4APG 83b6f616ac244334064c4c56d391c23eb42a7ce6 439B9WNJ630YQVKWKNM7MR4GRBE9J3BRABVP9F53C3YNTDDV9RG0 +MR-STOR-0021 dsm::sofi::storage::keep_verifying android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::an_unestablished_candidate_is_never_none;dsm::sofi::storage::tests::an_unestablished_candidate_makes_discovery_partial;dsm_sdk::sdk::sofi_reads::tests::an_unestablished_genesis_candidate_is_not_read_as_unpublished;dsm_sdk::sdk::sofi_flow::tests::a_setup_scan_that_met_an_unestablished_candidate_is_not_a_refusal;dsm::economic_admission_lifecycle::a_register_set_not_established_is_not_a_verdict_about_the_claimant;dsm_sdk::sdk::storage_node_sdk::tests::a_member_that_answers_404_took_nothing;dsm_sdk::handlers::online_finalize::tests::an_unreadable_counterparty_head_is_never_read_as_genesis;dsm_sdk::sdk::inbox_poller::tests::a_lifecycle_stop_is_declined_while_settlement_state_is_unreadable;dsm_sdk::handlers::node_e2e_tests::an_inbox_read_that_did_not_cover_every_delivery_is_not_a_complete_sync - CONFORMANCE §8 MR-STOR-0021 (Met) 75WY2YZPV7VCQ3X0158TYE9XWH0J9GY2N5HRNHR7W7J51AZW7CEG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/keep_verifying(). 2MFKJ9GKMR7FR768HTYVSNQ1TWAJ8NKFYJYY2GJ7XHJM9955N50G WPN3T92F56HFEMPCKFK2JJVVV0EBMM7Q3C39WYTXS9PQTNE1KAFG;JPJZGFJ59HW6E2PANNSFB2P4D29ZNSQQ5GX22AX8X7Z7JCXEX620;ZSAQX823XWBNBRE2AZR424RY3FDXA744RWZFXGMPVN0Z7TW9M7EG;HRE16T127R3161QC4YRKFKJ68DVCND7SANJSYW1573QE5MBATYB0;1ZCK92F3XKCRSTK1RZX6PXP3R7TVPCPN68H8HRAW3F9YZ8JN75X0;HHM5HHB4ATPTYG2TYCV852GZ1QJHPRM8Q35BAVF0C4XPS8XM1YH0;D8KA37R0NRKQ50JJRBPY6SAK5HQQAJ20W9ZGKA5AKKMGKDCFYAF0;47365Z1BHCH99PFD1T3SXA3FVQS313CTXM020Z539V8QFV17A480;1E39E5F6WNTNTNVCFXAJKQSZXR6SEEANGS4CT5TKWG2QYRJX4APG 83b6f616ac244334064c4c56d391c23eb42a7ce6 HMC2G17T99F6D2V7RR6JT6Y9GKY6W2YGXPDHY6J6WBYR4HFYX0WG +MR-STOR-0021 dsm_sdk::sdk::b0x_sdk::B0xSDK::retrieve_from_b0x_v2 android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::an_unestablished_candidate_is_never_none;dsm::sofi::storage::tests::an_unestablished_candidate_makes_discovery_partial;dsm_sdk::sdk::sofi_reads::tests::an_unestablished_genesis_candidate_is_not_read_as_unpublished;dsm_sdk::sdk::sofi_flow::tests::a_setup_scan_that_met_an_unestablished_candidate_is_not_a_refusal;dsm::economic_admission_lifecycle::a_register_set_not_established_is_not_a_verdict_about_the_claimant;dsm_sdk::sdk::storage_node_sdk::tests::a_member_that_answers_404_took_nothing;dsm_sdk::handlers::online_finalize::tests::an_unreadable_counterparty_head_is_never_read_as_genesis;dsm_sdk::sdk::inbox_poller::tests::a_lifecycle_stop_is_declined_while_settlement_state_is_unreadable;dsm_sdk::handlers::node_e2e_tests::an_inbox_read_that_did_not_cover_every_delivery_is_not_a_complete_sync - CONFORMANCE §8 MR-STOR-0021 (Met) BG77NNG6AVQFDKH31Y5M4NAZ3Y0XK2NYZ8PD5VCDPK8106W1Y3EG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/b0x_sdk/impl#[B0xSDK]retrieve_from_b0x_v2(). D8KGNN6HDB4HX53SWXFTCA0J9NK5V6JEY23E6C9FPRCHMXPBJD60 WPN3T92F56HFEMPCKFK2JJVVV0EBMM7Q3C39WYTXS9PQTNE1KAFG;JPJZGFJ59HW6E2PANNSFB2P4D29ZNSQQ5GX22AX8X7Z7JCXEX620;ZSAQX823XWBNBRE2AZR424RY3FDXA744RWZFXGMPVN0Z7TW9M7EG;HRE16T127R3161QC4YRKFKJ68DVCND7SANJSYW1573QE5MBATYB0;1ZCK92F3XKCRSTK1RZX6PXP3R7TVPCPN68H8HRAW3F9YZ8JN75X0;HHM5HHB4ATPTYG2TYCV852GZ1QJHPRM8Q35BAVF0C4XPS8XM1YH0;D8KA37R0NRKQ50JJRBPY6SAK5HQQAJ20W9ZGKA5AKKMGKDCFYAF0;47365Z1BHCH99PFD1T3SXA3FVQS313CTXM020Z539V8QFV17A480;1E39E5F6WNTNTNVCFXAJKQSZXR6SEEANGS4CT5TKWG2QYRJX4APG 83b6f616ac244334064c4c56d391c23eb42a7ce6 NR9KCERVKXDVYJW3P0VMYXYQDT3KP0P389JS9Y886F5AT1TR4J80 +MR-STOR-0021 dsm_sdk::sdk::inbox_poller::has_pending_settlement_work android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::an_unestablished_candidate_is_never_none;dsm::sofi::storage::tests::an_unestablished_candidate_makes_discovery_partial;dsm_sdk::sdk::sofi_reads::tests::an_unestablished_genesis_candidate_is_not_read_as_unpublished;dsm_sdk::sdk::sofi_flow::tests::a_setup_scan_that_met_an_unestablished_candidate_is_not_a_refusal;dsm::economic_admission_lifecycle::a_register_set_not_established_is_not_a_verdict_about_the_claimant;dsm_sdk::sdk::storage_node_sdk::tests::a_member_that_answers_404_took_nothing;dsm_sdk::handlers::online_finalize::tests::an_unreadable_counterparty_head_is_never_read_as_genesis;dsm_sdk::sdk::inbox_poller::tests::a_lifecycle_stop_is_declined_while_settlement_state_is_unreadable;dsm_sdk::handlers::node_e2e_tests::an_inbox_read_that_did_not_cover_every_delivery_is_not_a_complete_sync - CONFORMANCE §8 MR-STOR-0021 (Met) DT1WRD50W9QARNM7CMNGGRSZWAP8KR6PZTM95VPHS213M6WXNWRG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/inbox_poller/has_pending_settlement_work(). PAB8CTP6FZJ44V99T9A8ZP059JP2BAA36VXKG1F116NZHEN05ZPG WPN3T92F56HFEMPCKFK2JJVVV0EBMM7Q3C39WYTXS9PQTNE1KAFG;JPJZGFJ59HW6E2PANNSFB2P4D29ZNSQQ5GX22AX8X7Z7JCXEX620;ZSAQX823XWBNBRE2AZR424RY3FDXA744RWZFXGMPVN0Z7TW9M7EG;HRE16T127R3161QC4YRKFKJ68DVCND7SANJSYW1573QE5MBATYB0;1ZCK92F3XKCRSTK1RZX6PXP3R7TVPCPN68H8HRAW3F9YZ8JN75X0;HHM5HHB4ATPTYG2TYCV852GZ1QJHPRM8Q35BAVF0C4XPS8XM1YH0;D8KA37R0NRKQ50JJRBPY6SAK5HQQAJ20W9ZGKA5AKKMGKDCFYAF0;47365Z1BHCH99PFD1T3SXA3FVQS313CTXM020Z539V8QFV17A480;1E39E5F6WNTNTNVCFXAJKQSZXR6SEEANGS4CT5TKWG2QYRJX4APG 83b6f616ac244334064c4c56d391c23eb42a7ce6 ZQ7P201NJY360X0PFH7RB927B9AK4KWWJHG46G8AWEYG23MDB5C0 +MR-STOR-0022 dsm::storage_object::immutable_addr node MUST_REACH active dsm_storage_node::main dsm::storage_object::tests::the_address_matches_the_spec_construction - CONFORMANCE §8 MR-STOR-0022 (Met) FH11DXBJCDZFN31J0PPFN2CWM62QAWRKG5CRBF48D861256RFEKG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 storage_object/immutable_addr(). QDNE7T56YQNE23K5759RA50JQ503EY7W74ZJVS5C4B50SG9C4YM0 6Q01GBXZAY66KDGMXBS8EHYTV4B1DTQ2BRZ61NDFSGPXHQM4FK80 83b6f616ac244334064c4c56d391c23eb42a7ce6 XXS24BHVPBDKG0J9KZVKQYTEEZPBEWX1TJ1ZT8PAXV7A8HNB73B0 +MR-STOR-0022 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm::storage_object::tests::the_address_matches_the_spec_construction - CONFORMANCE §8 MR-STOR-0022 (Met) 97JY6PKQ88NCKRC9GQ0B3X4G3QH0SNNYQ6QPRBF9JAZ8RAY44H0G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). TFRDYBH6HSA6CVY40SPX839PDAKFKNBHG40NGN0E8971PY6C9D9G 6Q01GBXZAY66KDGMXBS8EHYTV4B1DTQ2BRZ61NDFSGPXHQM4FK80 83b6f616ac244334064c4c56d391c23eb42a7ce6 Y2DY5HM6VZ9HB3ZCRV6VP24GNM9DQWQSKEBCMZBMP97XBFRMS8SG +MR-STOR-0024 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::store_properties::immutable_put_is_write_once_on_the_tuple;dsm_storage_node::db::store_properties::a_conflicting_put_leaves_the_first_write_untouched - CONFORMANCE §8 MR-STOR-0024 (Met) FEH6S6B3NZBK9P5AMJXCGEQG0QH1HQ9G9N2JGJ89Z4354RV42AZG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). TFRDYBH6HSA6CVY40SPX839PDAKFKNBHG40NGN0E8971PY6C9D9G 4ADKBP06ZMWT8H24W5DF15P97K15F09W34D9MQHDSRX6T162H11G;NAK3P9XP1QNF9K18YAENCW1PJ8NRVF290Y4YNNYD5REED9NNVZJ0 83b6f616ac244334064c4c56d391c23eb42a7ce6 VN09W8TSV79Z5DABXGAS52F6YEDCQVZ7M1QTH7GPHD406K3KNNT0 +MR-STOR-0027 dsm::sofi::storage::stored android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::two_members_is_not_stored;dsm::sofi::storage::tests::stored_returns_exact_bytes - CONFORMANCE §8 MR-STOR-0027 (Met) Y0RZXSPX82P5SJ0T4303MMCPYGZ2HE0ANQPAJNYF2X55EW656VE0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/storage/stored(). 3EXAA7F0RBGKMRE05857K6Y9MXYEDXWDBGTXG3RJH5Y4WCMMVVG0 1T2TK99297PJBMSF2AM05RWZC5521Y4J3PPM4R56TC6X4BBYZVZ0;60QDPZWRXEW2QCDXW7TZF8Y365M1TNJ4BC2045AK9JSYB0VA3F0G 83b6f616ac244334064c4c56d391c23eb42a7ce6 YKEANSP8HJCW4B1RGRJJ1AP3RZYNWHCNEB51HEE468DSFYGG004G +MR-STOR-0027 dsm::sofi::wire::STORAGE_FINALITY_COUNT android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::storage::tests::two_members_is_not_stored;dsm::sofi::storage::tests::stored_returns_exact_bytes - CONFORMANCE §8 MR-STOR-0027 (Met) 0MWAV1RSXE488P5MGAS7FKMFYHWVPT3EV3FE8NDTTD2FMRWMCBAG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/wire/STORAGE_FINALITY_COUNT. 5MCZVC3855A1Q64Z3GTMT5SYBWNZWK2WNDP8DXZCTJ87SK1C8Z10 1T2TK99297PJBMSF2AM05RWZC5521Y4J3PPM4R56TC6X4BBYZVZ0;60QDPZWRXEW2QCDXW7TZF8Y365M1TNJ4BC2045AK9JSYB0VA3F0G 83b6f616ac244334064c4c56d391c23eb42a7ce6 4SYA824ECCJRBH64G4466262EPD3YJQR0P9KMC4SHRWAD5RGGEFG +MR-STOR-0028 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::an_identical_value_put_twice_is_held_twice - CONFORMANCE §8 MR-STOR-0028 (Met) B4G100GG3ZSP07J93VXNNGXXKDK5PDH2H7TQ7647Z9D9ND8SCX00 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). PG9D9T049JFWQH6JZV03094SYAQAENXNC7NFP2A5TXV7EJWDECKG QEJ4G59XX312JFSJKZXCWXJH0ZVK3G9PRC2N1XKGCBEY2BJ281E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 C6S543G9M5ZAN6B2V76T4QTZ8C6YC0HYCZEWT812YSYH066M4MXG +MR-STOR-0028 dsm_storage_node::api::cells::put_cells node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::an_identical_value_put_twice_is_held_twice - CONFORMANCE §8 MR-STOR-0028 (Met) BMC2HC0RPPC6Y8PV39K118PJF5Y4ZSFMA95X9ZG3Y0V9GZK8J560 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cells(). ERQVKN8R0KJZJ8KD41CD31HJ6Q75G2WEFTTZGE86NTHGG3T6TR5G QEJ4G59XX312JFSJKZXCWXJH0ZVK3G9PRC2N1XKGCBEY2BJ281E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 8ZS4ND3B8Z025TVA2WV0CP2QD463B3VB4NSKHM1RMP7XMXW3YGK0 +MR-STOR-0029 dsm_storage_node::api::cells::get_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm_storage_node::cells_keep_everything::a_key_nothing_was_put_under_reads_as_an_empty_list_with_200;dsm_storage_node::db::cell_properties::every_value_put_at_a_key_is_held_in_arrival_order - CONFORMANCE §8 MR-STOR-0029 (Met) GGRRYGATGPZZQJZ57FN2XFVZDTEZD1X9S5N7BT8FFWGAH70QH470 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/get_cell(). GQ89DYSM982HXMFYTS8N7Q0484HCNR93RNF7K9AD28KMBH5ETPBG T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G;5N59C73KXZK9C41CRSXPQZ199KW287R4NRBK2R9XNNS00S3TB5EG;C0HNXB6WR4QQ63AXPEJ8EK65BVABTJDDA2AM7XC46FETW7PQNYW0 83b6f616ac244334064c4c56d391c23eb42a7ce6 2J9TSKGNV12G4PC7QYWYBGK4G2NHEBMTWDYGMJZP9KE47G2CSGCG +MR-STOR-0029 dsm_storage_node::db::pg::get_cell_entries node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm_storage_node::cells_keep_everything::a_key_nothing_was_put_under_reads_as_an_empty_list_with_200;dsm_storage_node::db::cell_properties::every_value_put_at_a_key_is_held_in_arrival_order - CONFORMANCE §8 MR-STOR-0029 (Met) F5NJTDM44KCZ1FFQJCRCDD38MF3QM7AHBXP5DZFKKKM1K4GCRHXG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/get_cell_entries(). XD8BB27P2NJXE9V4TT779K17ZBRPB6EP8013315YJJYFPFMZA3K0 T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G;5N59C73KXZK9C41CRSXPQZ199KW287R4NRBK2R9XNNS00S3TB5EG;C0HNXB6WR4QQ63AXPEJ8EK65BVABTJDDA2AM7XC46FETW7PQNYW0 83b6f616ac244334064c4c56d391c23eb42a7ce6 GTHQXX74QNPXAKTZRJE2FTPE7QPAJXP1PZ315C78FSHYDXV89S60 +MR-STOR-0031 dsm_storage_node::storage_contract_router node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly - CONFORMANCE §8 MR-STOR-0031 (Met) C9BXYTXYBM6PCJGKS00PCQJDEZG5FMA5VJ1BBT9PCGDRMER0V9XG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 storage_contract_router(). HFYRD5M223V04JGR5SX1JHV19Z8K3QNCC5XZS8MZ8VRAGEQ513E0 7YNNQ8C9MMDCRZBWBN3W9N6V6MG4ZSYBXNZEEZ9JT5VTQ0N6SAG0 83b6f616ac244334064c4c56d391c23eb42a7ce6 CPY2QKQAEHRM0QX40P1KNDNVHWWWBY8J3716FTGS2H1TJFFAMZ3G +MR-STOR-0032 dsm_storage_node::api::cells::append_index node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::an_index_pages_in_append_order_from_the_last_seq - CONFORMANCE §8 MR-STOR-0032 (Met) N40SQST4WE4Y3VW62GMSYCX29R441BQTT3EB7VHEZ87309QGNQZG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/append_index(). 21NE4FPAJH6CR431FAT89ZP1VFMVH81W03DJ2S9KZYGRJ26SSBZG 58Q2RBYVGZ4DKKSZN12XTZ36Y532S695KV6KGFNCCFZ1WZEYTW60 83b6f616ac244334064c4c56d391c23eb42a7ce6 SSQ6V5FDHJ6SPK1DQHVJPKEZ3TDZNDHTZZTKHYYSB1G4S342JWH0 +MR-STOR-0032 dsm_storage_node::api::cells::read_index node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::an_index_pages_in_append_order_from_the_last_seq - CONFORMANCE §8 MR-STOR-0032 (Met) 2ECKGHP39W2Z9W4BEYWBC95KX9FDTSGBPJFHDFJTSG95YG4HJBFG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/read_index(). DE5P2RTT4JJ29JPEKBE4HS6HT1ME6F9F9S3FYS6GP2DFZKCT9M40 58Q2RBYVGZ4DKKSZN12XTZ36Y532S695KV6KGFNCCFZ1WZEYTW60 83b6f616ac244334064c4c56d391c23eb42a7ce6 AP81W95KV3N8A8Q8HGNPGSXFZTZVMC5GSFM64VBPG1Z6A09Y96F0 +MR-STOR-0034 dsm_storage_node::api::transport::b0x::router node MUST_REACH active dsm_storage_node::main dsm_storage_node::api::transport::b0x::tests::bytes_the_node_cannot_read_are_kept_and_returned_unopened;dsm_storage_node::api::transport::b0x::tests::a_submitted_envelope_is_read_back_from_its_spool - CONFORMANCE §8 MR-STOR-0034 (Met) QJXB0EFY9JJ0QACZ1FMDXW9993DM55EQV97FRYBSJPY15HM4AB0G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/transport/b0x/router(). SK0QJXZFCCZEJYT223Q7E7B7BN0EWJ81MFKBBDS3CMEPX5F5WJ0G HCK61232DNXXVAW14Z74A6EJ4H1X5AN1Z660JTSV05YC781JXDE0;P4QAKY5KKVEG2GFVN8B70JY7942VD4KQCY1E64SNGSH401VC4BD0 83b6f616ac244334064c4c56d391c23eb42a7ce6 1XXHRFNNCGFFWMV3JN5864W8ATT38A2EZDXZEB73MKAXN9EJMZW0 +MR-STOR-0036 dsm::core::bilateral_transaction_manager::BilateralTransactionManager::create_bilateral_precommitment android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed;dsm::types::device_state::tests::a_credit_of_an_unadopted_token_is_refused_at_advance;dsm::core::bilateral_transaction_manager::tests::establish_relationship_missing_contact;dsm::core::bilateral_transaction_manager::tests::create_precommitment_without_relationship - CONFORMANCE §8 MR-STOR-0036 (Met) ANX390VMRXNVD43P4YJH7NPC9D3K7G3D8KC2D24APB42A5B77MJG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/bilateral_transaction_manager/impl#[BilateralTransactionManager]create_bilateral_precommitment(). 0SMSH74D2M5TTDEA2PBBRB0N6W0YKFRCMQ2DTTZNN0XTV6X2YMR0 99YMQSKTKHT8BW6NS7CS5PH1VS803NTAC80Z3VKYNPJKMAGQBJMG;TD2HMCZB6CZSJ05NTQE32DYGCWDPCWAHBX1JYY7P1QGVNNBVR3JG;HZW4WEYE894P2RDVVK8XB6FTB7KVRP6AX57QNMTFVXGPKD764P60;3T8XXBHEHB4C76DBCRNRDECYK3VZ0S32JYXRSZEFCSXDDDT1DB3G 83b6f616ac244334064c4c56d391c23eb42a7ce6 98CC0GM1CP1NSBZTKFP0CVBP8XMBKMXRQR2AZNW9Y9WJYT1NAZ70 +MR-STOR-0036 dsm::core::bilateral_transaction_manager::BilateralTransactionManager::establish_relationship android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed;dsm::types::device_state::tests::a_credit_of_an_unadopted_token_is_refused_at_advance;dsm::core::bilateral_transaction_manager::tests::establish_relationship_missing_contact;dsm::core::bilateral_transaction_manager::tests::create_precommitment_without_relationship - CONFORMANCE §8 MR-STOR-0036 (Met) YJQ26SAP7RP2T0VK5J70JDXZN3ZW0W2TMM2F5YKS0F3Q64PCBXM0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 core/bilateral_transaction_manager/impl#[BilateralTransactionManager]establish_relationship(). 3XKQB1S4EJQNPX2ZG10YRCP21S23FZP8GD33Z7CVSKBBG7DVXN6G 99YMQSKTKHT8BW6NS7CS5PH1VS803NTAC80Z3VKYNPJKMAGQBJMG;TD2HMCZB6CZSJ05NTQE32DYGCWDPCWAHBX1JYY7P1QGVNNBVR3JG;HZW4WEYE894P2RDVVK8XB6FTB7KVRP6AX57QNMTFVXGPKD764P60;3T8XXBHEHB4C76DBCRNRDECYK3VZ0S32JYXRSZEFCSXDDDT1DB3G 83b6f616ac244334064c4c56d391c23eb42a7ce6 M2HFMHFFB3RND5BQ1PXGT60C0MSAHFJTY5SY9N4930X8HYKAZS1G +MR-STOR-0036 dsm::types::device_state::DeviceState::advance android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed;dsm::types::device_state::tests::a_credit_of_an_unadopted_token_is_refused_at_advance;dsm::core::bilateral_transaction_manager::tests::establish_relationship_missing_contact;dsm::core::bilateral_transaction_manager::tests::create_precommitment_without_relationship - CONFORMANCE §8 MR-STOR-0036 (Met) T3BZA8JYD5MPMTNDC0GV4K4S7Y03HQ6MQWT1KPH9ST6W75DSH9DG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]advance(). E5QPEKJEDVGQSAAG5TC98KNJRQZ88Y5K3MGJED5GPR0F8TPKHH20 99YMQSKTKHT8BW6NS7CS5PH1VS803NTAC80Z3VKYNPJKMAGQBJMG;TD2HMCZB6CZSJ05NTQE32DYGCWDPCWAHBX1JYY7P1QGVNNBVR3JG;HZW4WEYE894P2RDVVK8XB6FTB7KVRP6AX57QNMTFVXGPKD764P60;3T8XXBHEHB4C76DBCRNRDECYK3VZ0S32JYXRSZEFCSXDDDT1DB3G 83b6f616ac244334064c4c56d391c23eb42a7ce6 ZKZJF7M0M0DWF6GENJY10Z95W8GPBGHQK45HG04F9RM0N5S58XK0 +MR-STOR-0036 dsm::types::device_state::DeviceState::establish_relationship android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::types::device_state::tests::a_relationship_steps_only_from_a_leaf_the_device_committed;dsm::types::device_state::tests::a_credit_of_an_unadopted_token_is_refused_at_advance;dsm::core::bilateral_transaction_manager::tests::establish_relationship_missing_contact;dsm::core::bilateral_transaction_manager::tests::create_precommitment_without_relationship - CONFORMANCE §8 MR-STOR-0036 (Met) 04WAZMCKVKDG09YR0SGDGHJN59FS6AGTVCS8B4NWM2WXEBP1CFY0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 types/device_state/impl#[DeviceState]establish_relationship(). VQ5M2RD4T51C6Q4Q43DVKNEH4GQX4BF9G7CCNJ2QYDY8HE4VT5Q0 99YMQSKTKHT8BW6NS7CS5PH1VS803NTAC80Z3VKYNPJKMAGQBJMG;TD2HMCZB6CZSJ05NTQE32DYGCWDPCWAHBX1JYY7P1QGVNNBVR3JG;HZW4WEYE894P2RDVVK8XB6FTB7KVRP6AX57QNMTFVXGPKD764P60;3T8XXBHEHB4C76DBCRNRDECYK3VZ0S32JYXRSZEFCSXDDDT1DB3G 83b6f616ac244334064c4c56d391c23eb42a7ce6 0JV2B4FA6308553N26GE5M6DDQK11VKANJ60SSQMBEPDFT4W1QFG +MR-STOR-0041 dsm_storage_node::api::transport::b0x::router node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly;dsm_storage_node::api::transport::b0x::tests::a_submitted_envelope_is_read_back_from_its_spool - CONFORMANCE §8 MR-STOR-0041 (Met) PYW9XR3G0MP2HJ0PPEPKWTEJMTK3HEFXB116CFQ9K237PWAC0JM0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/transport/b0x/router(). SK0QJXZFCCZEJYT223Q7E7B7BN0EWJ81MFKBBDS3CMEPX5F5WJ0G 7YNNQ8C9MMDCRZBWBN3W9N6V6MG4ZSYBXNZEEZ9JT5VTQ0N6SAG0;P4QAKY5KKVEG2GFVN8B70JY7942VD4KQCY1E64SNGSH401VC4BD0 83b6f616ac244334064c4c56d391c23eb42a7ce6 FED2WJBDXJTH1XEFNBRXE8KDN8P14GCJNB5TR4NEAKHBQ65268H0 +MR-STOR-0041 dsm_storage_node::storage_contract_router node MUST_REACH active dsm_storage_node::main dsm_storage_node::immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly;dsm_storage_node::api::transport::b0x::tests::a_submitted_envelope_is_read_back_from_its_spool - CONFORMANCE §8 MR-STOR-0041 (Met) 8RTXVYZNBST4HNBW8HYY35AZQAYAE8T84JB9XR3QFKRDX8A7T07G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 storage_contract_router(). HFYRD5M223V04JGR5SX1JHV19Z8K3QNCC5XZS8MZ8VRAGEQ513E0 7YNNQ8C9MMDCRZBWBN3W9N6V6MG4ZSYBXNZEEZ9JT5VTQ0N6SAG0;P4QAKY5KKVEG2GFVN8B70JY7942VD4KQCY1E64SNGSH401VC4BD0 83b6f616ac244334064c4c56d391c23eb42a7ce6 TG1WXQ0QWBC2HX05FWC6GSADAQ7YA2F65RRQN6TXJSTWCQRD405G +MR-STOR-0042 dsm::route_chain::Route::leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-STOR-0042 (Met) Z6T03X429VSA5F46G0CHMX5D1JHYV1F2CYWCYHPPZ81X0XAVJTR0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). AP8MB1KX5PEG4TXH8S51H81SX8Q58PEKS1YYCZ34EC93V5Y36Z80 HX4ACGD8KC7XDVQZWPT2B45F9BHRW2NZ82XHDV52P2E6DQFMRADG;P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 Q0BW712ZFHDMKY6ZBX0NYZBHTQFCTBZT3MNB1C5K1VJ9FQ3ZD140 +MR-STOR-0042 dsm::route_chain::Route::leader node MUST_NOT_REACH active - - a storage node never computes a cell's route or its leader storage §9 (STOR-009/L167); CONFORMANCE §8 MR-STOR-0042 YBKC1MN6R0FKSQGAKCEA2FE2FRBRE1QX6AWNJ8PN7HYMDG66QTBG Met CORRECT dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]leader(). AP8MB1KX5PEG4TXH8S51H81SX8Q58PEKS1YYCZ34EC93V5Y36Z80 - 83b6f616ac244334064c4c56d391c23eb42a7ce6 WYB5YKJ4YT847RJR4TTVFSGT8C4T6J4J67M19YSKXR78WYQ748CG +MR-STOR-0042 dsm::route_chain::Route::of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_the_first_member_of_the_seeded_shuffle_over_s;dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set - CONFORMANCE §8 MR-STOR-0042 (Met) 5RRWSK2NFK0YBK64QH8R0WYEH2835MN9JKYRR4VA5KTMREMV5AF0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). GNVEG361ZYQB62572RJWMJKYZAVXPDXWVBH5KS2963VJ7ZTY1YV0 HX4ACGD8KC7XDVQZWPT2B45F9BHRW2NZ82XHDV52P2E6DQFMRADG;P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 WZRFJP8PNFBH03RH7VMAJ9ZN1NXNNPKJTJXXASK3ZW4RDZHW4A0G +MR-STOR-0042 dsm::route_chain::Route::of node MUST_NOT_REACH active - - a storage node never computes a cell's route or its leader storage §9 (STOR-009/L167); CONFORMANCE §8 MR-STOR-0042 659H6AVKG7DMR8G1V3A87H3DBZ1R8XS324D8C3GDBDENES3TCXA0 Met CORRECT dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). GNVEG361ZYQB62572RJWMJKYZAVXPDXWVBH5KS2963VJ7ZTY1YV0 - 83b6f616ac244334064c4c56d391c23eb42a7ce6 R14B5M4XSNSQBMP6BXA8RE8G1C7XMPC9C4NQ0BR44FEMK5A4TMM0 +MR-STOR-0043 dsm::sofi::derive::storage_seed android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root - CONFORMANCE §8 MR-STOR-0043 (Met) 16SDTXSZHDQZXJ956W06BF56PV2TREF41W3EYJR0X3TNSEAD5GK0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/derive/storage_seed(). BGAMPSWB9YQ2Z7KQ6EKWFAVRZ5RGRZEH4WQ533ZH2D2MSCB070X0 CH04V8GRWNKC470EQJH19KTRNY0VEWVNY4X8TC3KZQ0PPPWSWYPG 83b6f616ac244334064c4c56d391c23eb42a7ce6 R5RPED3VFTW11GQ8AGQ5SH0TB9P04ZPNYE82GFM42E6R2VVE1QD0 +MR-STOR-0043 dsm::sofi::exercise::AttemptCell android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::exercise::tests::an_attempt_cells_leader_is_bound_to_the_vault_and_the_parent_root - CONFORMANCE §8 MR-STOR-0043 (Met) C8DVS8J03Q09F3ADV1VGE75Z7ZKATH7S40QEGTTB2M8P9PT59WE0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/exercise/AttemptCell# X6DSS28H11EVMVZD0TZFMNA2Y805BFDR9H4J33ZKSN4EVQZ040Q0 CH04V8GRWNKC470EQJH19KTRNY0VEWVNY4X8TC3KZQ0PPPWSWYPG 83b6f616ac244334064c4c56d391c23eb42a7ce6 2Q4PB3K41TX4FJMRP63C9JS8A9HXSNNXMCQZE3WNGTCBJMQE3MH0 +MR-STOR-0044 dsm::route_chain::RoutedCell::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_cell_is_routed_only_over_the_committed_set - CONFORMANCE §8 MR-STOR-0044 (Met) P9CGB2X3BVT9SVK5T5Y6BFY6EZB2SYZEX32FK1XVGR5SB3S4CA30 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[RoutedCell]new(). B7HHXTRYNBXMEKYBB1DCVV7DJD9EFT8FX93QHJD3Z3Z03BBXMARG YGMHQP5XDH3YRR0XMK6BHCYMHAM09C85XC4DHZH1YWN53N69VB70 83b6f616ac244334064c4c56d391c23eb42a7ce6 46SHX9ZBRT48R5AFY0DF9XRGYNPYCAH9VJ5Q7M7E7PSTK9EN6N2G +MR-STOR-0048 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_unread_leader_is_missing_and_no_other_seat_stands_in - CONFORMANCE §8 MR-STOR-0048 (Met) K6E698YXMR7GVRYR14Z1GJK09R0CA1E80QXMYT57P1SCMGS47EDG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 X7FYBCPH3Q9E2N8Z97Y23SF0XG73V1SS12G3PKG0ACZ6AXBBGMX0 83b6f616ac244334064c4c56d391c23eb42a7ce6 JSKME7VEMKK3H2NTWBC36CG5646WF30EJSWK8YRPMK67TPWBSTWG +MR-STOR-0049 dsm::route_chain::Route::of android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set;dsm::route_chain::tests::a_cell_is_routed_only_over_the_committed_set - CONFORMANCE §8 MR-STOR-0049 (Met) QFWTCSFX3ABX8C23T5RVHZBD7J3NS7CBB3AG3Y30T0NB2ZREY5WG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/impl#[Route]of(). GNVEG361ZYQB62572RJWMJKYZAVXPDXWVBH5KS2963VJ7ZTY1YV0 P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G;YGMHQP5XDH3YRR0XMK6BHCYMHAM09C85XC4DHZH1YWN53N69VB70 83b6f616ac244334064c4c56d391c23eb42a7ce6 ARJA4KYMQY9K97X439RMTK3Z1JJQKV589V2AW1C4NWY6M90VQHBG +MR-STOR-0049 dsm::sofi::fisher_yates::permute android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_route_is_the_fisher_yates_permutation_of_the_committed_set;dsm::route_chain::tests::a_cell_is_routed_only_over_the_committed_set - CONFORMANCE §8 MR-STOR-0049 (Met) C42ZECH9G031W14B72TJ806K1BV1YMHSQ6ZP8BT04CQMJK1JWHYG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 sofi/fisher_yates/permute(). JQ04BFHWV2YBR68G4GP1ZFVA6YPPVT6WGWVAD22MF3J3WYB3A0VG P76ASMF3D1FZW5AEPZGWHBG3X8FYK04D9JPZ9TSVRZ8M3XM3MB7G;YGMHQP5XDH3YRR0XMK6BHCYMHAM09C85XC4DHZH1YWN53N69VB70 83b6f616ac244334064c4c56d391c23eb42a7ce6 EAMGK0HCZR0Q5XM17DQAH7W3BZC58ZVV534VRQA5361WY4J6E0C0 +MR-STOR-0055 dsm_sdk::sdk::storage_set::StorageSet::new android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::sdk::storage_set::tests::set_id_is_order_independent_and_length_prefixed - CONFORMANCE §8 MR-STOR-0055 (Met) R1CMY325HC9RPXG9X6PE3FC2PR6XTXZ37VZRB0SEX68X5CHS22YG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/storage_set/impl#[StorageSet]new(). PKHVAYAM1V67Z16SE25DV8B4V60M3VKFMQTT8E403QF6010KR3F0 0MFAV8E21G670VPAS3MGZ2850358WNAKVBYM9PVPESGAMX88KJSG 83b6f616ac244334064c4c56d391c23eb42a7ce6 8VG2Q71H4NC3HH0PCW9NJ5SPZ3WK50J000ASW73W62Q281NW8TMG +MR-STOR-0055 dsm_sdk::sdk::storage_set::compute_storage_set_id android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::sdk::storage_set::tests::set_id_is_order_independent_and_length_prefixed - CONFORMANCE §8 MR-STOR-0055 (Met) E5YHHC340R3KG3CARCM1CE0YQC1CVXHRJB1VQAEMGDFB6GEMQEH0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/storage_set/compute_storage_set_id(). FWVC8D68BDN16AEE6CBXTAH31F22GR8KZCKR1CDN3HCWYTKKK5TG 0MFAV8E21G670VPAS3MGZ2850358WNAKVBYM9PVPESGAMX88KJSG 83b6f616ac244334064c4c56d391c23eb42a7ce6 A51TJPY9S4YR6KRQVMXWKZRZ4BAPNXCEKTGKNN75R6CYVCW1BS9G +MR-STOR-0056 dsm::economic::native_reserve::NativeReserveState::genesis android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::sdk::storage_set::tests::the_pinned_beta_set_id_is_the_one_every_provisioned_member_logged - CONFORMANCE §8 MR-STOR-0056 (Met) A5P1A284EGZRBZ0W6BJ303V1MCR9M7CHZ44VA45BFDEABEMHRK70 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/native_reserve/impl#[NativeReserveState]genesis(). XETNKDJFM1JQ6RYJXE2NEPEC6B78K935S4NH8CQDYZE1Z0V7MH90 9DYJQ5TE0XWZ4W86D953GYJYP1PJRXF9NBSBK2S6T3Y52MPF38B0 83b6f616ac244334064c4c56d391c23eb42a7ce6 VRYNVEHMKC3CTG4REX4RTBN982PRCRJSRQXPCACXJ47T8ZNS808G +MR-STOR-0093 dsm::storage_cell::ByteCommit node MUST_REACH active dsm_storage_node::main dsm::storage_cell::tests::the_bytecommit_digest_matches_the_spec_construction;dsm_storage_node::bytecommit_chain::cycles_close_over_new_entries_and_commit_their_records - CONFORMANCE §8 MR-STOR-0093 (Met) E154R7RFCCHQXHNC53VCGJQBEDEEN0BXX6H73SR54YX94D8V1VZ0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 storage_cell/ByteCommit# SE4FR3Q2SC1EGK0PJ72MF53ZPE78M4Y0PYKFDQW46TRA4N17B6D0 4M419BEVZKHDVXBW80FPHQWHM5399AS0WFEJN8EP1PDP4N1DD500;R83TECPZSJ932BGQ9G6MMG7BC6K8JWJS5B8GYY3TXX2K6XP6D4N0 83b6f616ac244334064c4c56d391c23eb42a7ce6 XH73NM3J9Q3ZFCZF080F2DKEJ1TXZZ13PDS1GY9VBRS8R17SD560 +MR-STOR-0093 dsm_storage_node::db::pg::close_cycle node MUST_REACH active dsm_storage_node::main dsm::storage_cell::tests::the_bytecommit_digest_matches_the_spec_construction;dsm_storage_node::bytecommit_chain::cycles_close_over_new_entries_and_commit_their_records - CONFORMANCE §8 MR-STOR-0093 (Met) TG422G7SWKNXK2Z1SM18BKH8PGGSY4KEQ0VX992WXMBET6ATV3J0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/close_cycle(). TX0TVDGGEG48NWPJSFERXFMWTCNBS3J7SA5858DG00TYKXZGWFEG 4M419BEVZKHDVXBW80FPHQWHM5399AS0WFEJN8EP1PDP4N1DD500;R83TECPZSJ932BGQ9G6MMG7BC6K8JWJS5B8GYY3TXX2K6XP6D4N0 83b6f616ac244334064c4c56d391c23eb42a7ce6 4S1E2W68NFZN7GTNPCZ07C3YB9AJ2H6BV77VPZG6WXEA1KESENVG +MR-STOR-0096 dsm::storage_cell::entry_digest node MUST_REACH active dsm_storage_node::main dsm::storage_cell::tests::the_running_hash_matches_the_spec_construction;dsm::storage_cell::tests::any_change_to_earlier_entries_breaks_later_records - CONFORMANCE §8 MR-STOR-0096 (Met) RR4DJG1TKPCN0TE54HX7QX9J9Y2XSR1VGAR2E3FMHK1PJNFNNXCG Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 storage_cell/entry_digest(). G60BZN4XMDJ5CG243NCWDGTEGZSRY7MMQ0NVJAMMEV3GD3ECX2VG VDW7YHJ1Y6X2CZKVRF0F2GAVCBDCZYFS4ACZBD86B4D2QD1WQP90;7B2MF48EFG6RZEBPXSEFDFMDP5KW50MDZR5N3ECWGV4Z35K9H5MG 83b6f616ac244334064c4c56d391c23eb42a7ce6 2H2G5RXM70TRZ5H0V51A4XQKXE2RX381HEW8BKQ3DK7127A3AHPG +MR-STOR-0096 dsm::storage_cell::running_hash_next node MUST_REACH active dsm_storage_node::main dsm::storage_cell::tests::the_running_hash_matches_the_spec_construction;dsm::storage_cell::tests::any_change_to_earlier_entries_breaks_later_records - CONFORMANCE §8 MR-STOR-0096 (Met) G97P0VDH4BV0P8CE577S05CJ8DB0VFHQRAB2Y082AB7QBGVK329G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 storage_cell/running_hash_next(). 6PMHYEAZX6RV6NEWX6Z3Z6TS1YHSKHBPWABEYEJFC0DCS1EHH9S0 VDW7YHJ1Y6X2CZKVRF0F2GAVCBDCZYFS4ACZBD86B4D2QD1WQP90;7B2MF48EFG6RZEBPXSEFDFMDP5KW50MDZR5N3ECWGV4Z35K9H5MG 83b6f616ac244334064c4c56d391c23eb42a7ce6 VTHA5PZTFPB47YX38X6RJMCJCGYGA5KWN1NRBP002MMAFTH8GZ30 +MR-STOR-0096 dsm_storage_node::db::pg::append_cell_entry node MUST_REACH active dsm_storage_node::main dsm::storage_cell::tests::the_running_hash_matches_the_spec_construction;dsm::storage_cell::tests::any_change_to_earlier_entries_breaks_later_records - CONFORMANCE §8 MR-STOR-0096 (Met) R19K142XHM38TNKSBZPAYCG6NANFYX8N7W4G2ZFTANC6QK231XSG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/append_cell_entry(). T5YMFKK55QBMVBXNK7NA4K3W6Q14BM15SMDCS146DCBQXW4X4PQ0 VDW7YHJ1Y6X2CZKVRF0F2GAVCBDCZYFS4ACZBD86B4D2QD1WQP90;7B2MF48EFG6RZEBPXSEFDFMDP5KW50MDZR5N3ECWGV4Z35K9H5MG 83b6f616ac244334064c4c56d391c23eb42a7ce6 TFWS2ECMRAV4D32ERN6DEJTJMF7V1P5VJAN1K073WY7GY6FK0ZK0 +MR-STOR-0116 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::cell_properties::held_values_and_index_entries_survive_reopening_the_store - CONFORMANCE §8 MR-STOR-0116 (Partial) GY4YZ4SCJYWEGJ79JG0DH61DGQN1TT4YM5PPBR6KEXAPBGGF305G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). PG9D9T049JFWQH6JZV03094SYAQAENXNC7NFP2A5TXV7EJWDECKG E9GV1THS7NA6Y8678HPBRPXWHYPK2T90S2J3XEKP7V28K404A440 83b6f616ac244334064c4c56d391c23eb42a7ce6 2B81KF109X7E9KVRG74FP5970T6GH0SWZ7HMFHKMMZPE2H8EHB7G +MR-STOR-0116 dsm_storage_node::api::objects::immutable::put_immutable node MUST_REACH active dsm_storage_node::main dsm_storage_node::db::cell_properties::held_values_and_index_entries_survive_reopening_the_store - CONFORMANCE §8 MR-STOR-0116 (Partial) DWE0T17CGZ3WBX9MRMJQ2E4EX0Z5HGWAY06RCFFA9F4E897AH5A0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/immutable/put_immutable(). TFRDYBH6HSA6CVY40SPX839PDAKFKNBHG40NGN0E8971PY6C9D9G E9GV1THS7NA6Y8678HPBRPXWHYPK2T90S2J3XEKP7V28K404A440 83b6f616ac244334064c4c56d391c23eb42a7ce6 P11Z4FXECNFZEV2Q05K3R1ZGQZ654BA4PCNEDQWVA6FKCT4VCGTG +MR-STOR-0129 dsm::storage_cell::ArrivalRecord node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_put_answers_with_the_arrival_record_a_verifier_replays - CONFORMANCE §8 MR-STOR-0129 (Met) 90GGAPNPACDMPNW514V1BRD2TAMNHP122K5Y918AJZP0QZRFN68G Met SATISFIED reached:REACHED rust-analyzer cargo dsm 0.1.0-beta.3 storage_cell/ArrivalRecord# R48VAZ51TM2RYF6WEK93ZS0YYHFAS60MRW811N98ZE29J2581RCG WPCV28GM8AGV62ABWXPYGBA57Y0WRZTYAD31YVP81Y7GEQYZ9WCG 83b6f616ac244334064c4c56d391c23eb42a7ce6 SW40AJSHJ6HZNHRA31SG2E1PTQ863649HZ9ARQ19QY13TQBN15M0 +MR-STOR-0129 dsm_storage_node::api::cells::get_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_put_answers_with_the_arrival_record_a_verifier_replays - CONFORMANCE §8 MR-STOR-0129 (Met) 7DFCG59VN965HA8BAG9MK2AMEW1HCMX8XAQA6V8RT3CERSTTTV1G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/get_cell(). GQ89DYSM982HXMFYTS8N7Q0484HCNR93RNF7K9AD28KMBH5ETPBG WPCV28GM8AGV62ABWXPYGBA57Y0WRZTYAD31YVP81Y7GEQYZ9WCG 83b6f616ac244334064c4c56d391c23eb42a7ce6 90SX99MS90J47NG3CEMWVHAS16MHTEM42A5YQ1C5VSTDXEJ0W6M0 +MR-STOR-0129 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_put_answers_with_the_arrival_record_a_verifier_replays - CONFORMANCE §8 MR-STOR-0129 (Met) 8CBVPZ5QEXYMB1XDP3RWK7FJKSDC6FCW52PCD7H9RV27CNSZDQS0 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). PG9D9T049JFWQH6JZV03094SYAQAENXNC7NFP2A5TXV7EJWDECKG WPCV28GM8AGV62ABWXPYGBA57Y0WRZTYAD31YVP81Y7GEQYZ9WCG 83b6f616ac244334064c4c56d391c23eb42a7ce6 1A3X5Y614Z3WG52R259ZKPZSG7KB1BGS9XKHHH3GGTWRNHPZ3EX0 +MR-STOR-0135 dsm_storage_node::api::cells::get_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm_storage_node::cells_keep_everything::an_identical_value_put_twice_is_held_twice - CONFORMANCE §8 MR-STOR-0135 (Met) Q6XMH8B5DZZ671SSXC19AMY7HKFC14WJKFF3P9N76JEHWHJ9CJ80 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/get_cell(). GQ89DYSM982HXMFYTS8N7Q0484HCNR93RNF7K9AD28KMBH5ETPBG T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G;QEJ4G59XX312JFSJKZXCWXJH0ZVK3G9PRC2N1XKGCBEY2BJ281E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 001NSBZS4HBARR7AQH02BEDAFF9HJQ4R6XMTJQGH1A5AKTN9FTV0 +MR-STOR-0135 dsm_storage_node::api::cells::put_cell node MUST_REACH active dsm_storage_node::main dsm_storage_node::cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;dsm_storage_node::cells_keep_everything::an_identical_value_put_twice_is_held_twice - CONFORMANCE §8 MR-STOR-0135 (Met) 9N8JXQ2A6VCHY3TX3PM3S0BMNH2TZ1JGSQSBST18EJCV42ZJMA5G Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/cells/put_cell(). PG9D9T049JFWQH6JZV03094SYAQAENXNC7NFP2A5TXV7EJWDECKG T6XENKA5EZ5Q3DHFXW5ZCZP8512A8X0GZ5GHEFNT97FNH8MNA21G;QEJ4G59XX312JFSJKZXCWXJH0ZVK3G9PRC2N1XKGCBEY2BJ281E0 83b6f616ac244334064c4c56d391c23eb42a7ce6 ATYBW9NJNFJJMGPE1BGJ7B08YMQ0TBC421JEXQZE6JRT2EVBE5K0 +MR-STOR-0140 dsm_storage_node::api::objects::bytecommit::fetch_commit node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself - CONFORMANCE §8 MR-STOR-0140 (Met) MVQP4C6GJZ2BSSZSFXX1ZW1YMBCW148X712EJCATX7M2W435SZ10 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/bytecommit/fetch_commit(). 6MGV78QY7HY4ZVVFAC0VXRJCS8AFJT9F9213XAXVWWF8SX5Q4GQ0 BFRDX4FBSS6JE6E4X6RPR7NHFC6B3W16S8V6BRBDBA0572R42YG0 83b6f616ac244334064c4c56d391c23eb42a7ce6 WV6NBR790TEFJQK0D6AC5FEH0624EZCARQJJ2PFB9V57BJK3GG30 +MR-STOR-0140 dsm_storage_node::api::objects::bytecommit::sync_one node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::a_set_mate_mirrors_by_fetching_from_the_member_itself - CONFORMANCE §8 MR-STOR-0140 (Met) 7XR5ESV7J2S0K7EH1MD0FGTP0B7YHG8SCF46JBB5XZY64EBBZGWG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/bytecommit/sync_one(). 8STKRD3W5B8KQ7WFRHN8X5Q7AHFRS5V70DJQG4TJ94VERBD5B13G BFRDX4FBSS6JE6E4X6RPR7NHFC6B3W16S8V6BRBDBA0572R42YG0 83b6f616ac244334064c4c56d391c23eb42a7ce6 DKK6AZWHEDHSZ3FAX1NJB1HCJNG09NPN6RR0M43S5JWAF1WKX8WG +MR-STOR-0141 dsm_storage_node::api::objects::bytecommit::fetch_commit node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::an_impostor_at_a_set_mates_endpoint_is_not_mirrored - CONFORMANCE §8 MR-STOR-0141 (Met) 338N85DW4CF766RAYAEGEGC63JWQARXC5AZ273JCYCYTF72KJKZG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 api/objects/bytecommit/fetch_commit(). 6MGV78QY7HY4ZVVFAC0VXRJCS8AFJT9F9213XAXVWWF8SX5Q4GQ0 WJ46MFBER4NFG7QTNE75FMM7GN3T1YFS9WAMEFYS8K6XAV75GV7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 3BS6VN63W933Y6YYDQFCR0SJM4J41HBV98Q9PTN9CQ5F2HGRWNV0 +MR-STOR-0141 dsm_storage_node::db::pg::mirror_put node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::an_impostor_at_a_set_mates_endpoint_is_not_mirrored - CONFORMANCE §8 MR-STOR-0141 (Met) XBPKD4H8BA162PJ9TFTQSFTB3VAEQ86B1S5CMAYQ773DV75KQJ60 Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/mirror_put(). H2F15Y2T2NJT0G004VVNXTDCY7SQ6TTVT7AS2KX3TQ02K7CWRK4G WJ46MFBER4NFG7QTNE75FMM7GN3T1YFS9WAMEFYS8K6XAV75GV7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 F4KJB0CJWCSFGKXX8837WQNAH0FD4Q45YD97S6ZYF8HX3N3QF3SG +MR-STOR-0142 dsm_storage_node::db::pg::mirror_put node MUST_REACH active dsm_storage_node::main dsm_storage_node::bytecommit_chain::a_rewritten_cycle_is_kept_beside_the_first - CONFORMANCE §8 MR-STOR-0142 (Met) 4NNA1QZ3XPFMHZXWZ4QTZWKKDTFY8VVF2W61NVNSDXC84F0AFRXG Met SATISFIED reached:REACHED rust-analyzer cargo dsm_storage_node 0.1.0-beta.3 db/pg/mirror_put(). H2F15Y2T2NJT0G004VVNXTDCY7SQ6TTVT7AS2KX3TQ02K7CWRK4G C0R57B7TKZD7A0M7ME800FS5W916R3N5EKC6CZEQ47D0MMF8KBCG 83b6f616ac244334064c4c56d391c23eb42a7ce6 NE1MECSR9VZ59M51P5Z0MMQ4YD679BNY51FDXXKTREEAMZVM4D7G +MR-STOR-0146 dsm_sdk::sdk::b0x_sdk::seal_for android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_transfer_reaches_the_nodes_only_sealed_and_arrives;dsm::crypto::spool_seal::tests::a_sealed_payload_opens_to_its_bytes;dsm::crypto::spool_seal::tests::it_opens_under_nothing_else - CONFORMANCE §8 MR-STOR-0146 (Met) 4BW42DHRKS27RVVG3NSX1WHE2RAX47Z4N2XMFMW9ABV5NYFF25F0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/b0x_sdk/seal_for(). YZAKVWTGRJJFNKE679X31S380ZAYA69AP73WG6RXK29T9BJ0Y6EG DMDGYHSAYH6RA5F5AGCGQHXZW1WGJPRRZNY4P6WE28EYTAJAPZGG;YED6J2FSJES6RVR2JD3SW28636WM5WNKW1Y6BNA11PHV7R323QBG;C11TYX2GDYR6BZEEZB08A9VENDPSQZ72XFKM6NWAQNNE9J3XCVFG 83b6f616ac244334064c4c56d391c23eb42a7ce6 2GWRRXEYMF2NRGJRDTN7T7X40X5567SWJR1013RD0JWW7V11CB9G +MR-STOR-0146 dsm::crypto::spool_seal::seal android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm_sdk::handlers::node_e2e_tests::a_transfer_reaches_the_nodes_only_sealed_and_arrives;dsm::crypto::spool_seal::tests::a_sealed_payload_opens_to_its_bytes;dsm::crypto::spool_seal::tests::it_opens_under_nothing_else - CONFORMANCE §8 MR-STOR-0146 (Met) W5GV9P3R56S09J8HAZ9QCPYF0SC4BNVMJGBBZPE1SY71PXBZSD7G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 crypto/spool_seal/seal(). GPDM2896ZXM952YZEZ1N9ETW2A8CEQZEWG0Z4WFF1TM7E0V5RS50 DMDGYHSAYH6RA5F5AGCGQHXZW1WGJPRRZNY4P6WE28EYTAJAPZGG;YED6J2FSJES6RVR2JD3SW28636WM5WNKW1Y6BNA11PHV7R323QBG;C11TYX2GDYR6BZEEZB08A9VENDPSQZ72XFKM6NWAQNNE9J3XCVFG 83b6f616ac244334064c4c56d391c23eb42a7ce6 NZ1R490M862TJA9C35WSNX0FN9FYGCJ3VC8VQMBQYQ7SHDKFJPQG +MR-STOR-0148 dsm_sdk::sdk::route_seats::write_recorded android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-STOR-0148 (Partial) 8CYGX9WVRK0GVZY2JGT6J20TXPH7SF8MYQD1YNSWSEP062F92FKG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/write_recorded(). KXTEY8EW31PWTPS5NQMBDKM0EQZEJANTJFSBZW5E30M1SM368YNG - 83b6f616ac244334064c4c56d391c23eb42a7ce6 KAWXA94KQ6AZE9Y4M8FSGCVPQXNEKA7JNGBK59FWKS4TB80E9PFG +MR-STOR-0149 dsm::route_chain::leader_copy_record android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_leader_record_of_a_value_is_recovered_from_the_leader_log;dsm_sdk::sdk::route_seats::tests::a_value_the_leader_already_holds_is_not_written_there_again - CONFORMANCE §8 MR-STOR-0149 (Met) D3171049GEX0H606YBRR2MC0NGV8QQ08QZTQ8TVB995YDF8727HG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/leader_copy_record(). 8E0W9YVH3TETYDFBQPJBXTTRWKQS9Y00WG1ERR5VN3BRN9V47AE0 2CAM8H1V3YY8DQABB889P9NY3YFNZK5G2XGNSXXGBZAK5004D4J0;9J6MKRXKZ04GYVQ2QQS9HK152TP3TA6SPJH9Q1AYMG9BS02A97V0 83b6f616ac244334064c4c56d391c23eb42a7ce6 BXZZ5BXJ6ZNNJJK9ZZZ1E3J4W8SSVV8XBCF9PD4GY4K26H6SEWCG +MR-STOR-0149 dsm_sdk::sdk::route_seats::from_leader android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_leader_record_of_a_value_is_recovered_from_the_leader_log;dsm_sdk::sdk::route_seats::tests::a_value_the_leader_already_holds_is_not_written_there_again - CONFORMANCE §8 MR-STOR-0149 (Met) XYCVNZCP4NFK1K7SJ5CFHJCDGXESZ8C00T382PPTZSJ3F4X26AKG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/from_leader(). 8V86ZJQRJXK6WAM9GM94NG5PYN3XX4H60BN9CNNRJE5MZAD6X6V0 2CAM8H1V3YY8DQABB889P9NY3YFNZK5G2XGNSXXGBZAK5004D4J0;9J6MKRXKZ04GYVQ2QQS9HK152TP3TA6SPJH9Q1AYMG9BS02A97V0 83b6f616ac244334064c4c56d391c23eb42a7ce6 02FK3YN7VGA8K0GHQ4NHV5ASFZVFJ7QX43Y14EKPXE1PQRNQW13G +MR-STOR-0150 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_first_recognized_value_at_the_leader_holds_the_cell;dsm::route_chain::tests::a_copy_whose_chain_does_not_begin_with_the_leader_link_does_not_count - CONFORMANCE §8 MR-STOR-0150 (Met) BHTDA31BHQ0Z386G3N56C4J39DSYVCPKWDQ97YW6B2M1N35SR29G Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 XN8D5CPVY8Q73CS5XYD7KW3Z0HK1F163T6G6XJM03CWT7ESMPYP0;G3VHSF069HY7VBH7TQ79KCV1430W8MY90CVNB2D0NYFE4GAF0ZY0 83b6f616ac244334064c4c56d391c23eb42a7ce6 WBAHZPEP661PGPG8WQT6G3NB3J6P8SF4CXYS96GCASFYNC3TECYG +MR-STOR-0151 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_entry_carries_one_slot_per_earlier_position_and_round_trips;dsm::route_chain::tests::an_empty_neither_counts_nor_invalidates - CONFORMANCE §8 MR-STOR-0151 (Partial) CVE0RSXA4SM1QK1RKD6D039D1YA7KN37H698GCVACWJQPRZRWXT0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 S67YEZQQ54JGD3QW66S7Z4NZ3T7R8WKBD09MN0NJKXQP9QA1Y1F0;SBCN5FQA25C567768SA6H3V97V6030N3F6AYQDZXT70PKFZ3VYEG 83b6f616ac244334064c4c56d391c23eb42a7ce6 ZM8H8CWEJ0RQKH26R9NMZBQTMQJPCXG17VGXRJFRPTHK3S569YR0 +MR-STOR-0151 dsm_sdk::sdk::route_seats::write_recorded_position android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::an_entry_carries_one_slot_per_earlier_position_and_round_trips;dsm::route_chain::tests::an_empty_neither_counts_nor_invalidates - CONFORMANCE §8 MR-STOR-0151 (Partial) 8479GCHSSK0N6KEBAQDBY7NHD9WR0EW066T6XREGNJ5EQDZEKAMG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/write_recorded_position(). YHNCFP3DEB34DH52KDWNQHDPYK2K215QE8YKB5FPFF4B2K74C7RG S67YEZQQ54JGD3QW66S7Z4NZ3T7R8WKBD09MN0NJKXQP9QA1Y1F0;SBCN5FQA25C567768SA6H3V97V6030N3F6AYQDZXT70PKFZ3VYEG 83b6f616ac244334064c4c56d391c23eb42a7ce6 5RS775QF0Q2F846CE2A2XJMGZZ1VMRP6TKX3E1S56ZAAVBYK7F30 +MR-STOR-0152 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_copy_whose_carried_links_are_not_one_chain_does_not_count;dsm::route_chain::tests::a_copy_at_another_position_or_of_another_value_does_not_count - CONFORMANCE §8 MR-STOR-0152 (Partial) YTV22FQXHS5XY34JNZ8EM1BSQY054WDME59418JEJX3HC82KPJ80 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 YGZRE6E13D1EKJV63TD3V1RM9WPERGZ3Y4KN75T2694FAXGSSGYG;5YK0E08XN7ND8NZFZ5JW6R8E5AD6NP7879A715D86H0QVBBXCP7G 83b6f616ac244334064c4c56d391c23eb42a7ce6 J077NWNQ3K9HMKTNCC0BW840TAAKNH7PCGM1H3TB9S55RZQ1CZ2G +MR-STOR-0154 dsm::route_chain::evaluate android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::three_links_are_final_two_preserved_one_leader_held;dsm::route_chain::tests::only_links_of_one_chain_count_toward_final - CONFORMANCE §8 MR-STOR-0154 (Met) NQA6NQCM92RR2RZRM82WZV4T5JGRB8N47X64GC2A95XHB3S2WRN0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/evaluate(). MADZPG8ZBFQ35MR9N5TPN59M7G78G3YGE60JNWNHECX7F5H28PX0 RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;MZ42GGZT84Y702WNV2VVMMNZFW53D5YV1WP3GVYQCH7DXXNTDE1G 83b6f616ac244334064c4c56d391c23eb42a7ce6 YBFDF807MNW50GTQYW9CNCQ2TVQEJZN7C2Q8AHKTGY8QPBC3PR2G +MR-STOR-0155 dsm::route_chain::CompletionProof android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_completion_proof_is_the_chain_through_its_third_link - CONFORMANCE §8 MR-STOR-0155 (Met) K0DRDYBM3RW1K5YAV4SZEYHQHDEGJMZR15ZZJ8AW5CPQGBZ3GE80 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/CompletionProof# RSXQ0ZPXPC9M0D8Z4FETVJ097AJ02WE5FCJQRVETRBX329321N70 XKYSFP1CVJEJT8FR40G66M5Z3ZPTXAB5REVDCQBK8B6Y63D6BBD0 83b6f616ac244334064c4c56d391c23eb42a7ce6 9GZCKSMHSJDEC7CKBZGSJZCDGR234CD4Q13CQQC6FQWG6VVKCD50 +MR-STOR-0155 dsm::route_chain::completion_proof android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::a_completion_proof_is_the_chain_through_its_third_link - CONFORMANCE §8 MR-STOR-0155 (Met) 0T2Q8DY4CHBS0WWNZC77V4WVEV4JSE6XW3T34VS7EBAWM0K5Q0H0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/completion_proof(). TJ5HCD143WSHXQR7EVA4B0F9YR585WGJ10GPNK47C8B75VSKD3W0 XKYSFP1CVJEJT8FR40G66M5Z3ZPTXAB5REVDCQBK8B6Y63D6BBD0 83b6f616ac244334064c4c56d391c23eb42a7ce6 GSND1FG75D2HR1M284F01RPB17VQN72VGGNW468W1BDNA0HJYDZG +MR-STOR-0156 dsm::route_chain::check_completion_proof node MUST_REACH active dsm_storage_node::main dsm::route_chain::tests::a_completion_proof_is_checked_against_the_seats - CONFORMANCE §8 MR-STOR-0156 (Partial) 2MDZMNWNC0GTPQ08X8FAKDBY8S2AXYJ5YRFXFBYE44XW27J3H1J0 Partial WIRING_GAP dead:DEAD_NO_ROOT_PATH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/check_completion_proof(). ES991RZA5VC7969ZY34FTFEWY6A7HH7HZ82S6J6PJM3ZBAMGF360 YTB206Z1F8GSY1JS0MFKV5TZNX27TA92M4CGGTQAPAJDJT5YCCXG 83b6f616ac244334064c4c56d391c23eb42a7ce6 N6GAEE4XKYMGDF2MQ2FHH2H7S2AB2HD992GSK73NTD3P2395JAE0 +MR-STOR-0157 dsm::route_chain::completion_digest android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::route_chain::tests::the_completion_digest_is_the_proofs_fields - CONFORMANCE §8 MR-STOR-0157 (Met) P4ZJE18GRQ68NXVMXW4ZCJ98T5CA0F12R33NCD45YMGYP63TMBJG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 route_chain/completion_digest(). H7SZY5PDV13FEJ564KR9NAJVF81A7YQF5AERFYYNVB8YEH4Q2M4G AX11NYW5J8XW85S45S7JFMBZWF87H5N1AGSTYPRCQ2DPH8ZBX8C0 83b6f616ac244334064c4c56d391c23eb42a7ce6 Y3K2VKRWXVMMEEWKF69K5VFE8RJTMVEMBJDPMEKXB0701K5GNTG0 +MR-STOR-0158 dsm_sdk::sdk::route_seats::keep_completion android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-STOR-0158 (Partial) 0W34W90DA5WN7Z4VDQWBBP3YKWSQBAR81KM9746PDABBTTYVZBZ0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/route_seats/keep_completion(). MEXB1XXTJ4TCZMJSGTZK00Y6KBR1CENP24DQWF9GBYBS9S0YD940 - 83b6f616ac244334064c4c56d391c23eb42a7ce6 Q4FQPCAM94HEDN90S1XMA490BWYHPDEY3QHA706H7HTNQC0JEW7G +MR-STOR-0158 dsm_sdk::storage::client_db::completion_proofs::keep android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress - - CONFORMANCE §8 MR-STOR-0158 (Partial) QXXEMBAGENZJ4BWK4FNXZFM6Q1RV825XY41PSNJT72EEGDG535S0 Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 storage/client_db/completion_proofs/keep(). DP1944EPVT7ZZ4EN001Y0683JACQRF7MW1JST9A5WYNN2AEM64E0 - 83b6f616ac244334064c4c56d391c23eb42a7ce6 KCFAWJ8Q36VVARMADX8TNAB819CH5PDP6DF9T90QBMM0WX5RQ3W0