diff --git a/dsm_client/deterministic_state_machine/dsm/src/ccb/mod.rs b/dsm_client/deterministic_state_machine/dsm/src/ccb/mod.rs index 224ef71e6..9c4542fe3 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/ccb/mod.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/ccb/mod.rs @@ -243,6 +243,22 @@ pub mod class { /// trader's signature over it, under a key the claim's own `AttA` binds /// to its `DevID` (DSM Amendment A10, SoFi Amendment S20). pub const SOFI_SIGNED_RESOLUTION_CLAIM: u16 = 0x0062; + /// `0x0063` — an escrow vault's terms (SoFi Amendment S21): the held + /// token, the external commitment `Y`, and the branches, each an outcome, + /// the exact signer set that decides it, and the identity it pays. The + /// three policy slots of an escrow vault's state name this object. + pub const ESCROW_TERMS: u16 = 0x0063; + /// `0x0064` — a verdict on an external commitment (SoFi Amendment S21): + /// `Y`, the outcome table, the outcome, and its signers' signatures over + /// the statement for the verdict cell. It occupies the cell only when it + /// proves its own authority from these bytes. + pub const ESCROW_VERDICT: u16 = 0x0064; + /// `B°`, the Release branch (SoFi Amendment S21): an escrow vault's whole + /// amount to the recipient of the branch whose outcome the canonical + /// verdict names. + pub const SOFI_SETTLEMENT_RELEASE: u16 = 0x0065; + /// `X_route` preimage branch: a release. + pub const SOFI_ROUTE_DIGEST_RELEASE: u16 = 0x0066; } /// Discriminants **allocated but not encodable** — see [`class`] for the ones diff --git a/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/dsm/misc/escrow.rs b/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/dsm/misc/escrow.rs new file mode 100644 index 000000000..5d2e29229 --- /dev/null +++ b/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/dsm/misc/escrow.rs @@ -0,0 +1,58 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 + +//! DSM namespace tags: escrow vaults (SoFi Amendment S21). +//! +//! An escrow vault is a SoFi vault whose terms are a set of precommitted +//! branches, released by the canonical verdict on an external commitment +//! `Y = H(DSM/external/v1 ‖ X)` (Explainer §60). The derivations live in +//! `crate::sofi::escrow`; this file only allocates the domains. + +use crate::crypto::domain::TaggedHashDomain; + +/// `Y = H(DSM/external/v1 ‖ X)` — an external commitment (Explainer §60). +/// DSM never reads `X`; it verifies only predicates bound to `Y`. +pub const TAG_DSM_EXTERNAL: TaggedHashDomain<'static> = crate::tagged_domain!(b"DSM/external/v1"); +/// `A_T = immutable_addr(tag, CCB(EscrowTerms))` — the address an escrow +/// vault's three policy slots name. +pub const TAG_DSM_ESCROW_TERMS_OBJECT: TaggedHashDomain<'static> = + crate::tagged_domain!(b"DSM/escrow/terms-object/v1"); +/// `τ = H(tag ‖ u8(|O|) ‖ entries)` — the outcome table: each outcome with the +/// exact signer set that decides it. +pub const TAG_DSM_ESCROW_OUTCOME_TABLE: TaggedHashDomain<'static> = + crate::tagged_domain!(b"DSM/escrow/outcome-table/v1"); +/// `K_verdict = H(tag ‖ Y ‖ τ)` — the one cell every vault bound to `Y` under +/// table `τ` settles against. +pub const TAG_DSM_ESCROW_VERDICT_CELL: TaggedHashDomain<'static> = + crate::tagged_domain!(b"DSM/escrow/verdict-cell/v1"); +/// `s_verdict = H(tag ‖ K_verdict)` — the seed of the verdict cell's route. +pub const TAG_DSM_ESCROW_VERDICT_SEED: TaggedHashDomain<'static> = + crate::tagged_domain!(b"DSM/escrow/verdict-seed/v1"); +/// `m(o) = H(tag ‖ K_verdict ‖ u32be(|o|) ‖ o)` — what a signer signs to +/// decide outcome `o` at the cell. +pub const TAG_DSM_ESCROW_STATEMENT: TaggedHashDomain<'static> = + crate::tagged_domain!(b"DSM/escrow/statement/v1"); +/// `immutable_addr(tag, CCB(EscrowVerdict))` — a gathered verdict, put as an +/// object while its signers' signatures are collected. +pub const TAG_DSM_ESCROW_VERDICT_OBJECT: TaggedHashDomain<'static> = + crate::tagged_domain!(b"DSM/escrow/verdict-object/v1"); +/// `H(tag ‖ K_verdict)` — where the genesis of every escrow vault bound to a +/// verdict cell is indexed. +pub const TAG_DSM_ESCROW_CELL_LOCATOR: TaggedHashDomain<'static> = + crate::tagged_domain!(b"DSM/escrow/cell-locator/v1"); +/// `H(tag ‖ K_verdict ‖ u32be(|o|) ‖ o)` — where gathered signatures deciding +/// outcome `o` at a cell are indexed. +pub const TAG_DSM_ESCROW_STATEMENT_LOCATOR: TaggedHashDomain<'static> = + crate::tagged_domain!(b"DSM/escrow/statement-locator/v1"); + +#[cfg(test)] +pub(crate) const ESCROW_TAGS: &[TaggedHashDomain<'static>] = &[ + TAG_DSM_EXTERNAL, + TAG_DSM_ESCROW_TERMS_OBJECT, + TAG_DSM_ESCROW_OUTCOME_TABLE, + TAG_DSM_ESCROW_VERDICT_CELL, + TAG_DSM_ESCROW_VERDICT_SEED, + TAG_DSM_ESCROW_STATEMENT, + TAG_DSM_ESCROW_VERDICT_OBJECT, + TAG_DSM_ESCROW_CELL_LOCATOR, + TAG_DSM_ESCROW_STATEMENT_LOCATOR, +]; diff --git a/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/dsm/misc/mod.rs b/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/dsm/misc/mod.rs index 967624b06..9d1ba65d2 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/dsm/misc/mod.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/dsm/misc/mod.rs @@ -10,6 +10,7 @@ use crate::crypto::domain::TaggedHashDomain; mod addressing; mod connect; mod economic; +mod escrow; mod protocol; mod sofi; mod testing; @@ -18,6 +19,7 @@ mod token_ops; pub use addressing::*; pub use connect::*; pub use economic::*; +pub use escrow::*; pub use protocol::*; pub use sofi::*; pub use testing::*; @@ -30,6 +32,12 @@ pub(super) fn sofi_tags() -> &'static [TaggedHashDomain<'static>] { sofi::SOFI_TAGS } +/// The escrow-vault tags (SoFi Amendment S21), collected the same way. +#[cfg(test)] +pub(super) fn escrow_tags() -> &'static [TaggedHashDomain<'static>] { + escrow::ESCROW_TAGS +} + #[cfg(test)] #[cfg(test)] pub(super) const TAGS: &[TaggedHashDomain<'static>] = &[ diff --git a/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/dsm/mod.rs b/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/dsm/mod.rs index d59a60c2e..4ca5973b0 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/dsm/mod.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/common/domain_tags/dsm/mod.rs @@ -33,6 +33,7 @@ pub(super) fn all_tags() -> Vec> { tags.extend_from_slice(genesis_identity::TAGS); tags.extend_from_slice(misc::TAGS); tags.extend_from_slice(misc::sofi_tags()); + tags.extend_from_slice(misc::escrow_tags()); tags.extend_from_slice(policy_registry::TAGS); tags.extend_from_slice(recovery::TAGS); tags.extend_from_slice(vault_dbtc::TAGS); 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 38efec078..eeb02bd85 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 @@ -176,7 +176,9 @@ mod tests { // +6 with a Web2 application connected to a wallet (DSM Amendment A11): // the offer, its digest, the accept, the session id, the request and the // response. The endpoint's certificate pin is the TLS certificate hash. - const EXPECTED_TAG_COUNT: usize = 359; + // +9 with escrow vaults (SoFi Amendment S21): `DSM/external/v1` and the + // eight `DSM/escrow/*` domains. + const EXPECTED_TAG_COUNT: usize = 368; /// 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 bdcd77762..a0281a4f3 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/core/bridge.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/core/bridge.rs @@ -597,7 +597,12 @@ pub fn handle_envelope_universal(env_bytes: &[u8]) -> Vec { | gp::envelope::Payload::SofiPositionResponse(_) | gp::envelope::Payload::SofiRelayResponse(_) | gp::envelope::Payload::SofiVaultsResponse(_) - | gp::envelope::Payload::ConnectReply(_), + | gp::envelope::Payload::ConnectReply(_) + | gp::envelope::Payload::EscrowPartyResponse(_) + | gp::envelope::Payload::EscrowCreatedResponse(_) + | gp::envelope::Payload::EscrowSignedResponse(_) + | gp::envelope::Payload::EscrowVerdictResponse(_) + | gp::envelope::Payload::EscrowVaultsResponse(_), ) => 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/classifier.rs b/dsm_client/deterministic_state_machine/dsm/src/economic/classifier.rs index 8059676f7..674340e03 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/economic/classifier.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/economic/classifier.rs @@ -118,7 +118,7 @@ pub fn classify(operation: &Operation) -> EconomicEffect { // Creation debits the funding into a vault's reserves, and a // fulfillment commits the trader's position: both move value under a // write set fixed by the operation's own preimage. - SofiVaultCreate { .. } | SofiFulfill { .. } => ClosedWriteSet, + SofiVaultCreate { .. } | SofiFulfill { .. } | EscrowVaultCreate { .. } => ClosedWriteSet, } } 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 1e055fcf6..701121117 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 @@ -374,6 +374,57 @@ pub fn peer_root_at( Ok((point.root, accepted)) } +/// The claim a peer's lineage accepted AT `position` (SoFi Amendment S15, +/// MR-SOFI-0347): what a setup naming that position is checked against. The +/// segment from this receiver's frontier is validated in full as a payer's +/// is, and `position` itself as its last step, or, when its claim is +/// conditional, resolved through `conditional` exactly as an interior +/// position is. A trader's setup made right after a SoFi position names the +/// claim that position's resolution accepted, so a conditional position is a +/// claim to resolve here, never a refusal. Nothing is recorded. +pub fn peer_claim_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 { + if position == 0 { + return Err(invalid( + "position 0 is the activation root: no claim was accepted there", + )); + } + 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), + sources_reached: std::cell::RefCell::new(Vec::new()), + }; + let frontier = verifier.frontier_below(peer_genesis, peer_devid, position)?; + let point = verifier.chain_through(peer_genesis, peer_devid, &frontier, position - 1)?; + verifier.spend_step()?; + match verifier.final_claim(peer_genesis, peer_devid, position, &point.root)? { + RegisteredEconomicClaim::SingleRoot(claim) => Ok(*verifier + .full_step( + peer_genesis, + peer_devid, + position, + &point, + &claim, + StepRole::Segment, + )? + .accepted_claim()), + RegisteredEconomicClaim::ConditionalSofi(held) => verifier + .resolve_conditional(peer_genesis, peer_devid, position, &point, &held) + .map(|(_, accepted)| 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 { @@ -741,6 +792,26 @@ impl Verifier<'_> { point: &ChainPoint, held: &SofiResolutionClaim, ) -> Result { + let (root, _) = self.resolve_conditional(genesis, device_id, position, point, held)?; + Ok(ChainPoint { + root, + accepted: Some(ParentClaimRef::Conditional { + fulfillment_id: held.fulfillment_id, + }), + }) + } + + /// The root a conditional position selected and the claim accepted + /// there, as the resolver derives them, held to this position of this + /// peer. + fn resolve_conditional( + &self, + genesis: &[u8; 32], + device_id: &[u8; 32], + position: u64, + point: &ChainPoint, + held: &SofiResolutionClaim, + ) -> Result<(ValidatedEconomicRoot, AcceptedClaim), PeerLineageFailure> { let parent = point.accepted.as_ref().ok_or_else(|| { invalid(format!( "position {position}: a conditional position cannot follow the activation root, \ @@ -765,12 +836,7 @@ impl Verifier<'_> { accepted.economic_position() ))); } - Ok(ChainPoint { - root, - accepted: Some(ParentClaimRef::Conditional { - fulfillment_id: held.fulfillment_id, - }), - }) + Ok((root, accepted)) } /// One step validated in full from its own evidence: the transition that @@ -1458,6 +1524,35 @@ mod tests { assert!(!matches!(err, PeerLineageFailure::Incomplete(_))); } + /// SoFi Amendment S15, MR-SOFI-0347: a setup made right after a SoFi + /// position names the claim that position's resolution accepted, so the + /// claim at a conditional position is asked of the resolver, never + /// refused as a payer's conditional target is. With no resolution in + /// hand the answer is the resolver's own, in its class. + #[test] + fn the_claim_at_a_conditional_position_is_asked_of_its_resolution() { + let position = 4; + let fetcher = ConditionalCellFetcher { + position, + writes: vec![peer_c_q(conditional_claim(position))], + last: crate::route_chain::ROUTE_LEN - 1, + }; + match peer_claim_at( + &fetcher, + NETWORK, + &PEER_G, + &peer_d(), + position, + &Recorded::below(position), + &NoResolution, + ) { + Err(PeerLineageFailure::Incomplete(why)) => { + assert!(why.contains("no conditional resolution"), "{why}") + } + other => panic!("the resolver answers for a conditional position, not {other:?}"), + } + } + /// A claim naming other coordinates never holds the root cell (storage /// spec §9 rule 3): only a claim whose own coordinates derive `K_root(q)` /// is recognized there, so a foreign claim written first blocks nothing, diff --git a/dsm_client/deterministic_state_machine/dsm/src/economic/write_set.rs b/dsm_client/deterministic_state_machine/dsm/src/economic/write_set.rs index 5804bdbbe..9b1fde6c2 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/economic/write_set.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/economic/write_set.rs @@ -107,6 +107,12 @@ pub enum WriteSetError { /// non-canonical or duplicate legs, a zero leg, a vault id that is not /// 32 bytes, or a generation step that is not exactly one. MalformedVaultOperation { detail: &'static str }, + /// An escrow vault creation carries an object that does not decode: the + /// object, and why (SoFi Amendment S21). + MalformedEscrowObject { + object: &'static str, + reason: String, + }, /// A mutation or state constructor refused (zero-amount leaf, sibling /// arity, ...) — carried through from the CCB layer. Ccb(String), @@ -157,6 +163,10 @@ impl core::fmt::Display for WriteSetError { Self::MalformedVaultOperation { detail } => { write!(f, "the DLV operation cannot state a write set: {detail}") } + Self::MalformedEscrowObject { object, reason } => write!( + f, + "the escrow vault creation's {object} is not canonical: {reason}" + ), Self::Ccb(e) => write!(f, "write set: {e}"), } } @@ -270,6 +280,14 @@ enum SemanticWriteSet { leg_b: ([u8; 32], u64), creation: crate::sofi::wire::VaultCreation, }, + /// `EscrowVaultCreate` (SoFi Amendment S21): one balance debit, the + /// stake of the one token the terms name, and the creation record + /// inserted FROM ZERO, as ONE write set. + EscrowVaultCreate { + vault_id: [u8; 32], + stake: ([u8; 32], u64), + creation: crate::sofi::wire::VaultCreation, + }, /// `CreateToken` (SoFi §51, Amendment S8): the ERA fee debit, the /// creator's credit of the new token's whole genesis supply, and the /// creation record inserted FROM ZERO, as ONE write set. The credit's @@ -565,6 +583,21 @@ fn semantic_write_set( creation: record, }) } + // An ESCROW creation (SoFi Amendment S21): the same bindings as a + // market's, its stake the one debit, and the terms the ones all three + // of the genesis state's slots name. + Operation::EscrowVaultCreate { + genesis_preimage, + creation, + terms, + .. + } => escrow_creation_write_set( + genesis_preimage, + creation, + terms, + (local_genesis, local_devid), + economic_position, + ), other => match crate::economic::classifier::classify(other) { crate::economic::classifier::EconomicEffect::UnsupportedValueTransition => { Err(WriteSetError::UnsupportedValueTransition) @@ -574,6 +607,99 @@ fn semantic_write_set( } } +/// The write set of an escrow vault's creation (SoFi Amendment S21), every +/// conjunct a separate reason to refuse: the preimage is the owner's own and +/// agrees with itself, `p_create` is the position the operation lands at, +/// `R_0` is derived, the record names the vault the preimage derives and funds +/// exactly its stake, and the carried terms are the object all three of the +/// genesis state's slots name, whose token is the one debited. +fn escrow_creation_write_set( + genesis_preimage: &[u8], + creation: &[u8], + terms: &[u8], + (local_genesis, local_devid): (&[u8; 32], &[u8; 32]), + economic_position: u64, +) -> Result { + let malformed = |detail| WriteSetError::MalformedVaultOperation { detail }; + let preimage = + crate::sofi::wire::VaultGenesisPreimage::decode(genesis_preimage).map_err(|e| { + WriteSetError::MalformedEscrowObject { + object: "genesis preimage", + reason: e.to_string(), + } + })?; + let record = crate::sofi::wire::VaultCreation::decode(creation).map_err(|e| { + WriteSetError::MalformedEscrowObject { + object: "creation record", + reason: e.to_string(), + } + })?; + let parsed = crate::sofi::wire::EscrowTerms::decode(terms).map_err(|e| { + WriteSetError::MalformedEscrowObject { + object: "terms", + reason: e.to_string(), + } + })?; + if preimage.owner_genesis != *local_genesis || preimage.owner_device_id != *local_devid { + return Err(malformed("a creation debits its own owner's balances")); + } + let state = &preimage.state; + if state.owner_genesis != preimage.owner_genesis + || state.owner_device_id != preimage.owner_device_id + || state.create_position != preimage.create_position + { + return Err(malformed( + "the genesis state names different owner coordinates than the preimage it sits in", + )); + } + if preimage.create_position != economic_position { + return Err(malformed( + "the creation names a position other than the one it lands at", + )); + } + let vault_id = preimage.vault_id(); + if record.vault_id != vault_id { + return Err(malformed( + "the creation record names another vault than the preimage derives", + )); + } + // The stake IS the genesis reserve, held in `reserve_a`; an escrow vault + // holds nothing else. + if record.amount_a == 0 + || record.amount_a != state.reserve_a + || record.amount_b != 0 + || state.reserve_b != 0 + { + return Err(malformed( + "an escrow creation funds a non-zero stake in reserve_a and nothing else", + )); + } + let derived_root = crate::sofi::lineage::genesis_root(&vault_id, state).map_err(|e| { + WriteSetError::MalformedEscrowObject { + object: "genesis state", + reason: e.to_string(), + } + })?; + if record.genesis_root != derived_root { + return Err(malformed( + "the creation record states a genesis root the state does not derive", + )); + } + // THE TERMS ARE THE ONES ALL THREE SLOTS NAME, re-addressed before + // anything is read out of them. + let addr = crate::sofi::escrow::terms_address_of(terms); + if state.market_policy != addr || state.fee_policy != addr || state.release_policy != addr { + return Err(malformed( + "the carried terms are not the object all three of the genesis state's slots name", + )); + } + Ok(SemanticWriteSet::EscrowVaultCreate { + vault_id, + stake: (*parsed.token(), record.amount_a), + creation: record, + }) +} + fn balance_state( policy_commit: [u8; 32], amount: u64, @@ -791,6 +917,43 @@ pub fn build_write_set( source: None, }); } + // SoFi Amendment S21: the stake's debit and the record, as one write + // set. + SemanticWriteSet::EscrowVaultCreate { + vault_id, + stake, + creation, + } => { + if *facts != CreditSourceFacts::None { + return Err(WriteSetError::FactsDoNotMatchOperation); + } + planned.push(plan_balance_debit( + genesis, + device_id, + pre_balances, + stake.0, + stake.1, + )?); + if creation.vault_id != vault_id { + return Err(WriteSetError::WrongWriteSet { + detail: "the creation record names another vault than the operation", + }); + } + let state = EconomicLeafState::VaultCreation(creation); + let key = state.leaf_key(genesis, device_id); + // Insert-only: a vault id is created once (P15-12). + if tree.get(&key).is_some() { + return Err(WriteSetError::WrongWriteSet { + detail: "a creation record for this vault already exists", + }); + } + planned.push(PlannedLeaf { + key, + pre: None, + post: Some(state), + source: None, + }); + } // SoFi §51: the ERA fee debit and the whole genesis supply credited // to the creator, as one write set. SemanticWriteSet::CreateTokenRelease { fee, release } => { @@ -961,7 +1124,10 @@ pub fn verify_operation_write_set( // a creation record, or a creation carrying a relationship leaf, is // refused here by class. let relationships_legal = matches!(semantic, SemanticWriteSet::SofiSetup { .. }); - let creations_legal = matches!(semantic, SemanticWriteSet::SofiVaultCreate { .. }); + let creations_legal = matches!( + semantic, + SemanticWriteSet::SofiVaultCreate { .. } | SemanticWriteSet::EscrowVaultCreate { .. } + ); let token_creations_legal = matches!(semantic, SemanticWriteSet::CreateTokenRelease { .. }); let mut balances: Vec = Vec::new(); let mut consumed: Vec<(u32, EconomicConsumedSourceState)> = Vec::new(); @@ -1234,6 +1400,46 @@ pub fn verify_operation_write_set( } Ok(()) } + // SoFi Amendment S21: the stake's debit and the record, and nothing + // else. + SemanticWriteSet::EscrowVaultCreate { + vault_id, + stake, + creation, + } => { + if !consumed.is_empty() { + return Err(WriteSetError::WrongWriteSet { + detail: "a creation consumes no external source: it is funded from the \ + owner's own balances", + }); + } + if balances.len() != 1 || creations.len() != 1 || witness.mutations.len() != 2 { + return Err(WriteSetError::WrongWriteSet { + detail: "an escrow creation is exactly one balance debit and one creation \ + record", + }); + } + let observed = expect_one_balance(&balances, stake.0)?; + let expected = + observed + .pre_amount + .checked_sub(stake.1) + .ok_or(WriteSetError::WrongWriteSet { + detail: "the stake's debit underflows the owner's balance", + })?; + if observed.post_amount != expected { + return Err(WriteSetError::WrongWriteSet { + detail: "the debit is not the stake", + }); + } + let (_, c) = &creations[0]; + if *c != creation || c.vault_id != vault_id { + return Err(WriteSetError::WrongWriteSet { + detail: "the creation record is not the one the operation carries", + }); + } + Ok(()) + } // SoFi §51: the fee debit, if any, and the release credit, funded by // the one genesis-release source. The source's arm establishes what // the release funds; this layer pins that the witness is exactly this @@ -1705,3 +1911,220 @@ mod vault_create_binding_tests { ); } } + +#[cfg(test)] +mod escrow_create_binding_tests { + //! An escrow vault's creation (SoFi Amendment S21): each test breaks + //! exactly one binding of a valid creation and names the rule that + //! refuses it. + use super::*; + use crate::economic::tree::EconomicSmt; + use crate::sofi::wire::{ + EscrowBranch, EscrowOutcome, EscrowSigner, EscrowTerms, VaultCreation, + VaultGenesisPreimage, VaultStateLeaf, VAULT_STATUS_ACTIVE, + }; + + const G: [u8; 32] = [0x11; 32]; + const DEV: [u8; 32] = [0x22; 32]; + const POS: u64 = 7; + const STAKE: u64 = 2_500; + const TOKEN: [u8; 32] = [0x40; 32]; + + fn terms() -> EscrowTerms { + let referee = EscrowSigner::new(crate::ccb::sigalg::SPHINCS_PLUS_SPX256F, &[0x5A; 64]) + .expect("a declared key"); + EscrowTerms::new( + TOKEN, + crate::sofi::escrow::external_commitment(b"a match"), + vec![EscrowBranch::new( + EscrowOutcome::new(b"void", vec![referee]).expect("an outcome"), + G, + DEV, + )], + ) + .expect("terms") + } + + /// The genesis state of an escrow vault whose slots all name `addr`. + fn state(addr: [u8; 32]) -> VaultStateLeaf { + VaultStateLeaf { + owner_genesis: G, + owner_device_id: DEV, + create_position: POS, + market_policy: addr, + fee_policy: addr, + release_policy: addr, + storage_set_id: [0x77; 32], + generation: 0, + reserve_a: STAKE, + reserve_b: 0, + status: VAULT_STATUS_ACTIVE, + } + } + + /// The creation from its parts, with the record funding `amounts` and the + /// record's root and vault the ones the preimage derives. + fn op_from(state: &VaultStateLeaf, terms_bytes: &[u8], amounts: (u64, u64)) -> Operation { + let preimage = VaultGenesisPreimage { + owner_genesis: G, + owner_device_id: DEV, + create_position: POS, + state: state.clone(), + }; + let vault_id = preimage.vault_id(); + let creation = VaultCreation { + vault_id, + genesis_root: crate::sofi::lineage::genesis_root(&vault_id, state).expect("a root"), + amount_a: amounts.0, + amount_b: amounts.1, + }; + Operation::EscrowVaultCreate { + genesis_preimage: preimage.encode().expect("a preimage"), + creation: creation.encode(), + terms: terms_bytes.to_vec(), + signature: vec![0xA1; 8], + } + } + + fn good() -> Operation { + let t = terms(); + op_from( + &state(crate::sofi::escrow::terms_address(&t)), + &t.encode(), + (STAKE, 0), + ) + } + + fn refusal(op: &Operation) -> String { + match semantic_write_set(op, &G, &DEV, POS) { + Err(e) => e.to_string(), + Ok(_) => panic!("expected a refusal, got a write set"), + } + } + + #[test] + fn an_escrow_creation_debits_its_stake_and_inserts_its_record() { + let op = good(); + assert_eq!( + crate::economic::classifier::classify(&op), + crate::economic::classifier::EconomicEffect::ClosedWriteSet + ); + let Ok(SemanticWriteSet::EscrowVaultCreate { + stake, creation, .. + }) = semantic_write_set(&op, &G, &DEV, POS) + else { + panic!("a valid escrow creation has a write set") + }; + assert_eq!( + stake, + (TOKEN, STAKE), + "the one debit is the stake of the terms' token" + ); + assert_eq!((creation.amount_a, creation.amount_b), (STAKE, 0)); + + // The witness the producer builds: the stake leaves the owner's + // balance and the record is inserted from nothing, and that is all. + let balances = BTreeMap::from([(TOKEN, STAKE + 40)]); + let mut tree = EconomicSmt::new(); + tree.insert( + crate::economic::keys::balance_key(&G, &DEV, &TOKEN), + EconomicLeafState::Balance(crate::economic::state::EconomicBalanceState { + policy_commit: TOKEN, + amount: STAKE + 40, + }) + .leaf_value() + .expect("a leaf"), + ); + let built = build_write_set( + &op, + &G, + &DEV, + &[0x0E; 32], + &EconomicPreState::new(&balances, POS), + &mut tree, + &CreditSourceFacts::None, + ) + .expect("a write set"); + assert_eq!(built.mutations.len(), 2); + let posts: Vec<&Option> = + built.mutations.iter().map(|m| &m.post_state).collect(); + assert!(posts.iter().any(|p| matches!( + p, + Some(EconomicLeafState::Balance(b)) if b.policy_commit == TOKEN && b.amount == 40 + ))); + assert!(posts.iter().any( + |p| matches!(p, Some(EconomicLeafState::VaultCreation(c)) if c.amount_a == STAKE) + )); + } + + #[test] + fn terms_other_than_the_ones_all_three_slots_name_are_refused() { + let t = terms(); + let addr = crate::sofi::escrow::terms_address(&t); + // Carried terms that are another object than the slots name. + let other = EscrowTerms::new([0x41; 32], *t.external_commitment(), t.branches().to_vec()) + .expect("terms"); + let op = op_from(&state(addr), &other.encode(), (STAKE, 0)); + assert!(refusal(&op).contains("all three of the genesis state's slots")); + // One slot naming something else is not an escrow vault. + let one_off = VaultStateLeaf { + fee_policy: [0x0F; 32], + ..state(addr) + }; + let op = op_from(&one_off, &t.encode(), (STAKE, 0)); + assert!(refusal(&op).contains("all three of the genesis state's slots")); + } + + #[test] + fn terms_that_do_not_decode_are_refused_by_name() { + let garbage = b"not escrow terms".to_vec(); + let op = op_from( + &state(crate::sofi::escrow::terms_address_of(&garbage)), + &garbage, + (STAKE, 0), + ); + assert!(matches!( + semantic_write_set(&op, &G, &DEV, POS), + Err(WriteSetError::MalformedEscrowObject { + object: "terms", + .. + }) + )); + } + + #[test] + fn a_creation_funding_anything_but_its_stake_is_refused() { + let t = terms(); + let addr = crate::sofi::escrow::terms_address(&t); + let rule = "funds a non-zero stake in reserve_a and nothing else"; + // A record that funds less than the reserve. + assert!(refusal(&op_from(&state(addr), &t.encode(), (STAKE - 1, 0))).contains(rule)); + // A second reserve. + let two = VaultStateLeaf { + reserve_b: 5, + ..state(addr) + }; + assert!(refusal(&op_from(&two, &t.encode(), (STAKE, 5))).contains(rule)); + // No stake at all. + let empty = VaultStateLeaf { + reserve_a: 0, + ..state(addr) + }; + assert!(refusal(&op_from(&empty, &t.encode(), (0, 0))).contains(rule)); + } + + #[test] + fn a_creation_at_another_position_or_by_another_owner_is_refused() { + let op = good(); + assert!(matches!( + semantic_write_set(&op, &G, &DEV, POS + 1), + Err(WriteSetError::MalformedVaultOperation { detail }) + if detail.contains("position other than the one it lands at") + )); + assert!(matches!( + semantic_write_set(&op, &G, &[0x23; 32], POS), + Err(WriteSetError::MalformedVaultOperation { detail }) + if detail.contains("its own owner's balances") + )); + } +} 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 817edea7a..07fe92cca 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/sofi/derive.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/sofi/derive.rs @@ -391,6 +391,12 @@ pub fn canonical_legs(preimage: &SettlementPreimage) -> Result (*vault_id, *parent_root, *setup_ref), }; return Ok(vec![RouteLegEntry { @@ -414,7 +420,7 @@ pub fn canonical_legs(preimage: &SettlementPreimage) -> Result { + SettlementBody::Close { .. } | SettlementBody::Release { .. } => { return Err(SofiWireError::Cardinality { field: "close legs", min: 1, diff --git a/dsm_client/deterministic_state_machine/dsm/src/sofi/escrow.rs b/dsm_client/deterministic_state_machine/dsm/src/sofi/escrow.rs new file mode 100644 index 000000000..26813d139 --- /dev/null +++ b/dsm_client/deterministic_state_machine/dsm/src/sofi/escrow.rs @@ -0,0 +1,1071 @@ +// SPDX-License-Identifier: Apache-2.0 + +//! Escrow vaults (SoFi §19.9, Amendment S21): the derivations, the verdict +//! cell, and what occupies it. +//! +//! An escrow vault is a SoFi vault whose three policy slots name one +//! [`EscrowTerms`] object. It releases its whole amount once, by a Release +//! position of the branch's recipient, when the canonical verdict on its +//! external commitment `Y` names that branch's outcome. Every vault whose +//! terms name `Y` and the same outcome table `τ` is bound to one cell, +//! `K_verdict = H(DSM/escrow/verdict-cell/v1 ‖ Y ‖ τ)`, and the first verdict +//! at that cell's leader that proves its own authority from its own bytes is +//! the only one any of them settles against. A second verdict, even one +//! validly signed by the same signers for another outcome, never becomes the +//! cell's value. +//! +//! Nothing here knows what an application's commitment means: `X` is never +//! read, only `Y`. + +use crate::common::domain_tags::{ + TAG_DSM_ESCROW_CELL_LOCATOR, TAG_DSM_ESCROW_OUTCOME_TABLE, TAG_DSM_ESCROW_STATEMENT, + TAG_DSM_ESCROW_STATEMENT_LOCATOR, TAG_DSM_ESCROW_TERMS_OBJECT, TAG_DSM_ESCROW_VERDICT_CELL, + TAG_DSM_ESCROW_VERDICT_SEED, TAG_DSM_EXTERNAL, +}; +use crate::crypto::blake3::dsm_domain_hasher; +use crate::crypto::domain::TaggedHashDomain; +use crate::route_chain::{ + completion_proof, evaluate, CellError, CellEvidence, CellFact, CellReading, ChainState, + CompletionProof, Missing, RoutedCell, +}; +use crate::storage_object::immutable_addr; + +use super::signature::{verify_bytes, SignatureError}; +use super::wire::{EscrowSigner, EscrowTerms, EscrowVerdict, OutcomeTable, VerdictSignature}; + +type D32 = [u8; 32]; + +fn h(tag: TaggedHashDomain<'static>, parts: &[&[u8]]) -> D32 { + let mut hasher = dsm_domain_hasher(tag); + for p in parts { + hasher.update(p); + } + *hasher.finalize().as_bytes() +} + +// ── derivations ──────────────────────────────────────────────────────────── + +/// `Y = H(DSM/external/v1 ‖ X)` (Explainer §60). DSM never reads `X`. +pub fn external_commitment(x: &[u8]) -> D32 { + h(TAG_DSM_EXTERNAL, &[x]) +} + +/// `A_T = immutable_addr(DSM/escrow/terms-object/v1, CCB(EscrowTerms))`: what +/// an escrow vault's three policy slots name. +pub fn terms_address(terms: &EscrowTerms) -> D32 { + terms_address_of(&terms.encode()) +} + +/// The address `bytes` take as escrow terms. Bytes that do not re-derive the +/// address a vault names are not its terms. +pub fn terms_address_of(bytes: &[u8]) -> D32 { + immutable_addr(TAG_DSM_ESCROW_TERMS_OBJECT, bytes) +} + +/// `τ = H(DSM/escrow/outcome-table/v1 ‖ u8(|O|) ‖ entries)`. +pub fn table_digest(table: &OutcomeTable) -> D32 { + h(TAG_DSM_ESCROW_OUTCOME_TABLE, &[&table.digest_preimage()]) +} + +/// `K_verdict = H(DSM/escrow/verdict-cell/v1 ‖ Y ‖ τ)`. +pub fn verdict_cell_key(external_commitment: &D32, table_digest: &D32) -> D32 { + h( + TAG_DSM_ESCROW_VERDICT_CELL, + &[external_commitment, table_digest], + ) +} + +/// The verdict cell an escrow vault's terms bind it to. +pub fn verdict_cell_of(terms: &EscrowTerms) -> D32 { + verdict_cell_key( + terms.external_commitment(), + &table_digest(&terms.outcome_table()), + ) +} + +/// `s_verdict = H(DSM/escrow/verdict-seed/v1 ‖ K_verdict)`: the seed of the +/// verdict cell's route, so a reader that knows only the key finds its +/// leader. +pub fn verdict_seed(verdict_cell: &D32) -> D32 { + h(TAG_DSM_ESCROW_VERDICT_SEED, &[verdict_cell]) +} + +/// `m(o) = H(DSM/escrow/statement/v1 ‖ K_verdict ‖ u32be(|o|) ‖ o)`: what a +/// signer signs to decide outcome `o` at the cell. It names the cell and no +/// vault, so a signature decides nothing anywhere else, and one signature +/// serves every vault bound to the cell. +pub fn statement(verdict_cell: &D32, outcome: &[u8]) -> D32 { + // An outcome is at most ESCROW_MAX_OUTCOME_BYTES long. + let len = (outcome.len() as u32).to_be_bytes(); + h(TAG_DSM_ESCROW_STATEMENT, &[verdict_cell, &len, outcome]) +} + +/// `H(DSM/escrow/cell-locator/v1 ‖ K_verdict)`: where the genesis of every +/// escrow vault bound to the cell is indexed. Discovery by cell, so a vault +/// bound to another cell is never found among the linked ones. +pub fn cell_locator(verdict_cell: &D32) -> D32 { + h(TAG_DSM_ESCROW_CELL_LOCATOR, &[verdict_cell]) +} + +/// `H(DSM/escrow/statement-locator/v1 ‖ K_verdict ‖ u32be(|o|) ‖ o)`: where +/// gathered signatures deciding outcome `o` at the cell are indexed. +pub fn statement_locator(verdict_cell: &D32, outcome: &[u8]) -> D32 { + let len = (outcome.len() as u32).to_be_bytes(); + h( + TAG_DSM_ESCROW_STATEMENT_LOCATOR, + &[verdict_cell, &len, outcome], + ) +} + +// ── signing and recognition ──────────────────────────────────────────────── + +/// One signer's signature over `m(outcome)` for the cell. The producer half +/// of [`verdict_authority`]: what a signer contributes to a verdict. +pub fn sign_statement( + signer: &EscrowSigner, + secret_key: &[u8], + verdict_cell: &D32, + outcome: &[u8], +) -> Result { + let digest = statement(verdict_cell, outcome); + let signature = crate::crypto::sphincs::sphincs_sign(secret_key, &digest)?; + // Refuse a key that does not sign as the signer it names: a contribution + // that would never verify is not one. + verify_bytes( + "EscrowStatement", + signer.signature_alg(), + signer.public_key(), + &digest, + &signature, + )?; + VerdictSignature::new(signer.clone(), &signature) + .map_err(|e| crate::types::error::DsmError::invalid_operation(e.to_string())) +} + +/// Why a verdict does not occupy a cell. Every variant is decided from the +/// verdict's own bytes and the cell's key. +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum VerdictRefusal { + /// The bytes are not a canonical `EscrowVerdict`. + DoesNotDecode(crate::ccb::decode::DecodeError), + /// Its `Y` and table derive another cell. + NotThisCell, + /// Its outcome is not a label of its table. + OutcomeNotInTable, + /// Its signers are not exactly the signers its table assigns to the + /// outcome: one is missing, or one is not among them. + NotTheOutcomesSigners, + /// A signature does not verify over the statement for this cell. + Signature(SignatureError), + /// A gathered verdict for another outcome than the one being gathered. + AnotherOutcome, + /// The signatures in hand form no verdict with canonical bytes: none, or + /// more than an outcome's signers. + NoEncoding(super::wire::SofiWireError), +} + +/// Whether `verdict` proves its own authority for the cell at `verdict_cell` +/// (SoFi §19.9, "What occupies the cell"): +/// 1. its `Y` and table derive the cell; +/// 2. its outcome is a label of the table; +/// 3. its signers are exactly the signers the table assigns to the outcome; +/// 4. every signature verifies over `m(outcome)` under its key. +/// +/// No vault, member or reader's position enters it, so every reader reaches +/// the same answer. At most `ESCROW_MAX_SIGNERS` signatures are verified, +/// and none before the cheap conjuncts hold. +pub fn verdict_authority( + verdict: &EscrowVerdict, + verdict_cell: &D32, +) -> Result<(), VerdictRefusal> { + if verdict_cell_key( + verdict.external_commitment(), + &table_digest(verdict.table()), + ) != *verdict_cell + { + return Err(VerdictRefusal::NotThisCell); + } + let decided_by = verdict + .table() + .signers_of(verdict.outcome()) + .ok_or(VerdictRefusal::OutcomeNotInTable)?; + // Both sides are strictly ascending by the signer's canonical bytes, so + // the sets are equal exactly when the sequences are. + let signed_by: Vec<&EscrowSigner> = verdict.signatures().iter().map(|s| s.signer()).collect(); + if signed_by.len() != decided_by.len() || signed_by.iter().zip(decided_by).any(|(a, b)| *a != b) + { + return Err(VerdictRefusal::NotTheOutcomesSigners); + } + let digest = statement(verdict_cell, verdict.outcome()); + for s in verdict.signatures() { + verify_bytes( + "EscrowVerdict", + s.signer().signature_alg(), + s.signer().public_key(), + &digest, + s.signature(), + ) + .map_err(VerdictRefusal::Signature)?; + } + Ok(()) +} + +/// The verdict `bytes` are, when they prove their own authority for the cell +/// at `verdict_cell`, or why they do not: anything that does not counts as +/// nothing at the cell. +pub fn verdict_occupying( + bytes: &[u8], + verdict_cell: &D32, +) -> Result { + let verdict = EscrowVerdict::decode(bytes).map_err(VerdictRefusal::DoesNotDecode)?; + verdict_authority(&verdict, verdict_cell)?; + Ok(verdict) +} + +/// The signatures a gathered verdict holds for `outcome` at the cell at +/// `verdict_cell`, each from a signer the table assigns to that outcome and +/// verifying over `m(outcome)`; or why the bytes are no gathered verdict for +/// that cell and outcome. Gathering carries no authority: only a verdict +/// recognized at the cell decides anything ([`verdict_authority`]). +pub fn gathered_signatures( + bytes: &[u8], + verdict_cell: &D32, + outcome: &[u8], +) -> Result, VerdictRefusal> { + let verdict = EscrowVerdict::decode(bytes).map_err(VerdictRefusal::DoesNotDecode)?; + if verdict_cell_key( + verdict.external_commitment(), + &table_digest(verdict.table()), + ) != *verdict_cell + { + return Err(VerdictRefusal::NotThisCell); + } + if verdict.outcome() != outcome { + return Err(VerdictRefusal::AnotherOutcome); + } + let decided_by = verdict + .table() + .signers_of(outcome) + .ok_or(VerdictRefusal::OutcomeNotInTable)?; + let digest = statement(verdict_cell, outcome); + let mut kept = Vec::with_capacity(verdict.signatures().len()); + for s in verdict.signatures() { + if !decided_by.contains(s.signer()) { + return Err(VerdictRefusal::NotTheOutcomesSigners); + } + verify_bytes( + "EscrowVerdict", + s.signer().signature_alg(), + s.signer().public_key(), + &digest, + s.signature(), + ) + .map_err(VerdictRefusal::Signature)?; + kept.push(s.clone()); + } + Ok(kept) +} + +/// A verdict on `outcome` from `signatures`, one per signer in canonical +/// order, once they are exactly the signers `table` assigns to `outcome` and +/// the verdict proves its own authority for its cell: what a producer writes +/// to the cell. Fewer signatures than the outcome needs is +/// `NotTheOutcomesSigners`: the gathering is not done. +pub fn assemble_verdict( + external_commitment: D32, + table: OutcomeTable, + outcome: &[u8], + signatures: Vec, +) -> Result { + let mut by_signer: std::collections::BTreeMap, VerdictSignature> = + std::collections::BTreeMap::new(); + for s in signatures { + by_signer.entry(s.signer().canonical()).or_insert(s); + } + let cell = verdict_cell_key(&external_commitment, &table_digest(&table)); + let verdict = EscrowVerdict::new( + external_commitment, + table, + outcome, + by_signer.into_values().collect(), + ) + .map_err(VerdictRefusal::NoEncoding)?; + verdict_authority(&verdict, &cell)?; + Ok(verdict) +} + +// ── the verdict cell ─────────────────────────────────────────────────────── + +/// The verdict cell at `K_verdict` as Core derives it: the key, and the route +/// seeded by `s_verdict` over the network's pinned set. Built only by +/// [`VerdictCell::new`], which refuses members that are not the committed +/// set. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct VerdictCell { + key: D32, + cell: RoutedCell, +} + +impl VerdictCell { + /// `members` must re-derive `committed_set_id`, the storage set the + /// vaults bound to the cell commit (the network's pinned set). + pub fn new( + verdict_cell: &D32, + members: &crate::ccb::StorageSetMembers, + committed_set_id: &D32, + ) -> Result { + let cell = RoutedCell::new( + TAG_DSM_ESCROW_VERDICT_CELL.source_bytes(), + *verdict_cell, + &verdict_seed(verdict_cell), + members, + committed_set_id, + )?; + Ok(Self { + key: *verdict_cell, + cell, + }) + } + + pub fn key(&self) -> &D32 { + &self.key + } + + pub fn routed(&self) -> &RoutedCell { + &self.cell + } +} + +/// Where a Release stands at its verdict cell (SoFi §19.9, "The facts"). +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum VerdictStanding { + /// The cell holds no recognized verdict, or holds one on this outcome + /// whose chain is not final yet: nothing is settled. + Unsettled, + /// `VerdictFinal(K, o)`: the cell's verdict is final on this outcome. + Final, + /// `VerdictHeld(K, o′)` for another outcome, in any state: this outcome + /// can never be the cell's, because the leader holds one value for good. + Lost, +} + +/// What the ladder reads at a verdict cell, bound to the key it was read at: +/// the storage fact, and the verdict holding the cell with its exact bytes. +/// Built by [`verdict_resolution`] over the seats' reads and by nothing +/// else. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct VerdictCellRead { + key: D32, + fact: CellFact, + held: Option<(EscrowVerdict, Vec)>, + passed_over: Vec, +} + +impl VerdictCellRead { + pub fn key(&self) -> &D32 { + &self.key + } + + pub fn fact(&self) -> CellFact { + self.fact + } + + /// The verdict holding the cell, if any. + pub fn verdict(&self) -> Option<&EscrowVerdict> { + self.held.as_ref().map(|(verdict, _)| verdict) + } + + /// The exact bytes of the verdict holding the cell: what a relay carries. + pub fn value(&self) -> Option<&[u8]> { + self.held.as_ref().map(|(_, value)| value.as_slice()) + } + + /// Why each value the leader holds ahead of the one deciding the cell + /// counts as nothing there, in the leader's arrival order: a verdict for + /// another cell, under signers its table does not assign, or with a + /// signature that does not verify. What a reader reports when a cell it + /// expects decided is still open. + pub fn passed_over(&self) -> &[VerdictRefusal] { + &self.passed_over + } + + /// Where a release naming `outcome` stands at this cell. + pub fn standing_for(&self, outcome: &[u8]) -> VerdictStanding { + match (&self.held, self.fact) { + (Some((verdict, _)), CellFact::Held { state, .. }) => { + if verdict.outcome() != outcome { + VerdictStanding::Lost + } else if state == ChainState::Final { + VerdictStanding::Final + } else { + VerdictStanding::Unsettled + } + } + (None, _) | (Some(..), CellFact::Open) => VerdictStanding::Unsettled, + } + } +} + +/// The recognizer of a verdict cell: verdicts that prove their own authority +/// for its key, identified by their statement `m(o)`. Every value it passes +/// over is recorded in `refused` with the reason. +fn verdict_at<'c>( + cell: &'c VerdictCell, + refused: &'c std::cell::RefCell>, +) -> impl Fn(&[u8]) -> Option<(D32, EscrowVerdict)> + 'c { + move |bytes| match verdict_occupying(bytes, &cell.key) { + Ok(verdict) => Some((statement(&cell.key, verdict.outcome()), verdict)), + Err(refusal) => { + refused.borrow_mut().push(refusal); + None + } + } +} + +/// The recognizer of the one verdict a read found holding the cell: its exact +/// bytes. The first copy of those bytes in the leader's log is the first +/// value the read recognized there, so a completion proof built or checked +/// with it is about the same leader link. +fn held_verdict(read: &VerdictCellRead) -> impl Fn(&[u8]) -> Option<(D32, EscrowVerdict)> + '_ { + move |bytes| match &read.held { + Some((verdict, value)) if value.as_slice() == bytes => { + Some((statement(&read.key, verdict.outcome()), verdict.clone())) + } + Some(..) | None => None, + } +} + +/// The route-chain reading of a verdict cell (storage spec §9): open, or the +/// first recognized verdict at its leader and how far its chain has gone, +/// with why every value ahead of it counts as nothing. Evidence that does not +/// decide the cell yet is [`Missing`], a network status and never an answer. +pub fn verdict_resolution( + cell: &VerdictCell, + evidence: &CellEvidence, +) -> Result { + let refused = std::cell::RefCell::new(Vec::new()); + let reading = evaluate(&cell.cell, evidence, verdict_at(cell, &refused))?; + let fact = reading.fact(); + let held = match reading { + CellReading::Held { object, value, .. } => Some((object, value)), + CellReading::Open => None, + }; + Ok(VerdictCellRead { + key: cell.key, + fact, + held, + passed_over: refused.into_inner(), + }) +} + +/// The completion proof of the verdict `read` found final at the cell (SoFi +/// Amendment S10), with the verdict; `None` while no chain of it has three +/// links, or when the read found the cell open. +pub fn verdict_completion( + cell: &VerdictCell, + read: &VerdictCellRead, + evidence: &CellEvidence, +) -> Result, Missing> { + completion_proof(&cell.cell, evidence, held_verdict(read)) +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::ccb::sigalg::SPHINCS_PLUS_SPX256F as ALG; + use crate::crypto::sphincs::{generate_keypair_from_seed, SphincsVariant}; + use crate::sofi::wire::{ + EscrowBranch, EscrowOutcome, SofiWireError, ESCROW_MAX_BRANCHES, ESCROW_MAX_SIGNERS, + }; + + /// A signer and its secret key, from a fixed seed. + fn party(seed: u8) -> (EscrowSigner, Vec) { + let kp = generate_keypair_from_seed(SphincsVariant::SPX256f, &[seed; 32]).expect("keypair"); + ( + EscrowSigner::new(ALG, &kp.public_key).expect("a declared key"), + kp.secret_key.clone(), + ) + } + + /// `signers` in their canonical order. + fn set(mut signers: Vec) -> Vec { + signers.sort_by_key(EscrowSigner::canonical); + signers + } + + struct Match { + referee: (EscrowSigner, Vec), + a: (EscrowSigner, Vec), + b: (EscrowSigner, Vec), + y: D32, + } + + fn the_match() -> Match { + Match { + referee: party(0x51), + a: party(0x52), + b: party(0x53), + y: external_commitment(b"match 7: A v B, 25 each, referee R"), + } + } + + /// The terms of one player's stake: A wins → A, B wins → B, cancel (both + /// players) → `owner`, void (referee) → `owner`. + fn terms(m: &Match, owner: (D32, D32)) -> EscrowTerms { + let referee = vec![m.referee.0.clone()]; + let both = set(vec![m.a.0.clone(), m.b.0.clone()]); + let branch = |outcome: &[u8], signers: Vec, to: (D32, D32)| { + EscrowBranch::new( + EscrowOutcome::new(outcome, signers).expect("outcome"), + to.0, + to.1, + ) + }; + EscrowTerms::new( + [0xE7; 32], + m.y, + vec![ + branch(b"a-wins", referee.clone(), ([0xA1; 32], [0xA2; 32])), + branch(b"b-wins", referee.clone(), ([0xB1; 32], [0xB2; 32])), + branch(b"cancel", both, owner), + branch(b"void", referee, owner), + ], + ) + .expect("terms") + } + + fn verdict( + m: &Match, + terms: &EscrowTerms, + outcome: &[u8], + by: &[&(EscrowSigner, Vec)], + ) -> EscrowVerdict { + let cell = verdict_cell_of(terms); + let mut signatures: Vec = by + .iter() + .map(|(signer, sk)| sign_statement(signer, sk, &cell, outcome).expect("signs")) + .collect(); + signatures.sort_by_key(|s| s.signer().canonical()); + EscrowVerdict::new(m.y, terms.outcome_table(), outcome, signatures).expect("verdict") + } + + /// `BLAKE3(tag ‖ 0x00 ‖ parts)` with the tag typed from the specification, + /// not read from the constants. + fn independent(tag: &str, parts: &[&[u8]]) -> D32 { + let mut hasher = ::blake3::Hasher::new(); + hasher.update(tag.as_bytes()); + hasher.update(&[0x00]); + for p in parts { + hasher.update(p); + } + *hasher.finalize().as_bytes() + } + + #[test] + fn the_derivations_are_the_specified_hashes() { + let m = the_match(); + let t = terms(&m, ([0x01; 32], [0x02; 32])); + assert_eq!( + external_commitment(b"x"), + independent("DSM/external/v1", &[b"x"]) + ); + let tau = table_digest(&t.outcome_table()); + assert_eq!( + tau, + independent( + "DSM/escrow/outcome-table/v1", + &[&t.outcome_table().digest_preimage()] + ) + ); + let k = verdict_cell_of(&t); + assert_eq!(k, independent("DSM/escrow/verdict-cell/v1", &[&m.y, &tau])); + assert_eq!( + verdict_seed(&k), + independent("DSM/escrow/verdict-seed/v1", &[&k]) + ); + assert_eq!( + statement(&k, b"void"), + independent( + "DSM/escrow/statement/v1", + &[&k, &4u32.to_be_bytes(), b"void"] + ) + ); + assert_eq!( + cell_locator(&k), + independent("DSM/escrow/cell-locator/v1", &[&k]) + ); + assert_eq!( + statement_locator(&k, b"void"), + independent( + "DSM/escrow/statement-locator/v1", + &[&k, &4u32.to_be_bytes(), b"void"] + ) + ); + } + + /// The table τ hashes is exactly `u8(|O|) ‖ ⨁ (u32be(|o|) ‖ o ‖ + /// u8(|signers|) ‖ ⨁ (u16be(alg) ‖ u32be(|key|) ‖ key))`, built here by + /// hand from the branches. + #[test] + fn the_outcome_table_has_the_specified_bytes() { + let m = the_match(); + let t = terms(&m, ([0x01; 32], [0x02; 32])); + let mut want = vec![t.branches().len() as u8]; + for b in t.branches() { + want.extend_from_slice(&(b.outcome().len() as u32).to_be_bytes()); + want.extend_from_slice(b.outcome()); + want.push(b.signers().len() as u8); + for s in b.signers() { + want.extend_from_slice(&s.signature_alg().to_be_bytes()); + want.extend_from_slice(&(s.public_key().len() as u32).to_be_bytes()); + want.extend_from_slice(s.public_key()); + } + } + assert_eq!(t.outcome_table().digest_preimage(), want); + } + + /// Linked vaults: the same Y and the same table derive one cell whatever + /// the recipients; a table that differs in one signer, or another Y, + /// derives another (SoFi §19.9, "Linked vaults"). + #[test] + fn vaults_share_a_cell_exactly_when_they_share_y_and_the_table() { + let m = the_match(); + let a_stake = terms(&m, ([0xA1; 32], [0xA2; 32])); + let b_stake = terms(&m, ([0xB1; 32], [0xB2; 32])); + assert_ne!(a_stake, b_stake, "the two stakes pay their own owners"); + assert_eq!(verdict_cell_of(&a_stake), verdict_cell_of(&b_stake)); + assert_ne!(terms_address(&a_stake), terms_address(&b_stake)); + + let other_y = Match { + y: external_commitment(b"match 8"), + ..the_match() + }; + assert_ne!( + verdict_cell_of(&terms(&other_y, ([0xA1; 32], [0xA2; 32]))), + verdict_cell_of(&a_stake) + ); + + // The same outcomes with one signer changed: another authority, so + // another cell. + let mut branches: Vec = a_stake.branches().to_vec(); + branches[3] = EscrowBranch::new( + EscrowOutcome::new(b"void", vec![party(0x54).0]).expect("outcome"), + [0xA1; 32], + [0xA2; 32], + ); + let other_table = EscrowTerms::new(*a_stake.token(), m.y, branches).expect("terms"); + assert_ne!(verdict_cell_of(&other_table), verdict_cell_of(&a_stake)); + } + + #[test] + fn terms_round_trip_and_what_has_no_canonical_order_has_no_encoding() { + let m = the_match(); + let t = terms(&m, ([0x01; 32], [0x02; 32])); + let bytes = t.encode(); + assert_eq!(EscrowTerms::decode(&bytes).expect("decodes"), t); + assert_eq!(terms_address_of(&bytes), terms_address(&t)); + + let mut trailing = bytes.clone(); + trailing.push(0); + assert!(matches!( + EscrowTerms::decode(&trailing), + Err(crate::ccb::decode::DecodeError::TrailingBytes { .. }) + )); + + // Signers out of order, or one signer twice, is no outcome. + let both = set(vec![m.a.0.clone(), m.b.0.clone()]); + let reversed = vec![both[1].clone(), both[0].clone()]; + assert!(matches!( + EscrowOutcome::new(b"cancel", reversed), + Err(SofiWireError::NotStrictlyAscending { .. }) + )); + assert!(matches!( + EscrowOutcome::new(b"cancel", vec![both[0].clone(), both[0].clone()]), + Err(SofiWireError::NotStrictlyAscending { .. }) + )); + assert!(matches!( + EscrowOutcome::new(b"cancel", Vec::new()), + Err(SofiWireError::Cardinality { got: 0, .. }) + )); + let five: Vec = set((0..=ESCROW_MAX_SIGNERS as u8) + .map(|i| party(0x60 + i).0) + .collect()); + assert!(matches!( + EscrowOutcome::new(b"cancel", five), + Err(SofiWireError::Cardinality { got: 5, .. }) + )); + assert!(matches!( + EscrowOutcome::new(b"", vec![m.referee.0.clone()]), + Err(SofiWireError::Cardinality { got: 0, .. }) + )); + assert!(matches!( + EscrowOutcome::new(&[0x61; 65], vec![m.referee.0.clone()]), + Err(SofiWireError::Cardinality { got: 65, .. }) + )); + + // Branches out of order, or two with one outcome, are no terms. + let mut swapped: Vec = t.branches().to_vec(); + swapped.swap(0, 1); + assert!(matches!( + EscrowTerms::new(*t.token(), m.y, swapped), + Err(SofiWireError::NotStrictlyAscending { .. }) + )); + let mut twice: Vec = t.branches().to_vec(); + twice[1] = twice[0].clone(); + assert!(matches!( + EscrowTerms::new(*t.token(), m.y, twice), + Err(SofiWireError::NotStrictlyAscending { .. }) + )); + assert!(matches!( + EscrowTerms::new(*t.token(), m.y, Vec::new()), + Err(SofiWireError::Cardinality { got: 0, .. }) + )); + let seventeen: Vec = (0..=ESCROW_MAX_BRANCHES as u8) + .map(|i| { + EscrowBranch::new( + EscrowOutcome::new(&[0x40 + i], vec![m.referee.0.clone()]).expect("outcome"), + [0x01; 32], + [0x02; 32], + ) + }) + .collect(); + assert!(matches!( + EscrowTerms::new(*t.token(), m.y, seventeen), + Err(SofiWireError::Cardinality { got: 17, .. }) + )); + } + + #[test] + fn a_verdict_proves_its_own_authority_for_its_cell() { + let m = the_match(); + let t = terms(&m, ([0x01; 32], [0x02; 32])); + let k = verdict_cell_of(&t); + + let won = verdict(&m, &t, b"a-wins", &[&m.referee]); + assert_eq!( + won.encode(), + EscrowVerdict::decode(&won.encode()) + .expect("decodes") + .encode() + ); + assert_eq!(verdict_occupying(&won.encode(), &k), Ok(won.clone())); + + // A joint cancel needs both players' signatures, and only theirs. + let cancel = verdict(&m, &t, b"cancel", &[&m.a, &m.b]); + assert_eq!(verdict_occupying(&cancel.encode(), &k), Ok(cancel)); + let half = verdict(&m, &t, b"cancel", &[&m.a]); + assert_eq!( + verdict_occupying(&half.encode(), &k), + Err(VerdictRefusal::NotTheOutcomesSigners) + ); + let with_referee = verdict(&m, &t, b"cancel", &[&m.a, &m.b, &m.referee]); + assert_eq!( + verdict_occupying(&with_referee.encode(), &k), + Err(VerdictRefusal::NotTheOutcomesSigners) + ); + + // The referee cannot decide the players' cancel, nor a player the + // referee's outcome. + let by_referee = verdict(&m, &t, b"cancel", &[&m.referee]); + assert_eq!( + verdict_occupying(&by_referee.encode(), &k), + Err(VerdictRefusal::NotTheOutcomesSigners) + ); + let by_a = verdict(&m, &t, b"a-wins", &[&m.a]); + assert_eq!( + verdict_occupying(&by_a.encode(), &k), + Err(VerdictRefusal::NotTheOutcomesSigners) + ); + + // An outcome the table does not have decides nothing. + let off_table = verdict(&m, &t, b"draw", &[&m.referee]); + assert_eq!( + verdict_occupying(&off_table.encode(), &k), + Err(VerdictRefusal::OutcomeNotInTable) + ); + } + + /// The statement names the cell: the referee's signature for one cell is + /// no verdict at another, even for the same outcome and the same signers. + #[test] + fn a_signature_decides_only_the_cell_it_was_made_for() { + let m = the_match(); + let t = terms(&m, ([0x01; 32], [0x02; 32])); + let other = Match { + y: external_commitment(b"match 8"), + ..the_match() + }; + let t8 = terms(&other, ([0x01; 32], [0x02; 32])); + let k8 = verdict_cell_of(&t8); + + let for_7 = verdict(&m, &t, b"a-wins", &[&m.referee]); + // Presented at match 8's cell as it is: its own Y and table derive + // match 7's cell. + assert_eq!( + verdict_occupying(&for_7.encode(), &k8), + Err(VerdictRefusal::NotThisCell) + ); + // Restated for match 8 with match 7's signature: the signature is over + // match 7's statement, so it does not verify. + let moved = EscrowVerdict::new( + other.y, + t8.outcome_table(), + b"a-wins", + for_7.signatures().to_vec(), + ) + .expect("verdict"); + assert!(matches!( + verdict_occupying(&moved.encode(), &k8), + Err(VerdictRefusal::Signature( + SignatureError::DoesNotVerify { .. } + )) + )); + // And a signature over another outcome is not this outcome's. + let b_won = verdict(&m, &t, b"b-wins", &[&m.referee]); + let relabeled = EscrowVerdict::new( + m.y, + t.outcome_table(), + b"a-wins", + b_won.signatures().to_vec(), + ) + .expect("verdict"); + assert!(matches!( + verdict_occupying(&relabeled.encode(), &verdict_cell_of(&t)), + Err(VerdictRefusal::Signature( + SignatureError::DoesNotVerify { .. } + )) + )); + } + + /// A joint cancel gathered one signature at a time: each signer's gathered + /// verdict yields only that outcome's verifying signatures, and the + /// verdict is assembled only once they are exactly the outcome's signers. + #[test] + fn a_verdict_is_assembled_only_from_the_outcomes_signatures() { + let m = the_match(); + let t = terms(&m, ([0x01; 32], [0x02; 32])); + let k = verdict_cell_of(&t); + let from_a = verdict(&m, &t, b"cancel", &[&m.a]).encode(); + let from_b = verdict(&m, &t, b"cancel", &[&m.b]).encode(); + + let mut gathered = gathered_signatures(&from_a, &k, b"cancel").expect("a's signature"); + assert_eq!(gathered.len(), 1); + assert_eq!( + assemble_verdict(m.y, t.outcome_table(), b"cancel", gathered.clone()), + Err(VerdictRefusal::NotTheOutcomesSigners), + "one player's signature is not a cancel" + ); + gathered.extend(gathered_signatures(&from_b, &k, b"cancel").expect("b's signature")); + // The same signature gathered twice is one signature. + gathered.extend(gathered_signatures(&from_a, &k, b"cancel").expect("a's again")); + let cancel = + assemble_verdict(m.y, t.outcome_table(), b"cancel", gathered).expect("both players"); + assert_eq!(verdict_occupying(&cancel.encode(), &k), Ok(cancel.clone())); + assert_eq!(cancel, verdict(&m, &t, b"cancel", &[&m.a, &m.b])); + + // Gathering for another outcome, at another cell, or from a signer + // the outcome does not name, yields nothing. + assert_eq!( + gathered_signatures(&from_a, &k, b"void"), + Err(VerdictRefusal::AnotherOutcome) + ); + let other = Match { + y: external_commitment(b"match 8"), + ..the_match() + }; + assert_eq!( + gathered_signatures( + &from_a, + &verdict_cell_of(&terms(&other, ([0x01; 32], [0x02; 32]))), + b"cancel" + ), + Err(VerdictRefusal::NotThisCell) + ); + let by_referee = verdict(&m, &t, b"cancel", &[&m.referee]).encode(); + assert_eq!( + gathered_signatures(&by_referee, &k, b"cancel"), + Err(VerdictRefusal::NotTheOutcomesSigners) + ); + // A gathered signature over another statement does not verify. + let b_won = verdict(&m, &t, b"b-wins", &[&m.referee]); + let relabeled = EscrowVerdict::new( + m.y, + t.outcome_table(), + b"a-wins", + b_won.signatures().to_vec(), + ) + .expect("verdict") + .encode(); + assert!(matches!( + gathered_signatures(&relabeled, &k, b"a-wins"), + Err(VerdictRefusal::Signature( + SignatureError::DoesNotVerify { .. } + )) + )); + // No signatures at all have no encoding. + assert!(matches!( + assemble_verdict(m.y, t.outcome_table(), b"void", Vec::new()), + Err(VerdictRefusal::NoEncoding(SofiWireError::Cardinality { + got: 0, + .. + })) + )); + } + + /// Where a release stands, from what the cell holds: open or not final + /// on its outcome is unsettled, final on its outcome is final, and the + /// other outcome held in any state is lost. + #[test] + fn a_release_stands_on_the_verdict_the_cell_holds() { + let m = the_match(); + let t = terms(&m, ([0x01; 32], [0x02; 32])); + let k = verdict_cell_of(&t); + let a_won = verdict(&m, &t, b"a-wins", &[&m.referee]); + let read = |state: Option| VerdictCellRead { + key: k, + fact: match state { + Some(state) => CellFact::Held { + id: statement(&k, b"a-wins"), + state, + }, + None => CellFact::Open, + }, + held: state.map(|_| (a_won.clone(), a_won.encode())), + passed_over: Vec::new(), + }; + assert_eq!( + read(None).standing_for(b"a-wins"), + VerdictStanding::Unsettled + ); + assert_eq!( + read(None).standing_for(b"b-wins"), + VerdictStanding::Unsettled + ); + for state in [ChainState::LeaderHeld, ChainState::Preserved] { + assert_eq!( + read(Some(state)).standing_for(b"a-wins"), + VerdictStanding::Unsettled + ); + assert_eq!( + read(Some(state)).standing_for(b"b-wins"), + VerdictStanding::Lost + ); + } + assert_eq!( + read(Some(ChainState::Final)).standing_for(b"a-wins"), + VerdictStanding::Final + ); + assert_eq!( + read(Some(ChainState::Final)).standing_for(b"b-wins"), + VerdictStanding::Lost + ); + } + + /// The fixed terms the golden digests are frozen over: synthetic keys + /// of the declared width (encoding verifies no key), two branches. + fn golden_terms() -> EscrowTerms { + let r = EscrowSigner::new(ALG, &[0x5A; 64]).expect("a declared key"); + let p1 = EscrowSigner::new(ALG, &[0x31; 64]).expect("a declared key"); + let p2 = EscrowSigner::new(ALG, &[0x32; 64]).expect("a declared key"); + EscrowTerms::new( + [0x7E; 32], + [0x59; 32], + vec![ + EscrowBranch::new( + EscrowOutcome::new(b"cancel", vec![p1, p2]).expect("outcome"), + [0xC1; 32], + [0xC2; 32], + ), + EscrowBranch::new( + EscrowOutcome::new(b"void", vec![r]).expect("outcome"), + [0xD1; 32], + [0xD2; 32], + ), + ], + ) + .expect("terms") + } + + /// `u16be(alg) ‖ u32be(|key|) ‖ key`, built by hand. + fn key_bytes(alg: u16, key: &[u8]) -> Vec { + [ + alg.to_be_bytes().to_vec(), + (key.len() as u32).to_be_bytes().to_vec(), + key.to_vec(), + ] + .concat() + } + + /// The CCB bytes of both objects, built here from the field tables in + /// `sofi::wire`'s module docs and not by the encoders, and the digests + /// over them frozen: a change to either is a change to the wire. + #[test] + fn the_wire_bytes_follow_the_field_tables_and_the_digests_are_frozen() { + let t = golden_terms(); + let part = |b: &[u8]| [(b.len() as u32).to_be_bytes().to_vec(), b.to_vec()].concat(); + let mut want = vec![0x00, 0x63, 0x00, 0x01]; + want.extend_from_slice(&[0x7E; 32]); + want.extend_from_slice(&[0x59; 32]); + want.extend_from_slice(&2u32.to_be_bytes()); + want.extend_from_slice(&part(b"cancel")); + want.extend_from_slice(&2u32.to_be_bytes()); + want.extend_from_slice(&key_bytes(ALG, &[0x31; 64])); + want.extend_from_slice(&key_bytes(ALG, &[0x32; 64])); + want.extend_from_slice(&[0xC1; 32]); + want.extend_from_slice(&[0xC2; 32]); + want.extend_from_slice(&part(b"void")); + want.extend_from_slice(&1u32.to_be_bytes()); + want.extend_from_slice(&key_bytes(ALG, &[0x5A; 64])); + want.extend_from_slice(&[0xD1; 32]); + want.extend_from_slice(&[0xD2; 32]); + assert_eq!(t.encode(), want); + + let k = verdict_cell_of(&t); + let signer = EscrowSigner::new(ALG, &[0x5A; 64]).expect("a declared key"); + let v = EscrowVerdict::new( + *t.external_commitment(), + t.outcome_table(), + b"void", + vec![VerdictSignature::new(signer, &[0x99; 3]).expect("signature")], + ) + .expect("verdict"); + let mut want = vec![0x00, 0x64, 0x00, 0x01]; + want.extend_from_slice(&[0x59; 32]); + want.extend_from_slice(&2u32.to_be_bytes()); + want.extend_from_slice(&part(b"cancel")); + want.extend_from_slice(&2u32.to_be_bytes()); + want.extend_from_slice(&key_bytes(ALG, &[0x31; 64])); + want.extend_from_slice(&key_bytes(ALG, &[0x32; 64])); + want.extend_from_slice(&part(b"void")); + want.extend_from_slice(&1u32.to_be_bytes()); + want.extend_from_slice(&key_bytes(ALG, &[0x5A; 64])); + want.extend_from_slice(&part(b"void")); + want.extend_from_slice(&1u32.to_be_bytes()); + want.extend_from_slice(&key_bytes(ALG, &[0x5A; 64])); + want.extend_from_slice(&part(&[0x99; 3])); + assert_eq!(v.encode(), want); + assert_eq!(EscrowVerdict::decode(&want).expect("decodes"), v); + + let b32 = crate::utils::text_id::encode_base32_crockford; + assert_eq!( + b32(&terms_address(&t)), + "RE1WCSK9TWW7CRDGVR8B680KV579N0C7TXQE9J199K9DQ1DMMVJ0" + ); + assert_eq!( + b32(&table_digest(&t.outcome_table())), + "4V1EDH3RSS5KXEBDHXC6J9S2NPFQ5115H42JGZV62EPSC632QEHG" + ); + assert_eq!( + b32(&k), + "WNJGZV7JPY4GDMP17W0JPKMAR21YG6Z06M9YR6EHR18YSA257VC0" + ); + assert_eq!( + b32(&statement(&k, b"void")), + "K0P13J70J0N3KXNAM1HJEHSFG8PDEKWXQ460MVDDB0TPCJG8ADSG" + ); + assert_eq!( + b32(&cell_locator(&k)), + "6H86QMFR7WZQ32S59TY4BJ4A919SB86Y2M6SRH82N3XB3G7HAGTG" + ); + } +} diff --git a/dsm_client/deterministic_state_machine/dsm/src/sofi/facts.rs b/dsm_client/deterministic_state_machine/dsm/src/sofi/facts.rs index ccd3f0931..a8a563436 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/sofi/facts.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/sofi/facts.rs @@ -34,14 +34,15 @@ use super::conformance::{ Validation, }; use super::derive; +use super::escrow::VerdictCellRead; use super::exercise::{AttemptCellRead, RecognizedExercise}; use super::registration::{PairStanding, RegistrationRead}; use super::resolution::{ AttemptWalk, GroundRouteFacts, LegFacts, ParentPosition, ParentStatus, RefutedInHand, - RouteFacts, VaultChain, + RouteFacts, VaultChain, VerdictFact, }; use super::validation::{route_invalid_in_hand, route_validation, vault_post_states, Evidence, Missing}; -use super::wire::{ParentClaimRef, SettlementPreimage}; +use super::wire::{ParentClaimRef, SettlementBody, SettlementPreimage}; type D32 = [u8; 32]; @@ -115,6 +116,12 @@ pub enum NotEstablished { /// A leg's earlier keys were not all classified: past the walk budget or /// the chain depth, or a key among them is not resolved. AttemptLiveness { vault_id: D32, attempt: u64 }, + /// A Release's verdict cell is not decided by its reads yet (SoFi + /// Amendment S21). + VerdictCell { + verdict_cell: D32, + missing: CellMissing, + }, /// The reads handed over are not about this exercise: a registration of /// another position, a cell of another key, evidence of another /// operation. Not a network status — the caller mis-assembled them — @@ -153,6 +160,9 @@ pub struct ExerciseReads<'a> { pub parent: Option, /// One entry per leg of `P`, in P's leg order. pub legs: &'a [LegReads<'a>], + /// For a Release, its verdict cell as Core read it (SoFi Amendment S21); + /// `None` for every other operation. + pub verdict: Option<&'a VerdictCellRead>, } /// What this verifier established about the trader's lineage at `p`: the @@ -224,6 +234,8 @@ pub struct GroundReads<'a> { pub registration: &'a RegistrationRead, pub parent: Option, pub legs: &'a [LegReads<'a>], + /// For a Release, its verdict cell (SoFi Amendment S21). + pub verdict: Option<&'a VerdictCellRead>, } /// The facts of one exercise that stand without its validation evidence: @@ -240,6 +252,8 @@ pub struct GroundFacts { pub(crate) pair: PairStanding, pub(crate) parent: ParentPosition, pub(crate) parent_pre_root: D32, + /// A Release's standing at its verdict cell (SoFi Amendment S21). + pub(crate) verdict: VerdictFact, /// One per leg of `P`, in P's leg order. pub(crate) legs: Vec, /// The key each leg's facts are about: `(vault, parent root, attempt)`. @@ -257,6 +271,7 @@ impl GroundFacts { pair: self.pair, parent: self.parent, parent_pre_root: self.parent_pre_root, + verdict: self.verdict, legs: &self.legs, } } @@ -290,6 +305,8 @@ pub struct EstablishedFacts { pub(crate) parent_pre_root: D32, pub(crate) validation: Validation, pub(crate) storage_resolved: bool, + /// A Release's standing at its verdict cell (SoFi Amendment S21). + pub(crate) verdict: VerdictFact, /// One per leg of `P`, in P's leg order. pub(crate) legs: Vec, /// The key each leg's facts are about: `(vault, parent root, attempt)`. @@ -327,6 +344,7 @@ impl EstablishedFacts { parent_pre_root: self.parent_pre_root, validation: self.validation, storage_resolved: self.storage_resolved, + verdict: self.verdict, legs: &self.legs, } } @@ -441,6 +459,7 @@ pub fn establish(reads: &ExerciseReads<'_>) -> Result) -> Result) -> Result { + let read = reads.verdict.ok_or(NotEstablished::NotThisExercise( + "a release is read with its verdict cell", + ))?; + if read.key() != verdict_cell { + return Err(NotEstablished::NotThisExercise( + "the verdict cell read is not the one the release names", + )); + } + VerdictFact::Release(read.standing_for(outcome)) + } + SettlementBody::Swap { .. } | SettlementBody::Close { .. } => VerdictFact::NotARelease, + }; Ok(GroundFacts { external_commitment: e, pair, parent, parent_pre_root: *precommit.void_root(), + verdict, legs, keys, }) @@ -707,6 +748,7 @@ mod tests { evidence: &self.evidence, parent: self.parent, legs, + verdict: None, }) } } @@ -1373,6 +1415,7 @@ mod tests { parent_pre_root: root, validation: Validation::Invalid, storage_resolved: true, + verdict: VerdictFact::NotARelease, legs: &rejected_legs, }, rejected, diff --git a/dsm_client/deterministic_state_machine/dsm/src/sofi/lineage.rs b/dsm_client/deterministic_state_machine/dsm/src/sofi/lineage.rs index 3a3281089..bf055cf85 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/sofi/lineage.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/sofi/lineage.rs @@ -554,16 +554,25 @@ impl core::fmt::Display for GenesisError { impl std::error::Error for GenesisError {} +/// What an accepted genesis commits its vault to: a market, or escrow terms +/// (SoFi Amendment S21). +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum GenesisTerms { + Market(crate::ccb::state::MarketPolicy), + Escrow(super::wire::EscrowTerms), +} + /// A vault genesis a verifier accepted (SoFi §19.8 `GenesisAccepted`): the /// genesis preimage that the owner's validated transition at `p_create` -/// carried, with the market it commits. Only [`genesis_accepted`] constructs -/// it, and a walk of a vault starts from nothing else (§30 step 1). +/// carried, with the market or the escrow terms it commits. Only +/// [`genesis_accepted`] constructs it, and a walk of a vault starts from +/// nothing else (§30 step 1). #[derive(Debug, Clone, PartialEq, Eq)] pub struct AcceptedVaultGenesis { vault_id: D32, preimage: VaultGenesisPreimage, genesis_root: D32, - market: crate::ccb::state::MarketPolicy, + terms: GenesisTerms, } impl AcceptedVaultGenesis { @@ -587,9 +596,25 @@ impl AcceptedVaultGenesis { &self.genesis_root } - /// The market policy `V_0` commits. - pub fn market(&self) -> &crate::ccb::state::MarketPolicy { - &self.market + /// What `V_0` commits the vault to. + pub fn terms(&self) -> &GenesisTerms { + &self.terms + } + + /// The market policy `V_0` commits; an escrow vault has none. + pub fn market(&self) -> Option<&crate::ccb::state::MarketPolicy> { + match &self.terms { + GenesisTerms::Market(market) => Some(market), + GenesisTerms::Escrow(..) => None, + } + } + + /// The escrow terms `V_0` commits; a market vault has none. + pub fn escrow(&self) -> Option<&super::wire::EscrowTerms> { + match &self.terms { + GenesisTerms::Escrow(terms) => Some(terms), + GenesisTerms::Market(..) => None, + } } } @@ -630,6 +655,13 @@ pub enum GenesisInvalid { /// A token's policy refuses it as a market leg (§49: `transferable` /// binds vault creation). TokenNotTransferable { token: D32 }, + /// The carried escrow terms are not the object all three of `V_0`'s + /// slots name (SoFi Amendment S21). + EscrowTermsNotCommitted, + /// The carried escrow terms do not decode. + EscrowTermsDoNotDecode(crate::ccb::decode::DecodeError), + /// An escrow vault's `V_0` holds no stake, or holds a second reserve. + NotAnEscrowStake { reserve_a: u64, reserve_b: u64 }, } /// Why genesis acceptance has no answer yet, or its answer is no. @@ -681,6 +713,12 @@ struct OwnerCreation<'a> { operation: &'a crate::types::operations::Operation, } +/// The terms object the owner's creation carried beside its genesis. +enum Carried<'a> { + Market(&'a [u8]), + Escrow(&'a [u8]), +} + fn creation_accepted( network_id: &[u8], preimage_bytes: &[u8], @@ -696,13 +734,20 @@ fn creation_accepted( { return Err(invalid(GenesisInvalid::NotTheOwnersCreationPosition)); } - let crate::types::operations::Operation::SofiVaultCreate { - genesis_preimage, - market_policy_preimage, - .. - } = owner.operation - else { - return Err(invalid(GenesisInvalid::NotTheCreationTheOwnerMade)); + // The creation the owner made: a market's, carrying its market policy, + // or an escrow vault's, carrying its terms (SoFi Amendment S21). + let (genesis_preimage, carried) = match owner.operation { + crate::types::operations::Operation::SofiVaultCreate { + genesis_preimage, + market_policy_preimage, + .. + } => (genesis_preimage, Carried::Market(market_policy_preimage)), + crate::types::operations::Operation::EscrowVaultCreate { + genesis_preimage, + terms, + .. + } => (genesis_preimage, Carried::Escrow(terms)), + _ => return Err(invalid(GenesisInvalid::NotTheCreationTheOwnerMade)), }; if genesis_preimage.as_slice() != preimage_bytes { return Err(invalid(GenesisInvalid::NotTheCreationTheOwnerMade)); @@ -730,31 +775,58 @@ fn creation_accepted( let vault_id = preimage.vault_id(); let genesis_root = genesis_root(&vault_id, state).map_err(|_| invalid(GenesisInvalid::StateDoesNotEncode))?; - let committed = crate::ccb::decode::policy_object_address( - crate::ccb::class::MARKET_POLICY, - market_policy_preimage, - ); - if committed != Some(state.market_policy) { - return Err(invalid(GenesisInvalid::Market( - GenesisError::MarketPolicyIsNotTheCommittedOne, - ))); - } - // `token_a < token_b`: a `MarketPolicy` with an unordered pair does not - // decode. - let market = - crate::ccb::decode::decode_market_policy(market_policy_preimage).map_err(|_| { - invalid(GenesisInvalid::Market( - GenesisError::MarketPolicyDoesNotDecode, - )) - })?; - for token in [*market.token_a(), *market.token_b()] { - token_is_a_market_leg(&token, token_policies)?; - } + let terms = match carried { + Carried::Market(market_policy_preimage) => { + let committed = crate::ccb::decode::policy_object_address( + crate::ccb::class::MARKET_POLICY, + market_policy_preimage, + ); + if committed != Some(state.market_policy) { + return Err(invalid(GenesisInvalid::Market( + GenesisError::MarketPolicyIsNotTheCommittedOne, + ))); + } + // `token_a < token_b`: a `MarketPolicy` with an unordered pair does not + // decode. + let market = + crate::ccb::decode::decode_market_policy(market_policy_preimage).map_err(|_| { + invalid(GenesisInvalid::Market( + GenesisError::MarketPolicyDoesNotDecode, + )) + })?; + for token in [*market.token_a(), *market.token_b()] { + token_is_a_market_leg(&token, token_policies)?; + } + GenesisTerms::Market(market) + } + // An escrow vault (SoFi Amendment S21): its three slots name the + // carried terms, it holds a stake and nothing else, and the token + // its terms name passes its policy for a transfer (§49). + Carried::Escrow(terms_bytes) => { + let addr = super::escrow::terms_address_of(terms_bytes); + if state.market_policy != addr + || state.fee_policy != addr + || state.release_policy != addr + { + return Err(invalid(GenesisInvalid::EscrowTermsNotCommitted)); + } + let terms = super::wire::EscrowTerms::decode(terms_bytes) + .map_err(|e| invalid(GenesisInvalid::EscrowTermsDoNotDecode(e)))?; + if state.reserve_a == 0 || state.reserve_b != 0 { + return Err(invalid(GenesisInvalid::NotAnEscrowStake { + reserve_a: state.reserve_a, + reserve_b: state.reserve_b, + })); + } + token_is_a_market_leg(terms.token(), token_policies)?; + GenesisTerms::Escrow(terms) + } + }; Ok(AcceptedVaultGenesis { vault_id, preimage, genesis_root, - market, + terms, }) } @@ -955,6 +1027,7 @@ mod tests { Shape::Realized | Shape::Void => Validation::Valid, }, storage_resolved: true, + verdict: crate::sofi::resolution::VerdictFact::NotARelease, legs, keys, preimage: preimage.clone(), @@ -1175,7 +1248,8 @@ mod tests { exact_out, .. } => (*token_in, *token_out, *exact_out), - crate::sofi::wire::SettlementBody::Close { .. } => { + crate::sofi::wire::SettlementBody::Close { .. } + | crate::sofi::wire::SettlementBody::Release { .. } => { panic!("the realized rig is a swap") } } @@ -1844,7 +1918,8 @@ mod tests { let f = fulfillment(&p); let hops = match fx.preimage.settlement() { crate::sofi::wire::SettlementBody::Swap { hops, .. } => hops.clone(), - crate::sofi::wire::SettlementBody::Close { .. } => unreachable!("a swap fixture"), + crate::sofi::wire::SettlementBody::Close { .. } + | crate::sofi::wire::SettlementBody::Release { .. } => unreachable!("a swap fixture"), }; assert_eq!(hops.len(), 2); let intermediate = hops[0].token_out; @@ -2052,7 +2127,10 @@ pub(crate) mod genesis_acceptance { &genesis_root(&preimage.vault_id(), &preimage.state).unwrap() ); assert_eq!(accepted.state(), &preimage.state); - assert_eq!(accepted.market().token_a(), &tokens()[0].0); + assert_eq!( + accepted.market().expect("a market vault").token_a(), + &tokens()[0].0 + ); } /// Fetched bytes are accepted only as the bytes the owner's creation @@ -2204,4 +2282,168 @@ pub(crate) mod genesis_acceptance { .retain(|commit, _| *commit == tokens()[0].0); assert!(accept(&c).is_ok()); } + // ── escrow vaults (SoFi Amendment S21) ──────────────────────────────── + + /// Terms over `token`: one "void" branch the referee decides, paying the + /// owner. + fn escrow_terms_over(token: D32) -> crate::sofi::wire::EscrowTerms { + let referee = crate::sofi::wire::EscrowSigner::new( + crate::ccb::sigalg::SPHINCS_PLUS_SPX256F, + &[0x5A; 64], + ) + .unwrap(); + crate::sofi::wire::EscrowTerms::new( + token, + crate::sofi::escrow::external_commitment(b"a match"), + vec![crate::sofi::wire::EscrowBranch::new( + crate::sofi::wire::EscrowOutcome::new(b"void", vec![referee]).unwrap(), + G, + dev(), + )], + ) + .unwrap() + } + + /// `V_0` of an escrow vault whose three slots name `addr`. + fn escrow_state(addr: D32, reserve_a: u64, reserve_b: u64) -> VaultStateLeaf { + VaultStateLeaf { + owner_genesis: G, + owner_device_id: dev(), + create_position: P_CREATE, + market_policy: addr, + fee_policy: addr, + release_policy: addr, + storage_set_id: pinned_set(), + generation: 0, + reserve_a, + reserve_b, + status: VAULT_STATUS_ACTIVE, + } + } + + /// The escrow creation of `state`, carrying `terms_bytes`, as the owner + /// signs it. + fn escrow_creation_of(state: VaultStateLeaf, terms_bytes: Vec) -> Creation { + let preimage = VaultGenesisPreimage { + owner_genesis: G, + owner_device_id: dev(), + create_position: P_CREATE, + state, + }; + let vault_id = preimage.vault_id(); + let record = VaultCreation { + vault_id, + genesis_root: genesis_root(&vault_id, &preimage.state).unwrap(), + amount_a: preimage.state.reserve_a, + amount_b: preimage.state.reserve_b, + }; + let preimage_bytes = preimage.encode().unwrap(); + let build = |signature: Vec| Operation::EscrowVaultCreate { + genesis_preimage: preimage_bytes.clone(), + creation: record.encode(), + terms: terms_bytes.clone(), + signature, + }; + let signing = build(Vec::new()).signing_bytes(); + let operation = + build(crate::crypto::sphincs::sphincs_sign(&trader_keys().1, &signing).unwrap()); + Creation { + preimage_bytes, + operation, + token_policies: tokens().iter().cloned().collect(), + } + } + + fn escrow_valid() -> (Creation, crate::sofi::wire::EscrowTerms) { + let terms = escrow_terms_over(tokens()[0].0); + let state = escrow_state(crate::sofi::escrow::terms_address(&terms), 2_500, 0); + (escrow_creation_of(state, terms.encode()), terms) + } + + #[test] + fn an_escrow_genesis_the_owner_created_is_accepted_with_its_terms() { + let (c, terms) = escrow_valid(); + assert_eq!( + crate::sofi::signature::verify_operation(&c.operation, &trader_keys().0), + Ok(()), + "the escrow creation is signed under the owner's key" + ); + let accepted = accept(&c).expect("accepted"); + assert_eq!(accepted.escrow(), Some(&terms)); + assert_eq!(accepted.market(), None, "an escrow vault has no market"); + assert_eq!(accepted.state().reserve_a, 2_500); + } + + #[test] + fn an_escrow_genesis_is_refused_for_terms_its_slots_do_not_name() { + let terms = escrow_terms_over(tokens()[0].0); + let addr = crate::sofi::escrow::terms_address(&terms); + // The slots name one object and the creation carried another. + let other = escrow_terms_over(tokens()[1].0); + let c = escrow_creation_of(escrow_state(addr, 2_500, 0), other.encode()); + assert_eq!( + accept(&c), + Err(GenesisRefusal::Invalid( + GenesisInvalid::EscrowTermsNotCommitted + )) + ); + // One slot naming something else is no escrow vault. + let one_off = VaultStateLeaf { + release_policy: [0x0F; 32], + ..escrow_state(addr, 2_500, 0) + }; + let c = escrow_creation_of(one_off, terms.encode()); + assert_eq!( + accept(&c), + Err(GenesisRefusal::Invalid( + GenesisInvalid::EscrowTermsNotCommitted + )) + ); + // Bytes the slots name that are not escrow terms. + let garbage = b"no terms".to_vec(); + let c = escrow_creation_of( + escrow_state(crate::sofi::escrow::terms_address_of(&garbage), 2_500, 0), + garbage, + ); + assert!(matches!( + accept(&c), + Err(GenesisRefusal::Invalid( + GenesisInvalid::EscrowTermsDoNotDecode(..) + )) + )); + } + + #[test] + fn an_escrow_genesis_holding_a_second_reserve_or_no_stake_is_refused() { + let terms = escrow_terms_over(tokens()[0].0); + let addr = crate::sofi::escrow::terms_address(&terms); + for (a, b) in [(2_500, 7), (0, 0)] { + let c = escrow_creation_of(escrow_state(addr, a, b), terms.encode()); + assert_eq!( + accept(&c), + Err(GenesisRefusal::Invalid(GenesisInvalid::NotAnEscrowStake { + reserve_a: a, + reserve_b: b + })) + ); + } + } + + /// §49: the held token passes its policy for a transfer. + #[test] + fn an_escrow_vault_over_a_token_that_forbids_transfer_is_refused() { + let locked = committed(token_policy_bytes_with(9, 0)); + let terms = escrow_terms_over(locked.0); + let mut c = escrow_creation_of( + escrow_state(crate::sofi::escrow::terms_address(&terms), 2_500, 0), + terms.encode(), + ); + c.token_policies.insert(locked.0, locked.1); + assert_eq!( + accept(&c), + Err(GenesisRefusal::Invalid( + GenesisInvalid::TokenNotTransferable { token: locked.0 } + )) + ); + } } diff --git a/dsm_client/deterministic_state_machine/dsm/src/sofi/mod.rs b/dsm_client/deterministic_state_machine/dsm/src/sofi/mod.rs index 925f6d280..f3e64555e 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/sofi/mod.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/sofi/mod.rs @@ -37,6 +37,7 @@ pub mod admission; pub mod conformance; pub mod derive; +pub mod escrow; pub mod exercise; pub mod facts; pub mod fisher_yates; 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 1b44b2576..3baa0555c 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/sofi/publication.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/sofi/publication.rs @@ -36,14 +36,20 @@ use crate::common::domain_tags::{ TAG_DSM_SOFI_VAULT_GENESIS_LOCATOR, TAG_DSM_SOFI_VAULT_GENESIS_OBJECT, TAG_DSM_SOFI_VAULT_TOKEN_LOCATOR, }; +use crate::common::domain_tags::{ + TAG_DSM_ESCROW_CELL_LOCATOR, TAG_DSM_ESCROW_STATEMENT_LOCATOR, TAG_DSM_ESCROW_TERMS_OBJECT, + TAG_DSM_ESCROW_VERDICT_OBJECT, +}; use crate::crypto::domain::TaggedHashDomain; use crate::storage_object::immutable_addr; use super::derive; +use super::escrow; use super::signature::{verify_fulfillment, verify_precommit, verify_setup}; use super::wire::{ - DlvPolicyFulfillmentBody, SettlementPreimage, SignedSofiObject, SofiSetupBody, SofiWireError, - TraderFulfillmentBody, TraderPreBalance, TraderPrecommitBody, VaultGenesisPreimage, + DlvPolicyFulfillmentBody, EscrowTerms, EscrowVerdict, SettlementPreimage, SignedSofiObject, + SofiSetupBody, SofiWireError, TraderFulfillmentBody, TraderPreBalance, TraderPrecommitBody, + VaultGenesisPreimage, }; type D32 = [u8; 32]; @@ -123,6 +129,22 @@ pub enum Publication<'a> { /// found by the address `𝒞_E^pre` names. The exercise carries it too; /// publishing it lets a reader that holds only the closure fetch it. TraderPreBalance(&'a TraderPreBalance), + /// An escrow vault's terms, bare, found by the address all three of its + /// state's slots name (SoFi Amendment S21). + EscrowTerms(&'a EscrowTerms), + /// An escrow vault's genesis preimage, bare, indexed under + /// `vault_genesis_locator(v)` and under the cell locator of the verdict + /// cell its terms bind it to, so a counterparty finds exactly the vaults + /// linked to its own (SoFi Amendment S21). Its acceptance binds it to the + /// owner's validated creation, so publishing it asserts nothing. + EscrowVaultGenesis { + preimage: &'a VaultGenesisPreimage, + terms: &'a EscrowTerms, + }, + /// A verdict holding the signatures gathered so far, bare, indexed under + /// the statement locator of its cell and outcome (SoFi Amendment S21). It + /// carries no authority: only a verdict recognized at the cell decides. + EscrowVerdict(&'a EscrowVerdict), } fn envelope( @@ -162,6 +184,9 @@ impl Publication<'_> { Self::VaultGenesis { preimage, .. } => preimage.encode(), Self::VaultPolicy { bytes, .. } => Ok(bytes.to_vec()), Self::TraderPreBalance(balance) => Ok(balance.encode()), + Self::EscrowTerms(terms) => Ok(terms.encode()), + Self::EscrowVaultGenesis { preimage, .. } => preimage.encode(), + Self::EscrowVerdict(verdict) => Ok(verdict.encode()), } } @@ -180,6 +205,11 @@ impl Publication<'_> { VaultPolicyClass::Release => TAG_DSM_RELEASE_POLICY_OBJECT, }, Self::TraderPreBalance(_) => TAG_DSM_SOFI_TRADER_PRE_BALANCE_OBJECT, + Self::EscrowTerms(_) => TAG_DSM_ESCROW_TERMS_OBJECT, + // An escrow vault's genesis is a vault genesis preimage like any + // other, found under the same namespace. + Self::EscrowVaultGenesis { .. } => TAG_DSM_SOFI_VAULT_GENESIS_OBJECT, + Self::EscrowVerdict(_) => TAG_DSM_ESCROW_VERDICT_OBJECT, } } @@ -246,7 +276,42 @@ impl Publication<'_> { token(market.token_b()), ] } - Self::VaultPolicy { .. } | Self::TraderPreBalance(_) => Vec::new(), + Self::EscrowVaultGenesis { preimage, terms } => { + // The cell a vault is found by is the one its slots commit it + // to: other terms would index it under a cell it is not + // bound to. + let addr = escrow::terms_address(terms); + let state = &preimage.state; + if state.market_policy != addr + || state.fee_policy != addr + || state.release_policy != addr + { + return Err(SofiWireError::EscrowTermsNotCommitted); + } + 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_ESCROW_CELL_LOCATOR.source_bytes(), + locator: escrow::cell_locator(&escrow::verdict_cell_of(terms)), + }, + ] + } + Self::EscrowVerdict(verdict) => { + let cell = escrow::verdict_cell_key( + verdict.external_commitment(), + &escrow::table_digest(verdict.table()), + ); + vec![Locator { + index_namespace: TAG_DSM_ESCROW_STATEMENT_LOCATOR.source_bytes(), + locator: escrow::statement_locator(&cell, verdict.outcome()), + }] + } + Self::VaultPolicy { .. } | Self::TraderPreBalance(_) | Self::EscrowTerms(_) => { + Vec::new() + } }) } } @@ -676,4 +741,105 @@ mod tests { Err(SofiWireError::MarketNotCommitted) ); } + + // ── escrow vaults (SoFi Amendment S21) ──────────────────────────────── + + fn escrow_terms(token: u8) -> EscrowTerms { + let referee = crate::sofi::wire::EscrowSigner::new(ALG, &[0x5A; 64]).unwrap(); + EscrowTerms::new( + d(token), + escrow::external_commitment(b"a match"), + vec![crate::sofi::wire::EscrowBranch::new( + crate::sofi::wire::EscrowOutcome::new(b"void", vec![referee]).unwrap(), + G, + dev(), + )], + ) + .unwrap() + } + + fn escrow_genesis(terms: &EscrowTerms) -> VaultGenesisPreimage { + let addr = escrow::terms_address(terms); + VaultGenesisPreimage { + owner_genesis: G, + owner_device_id: dev(), + create_position: 7, + state: crate::sofi::wire::VaultStateLeaf { + owner_genesis: G, + owner_device_id: dev(), + create_position: 7, + market_policy: addr, + fee_policy: addr, + release_policy: addr, + storage_set_id: d(0x77), + generation: 0, + reserve_a: 2_500, + reserve_b: 0, + status: crate::sofi::wire::VAULT_STATUS_ACTIVE, + }, + } + } + + /// An escrow vault's genesis is found by its vault id and by the verdict + /// cell its terms bind it to, and its terms by the address its slots name. + #[test] + fn an_escrow_vault_is_found_by_its_verdict_cell() { + let terms = escrow_terms(0x40); + let genesis = escrow_genesis(&terms); + let published = Publication::EscrowVaultGenesis { + preimage: &genesis, + terms: &terms, + }; + assert_eq!( + published.locators().unwrap(), + vec![ + Locator { + index_namespace: TAG_DSM_SOFI_VAULT_GENESIS_LOCATOR.source_bytes(), + locator: derive::vault_genesis_locator(&genesis.vault_id()), + }, + Locator { + index_namespace: TAG_DSM_ESCROW_CELL_LOCATOR.source_bytes(), + locator: escrow::cell_locator(&escrow::verdict_cell_of(&terms)), + }, + ] + ); + assert_eq!(published.object_bytes().unwrap(), genesis.encode().unwrap()); + assert_eq!( + Publication::EscrowTerms(&terms).address().unwrap(), + escrow::terms_address(&terms) + ); + // Terms other than the ones the slots name would index the vault + // under a cell it is not bound to. + let other = escrow_terms(0x41); + assert_eq!( + Publication::EscrowVaultGenesis { + preimage: &genesis, + terms: &other, + } + .locators(), + Err(SofiWireError::EscrowTermsNotCommitted) + ); + } + + /// A gathered verdict is indexed under its cell's statement locator for + /// its outcome. + #[test] + fn a_gathered_verdict_is_found_by_its_statement() { + let terms = escrow_terms(0x40); + let signer = crate::sofi::wire::EscrowSigner::new(ALG, &[0x5A; 64]).unwrap(); + let verdict = EscrowVerdict::new( + *terms.external_commitment(), + terms.outcome_table(), + b"void", + vec![crate::sofi::wire::VerdictSignature::new(signer, &[0x99; 3]).unwrap()], + ) + .unwrap(); + assert_eq!( + Publication::EscrowVerdict(&verdict).locators().unwrap(), + vec![Locator { + index_namespace: TAG_DSM_ESCROW_STATEMENT_LOCATOR.source_bytes(), + locator: escrow::statement_locator(&escrow::verdict_cell_of(&terms), b"void"), + }] + ); + } } diff --git a/dsm_client/deterministic_state_machine/dsm/src/sofi/resolution.rs b/dsm_client/deterministic_state_machine/dsm/src/sofi/resolution.rs index 127a8db65..3a4caa168 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/sofi/resolution.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/sofi/resolution.rs @@ -414,6 +414,34 @@ impl LegFacts { } } +/// What a Release reads at its verdict cell (SoFi Amendment S21); every other +/// operation reads none. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum VerdictFact { + /// Not a Release: no verdict bears on the operation. + NotARelease, + /// A Release, and where it stands at its verdict cell. + Release(super::escrow::VerdictStanding), +} + +impl VerdictFact { + /// Whether the verdict lets a consumption count: an operation that is no + /// release reads none, and a release counts only once the cell's verdict + /// is final on its outcome (`ConsumedRoute`, SoFi §19.9). + fn permits_consumption(self) -> bool { + matches!( + self, + Self::NotARelease | Self::Release(super::escrow::VerdictStanding::Final) + ) + } + + /// `VerdictHeld(K, o′)` for another outcome: the release can never + /// realize (`RouteImpossible` arm (v)). + fn lost(self) -> bool { + self == Self::Release(super::escrow::VerdictStanding::Lost) + } +} + /// Everything a verifier needs about one trader position `q` and the /// fulfillment `F` that claims it. /// @@ -450,6 +478,8 @@ pub struct RouteFacts<'legs> { pub(crate) validation: Validation, /// `StorageResolved(q)`: registration and every successor key. pub(crate) storage_resolved: bool, + /// A Release's standing at its verdict cell (SoFi Amendment S21). + pub(crate) verdict: VerdictFact, /// One entry per leg of `P`, in P's leg order. A single-vault trade is the /// one-leg case. pub(crate) legs: &'legs [LegFacts], @@ -465,6 +495,9 @@ pub struct GroundRouteFacts<'legs> { pub(crate) pair: PairStanding, pub(crate) parent: ParentPosition, pub(crate) parent_pre_root: [u8; 32], + /// A Release's standing at its verdict cell: the cell's raw read and the + /// verdict's own bytes, no validation evidence (SoFi §19.9, arm (v)). + pub(crate) verdict: VerdictFact, pub(crate) legs: &'legs [LegFacts], } @@ -531,7 +564,8 @@ pub fn trader_parent_impossible(parent: &ParentPosition, parent_pre_root: &[u8; /// `ConsumedRoute(F, E)` (Section 23.2): registered, conforming, statically /// valid, built on the branch the parent actually took, and every required /// leg finally consumed its exact canonical parent on this `E` at a live -/// attempt. A single-vault trade is the one-leg case. +/// attempt. A single-vault trade is the one-leg case. A Release also needs +/// its verdict cell final on its outcome (SoFi Amendment S21). /// /// This is where parent canonicality lives. `RouteValidation` never looks at /// it, so a static verdict cannot depend on who won a race. And @@ -541,6 +575,7 @@ pub fn consumed_route(facts: &RouteFacts<'_>) -> bool { facts.pair == PairStanding::Registered && facts.conformance == Validation::Valid && facts.validation == Validation::Valid + && facts.verdict.permits_consumption() && trader_parent_compatible(&facts.parent, &facts.parent_pre_root) && !facts.legs.is_empty() && facts.legs.iter().all(|l| { @@ -566,6 +601,9 @@ pub enum ImpossibleArm { /// (iv) `TraderParentImpossible(P)`: the trader parent is terminal on the /// other branch, or on none. TraderParentImpossible, + /// (v) a Release whose verdict cell holds a verdict on another outcome + /// (SoFi Amendment S21). Permanent: the cell's leader keeps one value. + VerdictOnAnotherOutcome, } /// The arm of `RouteImpossible(P, E)` that holds, in arm order. @@ -593,6 +631,9 @@ pub fn route_impossible(facts: &RouteFacts<'_>) -> Option { if trader_parent_impossible(&facts.parent, &facts.parent_pre_root) { return Some(ImpossibleArm::TraderParentImpossible); } + if facts.verdict.lost() { + return Some(ImpossibleArm::VerdictOnAnotherOutcome); + } None } @@ -619,7 +660,7 @@ pub enum Incomplete { /// | 2 | Invalid | `FulfillmentConformance(F) = Invalid` | /// | 3 | Realized | `ConsumedRoute(F, E)` | /// | 4 | Invalid | `RouteValidation = Invalid` | -/// | 5 | Void | storage-resolved, and a reserved key or a parent is lost | +/// | 5 | Void | storage-resolved, and a reserved key, a parent, or a release's verdict is lost | /// | 6 | not yet (`Incomplete`) | otherwise: a required storage fact is not final | /// /// The predecessor's resolution is part of the complete facts: the caller @@ -656,8 +697,11 @@ pub(crate) fn resolve_position(facts: &RouteFacts<'_>) -> Result(legs: &'l [LegFacts], standing: VerdictStanding) -> RouteFacts<'l> { + RouteFacts { + verdict: VerdictFact::Release(standing), + ..realized(legs) + } + } + + use crate::sofi::escrow::VerdictStanding; + + /// A release whose leg consumed its parent realizes only once its verdict + /// cell is final on its outcome; unsettled, it is no result yet; lost to + /// another outcome, it is Void and nothing moves. + #[test] + fn a_release_realizes_only_on_the_verdict_final_on_its_outcome() { + let legs = [good_leg()]; + assert_eq!( + resolve_position(&release_facts(&legs, VerdictStanding::Final)), + Ok(Resolution::Realized) + ); + assert_eq!( + resolve_position(&release_facts(&legs, VerdictStanding::Unsettled)), + Err(Incomplete::StorageNotFinal) + ); + assert_eq!( + resolve_position(&release_facts(&legs, VerdictStanding::Lost)), + Ok(Resolution::Void) + ); + // Another operation reads no verdict, so the arm never touches it. + assert_eq!(resolve_position(&realized(&legs)), Ok(Resolution::Realized)); + } + + /// Arm (v): the release can never realize once another outcome holds the + /// cell, and that is attributable; the key it holds is skipped, so the + /// vault's next attempt goes live for the branch that won. + #[test] + fn a_release_that_lost_the_verdict_frees_its_key() { + let legs = [good_leg()]; + let lost = release_facts(&legs, VerdictStanding::Lost); + assert_eq!( + route_impossible(&lost), + Some(ImpossibleArm::VerdictOnAnotherOutcome) + ); + assert_eq!( + classify_attempt(&lost, &legs[0]), + ( + AttemptClass::Skipped, + Some(SkipReason::RejectedFinalRoute( + ImpossibleArm::VerdictOnAnotherOutcome + )) + ) + ); + // Decided without validation evidence: the walk skips the key on the + // cell's read and the verdict's own bytes. + assert_eq!( + skip_without_evidence(&ground_of(&lost), &legs[0]), + ( + AttemptClass::Skipped, + Some(SkipReason::RejectedFinalRoute( + ImpossibleArm::VerdictOnAnotherOutcome + )) + ) + ); + // Unsettled holds the key; final on its outcome consumes the parent. + let unsettled = release_facts(&legs, VerdictStanding::Unsettled); + assert_eq!(route_impossible(&unsettled), None); + assert_eq!( + classify_attempt(&unsettled, &legs[0]), + (AttemptClass::Unresolved, None) + ); + assert_eq!( + skip_without_evidence(&ground_of(&unsettled), &legs[0]), + (AttemptClass::Unresolved, None) + ); + assert_eq!( + classify_attempt(&release_facts(&legs, VerdictStanding::Final), &legs[0]), + (AttemptClass::Consumed, None) + ); + } + + /// An invalid release is Invalid whatever its verdict: the verdict decides + /// between Realized and Void for a valid release only. + #[test] + fn an_invalid_release_is_invalid_whatever_the_verdict() { + let legs = [good_leg()]; + for standing in [ + VerdictStanding::Final, + VerdictStanding::Unsettled, + VerdictStanding::Lost, + ] { + let facts = RouteFacts { + validation: Invalid, + ..release_facts(&legs, standing) + }; + assert_eq!(resolve_position(&facts), Ok(Resolution::Invalid)); + } + } } 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 62c1cf32b..ecc74e489 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/sofi/resolve.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/sofi/resolve.rs @@ -38,6 +38,7 @@ use super::conformance::{ Validation, }; use super::derive; +use super::escrow::{verdict_completion, verdict_resolution, VerdictCell, VerdictCellRead}; use super::exercise::{ attempt_completion, attempt_resolution, AttemptCell, AttemptCellRead, RecognizedExercise, }; @@ -64,7 +65,7 @@ use super::validation::{ SetupLineage, VaultLeafPre, VaultPostState, }; use super::wire::{ - CoreEntry, ParentClaimRef, SettlementPreimage, SofiResolutionClaim, TraderCore, + CoreEntry, ParentClaimRef, SettlementBody, SettlementPreimage, SofiResolutionClaim, TraderCore, TraderFulfillmentBody, TraderPreBalance, TraderPrecommitBody, ValidationRef, VaultGenesisPreimage, VaultStateLeaf, }; @@ -186,6 +187,12 @@ pub trait SofiReads { /// accepts each genesis and checks its market before it is a vault of /// `t`. fn vault_token_candidates(&self, token: &D32) -> Result, ReadFailure>; + /// The vault named by every preimage published under verdict cell + /// `verdict_cell`'s cell locator that decodes as a vault genesis + /// preimage, in append order (SoFi Amendment S21). Candidates only: + /// [`Verifier::vaults_of_cell`] accepts each genesis and checks its terms + /// derive the cell before it is a vault bound to it. + fn escrow_cell_candidates(&self, verdict_cell: &D32) -> Result, ReadFailure>; /// The owner's transition at its creation position, validated by the /// peer lineage walk. fn vault_owner( @@ -561,6 +568,8 @@ struct LegsRead { registration: RegistrationRead, cells: Vec, walks: Vec>, + /// For a Release, its verdict cell (SoFi Amendment S21). + verdict: Option, } impl LegsRead { @@ -629,8 +638,50 @@ impl Verifier<'_, R> { .map_err(|e| VerifierFailure::Refused(format!("position cells: {e:?}"))) } + /// The verdict cell at `verdict_cell`, routed over the set (SoFi + /// Amendment S21). + pub fn verdict_cell(&self, verdict_cell: &D32) -> Result { + VerdictCell::new(verdict_cell, self.members, &self.set_id) + .map_err(|e| VerifierFailure::Refused(format!("verdict cell: {e:?}"))) + } + // ── reads ─────────────────────────────────────────────────────────── + /// The verdict cell at `verdict_cell` as a Release reads it (SoFi + /// Amendment S21): its route chains evaluated from every seat's reads into + /// a read bound to the key. A verdict final at the cell has its + /// completion proof kept (Amendment S10). Reads that do not decide the + /// cell yet are the inner `Err`: a network status, never an open cell. + pub fn read_verdict_cell( + &self, + verdict_cell: &D32, + ) -> Result, VerifierFailure> { + let cell = self.verdict_cell(verdict_cell)?; + let evidence = self.reads.cell(cell.routed())?; + let read = match verdict_resolution(&cell, &evidence) { + Ok(read) => read, + Err(missing) => return Ok(Err(missing)), + }; + if let CellFact::Held { + state: ChainState::Final, + .. + } = read.fact() + { + let (.., proof) = verdict_completion(&cell, &read, &evidence) + .map_err(|missing| { + VerifierFailure::Read(format!("verdict completion: {missing:?}")) + })? + .ok_or_else(|| { + VerifierFailure::Read( + "verdict completion: a final verdict has no completion proof".to_string(), + ) + })?; + self.reads + .keep_completion(cell.routed(), &evidence, &proof)?; + } + Ok(Ok(read)) + } + /// `SuccessorResolution(K^(attempt))` of `vault_id` at `parent_root`, as /// the ladder reads it (Section 23.1): the cell's route chains evaluated /// from every seat's reads into a read bound to the key. An exercise @@ -869,8 +920,12 @@ impl Verifier<'_, R> { ) -> Result, VerifierFailure> { let needs = EvidenceNeeds::of(precommit, preimage); let mut missing = Vec::new(); + // Token policies the predicate named as missing in an earlier round: + // an escrow vault's token is named by its terms, which the round + // before fetched (SoFi Amendment S21). + let mut named_tokens: BTreeSet = BTreeSet::new(); for round in 1..=ACQUIRE_ROUNDS { - let evidence = self.gather(precommit, preimage, &needs, carried)?; + let evidence = self.gather(precommit, preimage, &needs, carried, &named_tokens)?; match route_validation(precommit, preimage, &evidence) { Ok(Validation::Valid | Validation::Invalid) => { return Ok(Acquired::Complete(evidence)) @@ -879,6 +934,9 @@ impl Verifier<'_, R> { log::info!( "[sofi verifier] evidence round {round}/{ACQUIRE_ROUNDS}: not in hand: {what:?}" ); + if let Missing::TokenPolicy { commit } = &what { + named_tokens.insert(*commit); + } missing = vec![what]; } } @@ -900,6 +958,7 @@ impl Verifier<'_, R> { preimage: &SettlementPreimage, needs: &EvidenceNeeds, carried: &BTreeMap>, + named_tokens: &BTreeSet, ) -> Result { let mut objects: BTreeMap> = BTreeMap::new(); for addr in &needs.trader_pre_balances { @@ -953,6 +1012,13 @@ impl Verifier<'_, R> { objects.insert(addr, bytes); } } + // The token policies the predicate named in an earlier round. A read + // that cannot be made is a network status for the whole acquisition. + for commit in named_tokens { + if !token_policies.contains_key(commit) { + token_policies.insert(*commit, self.reads.token_policy_bytes(commit)?); + } + } let mut setups: BTreeMap> = BTreeMap::new(); let mut setup_lineages: BTreeMap = BTreeMap::new(); @@ -1135,10 +1201,13 @@ impl Verifier<'_, R> { continue; } match self.vault_genesis(&vault_id) { + // A market that pairs `token`. An escrow vault has no market + // and is never a vault of a token (SoFi Amendment S21). Ok(VaultGenesis::Accepted(accepted)) => { - let market = accepted.market(); - if market.token_a() == token || market.token_b() == token { - vaults.push(*accepted); + if let Some(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 @@ -1157,6 +1226,57 @@ impl Verifier<'_, R> { }) } + /// SoFi Amendment S21: the escrow vaults bound to `verdict_cell`, found + /// under its cell 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 — and the + /// escrow terms that acceptance resolves derive `verdict_cell`; anything + /// else appended under the locator is passed over, so a vault bound to + /// another cell is never found among the linked ones. A candidate the + /// reads cannot establish yet, or a scan that stopped short, makes the + /// discovery `Partial`; an index read that could not be made is a + /// `VerifierFailure::Read`. + pub fn vaults_of_cell( + &self, + verdict_cell: &D32, + ) -> Result, VerifierFailure> { + // An index read that could not be made is the caller's network status: + // nothing is established and nothing refuted (storage §4). + let (candidates, mut scan) = match self.reads.escrow_cell_candidates(verdict_cell)? { + Discovered::Complete(candidates) => (candidates, ScanExtent::Whole), + Discovered::Partial(candidates) => (candidates, 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)) => { + if let Some(terms) = accepted.escrow() { + if super::escrow::verdict_cell_of(terms) == *verdict_cell { + vaults.push(*accepted); + } + } + } + // Not a vault anyone created, or a genesis refused: not a + // vault bound to the cell. + Ok(VaultGenesis::NotPublished | VaultGenesis::Refused(_)) + | Err(VerifierFailure::Refused(_)) => {} + // Not established yet: it may be one. + 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 @@ -1614,6 +1734,7 @@ impl Verifier<'_, R> { registration: &read.registration, parent: self.parent_for(exercise), legs: &legs, + verdict: read.verdict.as_ref(), }) { Ok(ground) => ground, Err(why) => return Ok(Err(why)), @@ -1766,10 +1887,28 @@ impl Verifier<'_, R> { cells.push(cell); walks.push(walk); } + // A Release stands on the verdict its cell holds (SoFi Amendment S21): + // the cell is read like any other, and nothing is read for any other + // operation. + let verdict = match exercise.preimage().settlement() { + SettlementBody::Release { verdict_cell, .. } => { + match self.read_verdict_cell(verdict_cell)? { + Ok(read) => Some(read), + Err(missing) => { + return Ok(Err(NotEstablished::VerdictCell { + verdict_cell: *verdict_cell, + missing, + })) + } + } + } + SettlementBody::Swap { .. } | SettlementBody::Close { .. } => None, + }; Ok(Ok(LegsRead { registration, cells, walks, + verdict, })) } @@ -1816,6 +1955,7 @@ impl Verifier<'_, R> { evidence: &evidence, parent: self.parent_for(exercise), legs, + verdict: read.verdict.as_ref(), }; Ok(establish(&reads)) } @@ -2062,7 +2202,8 @@ impl Verifier<'_, R> { NotEstablished::Registration(..) | NotEstablished::ConformanceEvidence(..) | NotEstablished::RouteEvidence(..) - | NotEstablished::AttemptCell { .. } => { + | NotEstablished::AttemptCell { .. } + | NotEstablished::VerdictCell { .. } => { Incomplete(format!("position {q}: the facts: {why:?}")) } NotEstablished::ParentUnresolved { .. } diff --git a/dsm_client/deterministic_state_machine/dsm/src/sofi/signature.rs b/dsm_client/deterministic_state_machine/dsm/src/sofi/signature.rs index fffada9a2..1baa32d54 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/sofi/signature.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/sofi/signature.rs @@ -9,6 +9,7 @@ //! | `SofiSetup` | `m_setup = H(setup-sign/v1 ‖ CCB(body))` | the body's committed key | //! | `SofiFulfill` | `m_F = H(fulfillment-sign/v1 ‖ CCB(body))` | the body's committed key | //! | `SofiVaultCreate` | the operation's canonical unsigned bytes | the owner's device key | +//! | `EscrowVaultCreate` | the operation's canonical unsigned bytes | the owner's device key | //! //! A setup and a fulfillment sign their PROTOCOL OBJECT, not the operation //! that carries it, and they do not additionally carry a generic operation @@ -147,8 +148,10 @@ impl From for crate::types::error::DsmError { } } -/// One verification, over exact bytes, under a declared algorithm. -fn verify_bytes( +/// One verification, over exact bytes, under a declared algorithm. Shared +/// with the escrow verdict's signatures (`sofi::escrow`), so every SoFi +/// signature is checked by this one rule. +pub(crate) fn verify_bytes( what: &'static str, alg: u16, key: &[u8], @@ -347,6 +350,14 @@ pub fn verify_operation( &operation.signing_bytes(), signature, ), + // The same rule for an escrow vault's creation (SoFi Amendment S21). + Operation::EscrowVaultCreate { signature, .. } => verify_bytes( + "EscrowVaultCreate", + sigalg::SPHINCS_PLUS_SPX256F, + device_public_key, + &operation.signing_bytes(), + signature, + ), // Not a SoFi operation. Refused rather than silently passed: a caller // that routes something else here has already lost track of which // rule applies. 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 77dfc7acb..56a596e43 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/sofi/validation.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/sofi/validation.rs @@ -37,12 +37,13 @@ use crate::economic::state::{EconomicBalanceState, EconomicLeafState}; use super::conformance::Validation; use super::derive; +use super::escrow; use super::smt::{verify_batch, FoldEntry, FoldError}; use super::wire::{ - next_position, CoreEntry, DlvCore, OwnerAuthority, SettlementBody, SettlementPreimage, SwapHop, - TraderCore, TraderPreBalance, TraderPrecommitBody, TraderRelationshipLeaf, ValidationRef, - VaultRelationshipLeaf, VaultStateLeaf, MAX_SETTLEMENT_PREIMAGE_BYTES, VAULT_STATUS_ACTIVE, - VAULT_STATUS_RETIRED, + next_position, CoreEntry, DlvCore, EscrowTerms, OwnerAuthority, SettlementBody, + SettlementPreimage, SwapHop, TraderCore, TraderPreBalance, TraderPrecommitBody, + TraderRelationshipLeaf, ValidationRef, VaultRelationshipLeaf, VaultStateLeaf, + MAX_SETTLEMENT_PREIMAGE_BYTES, VAULT_STATUS_ACTIVE, VAULT_STATUS_RETIRED, }; type D32 = [u8; 32]; @@ -151,6 +152,25 @@ pub enum Invalid { TraderPreBalanceDoesNotDecode(crate::ccb::decode::DecodeError), /// A `TraderPreBalance` names another trader than `P`'s. TraderPreBalanceNotThisTrader, + /// A Close or a Swap names a vault whose terms are not a market: an + /// escrow vault has no market and no owner close (SoFi Amendment S21). + TermsAreNotAMarket, + /// A Release names a vault whose terms are not escrow terms (SoFi + /// Amendment S21). + TermsAreNotEscrow, + /// Bytes that re-derive the address an escrow vault's slots name are not + /// `EscrowTerms`: the vault committed terms that have no reading. + EscrowTermsDoNotDecode(crate::ccb::decode::DecodeError), + /// A Release names a verdict cell other than the one its vault's terms + /// derive. + VerdictCellIsNotTheTerms, + /// A Release names an outcome no branch of its vault's terms has. + OutcomeHasNoBranch, + /// A Release's trader is not the recipient of the branch it names. + NotTheBranchRecipient, + /// A Release's amount is not the vault's whole held amount, or the vault + /// holds a second reserve. + ReleaseIsNotTheWholeAmount, } /// The conjunction, as an accumulator: any Invalid dominates, and only in its @@ -345,7 +365,9 @@ impl EvidenceNeeds { keys.insert(derive::vault_state_key(core.vault_id())); keys.extend(core.entries().iter().map(CoreEntry::key)); } - if let SettlementBody::Close { vault_id, .. } = preimage.settlement() { + if let SettlementBody::Close { vault_id, .. } | SettlementBody::Release { vault_id, .. } = + preimage.settlement() + { vaults .entry(*vault_id) .or_default() @@ -358,15 +380,20 @@ impl EvidenceNeeds { } } - /// The three policy objects a vault state commits, by class and address. + /// The objects a vault state's slots name, by class and address: a + /// market's three policies, or an escrow vault's one terms object (SoFi + /// Amendment S21). /// The two token policies a vault's market names: what the transferable /// check of SoFi §49 is decided over, for both tokens of every hop. pub fn token_policies_of(market: &crate::ccb::state::MarketPolicy) -> [D32; 2] { [*market.token_a(), *market.token_b()] } - pub fn policies_of(state: &VaultStateLeaf) -> [(u16, D32); 3] { - [ + pub fn policies_of(state: &VaultStateLeaf) -> Vec<(u16, D32)> { + if VaultTerms::slots_name_escrow(state) { + return vec![(crate::ccb::class::ESCROW_TERMS, state.market_policy)]; + } + vec![ (crate::ccb::class::MARKET_POLICY, state.market_policy), (crate::ccb::class::FEE_POLICY, state.fee_policy), (crate::ccb::class::RELEASE_POLICY, state.release_policy), @@ -478,6 +505,23 @@ impl Evidence { Ok(bytes) } + /// The escrow terms at `addr`, AUTHENTICATED against it under the terms + /// namespace (SoFi Amendment S21). Bytes not in hand, or that do not + /// re-derive `addr`, supply nothing (note 9). + fn terms_bytes(&self, addr: &D32) -> Result<&[u8], Refusal> { + let bytes = self + .objects + .get(addr) + .map(Vec::as_slice) + .ok_or(Refusal::Incomplete(Missing::Policy { addr: *addr }))?; + if escrow::terms_address_of(bytes) != *addr { + return Err(Refusal::Incomplete(Missing::NonVerifyingObject { + addr: *addr, + })); + } + Ok(bytes) + } + /// The `TraderPreBalance` at `addr`, AUTHENTICATED against it. Bytes not /// in hand, or that do not re-derive `addr`, supply nothing (note 9). /// Bytes that do re-derive it are the object `E` committed, so one that @@ -570,6 +614,63 @@ impl Policies { } } +/// What a vault's three policy slots name (SoFi §19.9, the slot rule): a +/// market's three policies, or one escrow terms object, which all three slots +/// name. The slots of a market name objects of three classes, each addressed +/// under its own namespace, so they can never all be equal: equal slots are +/// an escrow vault's, and the bytes they name must authenticate as its terms. +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum VaultTerms { + Market(Policies), + Escrow(EscrowTerms), +} + +impl VaultTerms { + /// Whether `state`'s three slots name one object: an escrow vault's. + pub fn slots_name_escrow(state: &VaultStateLeaf) -> bool { + state.market_policy == state.fee_policy && state.fee_policy == state.release_policy + } + + /// The terms `state` commits, from the objects `evidence` holds, each + /// re-addressed before it is decoded. + pub fn resolve(evidence: &Evidence, state: &VaultStateLeaf) -> Result { + if Self::slots_name_escrow(state) { + let bytes = evidence.terms_bytes(&state.market_policy)?; + let terms = EscrowTerms::decode(bytes) + .map_err(|why| Refusal::Invalid(Invalid::EscrowTermsDoNotDecode(why)))?; + return Ok(Self::Escrow(terms)); + } + Ok(Self::Market(Policies::resolve(evidence, state)?)) + } + + /// A market's policies; an escrow vault has none, so a Close or a Swap + /// against one is Invalid. + pub fn market(self) -> Result { + match self { + Self::Market(policies) => Ok(policies), + Self::Escrow(..) => Err(Refusal::Invalid(Invalid::TermsAreNotAMarket)), + } + } + + /// An escrow vault's terms; a market has none, so a Release against one + /// is Invalid. + pub fn escrow(self) -> Result { + match self { + Self::Escrow(terms) => Ok(terms), + Self::Market(..) => Err(Refusal::Invalid(Invalid::TermsAreNotEscrow)), + } + } + + /// The tokens the vault holds: a market's pair, or an escrow vault's one + /// token. + pub fn tokens(&self) -> Vec { + match self { + Self::Market(policies) => EvidenceNeeds::token_policies_of(&policies.market).to_vec(), + Self::Escrow(terms) => vec![*terms.token()], + } + } +} + /// `SetupValid` for one leg of P (SoFi §16, §20.1): the setup the leg names by /// `ρ` is the canonical envelope whose body re-derives `ρ`, names P's trader /// and the leg's vault, is signed by P's trader key, and names by @@ -648,18 +749,18 @@ fn setup_valid( Ok(()) } -/// Both tokens of a vault the operation touches pass their policies as market -/// legs (SoFi §19.5, §49; MR-SOFI-0311), an intermediate token of a route -/// included. ERA and dBTC are pre-rooted and never consult a policy. Any -/// other token's `TokenPolicyV3` bytes are re-hashed to its commit before -/// they establish anything. -fn market_legs_permitted( +/// Every token of a vault the operation touches passes its policy for a +/// transfer (SoFi §19.5, §19.9, §49; MR-SOFI-0311): both tokens of a market, +/// an intermediate token of a route included, and an escrow vault's one +/// token. ERA and dBTC are pre-rooted and never consult a policy. Any other +/// token's `TokenPolicyV3` bytes are re-hashed to its commit before they +/// establish anything. +fn vault_tokens_permitted( core: &crate::sofi::wire::DlvCore, evidence: &Evidence, ) -> Result<(), Refusal> { let state = evidence.vault_state(core.vault_id())?; - let policies = Policies::resolve(evidence, &state)?; - for commit in EvidenceNeeds::token_policies_of(&policies.market) { + for commit in VaultTerms::resolve(evidence, &state)?.tokens() { if crate::core::token::builtin_token_id_for_policy_commit(&commit).is_some() { continue; } @@ -822,22 +923,11 @@ pub fn vault_post_states( .enumerate() .find(|(_, h)| h.vault_id == vault_id) .ok_or(Refusal::Invalid(Invalid::LegsDoNotMatchPrecommit))?; - let policies = Policies::resolve(evidence, &pre_state)?; + let policies = VaultTerms::resolve(evidence, &pre_state)?.market()?; swap_vault_post(&pre_state, &policies, hop, index)? } - SettlementBody::Close { .. } => { - let generation = pre_state.generation.checked_add(1).ok_or(Refusal::Invalid( - Invalid::CheckedArithmetic { - what: "vault generation", - }, - ))?; - VaultStateLeaf { - generation, - reserve_a: 0, - reserve_b: 0, - status: VAULT_STATUS_RETIRED, - ..pre_state.clone() - } + SettlementBody::Close { .. } | SettlementBody::Release { .. } => { + retire_vault_post(&pre_state)? } }; // The state the core STATES must be the state the arithmetic reaches. @@ -899,7 +989,8 @@ pub fn vault_post_states( /// held by the DLVs across the hop rather than by the trader. So `B` never /// becomes a trader balance leaf, and no rule about the trader's tokens /// reaches it. A close is different: BOTH of the vault's reserve assets are -/// credited back to the owner. +/// credited back to the owner. A release credits an escrow vault's one token +/// to the branch's recipient. pub fn trader_movements( preimage: &SettlementPreimage, evidence: &Evidence, @@ -919,12 +1010,21 @@ pub fn trader_movements( .. } => { let state = evidence.vault_state(vault_id)?; - let policies = Policies::resolve(evidence, &state)?; + let policies = VaultTerms::resolve(evidence, &state)?.market()?; vec![ (*policies.market.token_a(), *reserve_a, 0), (*policies.market.token_b(), *reserve_b, 0), ] } + // A release pays the whole amount of the vault's one token to the + // branch's recipient, and debits nothing (SoFi Amendment S21). + SettlementBody::Release { + vault_id, amount, .. + } => { + let state = evidence.vault_state(vault_id)?; + let terms = VaultTerms::resolve(evidence, &state)?.escrow()?; + vec![(*terms.token(), *amount, 0)] + } }) } @@ -1249,7 +1349,7 @@ pub fn validate( // included (SoFi §19.5, §49; MR-SOFI-0311): both tokens of every vault // the operation touches must be transferable. for core in preimage.dlv_cores() { - verdict.note(market_legs_permitted(core, evidence)); + verdict.note(vault_tokens_permitted(core, evidence)); } match preimage.settlement() { @@ -1289,12 +1389,30 @@ pub fn validate( *reserve_a, *reserve_b, ), + SettlementBody::Release { + vault_id, + verdict_cell, + outcome, + amount, + .. + } => validate_release( + &mut verdict, + &ReleaseCheck { + precommit, + preimage, + evidence, + vault_id, + verdict_cell, + outcome, + amount: *amount, + }, + ), } verdict.finish() } /// `B°`'s core references must be the cores `P(E)` actually carries, and a -/// close's parent must be the leg `P` actually names. +/// close's or a release's parent must be the leg `P` actually names. /// /// Without this the references are decoration: the body could name one core /// while the preimage carried another, and every later check would read the @@ -1352,6 +1470,14 @@ fn check_settlement_core_references( trader_core, dlv_core, .. + } + | SettlementBody::Release { + vault_id, + parent_root, + setup_ref, + trader_core, + dlv_core, + .. } => { require( *trader_core == actual_trader, @@ -1370,7 +1496,7 @@ fn check_settlement_core_references( field: "B°.dlv_core", }, )?; - // A close's own parent must be the leg P names, and the core's. + // Its own parent must be the leg P names, and the core's. let leg = precommit .legs() .iter() @@ -1637,9 +1763,9 @@ pub fn realize_root(core: &TraderCore, external_commitment: &D32) -> Result Result { +/// A vault's state after its owner's full close, or an escrow vault's release +/// (SoFi Amendment S21): the next generation, every reserve released, retired. +pub fn retire_vault_post(pre_state: &VaultStateLeaf) -> Result { let generation = pre_state.generation.checked_add(1).ok_or(Refusal::Invalid( Invalid::CheckedArithmetic { what: "vault generation", @@ -1990,9 +2116,9 @@ fn validate_swap( Invalid::NetworkScopeMismatch, )); } - let policies = state - .as_ref() - .and_then(|state| verdict.get(Policies::resolve(evidence, state))); + let policies = state.as_ref().and_then(|state| { + verdict.get(VaultTerms::resolve(evidence, state).and_then(VaultTerms::market)) + }); if let (Some(state), Some(policies)) = (state.as_ref(), policies.as_ref()) { match swap_vault_post(state, policies, hop, i) { Ok(post_state) => verdict.note(check_vault_write_set(core, &post_state, state)), @@ -2158,7 +2284,7 @@ fn validate_close( preimage.dlv_cores().len() == 1 && *core.vault_id() == *vault_id, Invalid::LegsDoNotMatchPrecommit, )); - match close_vault_post(pre_state) { + match retire_vault_post(pre_state) { Ok(retired) => verdict.note(check_vault_write_set(core, &retired, pre_state)), Err(refusal) => verdict.note(Err(refusal)), } @@ -2173,9 +2299,9 @@ fn validate_close( // The trader takes back exactly both reserves, in the pair's own tokens. // No debit: a close pays out, and constant-product pricing never applies. let trader_core = preimage.trader_core(); - let policies = state - .as_ref() - .and_then(|state| verdict.get(Policies::resolve(evidence, state))); + let policies = state.as_ref().and_then(|state| { + verdict.get(VaultTerms::resolve(evidence, state).and_then(VaultTerms::market)) + }); if let Some(policies) = policies.as_ref() { verdict.note( trader_pre_balances(precommit, preimage, evidence).and_then(|pre| { @@ -2219,6 +2345,134 @@ fn validate_close( })); } +/// What a Release names, for [`validate_release`]. +struct ReleaseCheck<'a> { + precommit: &'a TraderPrecommitBody, + preimage: &'a SettlementPreimage, + evidence: &'a Evidence, + vault_id: &'a D32, + verdict_cell: &'a D32, + outcome: &'a [u8], + amount: u64, +} + +/// RouteValidation for a Release (SoFi §19.9): one leg; the vault's terms are +/// escrow terms, whose cell is the one the release names and whose branch for +/// its outcome pays its trader; the whole amount of an Active escrow vault; +/// the closed write set, with the vault retired; and the realize root the +/// fold gives. No signature is verified here: the verdict proves its +/// authority where it occupies its cell, and resolution reads that fact. +fn validate_release(verdict: &mut Verdict, r: &ReleaseCheck<'_>) { + let e = *r.precommit.external_commitment(); + verdict.note(require( + r.precommit.legs().len() == 1 && r.precommit.legs()[0].vault_id == *r.vault_id, + Invalid::LegsDoNotMatchPrecommit, + )); + + let state = verdict.get(r.evidence.vault_state(r.vault_id)); + if let Some(pre_state) = state.as_ref() { + // The vault id is the owner's own derivation; a release cannot name + // another vault's state. + verdict.note(require( + derive::vault_id( + &pre_state.owner_genesis, + &pre_state.owner_device_id, + pre_state.create_position, + ) == *r.vault_id, + Invalid::VaultIdIsNotTheOwnersDerivation, + )); + verdict.note(require( + pre_state.storage_set_id == *r.precommit.storage_set_id(), + Invalid::NetworkScopeMismatch, + )); + verdict.note(require( + pre_state.status == VAULT_STATUS_ACTIVE, + Invalid::VaultIsNotActive, + )); + // The whole held amount, and nothing chosen at release. + verdict.note(require( + r.amount > 0 && pre_state.reserve_a == r.amount && pre_state.reserve_b == 0, + Invalid::ReleaseIsNotTheWholeAmount, + )); + } + + let terms = state + .as_ref() + .and_then(|s| verdict.get(VaultTerms::resolve(r.evidence, s).and_then(VaultTerms::escrow))); + let trader_core = r.preimage.trader_core(); + if let Some(terms) = terms.as_ref() { + verdict.note(require( + escrow::verdict_cell_of(terms) == *r.verdict_cell, + Invalid::VerdictCellIsNotTheTerms, + )); + match terms.branch(r.outcome) { + None => verdict.note(Err(Refusal::Invalid(Invalid::OutcomeHasNoBranch))), + Some(branch) => verdict.note(require( + branch.recipient_genesis() == r.precommit.genesis() + && branch.recipient_device_id() == r.precommit.device_id(), + Invalid::NotTheBranchRecipient, + )), + } + // The recipient takes exactly the whole amount, in the vault's one + // token, and is debited nothing. + verdict.note( + trader_pre_balances(r.precommit, r.preimage, r.evidence).and_then(|pre| { + check_trader_balances( + r.precommit, + trader_core, + &pre, + &[(*terms.token(), r.amount, 0)], + 1, + ) + }), + ); + } + + let core = r.preimage.dlv_cores().first(); + if let (Some(core), Some(pre_state)) = (core, state.as_ref()) { + verdict.note(require( + r.preimage.dlv_cores().len() == 1 && *core.vault_id() == *r.vault_id, + Invalid::LegsDoNotMatchPrecommit, + )); + match retire_vault_post(pre_state) { + Ok(retired) => verdict.note(check_vault_write_set(core, &retired, pre_state)), + Err(refusal) => verdict.note(Err(refusal)), + } + } + if let Some(core) = core { + match dlv_fold_entries(core, &e, r.evidence) { + Ok(entries) => verdict.note(fold_core(&entries, core.pre_root()).and(Ok(()))), + Err(refusal) => verdict.note(Err(refusal)), + } + } + + let bases = relationship_bases(trader_core.entries()); + match bases.get(r.vault_id) { + None => verdict.note(Err(Refusal::Invalid(Invalid::WriteSetNotExact { + core: "T°", + }))), + Some((genesis, device_id, base)) => { + verdict.note(require( + genesis == r.precommit.genesis() && device_id == r.precommit.device_id(), + Invalid::CoreIdentityMismatch, + )); + if let Some(core) = core { + verdict.note(require( + *core.relationship_base() == *base, + Invalid::RelationshipBaseMismatch, + )); + } + } + } + + verdict.note(realize_root(trader_core, &e).and_then(|post_root| { + require( + post_root == *r.precommit.realize_root(), + Invalid::RealizeRootIsNotTheFold, + ) + })); +} + #[cfg(test)] #[allow(clippy::disallowed_methods)] // fixtures; a failure here is the signal pub(crate) mod fixtures { @@ -3078,6 +3332,27 @@ mod tests { dlv_core, closure, }, + SettlementBody::Release { + vault_id, + parent_root, + setup_ref, + verdict_cell, + outcome, + amount, + dlv_core, + closure, + .. + } => SettlementBody::Release { + vault_id, + parent_root, + setup_ref, + verdict_cell, + outcome, + amount, + trader_core: reference, + dlv_core, + closure, + }, }; let preimage = SettlementPreimage::new(settlement, core, f.preimage.dlv_cores().to_vec()).unwrap(); @@ -5177,7 +5452,9 @@ mod tests { dlv_cores, closure, }, - SettlementBody::Close { .. } => panic!("a swap fixture"), + SettlementBody::Close { .. } | SettlementBody::Release { .. } => { + panic!("a swap fixture") + } }; let preimage = SettlementPreimage::new( settlement, @@ -5416,4 +5693,390 @@ mod tests { Err(Refusal::Invalid(Invalid::LeafPostValueMismatch)) ); } + + // ── escrow vaults (SoFi Amendment S21) ──────────────────────────────── + + use crate::sofi::wire::{EscrowBranch, EscrowOutcome, EscrowSigner}; + + /// What an escrow fixture settles. + enum EscrowOp { + Release { + outcome: &'static [u8], + amount: u64, + verdict_cell: Option, + }, + Close, + } + + /// The amount the fixture's escrow vault holds. + const STAKE: u64 = 2_500; + /// The escrow vault's owner when it is not the trader. + const OTHER_OWNER: D32 = [0x0B; 32]; + + /// The referee, the one signer of every fixture outcome. Static validity + /// verifies no signature, so its key signs nothing here. + fn referee() -> EscrowSigner { + EscrowSigner::new(SIG_ALG, &[0x5A; 64]).unwrap() + } + + /// The fixture's terms: "a-wins" pays the trader, "b-wins" another + /// identity, "void" the vault's owner; the referee decides each. + fn escrow_terms(owner_device: D32) -> EscrowTerms { + let branch = |outcome: &[u8], to: (D32, D32)| { + EscrowBranch::new( + EscrowOutcome::new(outcome, vec![referee()]).unwrap(), + to.0, + to.1, + ) + }; + EscrowTerms::new( + tokens()[0].0, + escrow::external_commitment(b"fixture match"), + vec![ + branch(b"a-wins", (G, dev())), + branch(b"b-wins", (token(0xB1), token(0xB2))), + branch(b"void", (G, owner_device)), + ], + ) + .unwrap() + } + + /// An escrow vault's state at its parent: all three slots name its terms, + /// the stake in `reserve_a`, nothing in `reserve_b`. + fn escrow_state(owner_device: D32, terms: &EscrowTerms) -> VaultStateLeaf { + let addr = escrow::terms_address(terms); + VaultStateLeaf { + owner_genesis: G, + owner_device_id: owner_device, + create_position: P_CREATE, + market_policy: addr, + fee_policy: addr, + release_policy: addr, + storage_set_id: token(0x77), + generation: 0, + reserve_a: STAKE, + reserve_b: 0, + status: VAULT_STATUS_ACTIVE, + } + } + + /// One operation against an escrow vault of `owner_device`, by the + /// fixture trader, built the way a trader builds one: the vault retires, + /// the trader takes the stake and is debited nothing. + fn escrow_fixture(owner_device: D32, op: EscrowOp) -> Fixture { + let terms = escrow_terms(owner_device); + let held = *terms.token(); + let vault_id = derive::vault_id(&G, &owner_device, P_CREATE); + let rel_key = derive::relationship_key(&G, &dev(), &vault_id); + let base = + derive::relationship_leaf_genesis(&derive::setup_id(&G, &dev(), P_POS, &vault_id)); + let state = escrow_state(owner_device, &terms); + let state_key = derive::vault_state_key(&vault_id); + let relationship = VaultRelationshipLeaf { + trader_genesis: G, + trader_device_id: dev(), + leaf: base, + }; + let mut vault_tree = EconomicSmt::new(); + vault_tree.insert(state_key, derive::vault_state_leaf_value(&state).unwrap()); + vault_tree.insert( + rel_key, + derive::vault_relationship_leaf_value(&relationship), + ); + let retired = retire_vault_post(&state).unwrap(); + let mut vault_entries = vec![ + CoreEntry::Mutation { + key: state_key, + pre: derive::vault_state_leaf_value(&state).unwrap(), + post: derive::vault_state_leaf_value(&retired).unwrap(), + path: path_of(&vault_tree, &state_key), + }, + CoreEntry::Relationship { + genesis: G, + device_id: dev(), + vault_id, + base, + path: path_of(&vault_tree, &rel_key), + }, + ]; + vault_entries.sort_by_key(|e| e.key()); + let dlv_core = + DlvCore::new(vault_id, vault_tree.root(), G, dev(), base, vault_entries).unwrap(); + + let held_key = balance_key(&G, &dev(), &held); + let mut trader_tree = EconomicSmt::new(); + trader_tree.insert( + rel_key, + derive::trader_relationship_leaf_value(&TraderRelationshipLeaf { + vault_id, + leaf: base, + }), + ); + let mut trader_entries = vec![ + CoreEntry::Mutation { + key: held_key, + pre: crate::economic::tree::ABSENT_LEAF, + post: balance_leaf_value(held, STAKE), + path: path_of(&trader_tree, &held_key), + }, + CoreEntry::Relationship { + genesis: G, + device_id: dev(), + vault_id, + base, + path: path_of(&trader_tree, &rel_key), + }, + ]; + trader_entries.sort_by_key(|e| e.key()); + let trader_core = + TraderCore::new(G, dev(), P_POS + 1, trader_tree.root(), trader_entries).unwrap(); + let parent_claim = parent_claim_envelope(trader_tree.root()); + let trader_core_ref = derive::trader_core_digest(&trader_core.encode().unwrap()); + let dlv_core_ref = derive::dlv_core_digest(&dlv_core.encode().unwrap()); + let closure = with_parent(PreEClosureIndex::new(Vec::new()).unwrap(), &parent_claim); + let settlement = match op { + EscrowOp::Release { + outcome, + amount, + verdict_cell, + } => SettlementBody::Release { + vault_id, + parent_root: vault_tree.root(), + setup_ref: setup_ref_for(vault_id), + verdict_cell: match verdict_cell { + Some(cell) => cell, + None => escrow::verdict_cell_of(&terms), + }, + outcome: outcome.to_vec(), + amount, + trader_core: trader_core_ref, + dlv_core: dlv_core_ref, + closure, + }, + EscrowOp::Close => SettlementBody::Close { + vault_id, + parent_root: vault_tree.root(), + setup_ref: setup_ref_for(vault_id), + owner_authority: OwnerAuthority::Origin, + reserve_a: STAKE, + reserve_b: 0, + trader_core: trader_core_ref, + dlv_core: dlv_core_ref, + closure, + }, + }; + let preimage = + SettlementPreimage::new(settlement, trader_core.clone(), vec![dlv_core]).unwrap(); + let e = derive::recompute_e(&preimage).unwrap(); + let evidence = Evidence { + objects: BTreeMap::from([(escrow::terms_address(&terms), terms.encode())]), + vault_leaves: BTreeMap::from([ + ((vault_id, state_key), VaultLeafPre::State(state)), + ( + (vault_id, rel_key), + VaultLeafPre::Relationship(relationship), + ), + ]), + setups: BTreeMap::from([(setup_ref_for(vault_id), setup_envelope_for(vault_id))]), + token_policies: tokens()[..1].iter().cloned().collect(), + setup_lineages: BTreeMap::from([( + SETUP_POS, + SetupLineage::Accepted(accepted_setup_claim()), + )]), + }; + let realize_root = { + let entries = trader_fold_entries(&trader_core, &e).unwrap(); + batch_fold(&entries).unwrap().post_root + }; + let precommit = TraderPrecommitBody::new( + G, + dev(), + P_POS, + crate::sofi::wire::ParentClaimRef::SingleRoot { + claim_ref: derive::claim_ref(&parent_claim), + }, + e, + vec![PrecommitLeg { + vault_id, + parent_root: vault_tree.root(), + setup_ref: setup_ref_for(vault_id), + }], + realize_root, + trader_tree.root(), + token(0x77), + SIG_ALG, + &trader_keys().0, + ) + .unwrap(); + Fixture { + precommit, + preimage, + evidence, + parent_claim, + } + } + + fn release(outcome: &'static [u8]) -> EscrowOp { + EscrowOp::Release { + outcome, + amount: STAKE, + verdict_cell: None, + } + } + + fn refusal_of(f: &Fixture) -> Result<(), Refusal> { + validate(&f.precommit, &f.preimage, &f.evidence) + } + + #[test] + fn a_release_to_its_branchs_recipient_is_valid_and_retires_the_vault() { + let f = escrow_fixture(OTHER_OWNER, release(b"a-wins")); + assert_eq!(refusal_of(&f), Ok(())); + // The recipient takes the whole stake in the vault's one token, and + // the vault retires at the next generation with nothing left. + assert_eq!( + trader_credits(&f.preimage, &f.evidence), + Ok(vec![tokens()[0].0]) + ); + let posts = vault_post_states(&f.precommit, &f.preimage, &f.evidence).unwrap(); + assert_eq!(posts.len(), 1); + assert_eq!(posts[0].state().status, VAULT_STATUS_RETIRED); + assert_eq!( + (posts[0].state().reserve_a, posts[0].state().reserve_b), + (0, 0) + ); + assert_eq!(posts[0].generation(), 1); + } + + #[test] + fn a_release_of_a_branch_that_pays_someone_else_is_invalid() { + let f = escrow_fixture(OTHER_OWNER, release(b"b-wins")); + assert_eq!( + refusal_of(&f), + Err(Refusal::Invalid(Invalid::NotTheBranchRecipient)) + ); + } + + #[test] + fn a_release_of_an_outcome_no_branch_has_is_invalid() { + let f = escrow_fixture(OTHER_OWNER, release(b"draw")); + assert_eq!( + refusal_of(&f), + Err(Refusal::Invalid(Invalid::OutcomeHasNoBranch)) + ); + } + + #[test] + fn a_release_naming_another_verdict_cell_is_invalid() { + let f = escrow_fixture( + OTHER_OWNER, + EscrowOp::Release { + outcome: b"a-wins", + amount: STAKE, + verdict_cell: Some(token(0xCE)), + }, + ); + assert_eq!( + refusal_of(&f), + Err(Refusal::Invalid(Invalid::VerdictCellIsNotTheTerms)) + ); + } + + #[test] + fn a_release_of_less_than_the_whole_stake_is_invalid() { + let f = escrow_fixture( + OTHER_OWNER, + EscrowOp::Release { + outcome: b"a-wins", + amount: STAKE - 1, + verdict_cell: None, + }, + ); + assert_eq!( + refusal_of(&f), + Err(Refusal::Invalid(Invalid::ReleaseIsNotTheWholeAmount)) + ); + } + + /// An escrow vault has no owner close: its owner gets the stake back only + /// through a branch that pays it. + #[test] + fn the_owner_of_an_escrow_vault_cannot_close_it() { + let f = escrow_fixture(dev(), EscrowOp::Close); + assert_eq!( + refusal_of(&f), + Err(Refusal::Invalid(Invalid::TermsAreNotAMarket)) + ); + // Its own "void" branch, decided by the referee, is how it does. + let void = escrow_fixture(dev(), release(b"void")); + assert_eq!(refusal_of(&void), Ok(())); + } + + /// A Release against a market vault: the slots name a market's three + /// policies, so there are no escrow terms to release by. + #[test] + fn a_release_against_a_market_vault_is_invalid() { + let mut f = escrow_fixture(OTHER_OWNER, release(b"a-wins")); + let vault_id = derive::vault_id(&G, &OTHER_OWNER, P_CREATE); + let state_key = derive::vault_state_key(&vault_id); + let market = VaultStateLeaf { + owner_device_id: OTHER_OWNER, + create_position: P_CREATE, + generation: 0, + reserve_a: STAKE, + reserve_b: 0, + ..vault_state(0, STAKE, 0, VAULT_STATUS_ACTIVE) + }; + f.evidence + .vault_leaves + .insert((vault_id, state_key), VaultLeafPre::State(market)); + f.evidence.objects.extend(policy_objects(1)); + f.evidence.token_policies = tokens()[..=1].iter().cloned().collect(); + assert_eq!( + refusal_of(&f), + Err(Refusal::Invalid(Invalid::TermsAreNotEscrow)) + ); + } + + /// A Swap through an escrow vault: it has no market to price by. + #[test] + fn a_swap_through_an_escrow_vault_is_invalid() { + let mut f = swap_fixture(); + let vault_id = vault_id_of(0); + let state_key = derive::vault_state_key(&vault_id); + let terms = escrow_terms(dev()); + let addr = escrow::terms_address(&terms); + let VaultLeafPre::State(market) = f.evidence.vault_leaves[&(vault_id, state_key)].clone() + else { + panic!("the swap fixture's vault has a state") + }; + let escrowed = VaultStateLeaf { + market_policy: addr, + fee_policy: addr, + release_policy: addr, + ..market + }; + f.evidence + .vault_leaves + .insert((vault_id, state_key), VaultLeafPre::State(escrowed)); + f.evidence.objects.insert(addr, terms.encode()); + assert_eq!( + refusal_of(&f), + Err(Refusal::Invalid(Invalid::TermsAreNotAMarket)) + ); + } + + /// Terms that authenticate to the address the slots name but are not + /// escrow terms are Invalid; bytes that do not authenticate prove nothing + /// and are still missing (note 9). + #[test] + fn escrow_terms_are_taken_only_from_bytes_that_authenticate() { + let mut f = escrow_fixture(OTHER_OWNER, release(b"a-wins")); + let addr = escrow::terms_address(&escrow_terms(OTHER_OWNER)); + f.evidence.objects.insert(addr, b"not the terms".to_vec()); + assert_eq!( + refusal_of(&f), + Err(Refusal::Incomplete(Missing::NonVerifyingObject { addr })) + ); + } } 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 5fd0707db..af0f6c2fe 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 @@ -174,6 +174,25 @@ //! 3 `create_position` u64 · 4 `state` nested `0x004B`. //! `0x005B VaultCreation`: 1 `vault_id` · 2 `genesis_root` digest32 (`R_0`) · //! 3 `amount_a` u64 · 4 `amount_b` u64. +//! +//! Escrow vaults (SoFi Amendment S21, §19.9): +//! `0x0063 EscrowTerms`: 1 `token` digest32 (the held token's policy commit) +//! · 2 `external_commitment` digest32 (`Y`) · 3 `branches` `seq`, +//! 1..=16, strictly ascending by outcome bytes. A branch is 1 `outcome` +//! `u32 len ‖ bytes`, 1..=64 · 2 `signers` `seq<(signature_alg u16 ‖ key +//! u32 len ‖ bytes)>`, 1..=4, strictly ascending by those bytes · 3 +//! `recipient_genesis` · 4 `recipient_device_id`. +//! `0x0064 EscrowVerdict`: 1 `external_commitment` · 2 `table` +//! `seq<(outcome ‖ signers)>`, the outcome table, under the same bounds and +//! order · 3 `outcome` · 4 `signatures` `seq<(signer ‖ signature u32 len ‖ +//! bytes)>`, 1..=4, strictly ascending by signer. A verdict holding only some +//! of its outcome's signatures encodes; it occupies no cell. +//! `0x0065 SettlementRelease` (`B°`, Release branch): 1 `vault_id` · +//! 2 `parent_root` · 3 `setup_ref` · 4 `verdict_cell` · 5 `outcome` `u32 len ‖ +//! bytes`, 1..=64 · 6 `amount` u64 · 7 `trader_core` · 8 `dlv_core` · +//! 9 `closure`. One leg. +//! `0x0066 RouteDigestRelease`: 1 `vault_id` · 2 `parent_root` · 3 `setup_ref` +//! · 4 `verdict_cell` · 5 `outcome` · 6 `amount` u64. pub mod objects; @@ -289,6 +308,10 @@ pub enum SofiWireError { /// its state commits: the vault would be indexed under tokens it does /// not trade (SoFi Amendment S16). MarketNotCommitted, + /// An escrow vault genesis published with terms that are not the object + /// all three of its state's slots name: it would be indexed under a + /// verdict cell it is not bound to (SoFi Amendment S21). + EscrowTermsNotCommitted, } impl core::fmt::Display for SofiWireError { @@ -356,6 +379,10 @@ impl core::fmt::Display for SofiWireError { f, "the market policy is not the one the vault genesis commits" ), + Self::EscrowTermsNotCommitted => write!( + f, + "the escrow terms are not the object all three of the vault genesis's slots name" + ), } } } diff --git a/dsm_client/deterministic_state_machine/dsm/src/sofi/wire/objects.rs b/dsm_client/deterministic_state_machine/dsm/src/sofi/wire/objects.rs index d98b107d5..9f1053f81 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/sofi/wire/objects.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/sofi/wire/objects.rs @@ -1197,6 +1197,7 @@ pub const CLOSURE_FORBIDDEN_CONTENT_CLASSES: &[u16] = &[ // the closure E itself commits. class::SOFI_SETTLEMENT_SWAP, class::SOFI_SETTLEMENT_CLOSE, + class::SOFI_SETTLEMENT_RELEASE, class::SOFI_TRADER_CORE, class::SOFI_DLV_CORE, class::SOFI_SETTLEMENT_PREIMAGE, @@ -2080,6 +2081,15 @@ pub enum RouteDigestPreimage { reserve_a: u64, reserve_b: u64, }, + /// An escrow vault's release (SoFi Amendment S21). + Release { + vault_id: D32, + parent_root: D32, + setup_ref: D32, + verdict_cell: D32, + outcome: Vec, + amount: u64, + }, } impl RouteDigestPreimage { @@ -2105,6 +2115,23 @@ impl RouteDigestPreimage { push_u64(&mut out, *reserve_a); push_u64(&mut out, *reserve_b); } + Self::Release { + vault_id, + parent_root, + setup_ref, + verdict_cell, + outcome, + amount, + } => { + check_outcome(outcome)?; + push_env(&mut out, class::SOFI_ROUTE_DIGEST_RELEASE); + push_digest32(&mut out, vault_id); + push_digest32(&mut out, parent_root); + push_digest32(&mut out, setup_ref); + push_digest32(&mut out, verdict_cell); + push_part(&mut out, outcome); + push_u64(&mut out, *amount); + } } Ok(out) } @@ -2128,6 +2155,17 @@ impl RouteDigestPreimage { reserve_b: c.u64()?, } } + class::SOFI_ROUTE_DIGEST_RELEASE => { + c.envelope(class::SOFI_ROUTE_DIGEST_RELEASE, SCHEMA_V1)?; + Self::Release { + vault_id: c.digest32()?, + parent_root: c.digest32()?, + setup_ref: c.digest32()?, + verdict_cell: c.digest32()?, + outcome: read_var_bytes(&mut c, ESCROW_MAX_OUTCOME_BYTES)?, + amount: c.u64()?, + } + } got => return Err(DecodeError::WrongClass { got }), }; finish(&c, v) @@ -2161,6 +2199,21 @@ pub enum SettlementBody { dlv_core: D32, closure: PreEClosureIndex, }, + /// An escrow vault's whole amount to the recipient of the branch whose + /// outcome the verdict at `verdict_cell` names (SoFi Amendment S21). It + /// names the outcome and the cell; the verdict is a fact resolution + /// reads, never an input of `E`. + Release { + vault_id: D32, + parent_root: D32, + setup_ref: D32, + verdict_cell: D32, + outcome: Vec, + amount: u64, + trader_core: D32, + dlv_core: D32, + closure: PreEClosureIndex, + }, } impl SettlementBody { @@ -2169,7 +2222,7 @@ impl SettlementBody { pub fn leg_count(&self) -> usize { match self { Self::Swap { hops, .. } => hops.len(), - Self::Close { .. } => 1, + Self::Close { .. } | Self::Release { .. } => 1, } } @@ -2177,7 +2230,9 @@ impl SettlementBody { /// commits, whatever the branch. pub fn closure(&self) -> &PreEClosureIndex { match self { - Self::Swap { closure, .. } | Self::Close { closure, .. } => closure, + Self::Swap { closure, .. } + | Self::Close { closure, .. } + | Self::Release { closure, .. } => closure, } } @@ -2200,6 +2255,22 @@ impl SettlementBody { reserve_a: *reserve_a, reserve_b: *reserve_b, }, + Self::Release { + vault_id, + parent_root, + setup_ref, + verdict_cell, + outcome, + amount, + .. + } => RouteDigestPreimage::Release { + vault_id: *vault_id, + parent_root: *parent_root, + setup_ref: *setup_ref, + verdict_cell: *verdict_cell, + outcome: outcome.clone(), + amount: *amount, + }, } } @@ -2258,6 +2329,29 @@ impl SettlementBody { push_digest32(&mut out, dlv_core); out.extend_from_slice(&closure.encode()); } + Self::Release { + vault_id, + parent_root, + setup_ref, + verdict_cell, + outcome, + amount, + trader_core, + dlv_core, + closure, + } => { + check_outcome(outcome)?; + push_env(&mut out, class::SOFI_SETTLEMENT_RELEASE); + push_digest32(&mut out, vault_id); + push_digest32(&mut out, parent_root); + push_digest32(&mut out, setup_ref); + push_digest32(&mut out, verdict_cell); + push_part(&mut out, outcome); + push_u64(&mut out, *amount); + push_digest32(&mut out, trader_core); + push_digest32(&mut out, dlv_core); + out.extend_from_slice(&closure.encode()); + } } Ok(out) } @@ -2300,6 +2394,20 @@ impl SettlementBody { closure: PreEClosureIndex::at(c)?, }) } + class::SOFI_SETTLEMENT_RELEASE => { + c.envelope(class::SOFI_SETTLEMENT_RELEASE, SCHEMA_V1)?; + Ok(Self::Release { + vault_id: c.digest32()?, + parent_root: c.digest32()?, + setup_ref: c.digest32()?, + verdict_cell: c.digest32()?, + outcome: read_var_bytes(c, ESCROW_MAX_OUTCOME_BYTES)?, + amount: c.u64()?, + trader_core: c.digest32()?, + dlv_core: c.digest32()?, + closure: PreEClosureIndex::at(c)?, + }) + } got => Err(DecodeError::WrongClass { got }), } } @@ -2477,3 +2585,424 @@ impl VaultCreation { finish(&c, v) } } + +// ── 0x0063 EscrowTerms · 0x0064 EscrowVerdict (SoFi Amendment S21) ───────── + +/// The longest outcome label an escrow branch or verdict carries. +pub const ESCROW_MAX_OUTCOME_BYTES: usize = 64; +/// The most branches one escrow vault's terms carry. +pub const ESCROW_MAX_BRANCHES: usize = 16; +/// The most signers one outcome is decided by, and one verdict carries. +pub const ESCROW_MAX_SIGNERS: usize = 4; + +/// One signer of an escrow outcome: a declared algorithm and a key of its +/// width. Signers are ordered by [`EscrowSigner::canonical`], the bytes the +/// outcome table commits. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct EscrowSigner { + signature_alg: u16, + public_key: Vec, +} + +impl EscrowSigner { + pub fn new(signature_alg: u16, public_key: &[u8]) -> Result { + check_key(signature_alg, public_key)?; + Ok(Self { + signature_alg, + public_key: public_key.to_vec(), + }) + } + + pub fn signature_alg(&self) -> u16 { + self.signature_alg + } + + pub fn public_key(&self) -> &[u8] { + &self.public_key + } + + /// `u16be(alg) ‖ u32be(|key|) ‖ key`: what a signer set is ordered by and + /// what the outcome table commits for it. + pub fn canonical(&self) -> Vec { + let mut out = Vec::with_capacity(6 + self.public_key.len()); + push_key(&mut out, self.signature_alg, &self.public_key); + out + } + + fn at(c: &mut Cursor<'_>) -> Result { + let (signature_alg, public_key) = read_key(c)?; + Ok(Self { + signature_alg, + public_key, + }) + } +} + +fn check_outcome(outcome: &[u8]) -> Result<(), SofiWireError> { + check_count("outcome bytes", 1, ESCROW_MAX_OUTCOME_BYTES, outcome.len()) +} + +fn check_signer_set(field: &'static str, signers: &[EscrowSigner]) -> Result<(), SofiWireError> { + check_count(field, 1, ESCROW_MAX_SIGNERS, signers.len())?; + let keys: Vec> = signers.iter().map(EscrowSigner::canonical).collect(); + check_strictly_ascending(field, &keys) +} + +fn read_signers(c: &mut Cursor<'_>, field: &'static str) -> Result, DecodeError> { + let n = read_count(c, field, 1, ESCROW_MAX_SIGNERS)?; + let signers: Vec = (0..n) + .map(|_| EscrowSigner::at(c)) + .collect::>()?; + check_signer_set(field, &signers).map_err(wire_invalid)?; + Ok(signers) +} + +/// One outcome and the exact signer set that decides it: an entry of the +/// outcome table (SoFi §19.9). Every signer of the set must sign; there is no +/// threshold, and a set with a duplicate or no signer has no encoding. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct EscrowOutcome { + outcome: Vec, + signers: Vec, +} + +impl EscrowOutcome { + pub fn new(outcome: &[u8], signers: Vec) -> Result { + check_outcome(outcome)?; + check_signer_set("outcome signers", &signers)?; + Ok(Self { + outcome: outcome.to_vec(), + signers, + }) + } + + pub fn outcome(&self) -> &[u8] { + &self.outcome + } + + pub fn signers(&self) -> &[EscrowSigner] { + &self.signers + } + + fn push(&self, out: &mut Vec) { + push_part(out, &self.outcome); + push_u32(out, self.signers.len() as u32); + for signer in &self.signers { + push_key(out, signer.signature_alg, &signer.public_key); + } + } + + fn at(c: &mut Cursor<'_>) -> Result { + let outcome = read_var_bytes(c, ESCROW_MAX_OUTCOME_BYTES)?; + let signers = read_signers(c, "outcome signers")?; + Ok(Self { outcome, signers }) + } +} + +/// The outcome table `O`: an escrow vault's branches with their recipients +/// removed, strictly ascending by outcome. It is the verdict authority, and it +/// has exactly one encoding, so parties that agree on the same outcomes and +/// signers derive the same `τ` (SoFi §19.9, "Linked vaults"). +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct OutcomeTable { + entries: Vec, +} + +impl OutcomeTable { + pub fn new(entries: Vec) -> Result { + check_count("outcome table", 1, ESCROW_MAX_BRANCHES, entries.len())?; + let labels: Vec<&[u8]> = entries.iter().map(EscrowOutcome::outcome).collect(); + check_strictly_ascending("outcome table", &labels)?; + Ok(Self { entries }) + } + + pub fn entries(&self) -> &[EscrowOutcome] { + &self.entries + } + + /// The exact signer set that decides `outcome`, when the table has it. + pub fn signers_of(&self, outcome: &[u8]) -> Option<&[EscrowSigner]> { + self.entries + .iter() + .find(|entry| entry.outcome == outcome) + .map(EscrowOutcome::signers) + } + + /// `u8(|O|) ‖ ⨁ (u32be(|o|) ‖ o ‖ u8(|signers|) ‖ ⨁ signer)`: what `τ` + /// hashes. Its own encoding, not the CCB one: the count bounds fix every + /// width, so a table has exactly these bytes. + pub fn digest_preimage(&self) -> Vec { + let mut out = Vec::new(); + // At most ESCROW_MAX_BRANCHES entries and ESCROW_MAX_SIGNERS signers, + // so both counts fit a byte. + out.push(self.entries.len() as u8); + for entry in &self.entries { + push_part(&mut out, &entry.outcome); + out.push(entry.signers.len() as u8); + for signer in &entry.signers { + push_key(&mut out, signer.signature_alg, &signer.public_key); + } + } + out + } + + fn push(&self, out: &mut Vec) { + push_u32(out, self.entries.len() as u32); + for entry in &self.entries { + entry.push(out); + } + } + + fn at(c: &mut Cursor<'_>) -> Result { + let n = read_count(c, "outcome table", 1, ESCROW_MAX_BRANCHES)?; + let entries: Vec = (0..n) + .map(|_| EscrowOutcome::at(c)) + .collect::>()?; + Self::new(entries).map_err(wire_invalid) + } +} + +/// One branch of an escrow vault's terms: an outcome, the exact signer set +/// that decides it, and the identity it pays. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct EscrowBranch { + decided: EscrowOutcome, + recipient_genesis: D32, + recipient_device_id: D32, +} + +impl EscrowBranch { + pub fn new(decided: EscrowOutcome, recipient_genesis: D32, recipient_device_id: D32) -> Self { + Self { + decided, + recipient_genesis, + recipient_device_id, + } + } + + pub fn outcome(&self) -> &[u8] { + self.decided.outcome() + } + + pub fn signers(&self) -> &[EscrowSigner] { + self.decided.signers() + } + + pub fn recipient_genesis(&self) -> &D32 { + &self.recipient_genesis + } + + pub fn recipient_device_id(&self) -> &D32 { + &self.recipient_device_id + } +} + +/// `0x0063 EscrowTerms` — what an escrow vault's three policy slots name (SoFi +/// §19.9): the held token, the external commitment `Y`, and the branches, +/// strictly ascending by outcome. The vault releases its whole amount once, +/// along the branch whose outcome the canonical verdict names. Nothing is +/// chosen at release. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct EscrowTerms { + token: D32, + external_commitment: D32, + branches: Vec, +} + +impl EscrowTerms { + pub fn new( + token: D32, + external_commitment: D32, + branches: Vec, + ) -> Result { + check_count("escrow branches", 1, ESCROW_MAX_BRANCHES, branches.len())?; + let labels: Vec<&[u8]> = branches.iter().map(EscrowBranch::outcome).collect(); + check_strictly_ascending("escrow branches", &labels)?; + Ok(Self { + token, + external_commitment, + branches, + }) + } + + /// The policy commit of the held token. + pub fn token(&self) -> &D32 { + &self.token + } + + /// `Y = H(DSM/external/v1 ‖ X)`. + pub fn external_commitment(&self) -> &D32 { + &self.external_commitment + } + + pub fn branches(&self) -> &[EscrowBranch] { + &self.branches + } + + /// The branch whose outcome is `outcome`, when the terms have one. + pub fn branch(&self, outcome: &[u8]) -> Option<&EscrowBranch> { + self.branches.iter().find(|b| b.outcome() == outcome) + } + + /// The outcome table: the branches with their recipients removed, in + /// branch order, so it is canonical whenever the terms are. + pub fn outcome_table(&self) -> OutcomeTable { + OutcomeTable { + entries: self.branches.iter().map(|b| b.decided.clone()).collect(), + } + } + + pub fn encode(&self) -> Vec { + let mut out = Vec::new(); + push_env(&mut out, class::ESCROW_TERMS); + push_digest32(&mut out, &self.token); + push_digest32(&mut out, &self.external_commitment); + push_u32(&mut out, self.branches.len() as u32); + for branch in &self.branches { + branch.decided.push(&mut out); + push_digest32(&mut out, &branch.recipient_genesis); + push_digest32(&mut out, &branch.recipient_device_id); + } + out + } + + pub fn decode(bytes: &[u8]) -> Result { + let mut c = Cursor { b: bytes, i: 0 }; + c.envelope(class::ESCROW_TERMS, SCHEMA_V1)?; + let token = c.digest32()?; + let external_commitment = c.digest32()?; + let n = read_count(&mut c, "escrow branches", 1, ESCROW_MAX_BRANCHES)?; + let mut branches = Vec::with_capacity(n); + for _ in 0..n { + let decided = EscrowOutcome::at(&mut c)?; + branches.push(EscrowBranch { + decided, + recipient_genesis: c.digest32()?, + recipient_device_id: c.digest32()?, + }); + } + let v = Self::new(token, external_commitment, branches).map_err(wire_invalid)?; + finish(&c, v) + } +} + +/// One signature of a verdict: its signer and the signature over the +/// statement `m(o)` for the verdict cell. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct VerdictSignature { + signer: EscrowSigner, + signature: Vec, +} + +impl VerdictSignature { + /// Refuses an empty or oversized signature. It verifies nothing. + pub fn new(signer: EscrowSigner, signature: &[u8]) -> Result { + if signature.is_empty() || signature.len() > MAX_SIGNATURE_BYTES { + return Err(SofiWireError::ObjectTooLarge { + field: "verdict signature", + bytes: signature.len(), + max: MAX_SIGNATURE_BYTES, + }); + } + Ok(Self { + signer, + signature: signature.to_vec(), + }) + } + + pub fn signer(&self) -> &EscrowSigner { + &self.signer + } + + pub fn signature(&self) -> &[u8] { + &self.signature + } +} + +/// `0x0064 EscrowVerdict` — a verdict on an external commitment (SoFi §19.9): +/// `Y`, the outcome table, the outcome, and signatures over `m(outcome)` for +/// the verdict cell `Y` and the table derive. It carries its table so that it +/// proves its own authority for the cell from its own bytes; whether it does +/// is `sofi::escrow::recognize_verdict`'s, not this type's. A verdict holding +/// only some of an outcome's signatures has an encoding, because signatures +/// are gathered before one is written to the cell; it occupies nothing. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct EscrowVerdict { + external_commitment: D32, + table: OutcomeTable, + outcome: Vec, + signatures: Vec, +} + +impl EscrowVerdict { + pub fn new( + external_commitment: D32, + table: OutcomeTable, + outcome: &[u8], + signatures: Vec, + ) -> Result { + check_outcome(outcome)?; + check_count( + "verdict signatures", + 1, + ESCROW_MAX_SIGNERS, + signatures.len(), + )?; + let keys: Vec> = signatures.iter().map(|s| s.signer.canonical()).collect(); + check_strictly_ascending("verdict signatures", &keys)?; + Ok(Self { + external_commitment, + table, + outcome: outcome.to_vec(), + signatures, + }) + } + + pub fn external_commitment(&self) -> &D32 { + &self.external_commitment + } + + pub fn table(&self) -> &OutcomeTable { + &self.table + } + + pub fn outcome(&self) -> &[u8] { + &self.outcome + } + + pub fn signatures(&self) -> &[VerdictSignature] { + &self.signatures + } + + pub fn encode(&self) -> Vec { + let mut out = Vec::new(); + push_env(&mut out, class::ESCROW_VERDICT); + push_digest32(&mut out, &self.external_commitment); + self.table.push(&mut out); + push_part(&mut out, &self.outcome); + push_u32(&mut out, self.signatures.len() as u32); + for s in &self.signatures { + push_key(&mut out, s.signer.signature_alg, &s.signer.public_key); + push_part(&mut out, &s.signature); + } + out + } + + pub fn decode(bytes: &[u8]) -> Result { + let mut c = Cursor { b: bytes, i: 0 }; + c.envelope(class::ESCROW_VERDICT, SCHEMA_V1)?; + let external_commitment = c.digest32()?; + let table = OutcomeTable::at(&mut c)?; + let outcome = read_var_bytes(&mut c, ESCROW_MAX_OUTCOME_BYTES)?; + let n = read_count(&mut c, "verdict signatures", 1, ESCROW_MAX_SIGNERS)?; + let mut signatures = Vec::with_capacity(n); + for _ in 0..n { + let signer = EscrowSigner::at(&mut c)?; + let signature = read_var_bytes(&mut c, MAX_SIGNATURE_BYTES)?; + signatures.push(VerdictSignature { signer, signature }); + } + let v = + Self::new(external_commitment, table, &outcome, signatures).map_err(wire_invalid)?; + finish(&c, v) + } +} diff --git a/dsm_client/deterministic_state_machine/dsm/src/types/device_state.rs b/dsm_client/deterministic_state_machine/dsm/src/types/device_state.rs index 5a083a24b..05c5300e9 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/types/device_state.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/types/device_state.rs @@ -403,6 +403,8 @@ pub struct OfflineSpend { /// - `CreateToken`: the ERA fee debit, if any, then the release of the whole /// genesis supply. /// - `SofiVaultCreate`: exactly the debits of its two funded legs. +/// - `EscrowVaultCreate`: exactly the debit of the held amount of the terms' +/// token (SoFi Amendment S21). /// - Every other operation: no balance deltas, and no `offline_spend`. fn validate_conservation( local_devid: &[u8; 32], @@ -592,6 +594,38 @@ fn validate_conservation( } Ok(()) } + + // An escrow vault's creation (SoFi Amendment S21) debits exactly the + // held amount, of the one token its terms name, and nothing else. + // Whether those terms are the ones the genesis state commits is the + // economic write set's check; this arm holds the deltas to them. + Operation::EscrowVaultCreate { + creation, terms, .. + } => { + let record = crate::sofi::wire::VaultCreation::decode(creation).map_err(|e| { + DsmError::invalid_operation(format!( + "conservation: an escrow creation record that is not canonical moves \ + nothing: {e}" + )) + })?; + let terms = crate::sofi::wire::EscrowTerms::decode(terms).map_err(|e| { + DsmError::invalid_operation(format!( + "conservation: escrow terms that are not canonical name no token: {e}" + )) + })?; + let expected = [BalanceDelta { + policy_commit: *terms.token(), + direction: BalanceDirection::Debit, + amount: record.amount_a, + }]; + if deltas != expected.as_slice() { + return Err(DsmError::invalid_operation( + "conservation: an escrow vault creation must apply exactly the debit of its \ + stake", + )); + } + Ok(()) + } _ => { if !deltas.is_empty() { return Err(DsmError::invalid_operation( @@ -1164,6 +1198,7 @@ impl DeviceState { Operation::SofiSetup { .. } | Operation::SofiVaultCreate { .. } | Operation::SofiFulfill { .. } + | Operation::EscrowVaultCreate { .. } ) { crate::sofi::signature::verify_operation(&operation, &self.public_key)?; } @@ -2020,6 +2055,64 @@ mod tests { } } + /// An escrow vault's creation (SoFi Amendment S21) moves exactly its + /// stake out of the owner's balance: the record's amount, of the one + /// token its terms name. Anything more, less, or of another asset is + /// refused. + #[test] + fn an_escrow_creation_debits_exactly_its_stake() { + let me = devid(0xAA); + let held = pc(0x41); + let referee = crate::sofi::wire::EscrowSigner::new( + crate::ccb::sigalg::SPHINCS_PLUS_SPX256F, + &[0x5A; 64], + ) + .expect("a declared key"); + let terms = crate::sofi::wire::EscrowTerms::new( + held, + [0x59; 32], + vec![crate::sofi::wire::EscrowBranch::new( + crate::sofi::wire::EscrowOutcome::new(b"void", vec![referee]).expect("outcome"), + [0x01; 32], + me, + )], + ) + .expect("terms"); + let creation = crate::sofi::wire::VaultCreation { + vault_id: [0x51; 32], + genesis_root: [0x52; 32], + amount_a: 700, + amount_b: 0, + }; + let op = Operation::EscrowVaultCreate { + genesis_preimage: Vec::new(), + creation: creation.encode(), + terms: terms.encode(), + signature: Vec::new(), + }; + let debit = |amount: u64, policy_commit: [u8; 32]| BalanceDelta { + policy_commit, + direction: BalanceDirection::Debit, + amount, + }; + assert_eq!( + validate_conservation(&me, &op, &[debit(700, held)], None).map_err(|e| e.to_string()), + Ok(()) + ); + for (why, deltas) in [ + ("no deltas", Vec::new()), + ("an amount changed", vec![debit(699, held)]), + ("another asset", vec![debit(700, pc(0x43))]), + ("a second debit", vec![debit(700, held), debit(1, pc(0x43))]), + ] { + let refused = validate_conservation(&me, &op, &deltas, None).map_err(|e| e.to_string()); + assert!( + matches!(&refused, Err(why) if why.contains("exactly the debit of its stake")), + "{why}: an escrow creation applies exactly its stake's debit, got {refused:?}" + ); + } + } + /// A vault creation moves exactly its two funded legs out of the owner's /// balances: the record's amounts, of the operation's two assets, in /// order. Anything more, less, or of another asset is refused. diff --git a/dsm_client/deterministic_state_machine/dsm/src/types/operations.rs b/dsm_client/deterministic_state_machine/dsm/src/types/operations.rs index a869611b1..eed7dbca9 100644 --- a/dsm_client/deterministic_state_machine/dsm/src/types/operations.rs +++ b/dsm_client/deterministic_state_machine/dsm/src/types/operations.rs @@ -736,6 +736,27 @@ pub enum Operation { /// exactly this digest on the bare object. signature: Vec, }, + /// An escrow vault's creation at `p_create` (SoFi Amendment S21). It + /// debits the held amount of the terms' token and inserts the creation + /// record, as `SofiVaultCreate` does for a market; the vault's genesis + /// lives in its tree, not in this operation. + EscrowVaultCreate { + /// Canonical `VaultGenesisPreimage` bytes (class `0x005A`), whose + /// state's three policy slots all name `terms`. + genesis_preimage: Vec, + /// Canonical `VaultCreation` bytes (class `0x005B`). + creation: Vec, + /// Canonical `EscrowTerms` bytes (class `0x0063`): the EXACT object + /// the genesis state's slots name, carried for the reason + /// `SofiVaultCreate` carries its market policy, so acceptance is a + /// function of the operation's bytes. Core re-addresses them under the + /// terms namespace and refuses unless the address is the one the state + /// commits; the token they name is the one debited. + terms: Vec, + /// SPHINCS+ over the operation's canonical unsigned bytes, as for + /// `SofiVaultCreate`: a creation has no object digest of its own. + signature: Vec, + }, DlvInvalidate { /// 32-byte vault identifier. vault_id: Vec, @@ -815,6 +836,9 @@ impl Operation { // writes a relationship leaf and nothing else. | SofiVaultCreate { .. } | SofiFulfill { .. } + // An escrow vault's creation moves the stake out of the owner's + // spendable balance (SoFi Amendment S21). + | EscrowVaultCreate { .. } // Token creation DESTROYS ERA to pay its fee, so it moves the // owner's existing funds outward — egress, despite also issuing a // new asset. Classifying it as ingress (as it was while nothing @@ -939,7 +963,9 @@ impl Operation { // spend gate therefore cannot name them here, and saying // otherwise would be inventing a token id the operation does not // carry. - SofiVaultCreate { .. } | SofiFulfill { .. } => EgressAsset::Unidentified, + SofiVaultCreate { .. } | SofiFulfill { .. } | EscrowVaultCreate { .. } => { + EgressAsset::Unidentified + } // Token creation: the asset that LEAVES is ERA (the burned fee) — // NOT the new token, which is issued, not spent. Naming the new @@ -1039,6 +1065,18 @@ impl Operation { put_bytes(&mut out, precommit_id); put_bytes(&mut out, signature); } + EscrowVaultCreate { + genesis_preimage, + creation, + terms, + signature, + } => { + put_u8(&mut out, 38); + put_bytes(&mut out, genesis_preimage); + put_bytes(&mut out, creation); + put_bytes(&mut out, terms); + put_bytes(&mut out, signature); + } Genesis => { put_u8(&mut out, 0); } @@ -2111,6 +2149,12 @@ impl Operation { precommit_id: get_bytes(&mut input)?, signature: get_bytes(&mut input)?, }, + 38 => EscrowVaultCreate { + genesis_preimage: get_bytes(&mut input)?, + creation: get_bytes(&mut input)?, + terms: get_bytes(&mut input)?, + signature: get_bytes(&mut input)?, + }, _ => return Err(DsmError::invalid_operation("unknown op tag")), }; // Canonical decode requires full byte exhaustion: a valid operation must @@ -2145,6 +2189,7 @@ impl Operation { | Operation::SofiSetup { signature, .. } | Operation::SofiVaultCreate { signature, .. } | Operation::SofiFulfill { signature, .. } + | Operation::EscrowVaultCreate { signature, .. } if !signature.is_empty() => { Some(signature.clone()) @@ -2186,6 +2231,7 @@ impl Operation { Operation::SofiSetup { .. } => "sofi_setup", Operation::SofiVaultCreate { .. } => "sofi_vault_create", Operation::SofiFulfill { .. } => "sofi_fulfill", + Operation::EscrowVaultCreate { .. } => "escrow_vault_create", } } @@ -2219,7 +2265,8 @@ impl Operation { | Operation::DlvInvalidate { signature, .. } | Operation::SofiSetup { signature, .. } | Operation::SofiVaultCreate { signature, .. } - | Operation::SofiFulfill { signature, .. } => { + | Operation::SofiFulfill { signature, .. } + | Operation::EscrowVaultCreate { signature, .. } => { signature.clear(); } _ => {} @@ -2248,7 +2295,8 @@ impl Operation { | Operation::DlvInvalidate { signature, .. } | Operation::SofiSetup { signature, .. } | Operation::SofiVaultCreate { signature, .. } - | Operation::SofiFulfill { signature, .. } => { + | Operation::SofiFulfill { signature, .. } + | Operation::EscrowVaultCreate { signature, .. } => { *signature = sig; } _ => {} diff --git a/dsm_client/deterministic_state_machine/dsm/tests/sofi_v8_operations.rs b/dsm_client/deterministic_state_machine/dsm/tests/sofi_v8_operations.rs index 8e251fa51..c20e1c73b 100644 --- a/dsm_client/deterministic_state_machine/dsm/tests/sofi_v8_operations.rs +++ b/dsm_client/deterministic_state_machine/dsm/tests/sofi_v8_operations.rs @@ -34,6 +34,13 @@ fn sofi_operations() -> Vec { precommit_id: vec![0x11; 32], signature: Vec::new(), }, + // An escrow vault's creation (SoFi Amendment S21). + Operation::EscrowVaultCreate { + genesis_preimage: vec![0x5A, 0x00], + creation: vec![0x5B, 0x00], + terms: vec![0x00, 0x63, 0x00, 0x01], + signature: Vec::new(), + }, ] } @@ -88,8 +95,8 @@ fn sofi_operations_have_distinct_canonical_tags() { let bytes = op.to_bytes(); let tag = bytes.first().copied().expect("a tagged encoding"); assert!( - (34..=36).contains(&tag), - "{}: SoFi operations are tags 34-36, got {tag}", + matches!(tag, 34..=36 | 38), + "{}: SoFi operations are tags 34-36 and 38, got {tag}", op.get_operation_type() ); for (name, other) in &seen { @@ -102,7 +109,7 @@ fn sofi_operations_have_distinct_canonical_tags() { } seen.push((op.get_operation_type().to_string(), bytes)); } - assert_eq!(seen.len(), 3); + assert_eq!(seen.len(), 4); } /// The economic classification of each SoFi operation, and the egress gate's @@ -132,6 +139,7 @@ fn sofi_operations_are_classified_and_gated() { assert!(!ops[0].is_value_egress(), "a setup is not value egress"); assert!(ops[1].is_value_egress(), "a funded creation is egress"); assert!(ops[2].is_value_egress(), "a fulfillment is egress"); + assert!(ops[3].is_value_egress(), "an escrow creation is egress"); } /// Beta executes at most two hops, and never the reserved authority — while 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 193063640..f1fb95a50 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 @@ -2595,6 +2595,11 @@ impl AppRouter for AppRouterImpl { // SoFi (SoFi §27): the only way the app reaches SoFi. "sofi.createVault" | "sofi.findRoute" | "sofi.trade" | "sofi.route" | "sofi.close" | "sofi.relay" | "sofi.resolve" | "sofi.vaults" => self.handle_sofi_invoke(i).await, + // Escrow vaults (SoFi §19.9, Amendment S21). + "escrow.party" | "escrow.create" | "escrow.sign" | "escrow.adjudicate" + | "escrow.verdict" | "escrow.release" | "escrow.locked" | "escrow.vaults" => { + self.handle_escrow_invoke(i).await + } // BLE // Bilateral reconcile // Faucet diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/escrow_e2e_tests.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/escrow_e2e_tests.rs new file mode 100644 index 000000000..dcbecf1cb --- /dev/null +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/escrow_e2e_tests.rs @@ -0,0 +1,690 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 + +//! Escrow vaults end to end on storage nodes (SoFi §19.9, Amendment S21). +//! +//! Two players, A and B, each lock a stake of ERA against one match: the +//! external commitment `X` they agreed on, and one outcome table — A wins and +//! B wins decided by a referee R, a cancel decided by both players, a void +//! decided by R. A's branches pay A for "a-wins", B for "b-wins", and A's own +//! stake back for "cancel" and "void"; B's the same with B's stake. Both +//! vaults derive one verdict cell, and the routes, the producers and Core run +//! as in production against the pinned set's nodes. + +use dsm::sofi::escrow::{self, VerdictCell}; +use dsm::sofi::resolve::VaultGenesis; +use dsm::sofi::wire::{EscrowSigner, EscrowTerms, EscrowVerdict}; +use dsm::types::proto as generated; +use generated::envelope::Payload; +use serial_test::serial; + +use super::node_e2e_tests::{ + adopt, args, balance, create_token, entered, era, head_agrees_with_admitted_root, history_rows, + invoke, payload, pending_position, position_of, realized_through, +}; +use crate::bridge::AppResult; +use crate::economic_fixtures::{whole_era, NETWORK}; +use crate::sdk::escrow_flow::exercise_release; +use crate::sdk::route_seats::write_recorded; +use crate::sdk::sofi_flow::{PositionState, SIGNATURE_ALG}; +use crate::sdk::sofi_reads::VerifierContext; +use crate::sdk::storage_set::{as_ccb_members, canonical_set}; +use crate::test_support::two_device::{Pair, TestDevice}; + +/// One match both players locked a stake against. +struct Match { + era: [u8; 32], + stake: u64, + verdict_cell: [u8; 32], + a_vault: [u8; 32], + b_vault: [u8; 32], +} + +/// The referee: a third device on the pair's nodes. It holds nothing; it +/// signs and adjudicates. +async fn referee(p: &Pair) -> TestDevice { + let mut r = TestDevice::create("R", 0x0C); + r.boot(&p.fleet).await; + r +} + +async fn party(d: &TestDevice) -> generated::EscrowPartyResponse { + match payload(&invoke(d, "escrow.party", args(&generated::EscrowPartyRequest {})).await) { + Payload::EscrowPartyResponse(r) => r, + other => panic!("escrow.party answered {other:?}"), + } +} + +fn signer_of(party: &generated::EscrowPartyResponse) -> generated::EscrowSignerV1 { + party.signer.clone().expect("a party names its signer") +} + +/// `signers` in their canonical order: `alg ‖ |key| ‖ key`. +fn ascending(mut signers: Vec) -> Vec { + signers.sort_by(|x, y| { + (x.signature_alg, x.public_key.len(), &x.public_key).cmp(&( + y.signature_alg, + y.public_key.len(), + &y.public_key, + )) + }); + signers +} + +fn branch( + outcome: &[u8], + signers: Vec, + to: &generated::EscrowPartyResponse, +) -> generated::EscrowBranchV1 { + generated::EscrowBranchV1 { + outcome: outcome.to_vec(), + signers, + recipient_genesis: to.genesis.clone(), + recipient_device_id: to.device_id.clone(), + } +} + +/// The match's branches for the stake of `owner`, ascending by outcome. +fn branches( + a: &generated::EscrowPartyResponse, + b: &generated::EscrowPartyResponse, + r: &generated::EscrowPartyResponse, + owner: &generated::EscrowPartyResponse, +) -> Vec { + let referee = vec![signer_of(r)]; + let players = ascending(vec![signer_of(a), signer_of(b)]); + vec![ + branch(b"a-wins", referee.clone(), a), + branch(b"b-wins", referee.clone(), b), + branch(b"cancel", players, owner), + branch(b"void", referee, owner), + ] +} + +async fn lock( + d: &TestDevice, + external: &[u8], + stake: u64, + branches: Vec, + counterpart: Option<[u8; 32]>, +) -> AppResult { + let era = era(); + invoke( + d, + "escrow.create", + args(&generated::EscrowCreateRequest { + external: external.to_vec(), + token_policy_commit: era.to_vec(), + amount_entered: entered(d, &era, stake), + branches, + counterpart_vault_id: match counterpart { + Some(v) => v.to_vec(), + None => Vec::new(), + }, + }), + ) + .await +} + +fn created(r: &AppResult) -> generated::EscrowCreatedResponse { + match payload(r) { + Payload::EscrowCreatedResponse(r) => r, + other => panic!("escrow.create answered {other:?}"), + } +} + +fn d32(bytes: &[u8]) -> [u8; 32] { + bytes.try_into().expect("32 bytes") +} + +/// A locks 25 ERA for the match `external`, then B locks 25 ERA against A's +/// vault. +async fn open_match(p: &Pair, r: &TestDevice, external: &[u8]) -> Match { + let (pa, pb, pr) = (party(&p.a).await, party(&p.b).await, party(r).await); + let stake = whole_era(25); + let a = created(&lock(&p.a, external, stake, branches(&pa, &pb, &pr, &pa), None).await); + let b = created( + &lock( + &p.b, + external, + stake, + branches(&pa, &pb, &pr, &pb), + Some(d32(&a.vault_id)), + ) + .await, + ); + assert_eq!( + a.verdict_cell, b.verdict_cell, + "one commitment and one outcome table derive one verdict cell" + ); + assert_eq!(a.external_commitment, b.external_commitment); + assert_ne!( + a.vault_id, b.vault_id, + "each player's stake is its own vault" + ); + Match { + era: era(), + stake, + verdict_cell: d32(&a.verdict_cell), + a_vault: d32(&a.vault_id), + b_vault: d32(&b.vault_id), + } +} + +fn outcome_request(vault_id: &[u8; 32], outcome: &[u8]) -> Vec { + args(&generated::EscrowOutcomeRequest { + vault_id: vault_id.to_vec(), + outcome: outcome.to_vec(), + }) +} + +fn verdict_of(r: &AppResult, route: &str) -> generated::EscrowVerdictResponse { + match payload(r) { + Payload::EscrowVerdictResponse(r) => r, + other => panic!("{route} answered {other:?}"), + } +} + +async fn adjudicate(d: &TestDevice, vault_id: &[u8; 32], outcome: &[u8]) -> AppResult { + invoke(d, "escrow.adjudicate", outcome_request(vault_id, outcome)).await +} + +async fn verdict(d: &TestDevice, vault_id: &[u8; 32]) -> generated::EscrowVerdictResponse { + verdict_of( + &invoke( + d, + "escrow.verdict", + args(&generated::EscrowVerdictRequest { + vault_id: vault_id.to_vec(), + }), + ) + .await, + "escrow.verdict", + ) +} + +/// The cell's verdict is final on `outcome`. +fn final_on(v: &generated::EscrowVerdictResponse, m: &Match, outcome: &[u8]) { + assert_eq!(v.verdict_cell, m.verdict_cell.to_vec()); + assert_eq!( + (v.state, v.outcome.as_slice()), + (generated::EscrowVerdictState::Final as i32, outcome), + "the cell's verdict: {v:?}" + ); +} + +fn release_request(vault_id: &[u8; 32]) -> Vec { + args(&generated::EscrowReleaseRequest { + vault_id: vault_id.to_vec(), + }) +} + +/// `d`'s `escrow.release` of `vault_id` is refused, with `reason`. +async fn refused_release(d: &TestDevice, vault_id: &[u8; 32], reason: &str) { + let r = invoke(d, "escrow.release", release_request(vault_id)).await; + assert!(!r.success, "escrow.release on {} was not refused", d.slot); + let message = r.error_message.expect("a refusal says why"); + assert!(message.contains(reason), "{message}"); +} + +async fn vaults_of( + d: &TestDevice, + route: &str, + request: Vec, +) -> generated::EscrowVaultsResponse { + match payload(&invoke(d, route, request).await) { + Payload::EscrowVaultsResponse(r) => r, + other => panic!("{route} answered {other:?}"), + } +} + +async fn locked(d: &TestDevice, m: &Match) -> generated::EscrowVaultsResponse { + vaults_of( + d, + "escrow.locked", + args(&generated::EscrowLockedRequest { + verdict_cell: m.verdict_cell.to_vec(), + }), + ) + .await +} + +/// `(vault id, amount, status)` of each vault listed, by vault id. +fn holdings(r: &generated::EscrowVaultsResponse) -> Vec<(Vec, u64, i32)> { + let mut rows: Vec<_> = r + .vaults + .iter() + .map(|v| (v.vault_id.clone(), v.amount, v.status)) + .collect(); + rows.sort(); + rows +} + +/// `(vault, amount, status)` of the two vaults, by vault id. +fn both( + m: &Match, + a: (u64, generated::SofiVaultStatus), + b: (u64, generated::SofiVaultStatus), +) -> Vec<(Vec, u64, i32)> { + let mut rows = vec![ + (m.a_vault.to_vec(), a.0, a.1 as i32), + (m.b_vault.to_vec(), b.0, b.1 as i32), + ]; + rows.sort(); + rows +} + +/// How many of `d`'s history rows are of `tx_type`. +async fn rows_of(d: &TestDevice, tx_type: generated::TransactionType) -> usize { + history_rows(d) + .await + .iter() + .filter(|row| row.tx_type == tx_type as i32) + .count() +} + +/// The escrow terms `vault_id`'s accepted genesis commits, as `d` reads them. +fn terms_of(d: &TestDevice, vault_id: &[u8; 32]) -> EscrowTerms { + d.enter(); + let set = canonical_set(NETWORK).expect("the pinned set"); + let ctx = VerifierContext::new(&set, Some((d.genesis, d.device_id)), None).expect("a verifier"); + match ctx + .verifier() + .vault_genesis(vault_id) + .expect("the genesis read") + { + VaultGenesis::Accepted(accepted) => accepted.escrow().cloned().expect("an escrow vault"), + VaultGenesis::NotPublished + | VaultGenesis::OwnerUnresolved(..) + | VaultGenesis::Refused(..) => panic!("the vault's genesis is not accepted"), + } +} + +/// `d`'s signature over the statement for `outcome` at `verdict_cell`. +fn signed_by( + d: &TestDevice, + verdict_cell: &[u8; 32], + outcome: &[u8], +) -> dsm::sofi::wire::VerdictSignature { + d.enter(); + let public_key = crate::sdk::signing_authority::current_public_key().expect("the device's key"); + let signer = EscrowSigner::new(SIGNATURE_ALG, &public_key).expect("a declared key"); + let secret_key = + crate::sdk::signing_authority::current_secret_key().expect("the device's secret key"); + escrow::sign_statement(&signer, &secret_key, verdict_cell, outcome).expect("signs") +} + +/// `d` writes `value` to the verdict cell itself, by the cell's route, as +/// any party can: nothing but the value decides whether it is a verdict. +async fn write_to_cell(d: &TestDevice, m: &Match, value: &EscrowVerdict) { + d.enter(); + let set = canonical_set(NETWORK).expect("the pinned set"); + let cell = VerdictCell::new( + &m.verdict_cell, + &as_ccb_members(&set).expect("the set's members"), + &set.id(), + ) + .expect("the verdict cell"); + let wrote = write_recorded(&set, cell.routed(), &value.encode()) + .await + .expect("the write"); + assert!(wrote.reached_leader(), "the cell's leader took the value"); +} + +/// The match settles A's way: A takes both stakes, once, and B takes nothing. +/// +/// - A release before any verdict builds nothing. +/// - B's release of a branch paying A is refused by its producer, and when B +/// builds it past the producer, by Core. +/// - Once the referee's verdict is final, A releases both vaults; a second +/// release of either finds it retired. +/// - Every escrow route answers through its producer, and an `escrow.` +/// method the router does not declare is refused. +#[tokio::test(flavor = "multi_thread", worker_threads = 4)] +#[serial] +async fn the_winner_takes_both_stakes_once() { + let p = Pair::boot(100, 100).await; + let r = referee(&p).await; + let m = open_match(&p, &r, b"match 1: A v B, 25 ERA each, referee R").await; + assert_eq!(balance(&p.a, &m.era), whole_era(100) - m.stake); + assert_eq!(balance(&p.b, &m.era), whole_era(100) - m.stake); + let active = generated::SofiVaultStatus::Active; + let retired = generated::SofiVaultStatus::Retired; + let listed = locked(&r, &m).await; + assert_eq!( + holdings(&listed), + both(&m, (m.stake, active), (m.stake, active)) + ); + assert_eq!(listed.search, generated::SofiSearch::Complete as i32); + + // No verdict yet: the cell is open, and a release builds nothing. + let open = verdict(&p.a, &m.a_vault).await; + assert_eq!(open.state, generated::EscrowVerdictState::None as i32); + refused_release(&p.a, &m.a_vault, "no verdict holds the cell yet").await; + assert_eq!(pending_position(&p.a), None); + + // The referee decides; both vaults read the one verdict. + final_on( + &verdict_of( + &adjudicate(&r, &m.a_vault, b"a-wins").await, + "escrow.adjudicate", + ), + &m, + b"a-wins", + ); + final_on(&verdict(&p.b, &m.b_vault).await, &m, b"a-wins"); + + // The loser cannot take a branch that pays the winner: its producer + // refuses, and past the producer Core refuses the draft. + refused_release(&p.b, &m.a_vault, "pays another identity").await; + p.b.enter(); + let set = canonical_set(NETWORK).expect("the pinned set"); + match exercise_release(&p.b.router().core_sdk, &set, &m.a_vault, b"a-wins".to_vec()).await { + Err(e) => assert!(e.to_string().contains("NotTheBranchRecipient"), "{e}"), + Ok(..) => panic!("B's release of A's branch was taken"), + } + assert_eq!(pending_position(&p.b), None); + assert_eq!(balance(&p.b, &m.era), whole_era(100) - m.stake); + + realized_through(&p.a, "escrow.release", release_request(&m.a_vault)).await; + realized_through(&p.a, "escrow.release", release_request(&m.b_vault)).await; + assert_eq!(balance(&p.a, &m.era), whole_era(100) + m.stake); + assert_eq!(balance(&p.b, &m.era), whole_era(100) - m.stake); + head_agrees_with_admitted_root(&p.a, &[m.era]); + + // Released is retired: there is no second release. + refused_release(&p.a, &m.a_vault, "already released").await; + refused_release(&p.a, &m.b_vault, "already released").await; + assert_eq!( + holdings(&locked(&p.b, &m).await), + both(&m, (0, retired), (0, retired)) + ); + let own = vaults_of( + &p.a, + "escrow.vaults", + args(&generated::EscrowVaultsRequest {}), + ) + .await; + assert_eq!( + holdings(&own), + vec![(m.a_vault.to_vec(), 0, retired as i32)] + ); + + let lock = generated::TransactionType::TxTypeEscrowLock; + let release = generated::TransactionType::TxTypeEscrowRelease; + assert_eq!(rows_of(&p.a, lock).await, 1); + assert_eq!(rows_of(&p.a, release).await, 2); + assert_eq!(rows_of(&p.b, lock).await, 1); + assert_eq!(rows_of(&p.b, release).await, 0); + + let unknown = invoke(&p.a, "escrow.close", release_request(&m.a_vault)).await; + assert!(!unknown.success); + assert!( + unknown + .error_message + .expect("a refusal says why") + .contains("unknown invoke method"), + "the router declares no escrow.close" + ); +} + +/// One commitment has one verdict (owner, 2026-10-05). A referee who signs +/// both outcomes settles both vaults on the verdict that reached the cell +/// first: the later one is written, and the cell still holds the first. A +/// release B builds on the later verdict's outcome, past its producer's +/// check, is void at Core — nothing moves — and both stakes still go to A. +#[tokio::test(flavor = "multi_thread", worker_threads = 4)] +#[serial] +async fn a_referee_who_signs_both_outcomes_settles_both_vaults_on_the_first() { + let p = Pair::boot(100, 100).await; + let r = referee(&p).await; + let m = open_match(&p, &r, b"match 2: A v B, 25 ERA each, referee R").await; + + final_on( + &verdict_of( + &adjudicate(&r, &m.a_vault, b"a-wins").await, + "escrow.adjudicate", + ), + &m, + b"a-wins", + ); + final_on( + &verdict_of( + &adjudicate(&r, &m.b_vault, b"b-wins").await, + "escrow.adjudicate", + ), + &m, + b"a-wins", + ); + refused_release(&p.b, &m.b_vault, "pays another identity").await; + + p.b.enter(); + let set = canonical_set(NETWORK).expect("the pinned set"); + let built = exercise_release(&p.b.router().core_sdk, &set, &m.b_vault, b"b-wins".to_vec()) + .await + .expect("B's release on b-wins is a well-formed position"); + let state = match built.state { + PositionState::RetriesExhausted => { + let (position, state) = position_of( + &invoke( + &p.b, + "sofi.resolve", + args(&generated::SofiResolveRequest {}), + ) + .await, + "sofi.resolve", + ); + assert_eq!(position, built.position); + state + } + PositionState::Realized => generated::SofiPositionState::Realized as i32, + PositionState::Void => generated::SofiPositionState::Void as i32, + PositionState::Invalid => generated::SofiPositionState::Invalid as i32, + }; + assert_eq!( + state, + generated::SofiPositionState::Void as i32, + "a release on the outcome the cell's verdict is not on is void" + ); + assert_eq!(pending_position(&p.b), None); + assert_eq!(balance(&p.b, &m.era), whole_era(100) - m.stake); + + realized_through(&p.a, "escrow.release", release_request(&m.b_vault)).await; + realized_through(&p.a, "escrow.release", release_request(&m.a_vault)).await; + assert_eq!(balance(&p.a, &m.era), whole_era(100) + m.stake); + assert_eq!(balance(&p.b, &m.era), whole_era(100) - m.stake); +} + +/// Nothing but a verdict that proves its own authority occupies the cell. +/// B writes a "b-wins" signed by its own key — not the outcome's signer — +/// and the referee's genuine "a-wins" made for another match's cell; the +/// cell holds no verdict, each is passed over with its reason, and nothing +/// can be released. The referee's verdict, written after both, is the cell's. +#[tokio::test(flavor = "multi_thread", worker_threads = 4)] +#[serial] +async fn a_verdict_outside_the_authority_cannot_occupy_the_cell() { + let p = Pair::boot(100, 100).await; + let r = referee(&p).await; + let m = open_match(&p, &r, b"match 3: A v B, 25 ERA each, referee R").await; + let terms = terms_of(&p.b, &m.a_vault); + assert_eq!(escrow::verdict_cell_of(&terms), m.verdict_cell); + + let forged = EscrowVerdict::new( + *terms.external_commitment(), + terms.outcome_table(), + b"b-wins", + vec![signed_by(&p.b, &m.verdict_cell, b"b-wins")], + ) + .expect("a verdict's bytes"); + write_to_cell(&p.b, &m, &forged).await; + + let elsewhere = EscrowTerms::new( + *terms.token(), + escrow::external_commitment(b"match 4"), + terms.branches().to_vec(), + ) + .expect("terms"); + let other_cell = escrow::verdict_cell_of(&elsewhere); + let misplaced = EscrowVerdict::new( + *elsewhere.external_commitment(), + elsewhere.outcome_table(), + b"a-wins", + vec![signed_by(&r, &other_cell, b"a-wins")], + ) + .expect("a verdict's bytes"); + write_to_cell(&p.b, &m, &misplaced).await; + + let open = verdict(&p.a, &m.a_vault).await; + assert_eq!(open.state, generated::EscrowVerdictState::None as i32); + assert_eq!(open.passed_over.len(), 2, "{:?}", open.passed_over); + assert!(open.passed_over[0].contains("NotTheOutcomesSigners")); + assert!(open.passed_over[1].contains("NotThisCell")); + refused_release(&p.b, &m.b_vault, "no verdict holds the cell yet").await; + + let decided = verdict_of( + &adjudicate(&r, &m.a_vault, b"a-wins").await, + "escrow.adjudicate", + ); + final_on(&decided, &m, b"a-wins"); + assert_eq!(decided.passed_over.len(), 2); + realized_through(&p.a, "escrow.release", release_request(&m.b_vault)).await; + assert_eq!(balance(&p.a, &m.era), whole_era(100)); +} + +/// A cancel is decided by both players and only by both: the referee cannot +/// adjudicate it, and one player's signature does not complete it. Once both +/// sign, the cancel is the cell's verdict, a referee result written after it +/// settles nothing, and each player takes back its own stake only. +#[tokio::test(flavor = "multi_thread", worker_threads = 4)] +#[serial] +async fn a_joint_cancel_and_a_referee_result_cannot_both_settle() { + let p = Pair::boot(100, 100).await; + let r = referee(&p).await; + let m = open_match(&p, &r, b"match 5: A v B, 25 ERA each, referee R").await; + + let by_referee = adjudicate(&r, &m.a_vault, b"cancel").await; + assert!(!by_referee.success); + assert!(by_referee + .error_message + .expect("a refusal says why") + .contains("do not decide")); + let signed = + match payload(&invoke(&p.a, "escrow.sign", outcome_request(&m.a_vault, b"cancel")).await) { + Payload::EscrowSignedResponse(s) => s, + other => panic!("escrow.sign answered {other:?}"), + }; + assert_eq!(signed.verdict_cell, m.verdict_cell.to_vec()); + let alone = adjudicate(&p.a, &m.a_vault, b"cancel").await; + assert!(!alone.success, "one player's signature is no cancel"); + assert_eq!( + verdict(&r, &m.a_vault).await.state, + generated::EscrowVerdictState::None as i32, + "nothing was written for a verdict the signatures do not complete" + ); + + final_on( + &verdict_of( + &adjudicate(&p.b, &m.b_vault, b"cancel").await, + "escrow.adjudicate", + ), + &m, + b"cancel", + ); + final_on( + &verdict_of( + &adjudicate(&r, &m.a_vault, b"a-wins").await, + "escrow.adjudicate", + ), + &m, + b"cancel", + ); + + refused_release(&p.a, &m.b_vault, "pays another identity").await; + realized_through(&p.a, "escrow.release", release_request(&m.a_vault)).await; + realized_through(&p.b, "escrow.release", release_request(&m.b_vault)).await; + assert_eq!(balance(&p.a, &m.era), whole_era(100)); + assert_eq!(balance(&p.b, &m.era), whole_era(100)); +} + +/// An escrow vault is not a market: it is not traded through, its owner +/// cannot close it, and it is not among the owner's market vaults. A stake +/// locked against a vault bound to another verdict cell is not locked. +#[tokio::test(flavor = "multi_thread", worker_threads = 4)] +#[serial] +async fn an_escrow_vault_has_no_market_and_no_owner_close() { + let p = Pair::boot(100, 100).await; + let r = referee(&p).await; + let (pa, pb, pr) = (party(&p.a).await, party(&p.b).await, party(&r).await); + let stake = whole_era(25); + let a = created(&lock(&p.a, b"match 6", stake, branches(&pa, &pb, &pr, &pa), None).await); + let a_vault = d32(&a.vault_id); + + let closed = invoke( + &p.a, + "sofi.close", + args(&generated::SofiCloseRequest { + vault_id: a_vault.to_vec(), + }), + ) + .await; + assert!(!closed.success); + assert!(closed + .error_message + .expect("a refusal says why") + .contains("no market")); + + let tkn = create_token(&p.a, "TKN", 1_000).await; + adopt(&p.b, &tkn).await; + let era = era(); + let traded = invoke( + &p.b, + "sofi.trade", + args(&generated::SofiTradeRequest { + vault_id: a_vault.to_vec(), + token_in_policy_commit: era.to_vec(), + amount_in_entered: entered(&p.b, &era, whole_era(1)), + min_amount_out_entered: entered(&p.b, &tkn, 1), + token_out_policy_commit: tkn.to_vec(), + }), + ) + .await; + assert!(!traded.success); + let message = traded.error_message.expect("a refusal says why"); + assert!(message.contains("no market"), "{message}"); + + let markets = + match payload(&invoke(&p.a, "sofi.vaults", args(&generated::SofiVaultsRequest {})).await) { + Payload::SofiVaultsResponse(r) => r.vaults, + other => panic!("sofi.vaults answered {other:?}"), + }; + assert!(markets.is_empty(), "an escrow vault is no market vault"); + let own = vaults_of( + &p.a, + "escrow.vaults", + args(&generated::EscrowVaultsRequest {}), + ) + .await; + assert_eq!( + holdings(&own), + vec![( + a_vault.to_vec(), + stake, + generated::SofiVaultStatus::Active as i32 + )] + ); + + let elsewhere = lock( + &p.b, + b"match 7", + stake, + branches(&pa, &pb, &pr, &pb), + Some(a_vault), + ) + .await; + assert!(!elsewhere.success); + assert!(elsewhere + .error_message + .expect("a refusal says why") + .contains("another verdict cell")); + assert_eq!(balance(&p.b, &era), whole_era(100)); + assert_eq!(pending_position(&p.b), None); +} diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/escrow_routes.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/escrow_routes.rs new file mode 100644 index 000000000..d7878a65f --- /dev/null +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/escrow_routes.rs @@ -0,0 +1,306 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 + +//! Escrow vault routes (SoFi §19.9, Amendment S21). Each route decodes the +//! user's intent, checks its shape, and hands it to its entry in +//! `sdk::escrow_flow`; producers assemble, Core decides. A route never +//! interprets a storage read, and never takes a verdict from anything but +//! the verdict cell Core reads. + +use dsm::route_chain::ChainState; +use dsm::sofi::wire::{EscrowBranch, EscrowOutcome, EscrowSigner}; +use dsm::types::proto as generated; + +use super::app_router_impl::AppRouterImpl; +use super::response_helpers::{err, pack_envelope_ok}; +use super::sofi_routes::{d32, entered, position_response, request, shown}; +use super::wallet_routes::token_of_commit; +use crate::bridge::{AppInvoke, AppResult}; +use crate::sdk::escrow_flow::{CreateEscrowIntent, EscrowVaultView, OutcomeIntent, VerdictView}; +use crate::sdk::sofi_flow::Search; +use crate::sdk::storage_set::StorageSet; + +fn signer(s: &generated::EscrowSignerV1, route: &str) -> Result { + let alg = u16::try_from(s.signature_alg) + .map_err(|e| format!("{route}: signature_alg {}: {e}", s.signature_alg))?; + EscrowSigner::new(alg, &s.public_key).map_err(|e| format!("{route}: signer: {e:?}")) +} + +fn signer_v1(s: &EscrowSigner) -> generated::EscrowSignerV1 { + generated::EscrowSignerV1 { + signature_alg: u32::from(s.signature_alg()), + public_key: s.public_key().to_vec(), + } +} + +fn branch(b: &generated::EscrowBranchV1, route: &str) -> Result { + let signers = b + .signers + .iter() + .map(|s| signer(s, route)) + .collect::, _>>()?; + let outcome = EscrowOutcome::new(&b.outcome, signers).map_err(|e| { + format!( + "{route}: outcome {:?}: {e:?}", + String::from_utf8_lossy(&b.outcome) + ) + })?; + Ok(EscrowBranch::new( + outcome, + d32(&b.recipient_genesis, "recipient_genesis", route)?, + d32(&b.recipient_device_id, "recipient_device_id", route)?, + )) +} + +fn verdict_response(view: VerdictView) -> AppResult { + let (state, outcome) = match view.held { + None => (generated::EscrowVerdictState::None, Vec::new()), + Some((outcome, ChainState::LeaderHeld)) => { + (generated::EscrowVerdictState::LeaderHeld, outcome) + } + Some((outcome, ChainState::Preserved)) => { + (generated::EscrowVerdictState::Preserved, outcome) + } + Some((outcome, ChainState::Final)) => (generated::EscrowVerdictState::Final, outcome), + }; + pack_envelope_ok(generated::envelope::Payload::EscrowVerdictResponse( + generated::EscrowVerdictResponse { + verdict_cell: view.verdict_cell.to_vec(), + state: state as i32, + outcome, + passed_over: view + .passed_over + .iter() + .map(|refusal| format!("{refusal:?}")) + .collect(), + }, + )) +} + +fn vault_v1(v: &EscrowVaultView, route: &str) -> Result { + let (token_symbol, ..) = token_of_commit(&v.token).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::EscrowVaultV1 { + vault_id: v.vault_id.to_vec(), + owner_genesis: v.owner_genesis.to_vec(), + owner_device_id: v.owner_device_id.to_vec(), + verdict_cell: v.verdict_cell.to_vec(), + external_commitment: v.external_commitment.to_vec(), + token_policy_commit: v.token.to_vec(), + token_symbol, + amount: v.amount, + amount_display: shown(v.amount, &v.token, route)?, + generation: v.generation, + status: status as i32, + }) +} + +fn vaults_response(views: &[EscrowVaultView], search: Search, route: &str) -> AppResult { + let vaults = match views + .iter() + .map(|v| vault_v1(v, route)) + .collect::, _>>() + { + Ok(vaults) => vaults, + Err(e) => return err(e), + }; + let search = match search { + Search::Complete => generated::SofiSearch::Complete, + Search::Partial => generated::SofiSearch::Partial, + }; + pack_envelope_ok(generated::envelope::Payload::EscrowVaultsResponse( + generated::EscrowVaultsResponse { + vaults, + search: search as i32, + }, + )) +} + +impl AppRouterImpl { + pub(crate) async fn handle_escrow_invoke(&self, i: AppInvoke) -> AppResult { + if i.method == "escrow.party" { + return self.escrow_party(); + } + let network = match crate::sdk::economic_admission_flow::committed_network_id() { + Ok(n) => n, + Err(e) => return err(format!("{}: no committed network: {e}", i.method)), + }; + // Every escrow vault, verdict cell and gathered signature lives on the + // network's pinned set (DSM Amendment A5). + let set = match crate::sdk::storage_set::canonical_set(&network) { + Ok(s) => s, + Err(e) => return err(format!("{}: no pinned storage set: {e}", i.method)), + }; + match i.method.as_str() { + "escrow.create" => self.escrow_create(&i, &set).await, + "escrow.sign" => self.escrow_sign(&i, &set).await, + "escrow.adjudicate" => self.escrow_adjudicate(&i, &set).await, + "escrow.verdict" => self.escrow_verdict(&i, &set).await, + "escrow.release" => self.escrow_release(&i, &set).await, + "escrow.locked" => self.escrow_locked(&i, &set).await, + "escrow.vaults" => self.escrow_vaults(&set).await, + other => err(format!("unknown escrow route: {other}")), + } + } + + fn escrow_party(&self) -> AppResult { + match crate::sdk::escrow_flow::party(&self.core_sdk) { + Ok(party) => pack_envelope_ok(generated::envelope::Payload::EscrowPartyResponse( + generated::EscrowPartyResponse { + genesis: party.genesis.to_vec(), + device_id: party.device_id.to_vec(), + signer: Some(signer_v1(&party.signer)), + }, + )), + Err(e) => err(format!("escrow.party: {e}")), + } + } + + async fn escrow_create(&self, i: &AppInvoke, set: &StorageSet) -> AppResult { + const ROUTE: &str = "escrow.create"; + let req: generated::EscrowCreateRequest = match request(i) { + Ok(r) => r, + Err(e) => return err(e), + }; + let intent = match (|| -> Result { + let token = d32(&req.token_policy_commit, "token_policy_commit", ROUTE)?; + let amount = entered(&req.amount_entered, &token, "stake", ROUTE)?; + if amount == 0 { + return Err(format!("{ROUTE}: the stake must be positive")); + } + let branches = req + .branches + .iter() + .map(|b| branch(b, ROUTE)) + .collect::, _>>()?; + let counterpart = match req.counterpart_vault_id.as_slice() { + [] => None, + bytes => Some(d32(bytes, "counterpart_vault_id", ROUTE)?), + }; + Ok(CreateEscrowIntent { + external: req.external.clone(), + token, + amount, + branches, + counterpart, + }) + })() { + Ok(v) => v, + Err(e) => return err(e), + }; + match crate::sdk::escrow_flow::create(&self.core_sdk, set, &intent).await { + Ok(done) => pack_envelope_ok(generated::envelope::Payload::EscrowCreatedResponse( + generated::EscrowCreatedResponse { + vault_id: done.vault_id.to_vec(), + verdict_cell: done.verdict_cell.to_vec(), + external_commitment: done.external_commitment.to_vec(), + position: done.position, + }, + )), + Err(e) => err(format!("{ROUTE}: {e}")), + } + } + + fn outcome_intent(i: &AppInvoke, route: &str) -> Result { + let req: generated::EscrowOutcomeRequest = request(i)?; + if req.outcome.is_empty() { + return Err(format!("{route}: an outcome has 1..=64 bytes")); + } + Ok(OutcomeIntent { + vault_id: d32(&req.vault_id, "vault_id", route)?, + outcome: req.outcome, + }) + } + + async fn escrow_sign(&self, i: &AppInvoke, set: &StorageSet) -> AppResult { + const ROUTE: &str = "escrow.sign"; + let intent = match Self::outcome_intent(i, ROUTE) { + Ok(v) => v, + Err(e) => return err(e), + }; + match crate::sdk::escrow_flow::sign_outcome(&self.core_sdk, set, &intent).await { + Ok(done) => pack_envelope_ok(generated::envelope::Payload::EscrowSignedResponse( + generated::EscrowSignedResponse { + verdict_cell: done.verdict_cell.to_vec(), + gathered: done.gathered.to_vec(), + }, + )), + Err(e) => err(format!("{ROUTE}: {e}")), + } + } + + async fn escrow_adjudicate(&self, i: &AppInvoke, set: &StorageSet) -> AppResult { + const ROUTE: &str = "escrow.adjudicate"; + let intent = match Self::outcome_intent(i, ROUTE) { + Ok(v) => v, + Err(e) => return err(e), + }; + match crate::sdk::escrow_flow::adjudicate(&self.core_sdk, set, &intent).await { + Ok(view) => verdict_response(view), + Err(e) => err(format!("{ROUTE}: {e}")), + } + } + + async fn escrow_verdict(&self, i: &AppInvoke, set: &StorageSet) -> AppResult { + const ROUTE: &str = "escrow.verdict"; + let req: generated::EscrowVerdictRequest = 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::escrow_flow::verdict(&self.core_sdk, set, &vault_id).await { + Ok(view) => verdict_response(view), + Err(e) => err(format!("{ROUTE}: {e}")), + } + } + + async fn escrow_release(&self, i: &AppInvoke, set: &StorageSet) -> AppResult { + const ROUTE: &str = "escrow.release"; + let req: generated::EscrowReleaseRequest = 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::escrow_flow::release(&self.core_sdk, set, &vault_id).await { + Ok(outcome) => position_response(outcome), + Err(e) => err(format!("{ROUTE}: {e}")), + } + } + + async fn escrow_locked(&self, i: &AppInvoke, set: &StorageSet) -> AppResult { + const ROUTE: &str = "escrow.locked"; + let req: generated::EscrowLockedRequest = match request(i) { + Ok(r) => r, + Err(e) => return err(e), + }; + let verdict_cell = match d32(&req.verdict_cell, "verdict_cell", ROUTE) { + Ok(v) => v, + Err(e) => return err(e), + }; + match crate::sdk::escrow_flow::locked(&self.core_sdk, set, &verdict_cell).await { + Ok((views, search)) => vaults_response(&views, search, ROUTE), + Err(e) => err(format!("{ROUTE}: {e}")), + } + } + + async fn escrow_vaults(&self, set: &StorageSet) -> AppResult { + const ROUTE: &str = "escrow.vaults"; + match crate::sdk::escrow_flow::own_vaults(&self.core_sdk, set).await { + Ok(views) => vaults_response(&views, Search::Complete, ROUTE), + Err(e) => err(format!("{ROUTE}: {e}")), + } + } +} diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/mod.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/mod.rs index 5a079d066..bef4394f0 100644 --- a/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/mod.rs +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/handlers/mod.rs @@ -34,6 +34,9 @@ mod connect_e2e_tests; pub mod connect_routes; pub mod contacts_routes; #[cfg(test)] +mod escrow_e2e_tests; +pub mod escrow_routes; +#[cfg(test)] mod faucet_flow_tests; pub mod faucet_routes; #[cfg(test)] 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 0a4565a76..52be82565 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 @@ -132,7 +132,7 @@ async fn history(d: &TestDevice) -> Vec { } /// The rows of `d`'s `wallet.history`, decoded. -async fn history_rows(d: &TestDevice) -> Vec { +pub(super) async fn history_rows(d: &TestDevice) -> Vec { let data = history(d).await; match generated::Envelope::decode(&data[1..]) .expect("framed envelope") @@ -761,7 +761,7 @@ pub(super) async fn create_vault( /// `d` adds `token` by its anchor. Adoption precedes receipt (owner ruling /// 2026-09-13): a trader adds a token before it can receive any. -async fn adopt(d: &TestDevice, token: &[u8; 32]) { +pub(super) async fn adopt(d: &TestDevice, token: &[u8; 32]) { d.enter(); let adopted = d .router() @@ -822,7 +822,7 @@ fn trade_request(p: &Pair, m: &Market, amount_in: u64) -> generated::SofiTradeRe } /// The position and its state, as a route reports them. -fn position_of(r: &AppResult, route: &str) -> (u64, i32) { +pub(super) fn position_of(r: &AppResult, route: &str) -> (u64, i32) { match payload(r) { Payload::SofiPositionResponse(r) => (r.position, r.state), other => panic!("{route} answered {other:?}"), @@ -844,7 +844,7 @@ async fn resolve(p: &Pair) -> (u64, i32) { /// `d` takes a position through `route` and it resolves Realized, through /// `sofi.resolve` if the route's own rounds did not get there. The position. -async fn realized_through(d: &TestDevice, route: &str, request: Vec) -> u64 { +pub(super) async fn realized_through(d: &TestDevice, route: &str, request: Vec) -> u64 { let realized = generated::SofiPositionState::Realized as i32; let (position, state) = position_of(&invoke(d, route, request).await, route); if state == realized { @@ -879,7 +879,7 @@ fn standing_of(d: &TestDevice) -> (([u8; 32], [u8; 32]), Option Option { +pub(super) fn pending_position(d: &TestDevice) -> Option { d.enter(); d.router() .core_sdk @@ -889,7 +889,7 @@ fn pending_position(d: &TestDevice) -> Option { .map(|pending| pending.economic_position) } -fn admitted_position(d: &TestDevice) -> u64 { +pub(super) fn admitted_position(d: &TestDevice) -> u64 { d.enter(); economic_lineage::get_admitted_coordinate() .expect("read admitted") @@ -903,7 +903,7 @@ fn member_name(member: &[u8]) -> String { /// The head and the admitted economic root of `d` agree about what it holds /// of each token. -fn head_agrees_with_admitted_root(d: &TestDevice, tokens: &[[u8; 32]]) { +pub(super) fn head_agrees_with_admitted_root(d: &TestDevice, tokens: &[[u8; 32]]) { d.enter(); let head = d.router().core_sdk.device_head().expect("a head"); let leaves = @@ -2866,7 +2866,7 @@ async fn discovery_passes_over_what_is_not_a_vault_of_the_token() { &set, &Publication::VaultGenesis { preimage: &forged, - market: real.market(), + market: real.market().expect("a market vault"), }, ) .await @@ -2876,7 +2876,7 @@ async fn discovery_passes_over_what_is_not_a_vault_of_the_token() { let other = accepted(&second); let other_addr = Publication::VaultGenesis { preimage: other.preimage(), - market: other.market(), + market: other.market().expect("a market vault"), } .address() .expect("an address"); @@ -2913,7 +2913,7 @@ async fn discovery_passes_over_what_is_not_a_vault_of_the_token() { &set, &Publication::VaultGenesis { preimage: &ahead, - market: real.market(), + market: real.market().expect("a market vault"), }, ) .await @@ -3479,6 +3479,12 @@ impl dsm::sofi::resolve::SofiReads for CountingReads<'_> { ) -> Result, dsm::sofi::resolve::ReadFailure> { self.live.vault_token_candidates(token) } + fn escrow_cell_candidates( + &self, + verdict_cell: &[u8; 32], + ) -> Result, dsm::sofi::resolve::ReadFailure> { + self.live.escrow_cell_candidates(verdict_cell) + } fn vault_owner( &self, genesis: &[u8; 32], 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 ee37d344f..ecf155256 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 @@ -23,31 +23,36 @@ use dsm::sofi::validation::RouteShape; /// The most hops a route may have (`ROUTE_MAX_LEGS`, SoFi §31). const ROUTE_MAX_LEGS: usize = dsm::sofi::wire::ROUTE_MAX_LEGS; -fn d32(bytes: &[u8], what: &str, route: &str) -> Result<[u8; 32], String> { +pub(super) 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 { +pub(super) 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 { +pub(super) 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 { +pub(super) fn request(i: &AppInvoke) -> Result { let arg_pack = generated::ArgPack::decode(&*i.args) .map_err(|e| format!("{}: decode ArgPack failed: {e}", i.method))?; T::decode(&*arg_pack.body).map_err(|e| format!("{}: decode request failed: {e}", i.method)) } -fn position_response(outcome: PositionOutcome) -> AppResult { +pub(super) fn position_response(outcome: PositionOutcome) -> AppResult { let state = match outcome.state { PositionState::Realized => generated::SofiPositionState::Realized, PositionState::Void => generated::SofiPositionState::Void, 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 82b64ba6d..76470912d 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 @@ -48,6 +48,8 @@ fn event_type(stored: &str) -> Option { Realized::Setup, Realized::Trade, Realized::Close, + Realized::EscrowLock, + Realized::EscrowRelease, ] .into_iter() .find(|kind| kind.tx_type() == stored) @@ -57,6 +59,8 @@ fn event_type(stored: &str) -> Option { Realized::Setup => generated::TransactionType::TxTypeSofiSetup, Realized::Trade => generated::TransactionType::TxTypeSofiTrade, Realized::Close => generated::TransactionType::TxTypeSofiClose, + Realized::EscrowLock => generated::TransactionType::TxTypeEscrowLock, + Realized::EscrowRelease => generated::TransactionType::TxTypeEscrowRelease, }) } @@ -70,6 +74,8 @@ fn event_type_name(kind: generated::TransactionType) -> Option<&'static str> { 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::TxTypeEscrowLock => Some(Realized::EscrowLock.tx_type()), + generated::TransactionType::TxTypeEscrowRelease => Some(Realized::EscrowRelease.tx_type()), generated::TransactionType::TxTypeUnspecified | generated::TransactionType::TxTypeFaucet | generated::TransactionType::TxTypeBilateralOffline diff --git a/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/escrow_flow.rs b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/escrow_flow.rs new file mode 100644 index 000000000..87761f71a --- /dev/null +++ b/dsm_client/deterministic_state_machine/dsm_sdk/src/sdk/escrow_flow.rs @@ -0,0 +1,673 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 + +//! Escrow vaults (SoFi §19.9, Amendment S21): one entry per escrow route, +//! over the vault machinery of `sofi_flow` and the producers in `sofi_sdk`. +//! +//! An escrow vault holds one token's stake and releases it whole, once, to the +//! recipient of the branch whose outcome the canonical verdict on its external +//! commitment names. The verdict lives in its own cell, `K_verdict`, which +//! every vault linked to it shares: the first verdict at the cell's leader that +//! proves its own authority is the only one any of them settles against. +//! +//! Producers assemble and publish; Core decides. A route here never takes a +//! storage read, a counterpart's word or an application's word as a verdict. + +use dsm::common::domain_tags::TAG_DSM_ESCROW_STATEMENT_LOCATOR; +use dsm::economic::write_set::CreditSourceFacts; +use dsm::route_chain::{CellFact, ChainState}; +use dsm::sofi::escrow; +use dsm::sofi::escrow::{VerdictCell, VerdictCellRead, VerdictRefusal}; +use dsm::sofi::publication::Publication; +use dsm::sofi::resolve::{AcceptedGeneses, VaultGenesis, Verifier}; +use dsm::sofi::storage::Discovered; +use dsm::sofi::validation::{retire_vault_post, VaultTerms}; +use dsm::sofi::wire::{ + next_position, EscrowBranch, EscrowSigner, EscrowTerms, EscrowVerdict, VaultGenesisPreimage, + VaultStateLeaf, VerdictSignature, VAULT_STATUS_ACTIVE, +}; +use dsm::types::device_state::{BalanceDelta, BalanceDirection}; +use dsm::types::error::DsmError; + +use crate::sdk::core_sdk::CoreSDK; +use crate::sdk::economic_admission_flow::{ + admitted_self_loop_operation, validated_root_or_activate, BuiltOn, +}; +use crate::sdk::realized_records::{record_realized, Moved, Realized}; +use crate::sdk::route_seats::write_recorded; +use crate::sdk::sofi_flow::{ + chain_past_withheld_pairs, context, exercise_draft, head_of, identity, own_setup_ref, refuse, + relationship_base, require_stored, set_up_with, sign, standing, storage, trader_core, + vault_at_head, vault_core, PositionOutcome, Search, SIGNATURE_ALG, +}; +use crate::sdk::sofi_publish::{publish, LOCATOR_BUDGET}; +use crate::sdk::sofi_reads::{verifier_error, LiveSofiReads, VerifierContext}; +use crate::sdk::sofi_sdk::{build_escrow_vault_create, draft_release, ReleaseNames}; +use crate::sdk::storage_io::resolve_locator_all; +use crate::sdk::storage_set::{as_ccb_members, StorageSet}; + +type D32 = [u8; 32]; + +// ── escrow.party ──────────────────────────────────────────────────────────── + +/// What a device names itself by in escrow terms: its identity, which a +/// branch pays, and its signing key, which a branch is decided by. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct EscrowParty { + pub genesis: D32, + pub device_id: D32, + pub signer: EscrowSigner, +} + +/// `escrow.party`: this device as an escrow party. +pub fn party(core: &CoreSDK) -> Result { + let (genesis, device_id) = identity(core)?; + let public_key = crate::sdk::signing_authority::current_public_key()?; + let signer = EscrowSigner::new(SIGNATURE_ALG, &public_key).map_err(refuse)?; + Ok(EscrowParty { + genesis, + device_id, + signer, + }) +} + +// ── escrow.create ─────────────────────────────────────────────────────────── + +/// `escrow.create`: a stake locked in a new escrow vault of this device. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct CreateEscrowIntent { + /// `X`: the bytes the parties agreed on. DSM never reads them; the vault + /// commits `Y = H(DSM/external/v1 ‖ X)`. + pub external: Vec, + /// The held token's policy commit. + pub token: D32, + /// The stake, in base units. + pub amount: u64, + /// The precommitted branches, strictly ascending by outcome. + pub branches: Vec, + /// A vault this one is locked against. The vault is created only once + /// that one is accepted, Active and bound to the same verdict cell (SoFi + /// §19.9, "Linked vaults"). + pub counterpart: Option, +} + +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct EscrowCreated { + pub vault_id: D32, + pub verdict_cell: D32, + pub external_commitment: D32, + /// The owner's economic position whose transition carries the creation. + pub position: u64, +} + +/// The escrow terms `vault_id`'s accepted genesis commits. +fn escrow_terms_of( + verifier: &Verifier<'_, LiveSofiReads<'_>>, + vault_id: &D32, +) -> Result { + match verifier.vault_genesis(vault_id).map_err(verifier_error)? { + VaultGenesis::Accepted(accepted) => accepted + .escrow() + .cloned() + .ok_or_else(|| refuse("the vault is not an escrow vault")), + VaultGenesis::NotPublished => Err(refuse( + "no genesis the owner's creation carried is published", + )), + VaultGenesis::OwnerUnresolved(why) => Err(storage( + "escrow vault genesis", + format!("the owner's lineage is unresolved: {why}"), + )), + VaultGenesis::Refused(why) => Err(refuse(format!("vault genesis refused: {why}"))), + } +} + +/// The counterpart is linked: accepted, bound to `verdict_cell` (its `Y` and +/// outcome table are this one's), and Active at its walked head. +async fn counterpart_linked( + set: &StorageSet, + verifier: &Verifier<'_, LiveSofiReads<'_>>, + counterpart: &D32, + verdict_cell: &D32, +) -> Result<(), DsmError> { + let terms = escrow_terms_of(verifier, counterpart)?; + if escrow::verdict_cell_of(&terms) != *verdict_cell { + return Err(refuse( + "the counterpart vault is bound to another verdict cell: its commitment or its \ + outcome table differs", + )); + } + let (vault, ..) = vault_at_head(set, verifier, counterpart).await?; + if vault.state.status != VAULT_STATUS_ACTIVE { + return Err(refuse("the counterpart vault is no longer Active")); + } + Ok(()) +} + +/// `escrow.create` (§19.9, Creation): the terms and the genesis are published +/// and read back `Stored` first, so the vault is findable by its id and by +/// its verdict cell the moment it exists; then the creation runs through the +/// Core transition, debiting the stake as one write set. +pub async fn create( + core: &CoreSDK, + set: &StorageSet, + intent: &CreateEscrowIntent, +) -> Result { + if intent.amount == 0 { + return Err(refuse("an escrow vault holds a non-zero stake")); + } + let (genesis, device_id) = identity(core)?; + let validated = validated_root_or_activate(core)?; + let create_position = next_position(validated.economic_position()).map_err(refuse)?; + let external_commitment = escrow::external_commitment(&intent.external); + let terms = EscrowTerms::new(intent.token, external_commitment, intent.branches.clone()) + .map_err(refuse)?; + let verdict_cell = escrow::verdict_cell_of(&terms); + if let Some(counterpart) = intent.counterpart { + let ctx = VerifierContext::new(set, Some((genesis, device_id)), None)?; + counterpart_linked(set, &ctx.verifier(), &counterpart, &verdict_cell).await?; + } + + let published = publish(set, &Publication::EscrowTerms(&terms)).await?; + require_stored("escrow terms", &published)?; + let addr = published.addr; + let preimage = VaultGenesisPreimage { + owner_genesis: genesis, + owner_device_id: device_id, + create_position, + state: VaultStateLeaf { + owner_genesis: genesis, + owner_device_id: device_id, + create_position, + market_policy: addr, + fee_policy: addr, + release_policy: addr, + storage_set_id: set.id(), + generation: 0, + reserve_a: intent.amount, + reserve_b: 0, + status: VAULT_STATUS_ACTIVE, + }, + }; + let produced = build_escrow_vault_create(&preimage, &terms).map_err(refuse)?; + let published = publish( + set, + &Publication::EscrowVaultGenesis { + preimage: &preimage, + terms: &terms, + }, + ) + .await?; + require_stored("escrow vault genesis", &published)?; + + let operation = produced + .operation + .clone() + .with_signature(sign(produced.signs.bytes())?); + let deltas = [BalanceDelta { + policy_commit: intent.token, + direction: BalanceDirection::Debit, + amount: intent.amount, + }]; + let (outcome, admitted) = admitted_self_loop_operation( + core, + operation, + &deltas, + CreditSourceFacts::None, + Vec::new(), + None, + Some(BuiltOn::of(&validated)), + ) + .await?; + let vault_id = preimage.vault_id(); + record_realized( + &outcome.new_device_state, + Realized::EscrowLock, + &vault_id, + admitted.economic_position, + &[vault_id], + &[Moved { + policy_commit: intent.token, + direction: BalanceDirection::Debit, + amount: intent.amount, + }], + ); + Ok(EscrowCreated { + vault_id, + verdict_cell, + external_commitment, + position: admitted.economic_position, + }) +} + +// ── escrow.sign and escrow.adjudicate ─────────────────────────────────────── + +/// An outcome of the escrow vault `vault_id`'s terms. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct OutcomeIntent { + pub vault_id: D32, + pub outcome: Vec, +} + +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct OutcomeSigned { + pub verdict_cell: D32, + /// The address of the gathered verdict holding this device's signature. + pub gathered: D32, +} + +/// This device's signer, once it is one the terms assign to `outcome`. +fn own_signer_of( + core: &CoreSDK, + terms: &EscrowTerms, + outcome: &[u8], +) -> Result, DsmError> { + let me = party(core)?.signer; + let decided_by = terms + .outcome_table() + .signers_of(outcome) + .map(<[EscrowSigner]>::to_vec) + .ok_or_else(|| refuse("the terms have no such outcome"))?; + Ok(decided_by.contains(&me).then_some(me)) +} + +/// This device's signature over `m(outcome)` for `verdict_cell`. +fn own_signature( + signer: &EscrowSigner, + verdict_cell: &D32, + outcome: &[u8], +) -> Result { + let secret_key = crate::sdk::signing_authority::current_secret_key()?; + escrow::sign_statement(signer, &secret_key, verdict_cell, outcome) +} + +/// `escrow.sign`: this device's signature deciding `outcome` for the vault's +/// verdict cell, put as a gathered verdict under the cell's statement locator +/// for the other signers of the outcome to find. It decides nothing by +/// itself: only a verdict recognized at the cell does. +pub async fn sign_outcome( + core: &CoreSDK, + set: &StorageSet, + intent: &OutcomeIntent, +) -> Result { + let ctx = VerifierContext::new(set, Some(identity(core)?), None)?; + let terms = escrow_terms_of(&ctx.verifier(), &intent.vault_id)?; + let signer = own_signer_of(core, &terms, &intent.outcome)? + .ok_or_else(|| refuse("this device is not a signer of that outcome"))?; + let verdict_cell = escrow::verdict_cell_of(&terms); + let signature = own_signature(&signer, &verdict_cell, &intent.outcome)?; + let gathered = EscrowVerdict::new( + *terms.external_commitment(), + terms.outcome_table(), + &intent.outcome, + vec![signature], + ) + .map_err(refuse)?; + let published = publish(set, &Publication::EscrowVerdict(&gathered)).await?; + require_stored("gathered verdict", &published)?; + Ok(OutcomeSigned { + verdict_cell, + gathered: published.addr, + }) +} + +/// What a verdict cell holds, as Core read it. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct VerdictView { + pub verdict_cell: D32, + /// The outcome the cell's verdict names, and how far its chain has gone; + /// `None` while no verdict holds the cell. + pub held: Option<(Vec, ChainState)>, + /// Why each value the leader holds ahead of the deciding one counts as + /// nothing there. + pub passed_over: Vec, +} + +impl VerdictView { + fn of(read: &VerdictCellRead) -> Self { + let held = match (read.verdict(), read.fact()) { + (Some(verdict), CellFact::Held { state, .. }) => { + Some((verdict.outcome().to_vec(), state)) + } + (None, _) | (Some(..), CellFact::Open) => None, + }; + Self { + verdict_cell: *read.key(), + held, + passed_over: read.passed_over().to_vec(), + } + } +} + +/// The read of `verdict_cell`, as Core evaluates it over every seat. +fn read_cell( + verifier: &Verifier<'_, LiveSofiReads<'_>>, + verdict_cell: &D32, +) -> Result { + verifier + .read_verdict_cell(verdict_cell) + .map_err(verifier_error)? + .map_err(|missing| storage("verdict cell", format!("not decided yet: {missing:?}"))) +} + +/// The signatures gathered for `outcome` at `verdict_cell`: every one a +/// gathered verdict under the statement locator holds that verifies under a +/// signer of the outcome, and why each other candidate counts as nothing. +async fn gathered_signatures( + set: &StorageSet, + verdict_cell: &D32, + outcome: &[u8], +) -> Result<(Vec, Vec), DsmError> { + let locator = escrow::statement_locator(verdict_cell, outcome); + // Every candidate the index names is answered for under the locator, so + // a refused one is kept with its refusal rather than dropped unseen. + let found = resolve_locator_all( + set, + TAG_DSM_ESCROW_STATEMENT_LOCATOR.source_bytes(), + &locator, + LOCATOR_BUDGET, + |bytes| { + Some(( + locator, + escrow::gathered_signatures(bytes, verdict_cell, outcome), + )) + }, + ) + .await?; + let (Discovered::Complete(found) | Discovered::Partial(found)) = found; + let mut signatures = Vec::new(); + let mut refused = Vec::new(); + for candidate in found { + match candidate { + Ok(gathered) => signatures.extend(gathered), + Err(refusal) => refused.push(refusal), + } + } + Ok((signatures, refused)) +} + +/// `escrow.adjudicate` (§19.9): assemble the verdict on `outcome` from the +/// signatures gathered under the cell's statement locator and this device's +/// own when it is a signer, write it to the verdict cell leader first, and +/// return what the cell holds — which may be another verdict that got there +/// first. A verdict the gathered signatures do not complete is refused, and +/// nothing is written. +pub async fn adjudicate( + core: &CoreSDK, + set: &StorageSet, + intent: &OutcomeIntent, +) -> Result { + let ctx = VerifierContext::new(set, Some(identity(core)?), None)?; + let verifier = ctx.verifier(); + let terms = escrow_terms_of(&verifier, &intent.vault_id)?; + let verdict_cell = escrow::verdict_cell_of(&terms); + let (mut signatures, refused) = + gathered_signatures(set, &verdict_cell, &intent.outcome).await?; + if let Some(signer) = own_signer_of(core, &terms, &intent.outcome)? { + signatures.push(own_signature(&signer, &verdict_cell, &intent.outcome)?); + } + let verdict = escrow::assemble_verdict( + *terms.external_commitment(), + terms.outcome_table(), + &intent.outcome, + signatures, + ) + .map_err(|refusal| { + refuse(format!( + "the gathered signatures do not decide {:?}: {refusal:?}; gathered candidates passed \ + over: {refused:?}", + String::from_utf8_lossy(&intent.outcome) + )) + })?; + let cell = VerdictCell::new(&verdict_cell, &as_ccb_members(set)?, &set.id()) + .map_err(|e| refuse(format!("verdict cell: {e:?}")))?; + let write = write_recorded(set, cell.routed(), &verdict.encode()).await?; + if !write.reached_leader() { + return Err(storage( + "verdict cell", + "the cell's leader did not take the verdict; nothing is decided", + )); + } + Ok(VerdictView::of(&read_cell(&verifier, &verdict_cell)?)) +} + +/// `escrow.verdict`: what the verdict cell of `vault_id` holds. +pub async fn verdict( + core: &CoreSDK, + set: &StorageSet, + vault_id: &D32, +) -> Result { + let ctx = VerifierContext::new(set, Some(identity(core)?), None)?; + let verifier = ctx.verifier(); + let terms = escrow_terms_of(&verifier, vault_id)?; + Ok(VerdictView::of(&read_cell( + &verifier, + &escrow::verdict_cell_of(&terms), + )?)) +} + +// ── escrow.release ────────────────────────────────────────────────────────── + +/// `escrow.release` (§19.9, Release): the whole stake of `vault_id` to this +/// device, the recipient of the branch whose outcome the verdict cell holds, +/// final. A release is built only then: a release before the verdict, or +/// of a branch that pays someone else, could never realize, so nothing is +/// admitted for it. The setup with the vault is admitted first when this +/// device has none (Amendment S16). +pub async fn release( + core: &CoreSDK, + set: &StorageSet, + vault_id: &D32, +) -> Result { + let accepted = &AcceptedGeneses::default(); + let outcome = { + let standing = standing(core)?; + let ctx = standing.context(set, accepted)?; + let verifier = ctx.verifier(); + let terms = escrow_terms_of(&verifier, vault_id)?; + let read = read_cell(&verifier, &escrow::verdict_cell_of(&terms))?; + let view = VerdictView::of(&read); + let outcome = match view.held { + Some((outcome, ChainState::Final)) => outcome, + Some((.., state)) => { + return Err(storage( + "verdict", + format!("the verdict holding the cell is {state:?}, not final yet"), + )) + } + None => return Err(storage("verdict", "no verdict holds the cell yet")), + }; + let branch = terms + .branch(&outcome) + .ok_or_else(|| refuse("the verdict names no branch of the vault's terms"))?; + if *branch.recipient_genesis() != standing.genesis + || *branch.recipient_device_id() != standing.device_id + { + return Err(refuse(format!( + "the verdict {:?} pays another identity", + String::from_utf8_lossy(&outcome) + ))); + } + let head = core + .device_head() + .ok_or_else(|| storage("device head", "none"))?; + if !head.has_adopted(terms.token()) { + return Err(refuse( + "the escrow token is not adopted: adopt it before receiving it", + )); + } + outcome + }; + exercise_release(core, set, vault_id, outcome).await +} + +/// The release of `vault_id` on `outcome`, drafted at the vault's walked head +/// and exercised through Core: set up with the vault first if this device +/// has no setup (Amendment S16), retire it, credit its whole stake. Core +/// settles it against the verdict its cell holds; this producer reads none. +pub(crate) async fn exercise_release( + core: &CoreSDK, + set: &StorageSet, + vault_id: &D32, + outcome: Vec, +) -> Result { + let accepted = &AcceptedGeneses::default(); + set_up_with(core, set, &[*vault_id], accepted).await?; + let standing = standing(core)?; + let ctx = standing.context(set, accepted)?; + let verifier = ctx.verifier(); + let chain = chain_past_withheld_pairs( + set, + &verifier, + vault_id, + verifier.chain(vault_id).map_err(verifier_error)?, + ) + .await?; + let (vault, ..) = head_of(set, &verifier, vault_id, chain).await?; + let VaultTerms::Escrow(terms) = &vault.terms else { + return Err(refuse("the vault is not an escrow vault")); + }; + if vault.state.status != VAULT_STATUS_ACTIVE { + return Err(refuse("the escrow vault is already released")); + } + let setup_ref = own_setup_ref(set, &standing.genesis, &standing.device_id, vault_id).await?; + let base = relationship_base(&standing, vault_id)?; + let retired = + retire_vault_post(&vault.state).map_err(|refusal| refuse(format!("{refusal:?}")))?; + let dlv = vault_core(&standing, &vault, &retired, base)?; + let trader = trader_core( + &standing, + &[(*terms.token(), vault.state.reserve_a, 0)], + &[(*vault_id, base)], + )?; + let public_key = crate::sdk::signing_authority::current_public_key()?; + let trader_ctx = context(&standing, set, &public_key, trader)?; + let draft = draft_release( + ReleaseNames { + vault_id: *vault_id, + parent_root: vault.root, + setup_ref, + verdict_cell: escrow::verdict_cell_of(terms), + outcome, + amount: vault.state.reserve_a, + }, + dlv, + &trader_ctx, + &standing.local, + ) + .map_err(refuse)?; + exercise_draft(core, set, &standing, draft, accepted).await +} + +// ── escrow.locked and escrow.vaults ───────────────────────────────────────── + +/// One escrow vault at its walked head. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct EscrowVaultView { + pub vault_id: D32, + pub owner_genesis: D32, + pub owner_device_id: D32, + pub verdict_cell: D32, + pub external_commitment: D32, + pub token: D32, + /// What the vault holds at its head: the stake while Active, nothing once + /// released. + pub amount: u64, + pub generation: u64, + pub status: u16, +} + +async fn view_of( + set: &StorageSet, + verifier: &Verifier<'_, LiveSofiReads<'_>>, + vault_id: &D32, +) -> Result { + let (vault, ..) = vault_at_head(set, verifier, vault_id).await?; + let VaultTerms::Escrow(terms) = &vault.terms else { + return Err(refuse("the vault is not an escrow vault")); + }; + Ok(EscrowVaultView { + vault_id: *vault_id, + owner_genesis: vault.state.owner_genesis, + owner_device_id: vault.state.owner_device_id, + verdict_cell: escrow::verdict_cell_of(terms), + external_commitment: *terms.external_commitment(), + token: *terms.token(), + amount: vault.state.reserve_a, + generation: vault.state.generation, + status: vault.state.status, + }) +} + +/// `escrow.locked`: the escrow vaults bound to `verdict_cell`, each accepted, +/// checked to derive the cell, and walked to its head. Discovery carries no +/// authority; a candidate not established yet makes the search partial. +pub async fn locked( + core: &CoreSDK, + set: &StorageSet, + verdict_cell: &D32, +) -> Result<(Vec, Search), DsmError> { + let ctx = VerifierContext::new(set, Some(identity(core)?), None)?; + let verifier = ctx.verifier(); + let (vaults, mut search) = match verifier + .vaults_of_cell(verdict_cell) + .map_err(verifier_error)? + { + Discovered::Complete(vaults) => (vaults, Search::Complete), + Discovered::Partial(vaults) => (vaults, Search::Partial), + }; + let mut out = Vec::with_capacity(vaults.len()); + for accepted in vaults { + match view_of(set, &verifier, accepted.vault_id()).await { + Ok(view) => out.push(view), + // A vault whose head is not established is not shown as it + // stands, so the search is partial, and says why. + Err(why) => { + search = Search::Partial; + out_of_reach(accepted.vault_id(), &why); + } + } + } + Ok((out, search)) +} + +/// A vault `escrow.locked` could not show at its head: the search is partial. +fn out_of_reach(vault_id: &D32, why: &DsmError) { + log::info!( + "[escrow] vault {} not shown at its head: {why}", + dsm::utils::text_id::encode_base32_crockford(vault_id) + ); +} + +/// `escrow.vaults`: the escrow vaults this device created — the creation +/// records its validated root commits — each walked to its head. +pub async fn own_vaults( + core: &CoreSDK, + set: &StorageSet, +) -> Result, DsmError> { + let accepted = &AcceptedGeneses::default(); + let standing = standing(core)?; + let ctx = standing.context(set, accepted)?; + let verifier = ctx.verifier(); + let mut out = Vec::new(); + for creation in standing.local.vault_creations() { + match verifier + .vault_genesis(&creation.vault_id) + .map_err(verifier_error)? + { + VaultGenesis::Accepted(genesis) if genesis.escrow().is_some() => { + out.push(view_of(set, &verifier, &creation.vault_id).await?); + } + // A market vault is `sofi.vaults`'. + VaultGenesis::Accepted(..) => {} + VaultGenesis::NotPublished => { + return Err(refuse( + "a vault this device created has no published genesis", + )) + } + VaultGenesis::OwnerUnresolved(why) => return Err(storage("escrow vault genesis", why)), + VaultGenesis::Refused(why) => { + return Err(refuse(format!("vault genesis refused: {why}"))) + } + } + } + Ok(out) +} 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 4697f595e..ebacfe324 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 @@ -21,6 +21,8 @@ //! pub mod economic_admission_flow; pub mod economic_registers; +/// Escrow vaults (SoFi §19.9): stakes released by a canonical verdict. +pub mod escrow_flow; pub mod faucet_claim_flow; pub mod native_reserve; pub mod runtime_config; 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 index fce838bbf..f2bfc1c1c 100644 --- 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 @@ -44,6 +44,11 @@ pub(crate) enum Realized { Trade, /// The owner's close: both reserves credited. Close, + /// An escrow vault created: its stake locked (SoFi Amendment S21). + EscrowLock, + /// An escrow vault released: its whole stake credited to the recipient + /// of the branch the verdict named (SoFi Amendment S21). + EscrowRelease, } impl Realized { @@ -55,6 +60,8 @@ impl Realized { Self::Setup => "sofi_setup", Self::Trade => "sofi_trade", Self::Close => "sofi_close", + Self::EscrowLock => "escrow_lock", + Self::EscrowRelease => "escrow_release", } } } 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 fdcb38786..3fc7a41f9 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 @@ -871,6 +871,7 @@ pub async fn resolve_pending_position( let what = match facts.preimage().settlement() { SettlementBody::Close { .. } => Realized::Close, SettlementBody::Swap { .. } => Realized::Trade, + SettlementBody::Release { .. } => Realized::EscrowRelease, }; let mut moved = Vec::new(); for change in trader_balance_changes(&precommit, facts.preimage(), facts.evidence()) 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 2317480d6..b44e0caf0 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 @@ -27,8 +27,8 @@ use dsm::sofi::resolution::{VaultChain, WalkOutcome}; use dsm::sofi::resolve::{AcceptedGeneses, Acquired, LocalLeaves, VaultGenesis, Verifier, WALK_BUDGET}; use dsm::sofi::storage::Discovered; use dsm::sofi::validation::{ - close_vault_post, movement_shape, route_endpoints, swap_vault_post, Evidence, EvidenceNeeds, - HopMovement, Policies, RouteShape, + movement_shape, retire_vault_post, route_endpoints, swap_vault_post, Evidence, EvidenceNeeds, + HopMovement, Policies, RouteShape, VaultTerms, }; use dsm::sofi::wire::{ next_attempt, next_position, CoreEntry, DlvCore, SwapHop, TraderCore, VaultGenesisPreimage, @@ -63,7 +63,7 @@ use crate::storage::client_db::{economic_lineage, sofi_vault_head}; type D32 = [u8; 32]; /// The signature algorithm of every SoFi object this device signs: its AK. -const SIGNATURE_ALG: u16 = dsm::ccb::genesis::sigalg::SPHINCS_PLUS_SPX256F; +pub(crate) const SIGNATURE_ALG: u16 = dsm::ccb::genesis::sigalg::SPHINCS_PLUS_SPX256F; /// How many times one route reads its position's resolution before it /// reports `RetriesExhausted`: the network status, not a verdict. @@ -208,23 +208,23 @@ pub struct PositionOutcome { pub state: PositionState, } -fn refuse(what: impl std::fmt::Display) -> DsmError { +pub(crate) fn refuse(what: impl std::fmt::Display) -> DsmError { DsmError::invalid_operation(format!("sofi: {what}")) } -fn storage(what: &str, e: impl std::fmt::Display) -> DsmError { +pub(crate) fn storage(what: &str, e: impl std::fmt::Display) -> DsmError { DsmError::storage(format!("sofi: {what}: {e}"), None::) } /// Sign `message` with this device's AK. -fn sign(message: &[u8]) -> Result, DsmError> { +pub(crate) fn sign(message: &[u8]) -> Result, DsmError> { let secret_key = crate::sdk::signing_authority::current_secret_key()?; dsm::crypto::sphincs::sphincs_sign(&secret_key, message) } /// The published object must be `Stored`, read back from the members, before /// anything is built on it. -fn require_stored(what: &str, published: &Published) -> Result<(), DsmError> { +pub(crate) fn require_stored(what: &str, published: &Published) -> Result<(), DsmError> { if published.stored { Ok(()) } else { @@ -236,7 +236,7 @@ fn require_stored(what: &str, published: &Published) -> Result<(), DsmError> { } /// This device's identity. -fn identity(core: &CoreSDK) -> Result<(D32, D32), DsmError> { +pub(crate) fn identity(core: &CoreSDK) -> Result<(D32, D32), DsmError> { let head = core .device_head() .ok_or_else(|| storage("device head", "none"))?; @@ -489,29 +489,40 @@ async fn setup( // ── §30 Finding the head of a vault ──────────────────────────────────────── /// A vault at its walked head: the root the next hop is built on, the whole -/// tree there, its state, and its policies. -struct VaultAtHead { - vault_id: D32, - root: D32, - state: VaultStateLeaf, - tree: EconomicSmt, - policies: Policies, +/// tree there, its state, and its terms: a market's policies, or an escrow +/// vault's terms (SoFi Amendment S21). +pub(crate) struct VaultAtHead { + pub(crate) vault_id: D32, + pub(crate) root: D32, + pub(crate) state: VaultStateLeaf, + pub(crate) tree: EconomicSmt, + pub(crate) terms: VaultTerms, +} + +impl VaultAtHead { + /// The market's policies; an escrow vault has no market to price by. + fn market(&self) -> Result<&Policies, DsmError> { + match &self.terms { + VaultTerms::Market(policies) => Ok(policies), + VaultTerms::Escrow(..) => Err(refuse("an escrow vault has no market")), + } + } } /// What this device stands on: its identity, its validated predecessor and /// the leaves that form it, and the conditional positions it resolved. -struct Standing { - genesis: D32, - device_id: D32, - validated: ValidatedEconomicRoot, - admitted: AdmittedEconomicPosition, - local: LocalLeaves, - tree: EconomicSmt, - balances: BTreeMap, +pub(crate) struct Standing { + pub(crate) genesis: D32, + pub(crate) device_id: D32, + pub(crate) validated: ValidatedEconomicRoot, + pub(crate) admitted: AdmittedEconomicPosition, + pub(crate) local: LocalLeaves, + pub(crate) tree: EconomicSmt, + pub(crate) balances: BTreeMap, } /// Stage 0 of §31: no pending position, and a resolved predecessor. -fn standing(core: &CoreSDK) -> Result { +pub(crate) fn standing(core: &CoreSDK) -> Result { let head = core .device_head() .ok_or_else(|| storage("device head", "none"))?; @@ -539,9 +550,10 @@ fn standing(core: &CoreSDK) -> Result { }) } -/// The policies `state` commits, fetched by the addresses it names and -/// decoded by Core, which re-addresses each first. -async fn vault_policies(set: &StorageSet, state: &VaultStateLeaf) -> Result { +/// The terms `state` commits — a market's three policies, or an escrow +/// vault's terms — fetched by the addresses it names and decoded by Core, +/// which re-addresses each first. +async fn vault_terms(set: &StorageSet, state: &VaultStateLeaf) -> Result { let mut objects = BTreeMap::new(); for (class, addr) in EvidenceNeeds::policies_of(state) { let bytes = crate::sdk::storage_io::read_stored_bytes(set, &addr) @@ -549,7 +561,7 @@ async fn vault_policies(set: &StorageSet, state: &VaultStateLeaf) -> Result Result>, vault_id: &D32, @@ -606,7 +618,7 @@ fn chains_at_once( } /// `vault_id` at the head of its walked `chain`. -async fn head_of( +pub(crate) async fn head_of( set: &StorageSet, verifier: &Verifier<'_, LiveSofiReads<'_>>, vault_id: &D32, @@ -656,14 +668,14 @@ async fn head_of( "the vault's leaves do not recompute its walked head", )); } - let policies = vault_policies(set, &state).await?; + let terms = vault_terms(set, &state).await?; Ok(( VaultAtHead { vault_id: *vault_id, root, state, tree, - policies, + terms, }, chain, )) @@ -672,7 +684,7 @@ async fn head_of( impl Standing { /// This device as the verifier: its identity and the position it /// resolved itself, over the pinned set. - fn context<'a>( + pub(crate) fn context<'a>( &'a self, set: &'a StorageSet, accepted: &AcceptedGeneses, @@ -686,8 +698,12 @@ impl Standing { } } -/// The other token of a vault's pair, and whether `token_in` is its `a`. -fn other_token(policies: &Policies, token_in: &D32) -> Option<(D32, bool)> { +/// The other token of a vault's pair, and whether `token_in` is its `a`. An +/// escrow vault has no pair, and trades nothing. +fn other_token(terms: &VaultTerms, token_in: &D32) -> Option<(D32, bool)> { + let VaultTerms::Market(policies) = terms else { + return None; + }; let (a, b) = (*policies.market.token_a(), *policies.market.token_b()); if *token_in == a { Some((b, true)) @@ -706,20 +722,18 @@ fn quote( amount_in: u64, index: usize, ) -> Result<(D32, u64), DsmError> { - let (token_out, in_is_a) = other_token(&vault.policies, token_in) + // A vault without a market prices nothing, whatever token is offered. + let fee_bps = vault.market()?.fee.fee_bps(); + let (token_out, in_is_a) = other_token(&vault.terms, token_in) .ok_or_else(|| refuse(format!("hop {index}: 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) }; - let amount_out = constant_product_output_classified( - amount_in, - reserve_in, - reserve_out, - vault.policies.fee.fee_bps(), - ) - .map_err(|e| refuse(format!("hop {index}: {e:?}")))?; + let amount_out = + constant_product_output_classified(amount_in, reserve_in, reserve_out, fee_bps) + .map_err(|e| refuse(format!("hop {index}: {e:?}")))?; Ok((token_out, amount_out)) } @@ -742,7 +756,7 @@ fn price_hop( token_out, amount_out, }; - let post = swap_vault_post(&vault.state, &vault.policies, &hop, index) + let post = swap_vault_post(&vault.state, vault.market()?, &hop, index) .map_err(|refusal| refuse(format!("hop {index}: {refusal:?}")))?; Ok((hop, post)) } @@ -770,19 +784,15 @@ impl Planned { /// 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) + let fee_bps = vault.market()?.fee.fee_bps(); + let (_, in_is_a) = other_token(&vault.terms, 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(), - ) { + match constant_product_output_classified(amount_in, reserve_in, reserve_out, fee_bps) { Ok(out) => Ok(Some(out)), Err(ConstantProductRefusal::OutputZero) => Ok(None), Err(other) => Err(refuse(other.as_str())), @@ -907,8 +917,8 @@ fn plan_chain( 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), + other_token(&one.terms, &token_in), + other_token(&two.terms, &token_in), ) { if a == b { return plan_split(one, two, token_in, a, amount_in)? @@ -1020,7 +1030,9 @@ pub async fn find_route( 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)) + .filter( + |vault| matches!(other_token(&vault.terms, &token_in), Some((t, ..)) if t == token_out), + ) .collect(); for (i, one) in direct.iter().enumerate() { candidates.push(vec![one]); @@ -1029,7 +1041,7 @@ pub async fn find_route( } } for first in firsts.iter().filter_map(|id| heads.get(id)) { - let Some((middle, ..)) = other_token(&first.policies, &token_in) else { + let Some((middle, ..)) = other_token(&first.terms, &token_in) else { continue; }; if middle == token_out { @@ -1037,7 +1049,7 @@ pub async fn find_route( } 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) + && matches!(other_token(&second.terms, &middle), Some((t, ..)) if t == token_out) { candidates.push(vec![first, second]); } @@ -1105,13 +1117,17 @@ pub async fn owned_vaults(core: &CoreSDK, set: &StorageSet) -> Result Result>, vault_id: &D32, @@ -1346,7 +1362,7 @@ async fn chain_past_withheld_pairs( /// `V°` of one vault: its state mutation to `post_state`, and this trader's /// relationship advancement from `base`, against the vault's tree at its head. -fn vault_core( +pub(crate) fn vault_core( standing: &Standing, vault: &VaultAtHead, post_state: &VaultStateLeaf, @@ -1397,7 +1413,7 @@ fn balance_value(policy_commit: &D32, amount: u64) -> Result { /// `T°`: each named balance movement `(token, credit, debit)` and one /// relationship advancement per vault, against this device's own tree. -fn trader_core( +pub(crate) fn trader_core( standing: &Standing, movements: &[(D32, u64, u64)], vaults: &[(D32, D32)], @@ -1444,7 +1460,7 @@ fn trader_core( /// The relationship leaf this device holds with `vault_id`: the base its /// advancement starts from. -fn relationship_base(standing: &Standing, vault_id: &D32) -> Result { +pub(crate) fn relationship_base(standing: &Standing, vault_id: &D32) -> Result { standing .local .relationship(vault_id) @@ -1453,7 +1469,7 @@ fn relationship_base(standing: &Standing, vault_id: &D32) -> Result( +pub(crate) fn context<'a>( standing: &Standing, set: &StorageSet, public_key: &'a [u8], @@ -1520,7 +1536,7 @@ async fn settle( /// Stages 3 to 10 of §31 for a draft: validate over acquired evidence, sign /// and publish, fulfill through the Core transition, complete, resolve. -async fn exercise_draft( +pub(crate) async fn exercise_draft( core: &CoreSDK, set: &StorageSet, standing: &Standing, @@ -1828,12 +1844,10 @@ pub async fn close( .await?; let base = relationship_base(&standing, &intent.vault_id)?; let retired = - close_vault_post(&vault.state).map_err(|refusal| refuse(format!("{refusal:?}")))?; + retire_vault_post(&vault.state).map_err(|refusal| refuse(format!("{refusal:?}")))?; let dlv = vault_core(&standing, &vault, &retired, base)?; - let (token_a, token_b) = ( - *vault.policies.market.token_a(), - *vault.policies.market.token_b(), - ); + let policies = vault.market()?; + let (token_a, token_b) = (*policies.market.token_a(), *policies.market.token_b()); let head = core .device_head() .ok_or_else(|| storage("device head", "none"))?; 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 5253bb921..3bb8bbade 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 @@ -15,7 +15,7 @@ use dsm::ccb::StorageSetMembers; 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::crypto::domain::TaggedHashDomain; -use dsm::economic::peer_lineage::{peer_root_at, PeerEvidenceFetcher}; +use dsm::economic::peer_lineage::{peer_claim_at, peer_root_at, PeerEvidenceFetcher}; use dsm::economic::provenance::{PeerLineageFailure, ReserveReleaseWin, ValidatedPeerTransition}; use dsm::economic::register::{read_root_cell, RootCell}; use dsm::route_chain::{CellEvidence, CellReading, ChainState, CompletionProof, RoutedCell}; @@ -429,6 +429,25 @@ impl SofiReads for LiveSofiReads<'_> { ) } + fn escrow_cell_candidates(&self, verdict_cell: &D32) -> Result, ReadFailure> { + let locator = dsm::sofi::escrow::cell_locator(verdict_cell); + self.read( + "escrow cell candidates", + resolve_locator_all( + self.set, + dsm::common::domain_tags::TAG_DSM_ESCROW_CELL_LOCATOR.source_bytes(), + &locator, + LOCATOR_BUDGET, + // Every genesis preimage under the locator is a candidate; + // Core accepts it and checks its terms derive the cell (SoFi + // Amendment S21). + |bytes| { + recognize_genesis(bytes).map(|(preimage, ..)| (locator, preimage.vault_id())) + }, + ), + ) + } + fn vault_owner( &self, genesis: &D32, @@ -494,11 +513,26 @@ impl SofiReads for LiveSofiReads<'_> { if self.own != Some((*genesis, *device_id)) { // Another trader's position: the claim frontier-relative // verification of its lineage accepted there (SoFi Amendment - // S15, MR-SOFI-0347), or the walk's failure in the class it gave - // it. - return self - .peer_walk(genesis, device_id, position) - .map(|transition| *transition.accepted_claim()); + // S15, MR-SOFI-0347) — a SoFi position's by its resolution, since + // a setup made right after one names that claim — or the walk's + // failure in the class it gave it. + 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, + }; + return peer_claim_at( + &self.peer_resolver(), + &self.network, + genesis, + device_id, + position, + &StoredFrontiers, + &conditional, + ); } let admitted = economic_lineage::get_admitted_at(position) .map_err(|e| PeerLineageFailure::Incomplete(format!("admitted history: {e}")))? 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 4ff07e53d..a132ce93c 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 @@ -440,6 +440,43 @@ pub fn build_vault_create( }) } +/// An escrow vault's creation (SoFi Amendment S21): the stake of the terms' +/// token, the creation record, and the exact terms bytes all three of the +/// genesis state's slots name, carried so Core re-addresses and decodes them +/// itself. Terms the slots do not name are refused before the owner signs. +pub fn build_escrow_vault_create( + preimage: &VaultGenesisPreimage, + terms: &dsm::sofi::wire::EscrowTerms, +) -> Result { + let addr = dsm::sofi::escrow::terms_address(terms); + let state = &preimage.state; + if state.market_policy != addr || state.fee_policy != addr || state.release_policy != addr { + return Err(BuildError::Wire(SofiWireError::EscrowTermsNotCommitted)); + } + let vault_id = preimage.vault_id(); + // The stake is the genesis reserve, not a second argument that could + // disagree with it. + let creation = VaultCreation { + vault_id, + genesis_root: dsm::sofi::lineage::genesis_root(&vault_id, state)?, + amount_a: state.reserve_a, + amount_b: state.reserve_b, + }; + let operation = Operation::EscrowVaultCreate { + genesis_preimage: preimage.encode()?, + creation: creation.encode(), + terms: terms.encode(), + signature: Vec::new(), + }; + Ok(Produced { + // Like a market's creation, it has no object digest of its own and + // signs the operation. + signs: SigningPayload::OperationBytes(operation.signing_bytes()), + operation, + publish: Vec::new(), + }) +} + /// Everything a draft needs that is not the settlement itself. #[derive(Debug, Clone)] pub struct TraderContext<'a> { @@ -621,6 +658,49 @@ pub fn draft_close( ) } +/// What a release names (SoFi Amendment S21): the escrow vault at its head, +/// this device's setup with it, the verdict cell its terms derive, the +/// outcome the cell's verdict names, and the whole stake. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct ReleaseNames { + pub vault_id: D32, + pub parent_root: D32, + pub setup_ref: D32, + pub verdict_cell: D32, + pub outcome: Vec, + pub amount: u64, +} + +/// A release of an escrow vault's whole stake to the branch's recipient, this +/// device (SoFi Amendment S21): a one-hop route whose `V°` retires the vault. +pub fn draft_release( + names: ReleaseNames, + core: DlvCore, + ctx: &TraderContext<'_>, + local: &LocalLeaves, +) -> Result { + let pre_balances = local + .pre_balances(&ctx.trader_core) + .map_err(|why| BuildError::LocalLeaves(why.to_string()))?; + let leg = PrecommitLeg { + vault_id: names.vault_id, + parent_root: names.parent_root, + setup_ref: names.setup_ref, + }; + let settlement = SettlementBody::Release { + vault_id: names.vault_id, + parent_root: names.parent_root, + setup_ref: names.setup_ref, + verdict_cell: names.verdict_cell, + outcome: names.outcome, + amount: names.amount, + trader_core: derive::trader_core_digest(&ctx.trader_core.encode()?), + dlv_core: derive::dlv_core_digest(&core.encode()?), + closure: pre_e_closure(ctx, &pre_balances)?, + }; + draft(settlement, ctx, vec![core], vec![leg], pre_balances) +} + /// Stage two: the exercise, against a `P` the trader has already signed. /// /// `attempts` is chosen HERE, at exercise time, against then-live keys — that diff --git a/dsm_client/frontend/src/components/screens/wallet/helpers.ts b/dsm_client/frontend/src/components/screens/wallet/helpers.ts index 5af7d6071..863dc24fb 100644 --- a/dsm_client/frontend/src/components/screens/wallet/helpers.ts +++ b/dsm_client/frontend/src/components/screens/wallet/helpers.ts @@ -15,6 +15,8 @@ export function txTypeLabel(txType: DomainTxType): string { case 'sofi_setup': return 'SETUP'; case 'sofi_trade': return 'TRADE'; case 'sofi_close': return 'CLOSE'; + case 'escrow_lock': return 'LOCK'; + case 'escrow_release': return 'RELEASE'; } } @@ -31,6 +33,8 @@ export function txTypeDetail(txType: DomainTxType): string { case 'sofi_setup': return 'Set up with a liquidity vault'; case 'sofi_trade': return 'Trade'; case 'sofi_close': return 'Liquidity vault closed'; + case 'escrow_lock': return 'Stake locked in an escrow vault'; + case 'escrow_release': return 'Escrow vault released'; } } diff --git a/dsm_client/frontend/src/domain/mappers.ts b/dsm_client/frontend/src/domain/mappers.ts index c9f9bab6c..3ccab6c5f 100644 --- a/dsm_client/frontend/src/domain/mappers.ts +++ b/dsm_client/frontend/src/domain/mappers.ts @@ -96,6 +96,8 @@ const TX_TYPES: Record = { [TransactionType.TX_TYPE_SOFI_SETUP]: 'sofi_setup', [TransactionType.TX_TYPE_SOFI_TRADE]: 'sofi_trade', [TransactionType.TX_TYPE_SOFI_CLOSE]: 'sofi_close', + [TransactionType.TX_TYPE_ESCROW_LOCK]: 'escrow_lock', + [TransactionType.TX_TYPE_ESCROW_RELEASE]: 'escrow_release', }; /** The token and SoFi events: rows that name every token they moved. */ @@ -105,6 +107,8 @@ const EVENT_TYPES: ReadonlySet = new Set([ 'sofi_setup', 'sofi_trade', 'sofi_close', + 'escrow_lock', + 'escrow_release', ]); function txBytes32(t: TransactionInfo, field: string, bytes: Uint8Array): string { diff --git a/dsm_client/frontend/src/domain/types.ts b/dsm_client/frontend/src/domain/types.ts index b98fd3952..c820ebcbc 100644 --- a/dsm_client/frontend/src/domain/types.ts +++ b/dsm_client/frontend/src/domain/types.ts @@ -50,7 +50,9 @@ export type DomainTxType = | 'vault_create' | 'sofi_setup' | 'sofi_trade' - | 'sofi_close'; + | 'sofi_close' + | 'escrow_lock' + | 'escrow_release'; /** One token a token or SoFi event moved, as Rust reported it. */ export type DomainTokenMove = { diff --git a/dsm_client/frontend/src/proto/dsm_app_pb.ts b/dsm_client/frontend/src/proto/dsm_app_pb.ts index f8b97257b..e0482a176 100644 --- a/dsm_client/frontend/src/proto/dsm_app_pb.ts +++ b/dsm_client/frontend/src/proto/dsm_app_pb.ts @@ -158,6 +158,22 @@ export enum TransactionType { * @generated from enum value: TX_TYPE_SOFI_CLOSE = 11; */ TX_TYPE_SOFI_CLOSE = 11, + + /** + * Escrow vaults (SoFi Amendment S21). + * + * an escrow vault created; its stake locked + * + * @generated from enum value: TX_TYPE_ESCROW_LOCK = 12; + */ + TX_TYPE_ESCROW_LOCK = 12, + + /** + * an escrow vault released; its stake credited to the branch's recipient + * + * @generated from enum value: TX_TYPE_ESCROW_RELEASE = 13; + */ + TX_TYPE_ESCROW_RELEASE = 13, } // Retrieve enum metadata with: proto3.getEnumType(TransactionType) proto3.util.setEnumType(TransactionType, "dsm.TransactionType", [ @@ -172,6 +188,8 @@ proto3.util.setEnumType(TransactionType, "dsm.TransactionType", [ { no: 9, name: "TX_TYPE_SOFI_SETUP" }, { no: 10, name: "TX_TYPE_SOFI_TRADE" }, { no: 11, name: "TX_TYPE_SOFI_CLOSE" }, + { no: 12, name: "TX_TYPE_ESCROW_LOCK" }, + { no: 13, name: "TX_TYPE_ESCROW_RELEASE" }, ]); /** @@ -934,6 +952,52 @@ proto3.util.setEnumType(SofiPositionState, "dsm.SofiPositionState", [ { no: 4, name: "SOFI_POSITION_STATE_RETRIES_EXHAUSTED" }, ]); +/** + * @generated from enum dsm.EscrowVerdictState + */ +export enum EscrowVerdictState { + /** + * @generated from enum value: ESCROW_VERDICT_STATE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * no verdict holds the cell yet + * + * @generated from enum value: ESCROW_VERDICT_STATE_NONE = 1; + */ + NONE = 1, + + /** + * the leader holds it; not final yet + * + * @generated from enum value: ESCROW_VERDICT_STATE_LEADER_HELD = 2; + */ + LEADER_HELD = 2, + + /** + * the next seat holds it too; not final yet + * + * @generated from enum value: ESCROW_VERDICT_STATE_PRESERVED = 3; + */ + PRESERVED = 3, + + /** + * it is the cell's verdict + * + * @generated from enum value: ESCROW_VERDICT_STATE_FINAL = 4; + */ + FINAL = 4, +} +// Retrieve enum metadata with: proto3.getEnumType(EscrowVerdictState) +proto3.util.setEnumType(EscrowVerdictState, "dsm.EscrowVerdictState", [ + { no: 0, name: "ESCROW_VERDICT_STATE_UNSPECIFIED" }, + { no: 1, name: "ESCROW_VERDICT_STATE_NONE" }, + { no: 2, name: "ESCROW_VERDICT_STATE_LEADER_HELD" }, + { no: 3, name: "ESCROW_VERDICT_STATE_PRESERVED" }, + { no: 4, name: "ESCROW_VERDICT_STATE_FINAL" }, +]); + /** * Canonical value-capability (R4 anti-shrink) — the ONLY representation; there is no * legacy bool. UNSPECIFIED(0) is invalid and MUST be rejected on decode (never read as @@ -17772,6 +17836,38 @@ export class Envelope extends Message { */ value: ConnectReplyV1; case: "connectReply"; + } | { + /** + * Escrow vaults (SoFi §19.9, Amendment S21), local-only like SoFi's. + * + * @generated from field: dsm.EscrowPartyResponse escrow_party_response = 129; + */ + value: EscrowPartyResponse; + case: "escrowPartyResponse"; + } | { + /** + * @generated from field: dsm.EscrowCreatedResponse escrow_created_response = 130; + */ + value: EscrowCreatedResponse; + case: "escrowCreatedResponse"; + } | { + /** + * @generated from field: dsm.EscrowSignedResponse escrow_signed_response = 131; + */ + value: EscrowSignedResponse; + case: "escrowSignedResponse"; + } | { + /** + * @generated from field: dsm.EscrowVerdictResponse escrow_verdict_response = 132; + */ + value: EscrowVerdictResponse; + case: "escrowVerdictResponse"; + } | { + /** + * @generated from field: dsm.EscrowVaultsResponse escrow_vaults_response = 133; + */ + value: EscrowVaultsResponse; + case: "escrowVaultsResponse"; } | { /** * Reply to `token.forget`. @@ -17896,6 +17992,11 @@ export class Envelope extends Message { { no: 126, name: "sofi_vaults_response", kind: "message", T: SofiVaultsResponse, oneof: "payload" }, { no: 127, name: "wallet_amount_response", kind: "message", T: WalletAmountResponse, oneof: "payload" }, { no: 128, name: "connect_reply", kind: "message", T: ConnectReplyV1, oneof: "payload" }, + { no: 129, name: "escrow_party_response", kind: "message", T: EscrowPartyResponse, oneof: "payload" }, + { no: 130, name: "escrow_created_response", kind: "message", T: EscrowCreatedResponse, oneof: "payload" }, + { no: 131, name: "escrow_signed_response", kind: "message", T: EscrowSignedResponse, oneof: "payload" }, + { no: 132, name: "escrow_verdict_response", kind: "message", T: EscrowVerdictResponse, oneof: "payload" }, + { no: 133, name: "escrow_vaults_response", kind: "message", T: EscrowVaultsResponse, 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" }, ]); @@ -18958,6 +19059,779 @@ export class SofiRelayResponse extends Message { } } +/** + * A signing key an outcome is decided by. + * + * @generated from message dsm.EscrowSignerV1 + */ +export class EscrowSignerV1 extends Message { + /** + * a declared signature algorithm (ccb::genesis::sigalg) + * + * @generated from field: uint32 signature_alg = 1; + */ + signatureAlg = 0; + + /** + * @generated from field: bytes public_key = 2; + */ + publicKey = new Uint8Array(0); + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "dsm.EscrowSignerV1"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "signature_alg", kind: "scalar", T: 13 /* ScalarType.UINT32 */ }, + { no: 2, name: "public_key", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): EscrowSignerV1 { + return new EscrowSignerV1().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): EscrowSignerV1 { + return new EscrowSignerV1().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): EscrowSignerV1 { + return new EscrowSignerV1().fromJsonString(jsonString, options); + } + + static equals(a: EscrowSignerV1 | PlainMessage | undefined, b: EscrowSignerV1 | PlainMessage | undefined): boolean { + return proto3.util.equals(EscrowSignerV1, a, b); + } +} + +/** + * One branch: an outcome, the keys whose signatures decide it, and the + * identity its release pays. + * + * @generated from message dsm.EscrowBranchV1 + */ +export class EscrowBranchV1 extends Message { + /** + * 1..64 bytes + * + * @generated from field: bytes outcome = 1; + */ + outcome = new Uint8Array(0); + + /** + * 1..4, ascending by alg ‖ |key| ‖ key + * + * @generated from field: repeated dsm.EscrowSignerV1 signers = 2; + */ + signers: EscrowSignerV1[] = []; + + /** + * @generated from field: bytes recipient_genesis = 3; + */ + recipientGenesis = new Uint8Array(0); + + /** + * @generated from field: bytes recipient_device_id = 4; + */ + recipientDeviceId = new Uint8Array(0); + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "dsm.EscrowBranchV1"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "outcome", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 2, name: "signers", kind: "message", T: EscrowSignerV1, repeated: true }, + { no: 3, name: "recipient_genesis", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 4, name: "recipient_device_id", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): EscrowBranchV1 { + return new EscrowBranchV1().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): EscrowBranchV1 { + return new EscrowBranchV1().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): EscrowBranchV1 { + return new EscrowBranchV1().fromJsonString(jsonString, options); + } + + static equals(a: EscrowBranchV1 | PlainMessage | undefined, b: EscrowBranchV1 | PlainMessage | undefined): boolean { + return proto3.util.equals(EscrowBranchV1, a, b); + } +} + +/** + * escrow.party: this device as an escrow party, for naming in terms. + * + * @generated from message dsm.EscrowPartyRequest + */ +export class EscrowPartyRequest extends Message { + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "dsm.EscrowPartyRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): EscrowPartyRequest { + return new EscrowPartyRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): EscrowPartyRequest { + return new EscrowPartyRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): EscrowPartyRequest { + return new EscrowPartyRequest().fromJsonString(jsonString, options); + } + + static equals(a: EscrowPartyRequest | PlainMessage | undefined, b: EscrowPartyRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(EscrowPartyRequest, a, b); + } +} + +/** + * @generated from message dsm.EscrowPartyResponse + */ +export class EscrowPartyResponse extends Message { + /** + * @generated from field: bytes genesis = 1; + */ + genesis = new Uint8Array(0); + + /** + * @generated from field: bytes device_id = 2; + */ + deviceId = new Uint8Array(0); + + /** + * @generated from field: dsm.EscrowSignerV1 signer = 3; + */ + signer?: EscrowSignerV1; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "dsm.EscrowPartyResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "genesis", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 2, name: "device_id", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 3, name: "signer", kind: "message", T: EscrowSignerV1 }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): EscrowPartyResponse { + return new EscrowPartyResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): EscrowPartyResponse { + return new EscrowPartyResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): EscrowPartyResponse { + return new EscrowPartyResponse().fromJsonString(jsonString, options); + } + + static equals(a: EscrowPartyResponse | PlainMessage | undefined, b: EscrowPartyResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(EscrowPartyResponse, a, b); + } +} + +/** + * escrow.create: lock a stake. The vault commits Y = H(DSM/external/v1 ‖ X); + * DSM never reads X. With a counterpart vault, the stake is locked only once + * that vault is accepted, Active and bound to the same verdict cell. + * + * @generated from message dsm.EscrowCreateRequest + */ +export class EscrowCreateRequest extends Message { + /** + * X, the bytes the parties agreed on + * + * @generated from field: bytes external = 1; + */ + external = new Uint8Array(0); + + /** + * @generated from field: bytes token_policy_commit = 2; + */ + tokenPolicyCommit = new Uint8Array(0); + + /** + * token units, > 0 + * + * @generated from field: string amount_entered = 3; + */ + amountEntered = ""; + + /** + * 1..16, ascending by outcome + * + * @generated from field: repeated dsm.EscrowBranchV1 branches = 4; + */ + branches: EscrowBranchV1[] = []; + + /** + * empty, or 32 bytes + * + * @generated from field: bytes counterpart_vault_id = 5; + */ + counterpartVaultId = new Uint8Array(0); + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "dsm.EscrowCreateRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "external", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 2, name: "token_policy_commit", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 3, name: "amount_entered", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 4, name: "branches", kind: "message", T: EscrowBranchV1, repeated: true }, + { no: 5, name: "counterpart_vault_id", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): EscrowCreateRequest { + return new EscrowCreateRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): EscrowCreateRequest { + return new EscrowCreateRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): EscrowCreateRequest { + return new EscrowCreateRequest().fromJsonString(jsonString, options); + } + + static equals(a: EscrowCreateRequest | PlainMessage | undefined, b: EscrowCreateRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(EscrowCreateRequest, a, b); + } +} + +/** + * @generated from message dsm.EscrowCreatedResponse + */ +export class EscrowCreatedResponse extends Message { + /** + * @generated from field: bytes vault_id = 1; + */ + vaultId = new Uint8Array(0); + + /** + * K_verdict + * + * @generated from field: bytes verdict_cell = 2; + */ + verdictCell = new Uint8Array(0); + + /** + * Y + * + * @generated from field: bytes external_commitment = 3; + */ + externalCommitment = new Uint8Array(0); + + /** + * the owner's economic position that carries the creation + * + * @generated from field: uint64 position = 4; + */ + position = protoInt64.zero; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "dsm.EscrowCreatedResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "vault_id", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 2, name: "verdict_cell", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 3, name: "external_commitment", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 4, name: "position", kind: "scalar", T: 4 /* ScalarType.UINT64 */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): EscrowCreatedResponse { + return new EscrowCreatedResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): EscrowCreatedResponse { + return new EscrowCreatedResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): EscrowCreatedResponse { + return new EscrowCreatedResponse().fromJsonString(jsonString, options); + } + + static equals(a: EscrowCreatedResponse | PlainMessage | undefined, b: EscrowCreatedResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(EscrowCreatedResponse, a, b); + } +} + +/** + * escrow.sign and escrow.adjudicate: an outcome of an escrow vault's terms. + * escrow.sign puts this device's signature for it where the outcome's other + * signers find it; escrow.adjudicate assembles the verdict, writes it to the + * verdict cell and answers what the cell holds. + * + * @generated from message dsm.EscrowOutcomeRequest + */ +export class EscrowOutcomeRequest extends Message { + /** + * @generated from field: bytes vault_id = 1; + */ + vaultId = new Uint8Array(0); + + /** + * @generated from field: bytes outcome = 2; + */ + outcome = new Uint8Array(0); + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "dsm.EscrowOutcomeRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "vault_id", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 2, name: "outcome", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): EscrowOutcomeRequest { + return new EscrowOutcomeRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): EscrowOutcomeRequest { + return new EscrowOutcomeRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): EscrowOutcomeRequest { + return new EscrowOutcomeRequest().fromJsonString(jsonString, options); + } + + static equals(a: EscrowOutcomeRequest | PlainMessage | undefined, b: EscrowOutcomeRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(EscrowOutcomeRequest, a, b); + } +} + +/** + * @generated from message dsm.EscrowSignedResponse + */ +export class EscrowSignedResponse extends Message { + /** + * @generated from field: bytes verdict_cell = 1; + */ + verdictCell = new Uint8Array(0); + + /** + * the address of the object holding the signature + * + * @generated from field: bytes gathered = 2; + */ + gathered = new Uint8Array(0); + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "dsm.EscrowSignedResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "verdict_cell", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 2, name: "gathered", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): EscrowSignedResponse { + return new EscrowSignedResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): EscrowSignedResponse { + return new EscrowSignedResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): EscrowSignedResponse { + return new EscrowSignedResponse().fromJsonString(jsonString, options); + } + + static equals(a: EscrowSignedResponse | PlainMessage | undefined, b: EscrowSignedResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(EscrowSignedResponse, a, b); + } +} + +/** + * escrow.verdict: what the verdict cell of an escrow vault holds. + * + * @generated from message dsm.EscrowVerdictRequest + */ +export class EscrowVerdictRequest 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.EscrowVerdictRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "vault_id", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): EscrowVerdictRequest { + return new EscrowVerdictRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): EscrowVerdictRequest { + return new EscrowVerdictRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): EscrowVerdictRequest { + return new EscrowVerdictRequest().fromJsonString(jsonString, options); + } + + static equals(a: EscrowVerdictRequest | PlainMessage | undefined, b: EscrowVerdictRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(EscrowVerdictRequest, a, b); + } +} + +/** + * @generated from message dsm.EscrowVerdictResponse + */ +export class EscrowVerdictResponse extends Message { + /** + * @generated from field: bytes verdict_cell = 1; + */ + verdictCell = new Uint8Array(0); + + /** + * @generated from field: dsm.EscrowVerdictState state = 2; + */ + state = EscrowVerdictState.UNSPECIFIED; + + /** + * empty with no verdict + * + * @generated from field: bytes outcome = 3; + */ + outcome = new Uint8Array(0); + + /** + * Why each value the leader holds ahead of the verdict counts as nothing. + * + * @generated from field: repeated string passed_over = 4; + */ + passedOver: string[] = []; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "dsm.EscrowVerdictResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "verdict_cell", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 2, name: "state", kind: "enum", T: proto3.getEnumType(EscrowVerdictState) }, + { no: 3, name: "outcome", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 4, name: "passed_over", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): EscrowVerdictResponse { + return new EscrowVerdictResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): EscrowVerdictResponse { + return new EscrowVerdictResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): EscrowVerdictResponse { + return new EscrowVerdictResponse().fromJsonString(jsonString, options); + } + + static equals(a: EscrowVerdictResponse | PlainMessage | undefined, b: EscrowVerdictResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(EscrowVerdictResponse, a, b); + } +} + +/** + * escrow.release: the whole stake to this device, once the cell's verdict is + * final on a branch that pays it. Answered by SofiPositionResponse. + * + * @generated from message dsm.EscrowReleaseRequest + */ +export class EscrowReleaseRequest 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.EscrowReleaseRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "vault_id", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): EscrowReleaseRequest { + return new EscrowReleaseRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): EscrowReleaseRequest { + return new EscrowReleaseRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): EscrowReleaseRequest { + return new EscrowReleaseRequest().fromJsonString(jsonString, options); + } + + static equals(a: EscrowReleaseRequest | PlainMessage | undefined, b: EscrowReleaseRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(EscrowReleaseRequest, a, b); + } +} + +/** + * escrow.locked: the escrow vaults bound to a verdict cell. escrow.vaults: the + * escrow vaults this device created. Each at its walked head. + * + * @generated from message dsm.EscrowLockedRequest + */ +export class EscrowLockedRequest extends Message { + /** + * @generated from field: bytes verdict_cell = 1; + */ + verdictCell = new Uint8Array(0); + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "dsm.EscrowLockedRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "verdict_cell", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): EscrowLockedRequest { + return new EscrowLockedRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): EscrowLockedRequest { + return new EscrowLockedRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): EscrowLockedRequest { + return new EscrowLockedRequest().fromJsonString(jsonString, options); + } + + static equals(a: EscrowLockedRequest | PlainMessage | undefined, b: EscrowLockedRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(EscrowLockedRequest, a, b); + } +} + +/** + * @generated from message dsm.EscrowVaultsRequest + */ +export class EscrowVaultsRequest extends Message { + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "dsm.EscrowVaultsRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): EscrowVaultsRequest { + return new EscrowVaultsRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): EscrowVaultsRequest { + return new EscrowVaultsRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): EscrowVaultsRequest { + return new EscrowVaultsRequest().fromJsonString(jsonString, options); + } + + static equals(a: EscrowVaultsRequest | PlainMessage | undefined, b: EscrowVaultsRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(EscrowVaultsRequest, a, b); + } +} + +/** + * @generated from message dsm.EscrowVaultV1 + */ +export class EscrowVaultV1 extends Message { + /** + * @generated from field: bytes vault_id = 1; + */ + vaultId = new Uint8Array(0); + + /** + * @generated from field: bytes owner_genesis = 2; + */ + ownerGenesis = new Uint8Array(0); + + /** + * @generated from field: bytes owner_device_id = 3; + */ + ownerDeviceId = new Uint8Array(0); + + /** + * @generated from field: bytes verdict_cell = 4; + */ + verdictCell = new Uint8Array(0); + + /** + * @generated from field: bytes external_commitment = 5; + */ + externalCommitment = new Uint8Array(0); + + /** + * @generated from field: bytes token_policy_commit = 6; + */ + tokenPolicyCommit = new Uint8Array(0); + + /** + * @generated from field: string token_symbol = 7; + */ + tokenSymbol = ""; + + /** + * base units: the stake while Active, 0 once released + * + * @generated from field: uint64 amount = 8; + */ + amount = protoInt64.zero; + + /** + * @generated from field: string amount_display = 9; + */ + amountDisplay = ""; + + /** + * @generated from field: uint64 generation = 10; + */ + generation = protoInt64.zero; + + /** + * RETIRED once released + * + * @generated from field: dsm.SofiVaultStatus status = 11; + */ + status = SofiVaultStatus.UNSPECIFIED; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "dsm.EscrowVaultV1"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "vault_id", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 2, name: "owner_genesis", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 3, name: "owner_device_id", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 4, name: "verdict_cell", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 5, name: "external_commitment", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 6, name: "token_policy_commit", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, + { no: 7, name: "token_symbol", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 8, name: "amount", kind: "scalar", T: 4 /* ScalarType.UINT64 */ }, + { no: 9, name: "amount_display", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 10, name: "generation", kind: "scalar", T: 4 /* ScalarType.UINT64 */ }, + { no: 11, name: "status", kind: "enum", T: proto3.getEnumType(SofiVaultStatus) }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): EscrowVaultV1 { + return new EscrowVaultV1().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): EscrowVaultV1 { + return new EscrowVaultV1().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): EscrowVaultV1 { + return new EscrowVaultV1().fromJsonString(jsonString, options); + } + + static equals(a: EscrowVaultV1 | PlainMessage | undefined, b: EscrowVaultV1 | PlainMessage | undefined): boolean { + return proto3.util.equals(EscrowVaultV1, a, b); + } +} + +/** + * @generated from message dsm.EscrowVaultsResponse + */ +export class EscrowVaultsResponse extends Message { + /** + * @generated from field: repeated dsm.EscrowVaultV1 vaults = 1; + */ + vaults: EscrowVaultV1[] = []; + + /** + * escrow.vaults is always COMPLETE + * + * @generated from field: dsm.SofiSearch search = 2; + */ + search = SofiSearch.UNSPECIFIED; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "dsm.EscrowVaultsResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "vaults", kind: "message", T: EscrowVaultV1, repeated: true }, + { no: 2, name: "search", kind: "enum", T: proto3.getEnumType(SofiSearch) }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): EscrowVaultsResponse { + return new EscrowVaultsResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): EscrowVaultsResponse { + return new EscrowVaultsResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): EscrowVaultsResponse { + return new EscrowVaultsResponse().fromJsonString(jsonString, options); + } + + static equals(a: EscrowVaultsResponse | PlainMessage | undefined, b: EscrowVaultsResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(EscrowVaultsResponse, a, b); + } +} + /** * @generated from message dsm.ArchitectureInfoProto */ diff --git a/proto/dsm_app.proto b/proto/dsm_app.proto index f22822cf7..0b5a57819 100644 --- a/proto/dsm_app.proto +++ b/proto/dsm_app.proto @@ -83,6 +83,9 @@ enum TransactionType { 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 + // Escrow vaults (SoFi Amendment S21). + TX_TYPE_ESCROW_LOCK = 12; // an escrow vault created; its stake locked + TX_TYPE_ESCROW_RELEASE = 13; // an escrow vault released; its stake credited to the branch's recipient } message EvidenceOracle { @@ -2716,6 +2719,12 @@ message Envelope { WalletAmountResponse wallet_amount_response = 127; // DSM Connect (DSM Amendment A11): every connect.* and connect.app.* reply. ConnectReplyV1 connect_reply = 128; + // Escrow vaults (SoFi §19.9, Amendment S21), local-only like SoFi's. + EscrowPartyResponse escrow_party_response = 129; + EscrowCreatedResponse escrow_created_response = 130; + EscrowSignedResponse escrow_signed_response = 131; + EscrowVerdictResponse escrow_verdict_response = 132; + EscrowVaultsResponse escrow_vaults_response = 133; // Reply to `token.forget`. @@ -2942,6 +2951,116 @@ message SofiRelayResponse { uint32 cells_written = 1; } +// ===================== Escrow vaults (SoFi §19.9, Amendment S21) ===================== +// A stake of one token held in a vault and released whole, once, to the +// recipient of the branch whose outcome the canonical verdict on the vault's +// external commitment names (handlers/escrow_routes.rs). Every vault whose +// terms carry the same commitment and outcome table shares one verdict cell, +// K_verdict; the first verdict at its leader that proves its own authority is +// the only one any of them settles against. An escrow vault has no market and +// no owner close. + +// A signing key an outcome is decided by. +message EscrowSignerV1 { + uint32 signature_alg = 1; // a declared signature algorithm (ccb::genesis::sigalg) + bytes public_key = 2 [(dsm_max_len)=64]; +} +// One branch: an outcome, the keys whose signatures decide it, and the +// identity its release pays. +message EscrowBranchV1 { + bytes outcome = 1 [(dsm_max_len)=64]; // 1..64 bytes + repeated EscrowSignerV1 signers = 2; // 1..4, ascending by alg ‖ |key| ‖ key + bytes recipient_genesis = 3 [(dsm_fixed_len)=32]; + bytes recipient_device_id = 4 [(dsm_fixed_len)=32]; +} + +// escrow.party: this device as an escrow party, for naming in terms. +message EscrowPartyRequest {} +message EscrowPartyResponse { + bytes genesis = 1 [(dsm_fixed_len)=32]; + bytes device_id = 2 [(dsm_fixed_len)=32]; + EscrowSignerV1 signer = 3; +} + +// escrow.create: lock a stake. The vault commits Y = H(DSM/external/v1 ‖ X); +// DSM never reads X. With a counterpart vault, the stake is locked only once +// that vault is accepted, Active and bound to the same verdict cell. +message EscrowCreateRequest { + bytes external = 1; // X, the bytes the parties agreed on + bytes token_policy_commit = 2 [(dsm_fixed_len)=32]; + string amount_entered = 3; // token units, > 0 + repeated EscrowBranchV1 branches = 4; // 1..16, ascending by outcome + bytes counterpart_vault_id = 5; // empty, or 32 bytes +} +message EscrowCreatedResponse { + bytes vault_id = 1 [(dsm_fixed_len)=32]; + bytes verdict_cell = 2 [(dsm_fixed_len)=32]; // K_verdict + bytes external_commitment = 3 [(dsm_fixed_len)=32]; // Y + uint64 position = 4; // the owner's economic position that carries the creation +} + +// escrow.sign and escrow.adjudicate: an outcome of an escrow vault's terms. +// escrow.sign puts this device's signature for it where the outcome's other +// signers find it; escrow.adjudicate assembles the verdict, writes it to the +// verdict cell and answers what the cell holds. +message EscrowOutcomeRequest { + bytes vault_id = 1 [(dsm_fixed_len)=32]; + bytes outcome = 2 [(dsm_max_len)=64]; +} +message EscrowSignedResponse { + bytes verdict_cell = 1 [(dsm_fixed_len)=32]; + bytes gathered = 2 [(dsm_fixed_len)=32]; // the address of the object holding the signature +} + +// escrow.verdict: what the verdict cell of an escrow vault holds. +message EscrowVerdictRequest { + bytes vault_id = 1 [(dsm_fixed_len)=32]; +} +enum EscrowVerdictState { + ESCROW_VERDICT_STATE_UNSPECIFIED = 0; + ESCROW_VERDICT_STATE_NONE = 1; // no verdict holds the cell yet + ESCROW_VERDICT_STATE_LEADER_HELD = 2; // the leader holds it; not final yet + ESCROW_VERDICT_STATE_PRESERVED = 3; // the next seat holds it too; not final yet + ESCROW_VERDICT_STATE_FINAL = 4; // it is the cell's verdict +} +message EscrowVerdictResponse { + bytes verdict_cell = 1 [(dsm_fixed_len)=32]; + EscrowVerdictState state = 2; + bytes outcome = 3 [(dsm_max_len)=64]; // empty with no verdict + // Why each value the leader holds ahead of the verdict counts as nothing. + repeated string passed_over = 4; +} + +// escrow.release: the whole stake to this device, once the cell's verdict is +// final on a branch that pays it. Answered by SofiPositionResponse. +message EscrowReleaseRequest { + bytes vault_id = 1 [(dsm_fixed_len)=32]; +} + +// escrow.locked: the escrow vaults bound to a verdict cell. escrow.vaults: the +// escrow vaults this device created. Each at its walked head. +message EscrowLockedRequest { + bytes verdict_cell = 1 [(dsm_fixed_len)=32]; +} +message EscrowVaultsRequest {} +message EscrowVaultV1 { + bytes vault_id = 1 [(dsm_fixed_len)=32]; + bytes owner_genesis = 2 [(dsm_fixed_len)=32]; + bytes owner_device_id = 3 [(dsm_fixed_len)=32]; + bytes verdict_cell = 4 [(dsm_fixed_len)=32]; + bytes external_commitment = 5 [(dsm_fixed_len)=32]; + bytes token_policy_commit = 6 [(dsm_fixed_len)=32]; + string token_symbol = 7; + uint64 amount = 8; // base units: the stake while Active, 0 once released + string amount_display = 9; + uint64 generation = 10; + SofiVaultStatus status = 11; // RETIRED once released +} +message EscrowVaultsResponse { + repeated EscrowVaultV1 vaults = 1; + SofiSearch search = 2; // escrow.vaults is always COMPLETE +} + // ===================== §16.6 REPLY WINDOW ===================== // Online finalization is driven by the recipient's countersignature, NOT by // storage-node message deletion (which is best-effort GC). The return leg is the diff --git a/specs/SoFi_Settlement_Specification.md b/specs/SoFi_Settlement_Specification.md index 779279424..c30f6585c 100644 --- a/specs/SoFi_Settlement_Specification.md +++ b/specs/SoFi_Settlement_Specification.md @@ -672,6 +672,8 @@ is Unavailable, never Invalid. | `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) | +| `escrow_cell_locator(K)` | the genesis preimage of each escrow vault whose terms derive verdict cell `K` (Amendment S21) | +| `escrow_statement_locator(K, o)` | gathered signatures deciding outcome `o` at verdict cell `K` (Amendment S21) | | ρ | the setup body | | PolicyFulfillmentIdj | Gj | | the auxiliary reference | auxiliary evidence candidates | @@ -781,6 +783,17 @@ TAG_DSM_ECONOMIC_LEAF_STATE DSM/economic-leaf-state/v1 Retired, never reused DSM/sofi/route-outcome/v2 +Escrow vaults (Amendment S21), constants in CORE/common/domain_tags/dsm/misc/escrow.rs +TAG_DSM_EXTERNAL DSM/external/v1 Y = H(DSM/external/v1 ∥ X) (Explainer §60) +TAG_DSM_ESCROW_TERMS_OBJECT DSM/escrow/terms-object/v1 A_T, address of EscrowTerms +TAG_DSM_ESCROW_OUTCOME_TABLE DSM/escrow/outcome-table/v1 τ +TAG_DSM_ESCROW_VERDICT_CELL DSM/escrow/verdict-cell/v1 K_verdict +TAG_DSM_ESCROW_VERDICT_SEED DSM/escrow/verdict-seed/v1 s_verdict, the seed of the verdict cell +TAG_DSM_ESCROW_STATEMENT DSM/escrow/statement/v1 m(o) +TAG_DSM_ESCROW_VERDICT_OBJECT DSM/escrow/verdict-object/v1 address of a gathered EscrowVerdict +TAG_DSM_ESCROW_CELL_LOCATOR DSM/escrow/cell-locator/v1 locator of the escrow vaults bound to K_verdict +TAG_DSM_ESCROW_STATEMENT_LOCATOR DSM/escrow/statement-locator/v1 locator of gathered signatures for (K_verdict, o) + #### 14.2 Object classes @@ -822,6 +835,10 @@ pre 0x005A SOFI_VAULT_GENESIS_PREIMAGE vault genesis preimage 0x005B SOFI_VAULT_CREATION vault creation leaf 0x0061 SOFI_TRADER_PRE_BALANCE a trader's balance before the trade (Amendment S12) +0x0063 ESCROW_TERMS an escrow vault's terms (Amendment S21) +0x0064 ESCROW_VERDICT a verdict on an external commitment (Amendment S21) +0x0065 SOFI_SETTLEMENT_RELEASE B ◦ , Release branch (Amendment S21) +0x0066 SOFI_ROUTE_DIGEST_RELEASE route digest preimage, Release (Amendment S21) @@ -893,6 +910,9 @@ preimage locator H(preimage-locator/v1; E) No attempt index, availability view, routing order, member identity or witness enters E. +The escrow derivations (`A_T`, `τ`, `K_verdict`, `s_verdict`, `m(o)` and the two escrow locators) are defined in §19.9 +(Amendment S21). A Release's E takes the single-leg form above, and its verdict is not an input of E. + ### 16 Setup A trader sets up once per vault before its first operation against that vault. @@ -1342,6 +1362,129 @@ at p is validated. Locator writes are attributed to the owner. GenesisStored is An owner MAY trade against its own vault; no special case applies, and the fee stays in the reserves. + +#### 19.9 Escrow vaults (Amendment S21) + +> **Amendment S21 (owner, 2026-10-04 and 2026-10-05) — escrow vaults: a vault released by the canonical verdict on an external commitment.** An application needed two parties to lock equal stakes against one agreed match, with the application as referee deciding who takes both. Owner rulings, 2026-10-04: "The wager should be expressed by composing existing DSM primitives, not by teaching Core what a “PvP wager” or “battle winner” is", "Do not add wager-specific or battle-specific logic to Core", and "You need to make the generic escrow vaults, and then we just use that, but that's one of the primitives we have. We haven't finished yet." 2026-10-05, on two vaults bound to one commitment: "make the verdict for a given external commitment Y a canonical first-commit-wins object. Both linked escrow vaults must settle against that same canonical verdict. Do not rely only on the app host's persisted compare-and-set to prevent the referee from signing conflicting outcomes. The protocol itself should make one Y have one admissible verdict." + +An escrow vault is Explainer §59's escrow: a DLV with precommitted branches (§58), each guarded by signatures (§59) over a statement about an external commitment (§60). It is built on the vault machinery of this specification: a vault holds the value, one exercise per generation consumes it (§23), and the payout lands in the recipient's own transition (§19.6). Nothing in it knows what an application's commitment means. No rule for a vault whose terms are a market changes. + +**What an escrow vault is** + +- An escrow vault holds one amount of one token. It releases that whole amount once, along one of its precommitted branches, to that branch's recipient, when the canonical verdict on its external commitment names that branch's outcome. It has no market, no owner close and no partial release. +- **The slot rule.** `VaultStateLeaf` is unchanged byte for byte. In an escrow vault, `market_policy`, `fee_policy` and `release_policy` all hold `A_T`, the address of the vault's `EscrowTerms` bytes. `reserve_a` is the held amount and `reserve_b` is 0. The vault is Active while `reserve_a > 0` and `reserve_b = 0`. It is Retired when both are zero, and Retired is terminal, as for every vault. A vault's terms are resolved from the bytes its slots address: three slots naming one object of class `0x0063` make an escrow vault. Any other combination that includes such an object is neither a market nor an escrow, and its genesis is refused. + +**`EscrowTerms`**, class `0x0063`, schema 1. Its address is `A_T = immutable_addr(DSM/escrow/terms-object/v1, CCB bytes)`. + +| Field | Content | +|---|---| +| `token` | digest32: the policy commit of the held token | +| `external_commitment` | digest32: `Y = H(DSM/external/v1 ∥ X)` (Explainer §60). DSM never reads `X`. | +| `branches` | 1 to 16 branches, strictly ascending by `outcome` bytes | + +| Branch field | Content | +|---|---| +| `outcome` | 1 to 64 bytes: the label a verdict names | +| `signers` | 1 to 4 signers, strictly ascending: the exact set whose signatures decide this outcome. A signer is `(signature_alg, public_key)`, ordered by `u16be(alg) ∥ u32be(|key|) ∥ key`. | +| `recipient_genesis`, `recipient_device_id` | digest32 each: the identity the branch pays | + +- A branch is decided by all of its signers. No duplicate signer, no empty set and no threshold can be expressed. Labels are unique, so a verdict names at most one branch. +- The amount is always the whole held amount. Nothing is chosen at release. +- **The outcome table** `O` is the branches with their recipients removed: the list of `(outcome, signers)` in branch order. Its digest is `τ = H(DSM/escrow/outcome-table/v1; u8(|O|) ∥ ⨁ entries)`, each entry `u32be(|o|) ∥ o ∥ u8(|signers|) ∥ ⨁ (u16be(alg) ∥ u32be(|key|) ∥ key)`. The table is the verdict authority: each outcome's signer set. There is no other authority object. Which vaults share a verdict cell is fixed under "Linked vaults", below. + +**The verdict cell: one admissible verdict** + +- **The key.** Every escrow vault whose terms name `Y` and whose table hashes to `τ` is bound to one cell, `K_verdict = H(DSM/escrow/verdict-cell/v1; Y ∥ τ)`. Its leader is `FisherYates(s_verdict, S)[0]` (§7) over the network's pinned set, with `s_verdict = H(DSM/escrow/verdict-seed/v1; K_verdict)`, so a reader that knows only the key finds its leader. The cell is written by the procedure of §8 with route-chain finality (Amendment S4), and anyone may write it (§9). +- **The statement.** A signer decides outcome `o` for the cell by signing `m(o) = H(DSM/escrow/statement/v1; K_verdict ∥ u32be(|o|) ∥ o)`. The statement names the cell, so a signature decides nothing anywhere else: not another commitment, and not another table over the same commitment. It names no vault, so one signature serves every vault bound to the cell. +- **`EscrowVerdict`**, class `0x0064`, schema 1: `external_commitment` (`Y`), `table` (`O`, with the bounds of the terms' branches), `outcome` (1 to 64 bytes), and `signatures`: 1 to 4 entries `(signature_alg, public_key, signature)`, strictly ascending by signer. With four SPHINCS+ signatures it is within a cell's value bound (`route_chain::MAX_VALUE_LEN`). +- **What occupies the cell.** The value that counts at `K_verdict` is the first object at its leader that is an `EscrowVerdict` recognized there. Everything else at the cell counts as nothing. A verdict is recognized at `K` when, from its own bytes alone: + 1. `H(DSM/escrow/verdict-cell/v1; Y ∥ τ(table)) = K`; + 2. `outcome` is a label of `table`; + 3. its signers are exactly the signers `table` assigns to `outcome`; + 4. every signature verifies over `m(outcome)` under its key (SPHINCS+, §14.3). + + The verdict proves its own authority for the cell, as Amendment S20 requires of every occupant. No vault, member or reader's position enters the decision. +- **The facts.** `VerdictHeld(K, o)` holds when the cell's leader link is held by a recognized verdict on `o`, in any state: leader-held, preserved or final. `VerdictFinal(K, o)` holds when that verdict is final at `K` (Amendment S4), shown by a completion proof (Amendment S10). By §8, consequences 2 and 3, the cell holds at most one outcome, ever. A second verdict, even one validly signed by the same signers for another outcome, never becomes the cell's value: conflicting adjudications contend for one deterministic key (Explainer §40, §58), and the first at the leader wins. +- **Why the table is in the key.** If the key were `Y` alone, the first object at the cell would have to be judged against signers the cell does not know. Anyone could occupy it first with a verdict signed under keys of its own choosing, and freeze every stake bound to `Y`. With `τ` in the key, only the agreed signers can occupy it. Parties that link vaults agree on `Y` and on the table. A vault with another table is another agreement, with its own cell, and it never touches theirs. +- **The leader.** The parties agree on `Y` and `τ`. A party that proposes `X` can influence which member leads by its choice of `X`. A member never equivocates (§5.1), so that touches liveness only (§5.3, condition 2), never which verdict is canonical. +- **Gathering signatures.** A branch with more than one signer needs each signer's signature. A signer MAY put an `EscrowVerdict` holding the signatures it has as an object, under `immutable_addr(DSM/escrow/verdict-object/v1, CCB bytes)`, and index it under `escrow_statement_locator(K, o) = H(DSM/escrow/statement-locator/v1; K ∥ u32be(|o|) ∥ o)`. A reader keeps each signature that verifies over `m(o)` under a signer the table assigns to `o`, and nothing else. The index carries no authority (§11). Only a recognized verdict at the cell decides anything. + +**Linked vaults: same commitment, same table, same cell** + +- **One table, one encoding.** The table has exactly one encoding: branches strictly ascending by outcome, each signer set strictly ascending, and every length prefixed. Bytes in any other order do not decode. So parties that agree on the same outcomes, and on the same signer set for each outcome, derive byte-identical tables and the same `τ`. +- **The rule.** Two escrow vaults are linked exactly when their terms name the same `Y` and byte-identical tables. Since the table is the verdict authority, these are also the same authority. Linked vaults have the same `K_verdict`. Conversely, a vault whose `Y` or table differs in any byte is bound to another cell. It is not linked, and a verdict at its cell decides nothing for the others. +- **Linking is derived, never asserted.** Two vaults are linked only when the `K_verdict` derived from each one's accepted terms is the same. A match id, an index entry or an application's word never links them. +- **Checked by whoever relies on it.** + - A party that locks against a counterpart vault creates its own vault only when the counterpart is GenesisAccepted, Active, and derives the same `K_verdict` as the terms it is about to commit (`escrow.create`, below). + - A reader that relies on two vaults being linked, such as an application waiting for both stakes before it starts, checks the same derivation on both. + - Discovery is by cell (`escrow_cell_locator(K)`, under Publication), so a vault bound to another cell is never found among the linked ones. +- **Each genesis stands on its own terms.** Core accepts a vault's genesis without comparing it with any other vault. A creation that named its counterpart would make one vault's acceptance depend on another vault's evidence, and it would protect only the party that can already check before it locks. The party that locks first is protected by what it committed: no verdict at its cell can pay any branch other than its own table's, decided by any signers other than its own table's. + +**Creation** + +- `EscrowVaultCreate`, variant 38 of `Operation`, carries the vault genesis preimage, the `VaultCreation` leaf and the exact `EscrowTerms` bytes, signed by the owner, as `SofiVaultCreate` carries its market policy (§28). The owner's transition debits the held amount of `terms.token` once and inserts `VaultCreation{vault_id, genesis_root, amount_a, amount_b = 0}`, with `amount_a` the held amount. The record is insert only. The verifier admits exactly one debit and one creation record. +- **GenesisAccepted, escrow form** (§19.8). All of the following hold: + - `R0` recomputes, and `V0` holds exactly the initial state: generation zero, Active, no relationship leaves; + - the three policy slots hold `A_T`, and the carried bytes decode as `EscrowTerms` and re-derive `A_T`; + - `reserve_a` equals the funded amount and the debit, and `reserve_b = 0`; + - `v = vault_id(Go, DevIDo, pcreate)`, with `pcreate` the inserting position; + - the storage set is the network's pinned set; + - the owner's root at `p` is validated; + - `terms.token` passes its token policy for a transfer (§49). +- **Publication.** The terms are put as an object under `A_T`. The genesis preimage is indexed under `vault_genesis_locator(v)` (§28) and under `escrow_cell_locator(K_verdict) = H(DSM/escrow/cell-locator/v1; K_verdict)`, so a counterparty finds exactly the vaults bound to its own cell. It is not indexed under `vault_token_locator` (Amendment S16), because an escrow vault is not a market. Discovery carries no authority: a candidate counts only when it is GenesisAccepted and its terms derive that `K_verdict`. + +**Release** + +- **The branch.** `B°` gains a third branch: `Release{vault_id, parent_root, setup_ref, verdict_cell, outcome, amount, trader_core, dlv_core, closure}`, class `0x0065`. It has one leg, and `E` takes its single-leg form (§15). Its route digest preimage is `Release{vault_id, parent_root, setup_ref, verdict_cell, outcome, amount}`, class `0x0066`. The trader is the branch's recipient. A release is the recipient's own position, set up with the vault like any other (§16, Amendment S16), and its credit is the recipient's realized root (§19.6). No verdict enters `E` (§15): `B°` names the outcome and the cell, and the verdict is a fact resolution reads (below). +- **Closed write set** (§19.3). `T°` credits `terms.token` by `amount`, advances the trader's relationship with the vault, and debits nothing. `V°` takes `VaultState` from Active, with exactly `reserve_a = amount` and `reserve_b = 0`, to Retired, with both reserves zero and generation plus one, and makes the matching relationship advance. No other entry is permitted. +- **Static validity** (RouteValidation for a Release, §19.5). Each of the following must hold; a failure of any is Invalid: + - there is one leg; + - the vault's terms resolve to `EscrowTerms` by the slot rule; + - `verdict_cell = K_verdict(terms.external_commitment, τ(terms))`; + - `outcome` names a branch of the terms; + - `P`'s trader `(G, DevID)` is that branch's recipient; + - `amount = reserve_a` and `reserve_b = 0` at the parent; + - the write set above holds; + - per-token conservation holds; + - `terms.token` passes its token policy for a transfer. + + The static budget is at most 16 label comparisons. No signature is verified here; the verdict's signatures are verified where it occupies its cell. +- **Close and Swap need a market.** A Close needs the release policy `OWNER_LOCAL_FULL_CLOSE` (§19.5), and a Swap is priced by the market and fee policies. An escrow vault's slots hold `A_T`, which is neither. So a Close or a Swap against an escrow vault is Invalid, and so is a Release against a market vault. An escrow vault has no owner close: its owner gets the stake back only through a branch that names the owner as recipient, decided by that branch's signers. + +**Resolution** + +- **The facts** (§13): `VerdictHeld(K, o)` and `VerdictFinal(K, o)`, above. +- **Consumed route** (§23.2): for a Release leg, `ConsumedRoute` also requires `VerdictFinal(B°.verdict_cell, B°.outcome)`. +- **Impossibility** (§23.5): `RouteImpossible(P, E)` gains arm (v): `B°` is a Release, and `VerdictHeld(B°.verdict_cell, o)` for some `o ≠ B°.outcome`. + - Like arms (ii) to (iv), it needs no validation evidence: only the cell's raw read and the verdict's own bytes. + - It is permanent, because the cell's leader never holds another value. + - A release exercise that lost the verdict is skipped, and the vault's next attempt goes live for the branch that won. +- **The ladder** (§24). Rung 7 is Realized through `ConsumedRoute` as amended. Rung 8 (Void, both predicates Valid) also holds when `B°` is a Release whose verdict cell holds another outcome. A Void release moves nothing, and the vault stays Active at its parent. Until the cell's verdict is final on the release's outcome, or held on another, a release has no result (rung 9) and the SDK waits. +- **Linked vaults settle on one outcome.** Every vault bound to `K` settles only on the outcome the cell holds: a release naming another outcome is Void and its key is skipped, whichever vault it is in. The vaults are still independent DLVs with no shared parent (Explainer §60). Each is released by its own recipient's position, and one vault's release does not release the other. What the cell adds is that they cannot release on different outcomes. This refines Explainer §60, whose guards verify predicates bound to `Y`: the canonical verdict is one such predicate, a storage-finality fact keyed by `Y` and the agreed table. +- **Another trader's position** (Amendment S15). The public objects that resolve a Release position include the verdict at its cell, with its finality evidence. + +**Liveness, with no clock** + +- A stake is released only by a verdict. If no recognized verdict ever reaches the cell, the stake stays locked. That is a stated boundary (§5.4), not a failure. +- An application that wants a way out commits one as a branch: for example a cancel outcome decided by both parties together. It contends for the same cell as every other outcome, so a cancel and a result never both settle. +- A refund after a deadline needs an iteration budget (Explainer §59) and is not part of this amendment. +- A release written before the verdict holds its vault key until the cell holds a verdict, and is then Realized or skipped. Only a branch's recipient can write a release that is not Invalid. Any other release is Invalid, and its key is skipped once final (§23.5). So no third party holds an escrow vault's key past the verdict. + +**Routes** (§27). The app reaches escrow vaults only through these routes, in `SDK/handlers/escrow_routes.rs`: + +| Route | What it does | +|---|---| +| `escrow.party` | this device's genesis, device id and signing key, for naming in terms | +| `escrow.create` | derives `Y` from `X`, puts the terms and admits `EscrowVaultCreate`. Given a counterpart vault, it locks only once that vault is accepted, Active and bound to the same `K_verdict`. | +| `escrow.sign` | signs `m(o)` for a cell and indexes the signatures under `escrow_statement_locator(K, o)` | +| `escrow.adjudicate` | assembles a recognized verdict from the signatures under the locator and its own, and writes it to `K_verdict` by §8. It returns the verdict the cell holds, which may be another verdict that got there first. | +| `escrow.verdict` | reads `K_verdict` and returns the verdict it holds, or that none is held yet | +| `escrow.release` | builds a release only once the cell's verdict is final on the outcome of a branch that pays this device. It sets up with the vault if needed (Amendment S16), walks the head (§30), drafts the Release, and runs §31 stages 2 to 10. | +| `escrow.locked` | the vaults bound to a verdict cell, read from `escrow_cell_locator(K)`, each accepted, checked to derive `K`, and walked to its head | +| `escrow.vaults` | the escrow vaults this device created, each walked to its head | + +This amends §4 (SoFi also creates and releases escrow vaults), §11 (two indexes), §13 (the verdict facts), §14.1 and §14.2 (the escrow tags and classes `0x0063` to `0x0066`), §15, §19.1 (the slot rule and escrow status), §19.3 to §19.5 (the Release branch), §19.7 (an escrow vault has no close authority), §19.8 (the escrow form of GenesisAccepted), §23.2, §23.5 (arm (v)), §24 (rungs 7 and 8), §27 (the escrow routes), §28 (`EscrowVaultCreate`, variant 38 of `Operation`), §32 (a Close against an escrow vault is Invalid) and Amendment S15 (the verdict is among a Release position's public objects). + ## Part IV — Predicates and resolution diff --git a/specs/requirements/CONFORMANCE_GAPS.md b/specs/requirements/CONFORMANCE_GAPS.md index fea56ffd7..f6ad46540 100644 --- a/specs/requirements/CONFORMANCE_GAPS.md +++ b/specs/requirements/CONFORMANCE_GAPS.md @@ -222,7 +222,7 @@ The skeleton (step 6 of the working flow) removes what the specifications forbid | [x] | Device directory | The node's first-write-wins device table, its routes, and the SDK's quorum lookup and token registration | Self-signed entries in a keyed cell (`dsm::core::identity::directory`, `sdk::device_directory`): each device publishes its own AK-signed entry; senders keep the entry whose AK hashes to the device id and whose signature verifies, highest counter first; every caller of the old lookup moved to `read_entry` / `publish_entry` | `dsm::core::identity::directory::tests::the_devices_own_entry_is_chosen_and_a_squatters_is_ignored`; `dsm::core::identity::directory::tests::a_higher_counter_replaces_a_lower_one`; `dsm_sdk::test_support::two_device::tests::a_peer_holds_the_keys_the_device_uses`; `dsm_sdk::handlers::storage_routes::tests::the_sender_ak_is_the_one_the_contact_book_holds` | | [x] | Sealing's key and store | — | `b0x_sdk::seal_for` seals once with the recipient's Kyber key from its verified directory entry and keeps the bytes (`client_db::b0x_sealed`); `open_sealed` decapsulates with this device's Kyber secret | `dsm_sdk::storage::client_db::b0x_sealed::tests::the_first_seal_of_a_message_stands`; `dsm_sdk::handlers::bilateral_finality_tests::r7_a_frozen_checkpoint_is_replayed_byte_identically_after_the_fleet_returns`; `dsm_sdk::handlers::node_e2e_tests::a_transfer_reaches_the_nodes_only_sealed_and_arrives`. The key is not the per-step key of Amendment A7 (see Encrypted spool payloads). | | [x] | Vault genesis acceptance | Never built before #976: SoFi §28 step 5 names `genesis_accepted` | `sofi::lineage::genesis_accepted`, called from `fetch_vault_genesis`: the signed creation bound to the owner transition, the committed market policy re-derived, the pair ordered, both token policies permitting a market leg; `Resolved::Unavailable` there becomes a network failure, not "no genesis" | `dsm::sofi::lineage::genesis_acceptance::the_genesis_the_owners_creation_carried_is_accepted`; `dsm::sofi::lineage::genesis_acceptance::a_genesis_the_owner_did_not_create_is_refused`; `dsm::sofi::lineage::genesis_acceptance::a_carried_market_that_is_not_the_committed_one_is_refused`; `dsm::sofi::lineage::genesis_acceptance::a_vault_over_a_token_that_forbids_transfer_is_refused`; `dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end` | -| [x] | Transferable check on every leg | Never called | Token policies in `Evidence.token_policies` (both tokens of every vault, intermediate ones included); `market_legs_permitted` per DLV core in `validate` | `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_market_tokens_policy_not_in_hand_is_missing`; `dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end` | +| [x] | Transferable check on every leg | Never called | Token policies in `Evidence.token_policies` (both tokens of every vault, intermediate ones included); `vault_tokens_permitted` per DLV core in `validate` | `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_market_tokens_policy_not_in_hand_is_missing`; `dsm_sdk::handlers::node_e2e_tests::a_sofi_trade_executes_end_to_end` | | [ ] | Fleet redeploy (GCP) | The deployed fleet runs the old node: device registration, read acknowledgement, plaintext spool, node-side tables | Rebuild the `dsm-storage-node` image and redeploy every node (`dsm_storage_node/deploy/`: Docker Compose with Postgres 15 on the GCP VMs) in the same release as the app; the migrations drop the devices, auth, payment and registry tables and the spool's ack columns on the live databases. Wipe or keep the Postgres volumes is not yet decided; a wipe gives every node a new register incarnation, so the pinned set in the node configs and in the app's `dsm_env_config.gcp_beta.toml` is regenerated and shipped with the app. Terraform provisions 5 nodes (`terraform/gcp/main.tf`, `node_count = 5`), matching the 5 configs; the "6 nodes" in `provision_gcp.sh`'s banner is stale text to correct | Out of scope (fleet operations). provision_gcp.sh still prints six nodes; the env file named is untracked (scripts/dsm_env_config.gcp_beta.toml). | | [ ] | Formal models (G15) | The successor-cell, fulfillment and reserve models encode the copy rule ("LeaderHeld and two other members hold x"); `lean4/DSMTokenIssuance.lean` models the old two-leg creation, including a zero-supply creation the beta refuses | Route-chain models written: `tla/DSM_RouteChain.tla` (chain uniqueness, nesting, stability, survival of two lost seats; three mutation configs that must fail, listed in `tla/README.md`) and `lean4/DSMRouteChain.lean` (compiles on the pinned Lean 4.23.0; chain uniqueness proved; stability and loss survival stated). Remaining: `DSM_SofiSuccessorCells`, `DSM_SofiFulfillment`, `DSM_NativeReserveRelease` and their Lean files take finality from the route chain; `DSMTokenIssuance.lean` rewritten for release at creation; the stated properties proved and every config run under TLC | `lean4/DSMRouteChain.lean::chain_uniqueness`; `lean4/DSMRouteChain.lean::leader_held_stable`; `lean4/DSMRouteChain.lean::final_stable`; `lean4/DSMTokenIssuance.lean::create_with_no_supply_is_refused`. `DSM_RouteChain` runs in CI with its three falsifications (#982). Still open: `FinalSurvivesTwoLosses` is stated, checked by TLC, not proved in Lean; `DSM_SofiSuccessorCells`, `DSM_SofiFulfillment` and `DSM_NativeReserveRelease` and their Lean files still encode the copy rule. | @@ -269,7 +269,7 @@ What the backend does that no requirement asks for, or that a requirement forbid | `dsm_sdk` · sdk/dlv_pre_commitment_sdk.rs · `DlvPreCommitmentSdk` | No handler callers. Deleted (§6.10). | | `dsm_sdk` · sdk/smart_commitment_sdk.rs · `SmartCommitmentSdk` | No callers. | | `dsm` · core/verification/identity_verifier.rs; types/identity.rs; types/state_types.rs (second `IdentityAnchor`) | `IdentityVerifier`, `IdentityClaim`, `IdentityAnchor`. No production callers. | -| `dsm` · economic/issuance.rs · `check_market_leg_permitted` | Had no callers; since #976 it is called by `sofi::validation::market_legs_permitted` and `sofi::lineage::genesis_accepted`. A transfer is still checked on the sending device only (MR-SOFI-0311). | +| `dsm` · economic/issuance.rs · `check_market_leg_permitted` | Had no callers; since #976 it is called by `sofi::validation::vault_tokens_permitted` and `sofi::lineage::genesis_accepted`. A transfer is still checked on the sending device only (MR-SOFI-0311). | | `dsm` · ccb/state.rs · `VaultStateV2.iteration_budget` | Only ever `None`; never read (MR-DSM-0181). | | `dsm_storage_node` · api/identity/authenticate.rs · `authenticate_envelope_smart_policy` | No production caller. | @@ -292,7 +292,7 @@ Against the branch, not the §1 pin. Resolved items state what replaced them; op | Location | Finding | State | |---|---|---| | `dsm` · economic/provenance.rs · `verify_genesis_release` | A policy commit named no creator, so any device holding published policy bytes could `CreateToken` the same token and release its whole genesis supply again (MR-SOFI-0307). | Resolved by SoFi Amendment S8: the policy commits its creator, only the creator's transition releases it, and the creation inserts a `0x0060` record from zero. Named tests with mutation controls: `a_genesis_release_of_another_creators_policy_is_refused`, `a_token_is_created_once_on_its_creators_lineage`, `a_creation_witness_without_its_record_is_refused`. | -| `dsm` · sofi/validation.rs · `setup_valid` | The ClaimRef conjunct of SetupValid (SoFi §16) was not checked; validation evidence carried no claim. | Resolved by SoFi Amendment S9: `AcceptedClaim`, produced only by lineage validation, is carried in `Evidence.accepted_claims`. Named tests with mutation controls for every conjunct of `setup_valid` and of `market_legs_permitted`. | +| `dsm` · sofi/validation.rs · `setup_valid` | The ClaimRef conjunct of SetupValid (SoFi §16) was not checked; validation evidence carried no claim. | Resolved by SoFi Amendment S9: `AcceptedClaim`, produced only by lineage validation, is carried in `Evidence.accepted_claims`. Named tests with mutation controls for every conjunct of `setup_valid` and of `market_legs_permitted` (renamed `vault_tokens_permitted` by SoFi Amendment S21, when it took escrow vaults' one token). | | `dsm` · economic/lineage.rs · `advance_validated` | Never checked that the registered claim names the trader under validation. | Resolved: `RegisteredClaimNamesAnotherTrader`, test `a_registered_claim_of_another_trader_is_refused`. | | `dsm` · route_chain.rs · `evaluate` | Reported two impossible states as missing evidence, counted only the first copy per seat, and its callers re-recognized the held bytes and invented an answer when that failed. | Resolved: the recognized object is returned; every rule of storage §9 has a named test and a mutation control. | | `dsm` · route_chain.rs · `CellEvidence`; economic/native_reserve.rs, economic/register.rs, sofi/exercise.rs, sofi/registration.rs | The route, namespace and key of a cell came inside the evidence the reader handed Core, so Core evaluated whatever route the caller named (storage §9 route rule 1: the writer and Core compute the route). | Resolved: `RoutedCell::new` derives the cell from the seed and the members, refusing members that do not re-derive the committed set id; each cell kind has a handle only Core builds (`SuccessorCell`, `RootCell`, `AttemptCell`, `PositionCells`); evidence carries seat reads only. Mutation controls: `a_cell_is_routed_only_over_the_committed_set`, `a_successor_cell_is_routed_over_the_set_its_parent_commits`. | @@ -1435,7 +1435,7 @@ The State column says what this branch did; "Open" rows are holes left visible, **H. Stale rows corrected in this pass** -The node crate on main is `api/cells.rs`, `api/objects/{immutable,bytecommit}.rs`, `api/transport/b0x.rs` and `db/`: the legacy object store, its routes, `device_auth`, PaidK, `replication.rs`, the registry (`api/registry/scaling.rs`), the tip mirror and the vault routes are all deleted (#977, #992). Rows that still classified the node on that code are re-examined below: G4's Violated rows on overwrite, delete, writer authentication and payload decoding are Met on the negative tests that hold the served assembly to the storage contract; the PaidK, credit and node-side registry rows are Missing, since nothing replaced a mechanism the specification asks for (§5: the spend gate is removed rather than fixed; storage credits and Part III are out of beta). MR-SOFI-0311's "no callers" was stale since #976: `check_market_leg_permitted` is called by `sofi::validation::market_legs_permitted` and `sofi::lineage::genesis_accepted`; a transfer is checked on the sending device only. §6.3, §6.9 and §6.34 C4 are corrected in place. +The node crate on main is `api/cells.rs`, `api/objects/{immutable,bytecommit}.rs`, `api/transport/b0x.rs` and `db/`: the legacy object store, its routes, `device_auth`, PaidK, `replication.rs`, the registry (`api/registry/scaling.rs`), the tip mirror and the vault routes are all deleted (#977, #992). Rows that still classified the node on that code are re-examined below: G4's Violated rows on overwrite, delete, writer authentication and payload decoding are Met on the negative tests that hold the served assembly to the storage contract; the PaidK, credit and node-side registry rows are Missing, since nothing replaced a mechanism the specification asks for (§5: the spend gate is removed rather than fixed; storage credits and Part III are out of beta). MR-SOFI-0311's "no callers" was stale since #976: `check_market_leg_permitted` is called by `sofi::validation::vault_tokens_permitted` and `sofi::lineage::genesis_accepted`; a transfer is checked on the sending device only. §6.3, §6.9 and §6.34 C4 are corrected in place. **I. Hardware crates (out of this round; recorded, not audited)** — the secure-monitor reset entry is a bring-up placeholder and the non-secure image a bring-up stub; the non-secure side is granted the reset and watchdog peripherals; the Pico re-enrols on every boot and R-memory persistence is not built; an example carries a fixed handshake secret. @@ -2853,16 +2853,32 @@ Every gate above has a mutation control: each was removed or weakened in turn an **Not driven by a test.** `wallet.send` and `storage.sync`'s Step 0 resume through the same `resume_pending_admission`, but no test reaches either with a held first admission. Step 0 runs only with a staged inbound transfer, and a send needs a funded device. `prevalidate_incoming_transfer_admission` still holds an inbound transfer while any admission is pending. That is unchanged. +### 6.74 No vault could hold value for anyone but a market: escrow vaults specified (`feat/escrow-vaults`, SoFi Amendment S21, 2026-10-05) + +**The finding.** An application needed two parties to lock equal stakes against one agreed match, with the application as referee deciding who takes both. Nothing in the backend can hold value under a condition other than a SoFi market: +- the economic tree has no encumbered leaf, and the legacy DLV claim operations are refused as value transitions (`DlvClaim { .. } | DlvInvalidate { .. } => UnsupportedValueTransition`, `dsm::economic::classifier`); +- the legacy DLV's `FulfillmentMechanism::MultiSignature` (`dsm::vault::limbo_vault`) counts the same key's signature as often as it appears, passes with a threshold of 0, and verifies over `signed_data` the claimant's proof supplies. It is not a basis for anything that holds value. + +**The ruling.** Owner, 2026-10-04: compose existing primitives, add only the generic one that is missing, and put no wager or battle logic in Core: "You need to make the generic escrow vaults, and then we just use that". 2026-10-05: one external commitment has one admissible verdict, made so by the protocol, not by the referee's bookkeeping (quoted in Amendment S21). + +**The specification.** SoFi §19.9 (Amendment S21): an escrow vault is a SoFi vault whose three policy slots name one `EscrowTerms` object. It releases its whole amount once, by a Release position of the branch's recipient, when the canonical verdict on its external commitment names that branch's outcome. The verdict occupies `K_verdict = H(DSM/escrow/verdict-cell/v1; Y ∥ τ)` first at its leader and proves its own authority from its bytes. Every vault bound to the cell settles only on the outcome it holds: a release naming another is Void, and its key is skipped by `RouteImpossible` arm (v). An escrow vault has no market and no owner close. Vaults are linked exactly when they name the same `Y` and byte-identical outcome tables (the table is the authority). The link is derived from each vault's accepted terms and checked by whoever relies on it, and discovery is by cell, so a vault bound to another cell is never found among the linked ones. + +**Status.** Implemented on this branch (2026-10-05); MR-SOFI-0363 to MR-SOFI-0386 Met. Core: the wire classes and tags, `sofi::escrow` (the derivations, recognition at the verdict cell, gathering, the cell read and its completion), `VaultTerms` and `validate_release`, the verdict fact in `sofi::facts` and `sofi::resolution` (the `ConsumedRoute` conjunct, arm (v), rung 5), operation tag 38 with its write set and conservation, and escrow genesis acceptance. SDK: `escrow_flow` and the eight routes, run on the nodes by `dsm_sdk::handlers::escrow_e2e_tests` with two players and a referee. Every gate's mutation control is in the verification matrix: each gate removed turned its named test red. + +**Found on the way.** A setup made right after a trader's SoFi position names the claim that position's resolution accepted. A peer validating the setup read the trader's claim there through `validate_peer_lineage`, whose target step refuses a conditional claim as Unresolved, so once a trader traded or released through one vault and then set up with another, no one else could walk the second vault past that trader's exercise: it stayed at the generation before. `peer_lineage::peer_claim_at` takes the position as the walk's last step and resolves a conditional claim there through the S15 resolver, as an interior position is, and `SofiReads::accepted_claim_at` reads another trader's claim through it (MR-SOFI-0347). `the_winner_takes_both_stakes_once` failed without it: the loser's `escrow.locked` showed the second vault the winner released still Active at genesis. + +**Open.** `FulfillmentMechanism::MultiSignature` stays in the legacy DLV as found. Escrow vaults neither use nor replace it; whether that code is reachable on a production path is a separate sweep. A vault whose walk stops short is shown at the last generation the walk established, by `escrow.locked` and `escrow.vaults` as by `sofi.vaults`; neither view says the walk stopped short. + ## 7 Totals | Spec | Rows | Met | Partial | Missing | Violated | Not code | Deferred | |---|---|---|---|---|---|---|---| | DSM high-level (MR-DSM) | 294 | 112 | 96 | 39 | 0 | 29 | 18 | -| SoFi (MR-SOFI) | 362 | 237 | 86 | 18 | 4 | 17 | 0 | +| SoFi (MR-SOFI) | 386 | 261 | 86 | 18 | 4 | 17 | 0 | | dBTC (MR-DBTC) | 135 | 0 | 0 | 0 | 0 | 0 | 135 | | 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** | **960** | **423** | **201** | **114** | **4** | **64** | **154** | +| **All** | **984** | **447** | **201** | **114** | **4** | **64** | **154** | ## 8 Per-requirement results @@ -3472,21 +3488,21 @@ Every gate above has a mutation control: each was removed or weakened in turn an | MR-SOFI-0301 | Partial | dsm · ccb/state.rs (MarketPolicy names token policy commits, no own token policy) | no test found | Not independently re-verified in depth | | MR-SOFI-0302 | Met | `dsm_sdk::handlers::token_routes::build_policy_v3_bytes`; `dsm::economic::token_policy::parse_token_policy_blob` | `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` | token_create_anchor_integrity.rs was deleted in #977; the packer is the only production packer, and its in-file tests round-trip every field through Core's big-endian parser. | | MR-SOFI-0303 | Partial | `dsm::economic::token_policy::parse_token_policy_blob`; `dsm_sdk::handlers::token_routes::build_policy_v3_bytes` | `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` | The bounds are enforced, and tests refuse 0 and 17 signers, a 1-character ticker and 19 decimals, but no test refuses a 9-character ticker, and the signer-set authorization clause is violated (see MR-SOFI-0310). | -| MR-SOFI-0304 | Met | `dsm::core::token::policy::TokenPolicySystem::register_policy`; `dsm::core::token::policy::TokenPolicySystem::commitment_of`; `dsm::sofi::validation::market_legs_permitted` | `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` | A token's identity is `BLAKE3(TAG_DSM_POLICY, TokenPolicyV3 bytes)`, recomputed by Core wherever the bytes are registered or read: the enforcer is keyed by it, and bytes at another commitment are no policy (§6.32). | +| MR-SOFI-0304 | Met | `dsm::core::token::policy::TokenPolicySystem::register_policy`; `dsm::core::token::policy::TokenPolicySystem::commitment_of`; `dsm::sofi::validation::vault_tokens_permitted` | `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` | A token's identity is `BLAKE3(TAG_DSM_POLICY, TokenPolicyV3 bytes)`, recomputed by Core wherever the bytes are registered or read: the enforcer is keyed by it, and bytes at another commitment are no policy (§6.32). | | MR-SOFI-0305 | Violated | `dsm_sdk::storage::client_db::token_registry::get_token_by_ticker`; `dsm_sdk::handlers::token_routes` | — | Core identity is policy_commit, but the SDK token registry has a UNIQUE ticker index, and token.create and tokens.addByAnchor refuse a second token whose ticker is already held (TICKER_CONFLICT), so two tokens cannot share a ticker on one device. | | MR-SOFI-0306 | Met | `dsm::types::policy_types::PolicyCondition`; `dsm::economic::token_policy::parse_token_policy_blob` | `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` | The supply class is a field of the committed blob, parsed strictly; `SupplyCap` carries only `max_supply` (the unlimited flag is a reserved proto field since a592900a), derived from the parsed blob whose zero genesis supply does not parse (the `PolicyFile` validator is deleted, §6.32). The earlier Violated stood on `POLICY_FLAG_UNLIMITED_SUPPLY` and `check_issuance_permitted`, both deleted. | | MR-SOFI-0307 | Partial | `dsm::economic::write_set::build_write_set`; `dsm::types::device_state::validate_conservation`; `dsm::economic::provenance::verify_genesis_release` | `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` | No mint operation exists: the whole genesis supply is released to the creator in the creating transition (so nothing is unreleased), a creation happens once per lineage, and a burn is a debit under the conservation guard. The identity genesis = unreleased + balances + burned is not asserted as a sum by any test, and emission as a release under a policy other than AllAtCreation has no producer. The earlier Violated stood on `token.mint` and `handle_token_mint`, deleted in #976/#977. | | MR-SOFI-0308 | Missing | dsm · economic/issuance.rs (module doc explicitly: "DOES NOT PROVE... redeemable for, or collateralized by... no backing condition in the token-policy vocabulary") | — | Confirmed by direct read: no backing/lock/reserve concept anywhere | | MR-SOFI-0309 | Missing | dsm · economic/issuance.rs (module doc explicitly: "DOES NOT PROVE... redeemable for, or collateralized by... no backing condition in the token-policy vocabulary") | — | Confirmed by direct read: no backing/lock/reserve concept anywhere | | MR-SOFI-0310 | Met | `dsm::core::token::policy::policy_enforcement::permitted_operations`; `dsm::core::token::policy::policy_enforcement::enforced_policy`; `dsm::core::token::policy::policy_enforcement::PolicyEnforcer::check_condition` | `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` | The signer set authorizes nothing in beta: the standard release rule names it for nothing (§47). A token's conditions are its supply cap and the operation restriction its two flags define; the signer-set condition and its witness are deleted (§6.17). | -| MR-SOFI-0311 | Partial | `dsm::economic::issuance::check_market_leg_permitted`; `dsm::sofi::validation::market_legs_permitted`; `dsm::sofi::lineage::genesis_accepted` | `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`; `dsm_sdk::handlers::sender_admission_tests::a_non_transferable_token_refuses_its_transfer`; `dsm_sdk::handlers::sender_admission_tests::a_transfer_its_policy_refuses_is_refused_before_the_senders_register_is_read` | Called at vault creation and on every SoFi leg since #976 (the earlier "zero callers" was stale). An online transfer is checked on both devices (§6.51): the sender refuses it and nothing moves, and the receiver refuses it at its canonical apply and in its sync before any read. Partial: offline transfers are outside this round, and vault creation and SoFi legs are tested in Core only. | +| MR-SOFI-0311 | Partial | `dsm::economic::issuance::check_market_leg_permitted`; `dsm::sofi::validation::vault_tokens_permitted`; `dsm::sofi::lineage::genesis_accepted` | `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`; `dsm_sdk::handlers::sender_admission_tests::a_non_transferable_token_refuses_its_transfer`; `dsm_sdk::handlers::sender_admission_tests::a_transfer_its_policy_refuses_is_refused_before_the_senders_register_is_read` | Called at vault creation and on every SoFi leg since #976 (the earlier "zero callers" was stale). An online transfer is checked on both devices (§6.51): the sender refuses it and nothing moves, and the receiver refuses it at its canonical apply and in its sync before any read. Partial: offline transfers are outside this round, and vault creation and SoFi legs are tested in Core only. | | MR-SOFI-0312 | Partial | `dsm::economic::issuance::check_market_leg_permitted`; `dsm::economic::token_policy::parse_token_policy_blob` | — | check_issuance_permitted was deleted in #976, and nothing now reads allowlist_device_ids on issuance (verify_genesis_release ignores it); only the no-market-meaning half holds, because check_market_leg_permitted never consults the allowlist, and no test covers either half. | | MR-SOFI-0313 | Partial | dsm_sdk · handlers/token_routes.rs · `parse_token_policy` (fail-closed on every field) | inline parse checks verified | No explicit supply-class field (only the unlimited flag), no separate native/backed sub-shapes. ERA states no policy at all: `ERA_POLICY_COMMIT` has no preimage, so no ERA transfer or burn passes enforcement (§6.32). | | MR-SOFI-0314 | Met | `dsm_sdk::handlers::token_routes::build_policy_v3_bytes`; `dsm::economic::token_policy::parse_token_policy_blob` | `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` | The genesis supply is a field of the blob whose hash is the policy commit, and the creating transition releases exactly it. The earlier Partial stood on the capped-creation refusal, deleted in a592900a. | | MR-SOFI-0315 | Met | `dsm::core::token::policy::TokenPolicySystem::register_policy`; `dsm::core::token::policy::TokenPolicySystem::enforce_policy`; `dsm::types::device_state::validate_conservation` | `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` | No path changes a committed policy: the enforcer's view is derived from the bytes at the commitment and from nothing a caller states, and units move only under its operation restriction and the conservation guard. | | MR-SOFI-0316 | Partial | `dsm::economic::token_policy::ReleaseRule`; `dsm::economic::write_set::build_write_set`; `dsm::economic::native_reserve::release_constructible` | `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` | The only token release rule is `AllAtCreation`, under which no unit stays unreleased; a release formula for any other rule, recomputable by anyone, has no producer. The earlier citation of `handle_token_mint` names code deleted in #977. The native reserve's construction predicate enforces the beta claim policy's amount: a faucet release is constructible only for `ERA_FAUCET_PAYOUT`, so a release the policy does not allow never holds a cell (§6.24). The signer is bound to the recipient device at the cell (`derive_devid(claimant_public_key, AttA) == recipient_devid`, §6.26); that the device belongs to `recipient_genesis` is proven by P0–P6 when a credit consumes the release. | | MR-SOFI-0317 | Met | `dsm::economic::write_set::build_write_set`; `dsm::economic::provenance::verify_genesis_release` | `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` | There is no mint operation and no unreleased pool, a burn is a debit, and the whole supply is released once because a second creation of the same commit cannot build its write set. | -| MR-SOFI-0318 | Met | `dsm::sofi::validation::market_legs_permitted`; `dsm::economic::token_policy::parse_token_policy`; `dsm::economic::provenance::verify_genesis_release` | `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` | parse_issuance_policy was deleted in #976; each non-builtin token's policy bytes are re-hashed to its own commit and parsed strictly, while ERA and dBTC are pre-rooted and read no policy bytes — the same absence the enforcer refuses on (§6.32). | +| MR-SOFI-0318 | Met | `dsm::sofi::validation::vault_tokens_permitted`; `dsm::economic::token_policy::parse_token_policy`; `dsm::economic::provenance::verify_genesis_release` | `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` | parse_issuance_policy was deleted in #976; each non-builtin token's policy bytes are re-hashed to its own commit and parsed strictly, while ERA and dBTC are pre-rooted and read no policy bytes — the same absence the enforcer refuses on (§6.32). | | MR-SOFI-0319 | Missing | — | — | No backing/lock-consumption concept — same absence as 0308 | | MR-SOFI-0320 | Missing | — | — | No backing/lock-consumption concept — same absence as 0308 | | MR-SOFI-0321 | Missing | — | — | No redemption transition anywhere | @@ -3515,7 +3531,7 @@ Every gate above has a mutation control: each was removed or weakened in turn an | MR-SOFI-0344 | Met | `dsm::sofi::resolve::Verifier::peer_position`; `dsm::sofi::resolve::PeerPositionResolver`; `dsm::sofi::lineage::advance_peer_resolved`; `dsm_sdk::sdk::sofi_reads::VerifierContext::peer_position_resolver` | `dsm_sdk::handlers::node_e2e_tests::a_trader_who_has_traded_can_pay` | SoFi Amendment S15 (`feat/frontier-relative-peer-verification`, 2026-09-30). `peer_position` runs the trader's own stages for position q over the verifier's reads (registration from the pair, P by its id, the exercise at the first leg's cell, each vault's chain, the facts) and the ladder inside `advance_peer_resolved`, which shares `advance_resolved`'s derivation. Failures keep their class: Incomplete for a read not in hand, Unresolved for facts that do not decide q, Invalid only for a verified contradiction. On the nodes, a trader who traded pays a third party and the payee accepts (P15-9). Mutations: the resolver refusing every C_q, and the resolver selecting the void root: both red, the payee never credits. | | MR-SOFI-0345 | Met | `dsm::sofi::registration::fulfillment_registered`; `dsm::sofi::resolve::Verifier::peer_position` | `dsm::sofi::registration::tests::registration_needs_both_cells_final_and_the_root_on_this_claim`; `dsm_sdk::handlers::node_e2e_tests::a_trader_who_has_traded_can_pay` | SoFi Amendment S15. `peer_position` requires the pair to hold registered the fulfillment the held claim names, and registration holds F registered only while `K_root(q)` is final on exactly `C_q(P, F)`; a final value is the cell's only one, so the held claim is that claim and its two roots are the ones the resolution chooses between. A separate equality check in `peer_position` could never fail and was removed. | | 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`); re-verified 2026-10-01 (§6.68). `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, whose credit sources are held to account through their own segments as for a payer; 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-0347 | Met | `dsm_sdk::sdk::economic_registers::resolve_peer`; `dsm::sofi::validation::setup_valid`; `dsm::economic::peer_lineage::peer_claim_at` | `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`; `dsm::economic::peer_lineage::tests::the_claim_at_a_conditional_position_is_asked_of_its_resolution`; `dsm_sdk::handlers::escrow_e2e_tests::the_winner_takes_both_stakes_once` | SoFi Amendment S15 (`feat/frontier-relative-peer-verification`); re-verified 2026-10-01 (§6.68). `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, whose credit sources are held to account through their own segments as for a payer; 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. A setup made right after a SoFi position names the claim its resolution accepted, read through `peer_claim_at`, which resolves a conditional position at the walk's end (§6.74). | | 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 | Met | `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_sdk::handlers::sofi_routes::entered`; `dsm_sdk::handlers::sofi_routes::shown`; `dsm_sdk::handlers::token_routes`; `dsm_sdk::handlers::faucet_routes` | `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`; `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`; `dsm_sdk::handlers::token_create_tests::the_fee_schedule_reports_an_unfunded_device_as_not_covering_the_fee` | 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. The SoFi routes take amounts the same way (§6.53): createVault, findRoute, trade and route carry `*_entered` text parsed against each token's committed decimals, and report `*_display`; the SoFi screen enters and shows whole tokens. The faucet message and the fee schedule show ERA at its decimals too (§6.56). | | 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`). | @@ -3531,6 +3547,30 @@ Every gate above has a mutation control: each was removed or weakened in turn an | MR-SOFI-0360 | Met | `dsm::sofi::wire::objects::SignedSofiResolutionClaim`; `dsm::sofi::signature::verify_resolution_claim`; `dsm::sofi::signature::sign_resolution_claim`; `dsm::economic::register::read_root_cell` (body identity); `dsm_sdk::sdk::sofi_register` (producer); `dsm_sdk::sdk::sofi_relay::carry_pair`; `dsm::sofi::registration::RegistrationRead::standing_of`; `dsm::sofi::resolve::Verifier::peer_position` | `dsm::economic::claim_envelope::tests::a_conditional_cell_decodes_by_class`; `dsm::economic::claim_envelope::tests::an_unsigned_conditional_claim_names_no_cell`; `dsm::economic::claim_envelope::tests::a_conditional_claim_signed_by_another_device_names_no_cell`; `dsm::economic::register::registered_root_construction_tests::a_held_root_cell_carries_the_exact_bytes_that_hold_it`; `dsm::sofi::registration::tests::a_fulfillment_is_lost_to_any_other_leader_and_to_any_claim_not_its_own` | SoFi Amendment S20 (§6.65). `K_root(q)` holds the trader-signed `C_q` (`0x0062`); a bare `C_q` is refused by name, and a conditional claim is identified by its derived body. S20 extended 2026-10-01 (§6.65, §6.66 12j): registration matches the pair by `FulfillmentId(F)`; where `P` is in hand the body is compared with `derive(P, F)`. In the facts a difference loses `F` (`standing_of`); in a position's resolution it is Invalid (`peer_position`) (`51359a6b6`). Mutation: the body check skipped for a registered pair → the unit test red. The resolution check has no test of its own yet. | | MR-SOFI-0361 | Met | `dsm::sofi::wire::objects::TraderFulfillmentBody`; `dsm::sofi::registration::fulfillment_proves_the_device`; `dsm::sofi::registration::names_fulfillment_key`; `dsm_sdk::sdk::sofi_sdk::build_fulfillment` | `dsm::sofi::registration::tests::a_fulfillment_under_a_key_that_does_not_derive_the_trader_names_no_cell`; `dsm::sofi::registration::tests::only_a_fulfillment_of_this_trader_at_this_position_names_the_key`; `dsm_sdk::handlers::node_e2e_tests::a_position_reads_the_same_before_and_after_a_precommit_is_published` | SoFi Amendment S20 (§6.65). The binding is decided from `F`'s bytes before `P` is looked up. Mutation: the check removed → that test red. S20 extended 2026-10-01 (§6.65, §6.66 12j): `names_fulfillment_key` decides from `F`'s bytes alone and reads no `P`, so which `F` holds `K_ful(q)` is the same at every time (`51359a6b6`). | | MR-SOFI-0362 | Met | `dsm::sofi::exercise::recognize_exercise`; `dsm::sofi::wire::objects::SofiExercise`; `dsm_sdk::sdk::sofi_exercise::build_exercise`; `dsm_sdk::sdk::sofi_relay::relay_exercise`; `dsm_sdk::sdk::sofi_flow::walk_for_attempt` | `dsm_sdk::handlers::node_e2e_tests::an_exercise_whose_trader_withholds_its_pair_is_registered_from_its_own_bytes`; `dsm_sdk::handlers::node_e2e_tests::a_held_key_whose_pair_is_registered_is_passed_without_writing_the_pair`; `dsm::sofi::exercise::tests::an_exercise_carries_the_traders_signed_claim_of_its_own_p_and_f`; `dsm::sofi::exercise::tests::an_exercise_whose_fulfillment_does_not_prove_the_traders_device_is_nothing` | §6.66 12e. The exercise carries the trader's signed `C_q`, recognized as `K_root(q)` recognizes it with the body `derive(P, F)`; the next operation at a vault registers a withheld pair from it before passing the key (owner ruling, 2026-10-01). | +| MR-SOFI-0363 | Met | `dsm::sofi::validation::VaultTerms`; `dsm::sofi::lineage::creation_accepted` | `dsm::sofi::validation::tests::escrow_terms_are_taken_only_from_bytes_that_authenticate`; `dsm::sofi::lineage::genesis_acceptance::an_escrow_genesis_is_refused_for_terms_its_slots_do_not_name`; `dsm::sofi::lineage::genesis_acceptance::an_escrow_genesis_holding_a_second_reserve_or_no_stake_is_refused`; `dsm_sdk::handlers::escrow_e2e_tests::the_winner_takes_both_stakes_once` | SoFi Amendment S21 (§6.74). The slot rule: `VaultTerms::resolve` takes an escrow vault's terms from the one object its three slots name, and genesis acceptance refuses slots that name anything else or a vault holding anything but its stake. | +| MR-SOFI-0364 | Met | `dsm::sofi::wire::objects::EscrowTerms`; `dsm::sofi::wire::objects::EscrowBranch`; `dsm::sofi::escrow::terms_address` | `dsm::sofi::escrow::tests::terms_round_trip_and_what_has_no_canonical_order_has_no_encoding`; `dsm::sofi::escrow::tests::the_wire_bytes_follow_the_field_tables_and_the_digests_are_frozen` | SoFi Amendment S21 (§6.74). Class 0x0063; a signer twice, a branch out of order, or a size outside its bounds has no encoding. | +| MR-SOFI-0365 | Met | `dsm::sofi::wire::objects::OutcomeTable`; `dsm::sofi::escrow::table_digest` | `dsm::sofi::escrow::tests::the_outcome_table_has_the_specified_bytes`; `dsm::sofi::escrow::tests::the_derivations_are_the_specified_hashes` | SoFi Amendment S21 (§6.74). `τ` over the table built by hand from the branches, and frozen. | +| MR-SOFI-0366 | Met | `dsm::sofi::escrow::verdict_cell_key`; `dsm::sofi::escrow::verdict_seed`; `dsm::sofi::escrow::VerdictCell` | `dsm::sofi::escrow::tests::the_derivations_are_the_specified_hashes`; `dsm_sdk::handlers::escrow_e2e_tests::the_winner_takes_both_stakes_once` | SoFi Amendment S21 (§6.74). The cell is written by `route_seats::write_recorded` and read final on the nodes. | +| MR-SOFI-0367 | Met | `dsm::sofi::escrow::statement`; `dsm::sofi::escrow::sign_statement` | `dsm::sofi::escrow::tests::a_signature_decides_only_the_cell_it_was_made_for`; `dsm::sofi::escrow::tests::the_derivations_are_the_specified_hashes` | SoFi Amendment S21 (§6.74). One signature serves both linked vaults on the nodes (the referee signs once per outcome). | +| MR-SOFI-0368 | Met | `dsm::sofi::escrow::verdict_authority`; `dsm::sofi::escrow::verdict_occupying`; `dsm::sofi::escrow::verdict_resolution` | `dsm::sofi::escrow::tests::a_verdict_proves_its_own_authority_for_its_cell`; `dsm::sofi::escrow::tests::a_signature_decides_only_the_cell_it_was_made_for`; `dsm_sdk::handlers::escrow_e2e_tests::a_verdict_outside_the_authority_cannot_occupy_the_cell` | SoFi Amendment S21 (§6.74). On the nodes, a verdict signed by a key the outcome does not name and a genuine verdict made for another cell are each passed over with their reason, and the referee's verdict written after them holds the cell. | +| MR-SOFI-0369 | Met | `dsm::sofi::escrow::VerdictCellRead`; `dsm::sofi::escrow::verdict_completion`; `dsm::sofi::resolve::Verifier::read_verdict_cell` | `dsm::sofi::escrow::tests::a_release_stands_on_the_verdict_the_cell_holds`; `dsm_sdk::handlers::escrow_e2e_tests::a_referee_who_signs_both_outcomes_settles_both_vaults_on_the_first`; `dsm_sdk::handlers::escrow_e2e_tests::a_joint_cancel_and_a_referee_result_cannot_both_settle` | SoFi Amendment S21 (§6.74). On the nodes, a second verdict validly signed for another outcome is written and the cell still holds the first. | +| MR-SOFI-0370 | Met | `dsm::sofi::escrow::gathered_signatures`; `dsm::sofi::escrow::assemble_verdict`; `dsm::sofi::escrow::statement_locator`; `dsm_sdk::sdk::escrow_flow::sign_outcome`; `dsm_sdk::sdk::escrow_flow::adjudicate` | `dsm::sofi::escrow::tests::a_verdict_is_assembled_only_from_the_outcomes_signatures`; `dsm::sofi::publication::tests::a_gathered_verdict_is_found_by_its_statement`; `dsm_sdk::handlers::escrow_e2e_tests::a_joint_cancel_and_a_referee_result_cannot_both_settle` | SoFi Amendment S21 (§6.74). A cancel gathered one player's signature at a time: one player's is no verdict and nothing is written. | +| MR-SOFI-0371 | Met | `dsm::types::operations::Operation`; `dsm::economic::write_set::escrow_creation_write_set` | `dsm::economic::write_set::escrow_create_binding_tests::an_escrow_creation_debits_its_stake_and_inserts_its_record`; `dsm::economic::write_set::escrow_create_binding_tests::a_creation_funding_anything_but_its_stake_is_refused`; `dsm::economic::write_set::escrow_create_binding_tests::terms_other_than_the_ones_all_three_slots_name_are_refused`; `dsm::types::device_state::tests::an_escrow_creation_debits_exactly_its_stake`; `dsm::sofi_v8_operations::sofi_operations_have_distinct_canonical_tags`; `dsm_sdk::handlers::escrow_e2e_tests::the_winner_takes_both_stakes_once` | SoFi Amendment S21 (§6.74). Tag 38; the one debit, the insert-only record, and conservation. | +| MR-SOFI-0372 | Met | `dsm::sofi::lineage::creation_accepted`; `dsm::sofi::lineage::AcceptedVaultGenesis` | `dsm::sofi::lineage::genesis_acceptance::an_escrow_genesis_the_owner_created_is_accepted_with_its_terms`; `dsm::sofi::lineage::genesis_acceptance::an_escrow_genesis_is_refused_for_terms_its_slots_do_not_name`; `dsm::sofi::lineage::genesis_acceptance::an_escrow_genesis_holding_a_second_reserve_or_no_stake_is_refused`; `dsm::sofi::lineage::genesis_acceptance::an_escrow_vault_over_a_token_that_forbids_transfer_is_refused` | SoFi Amendment S21 (§6.74). | +| MR-SOFI-0373 | Met | `dsm::sofi::publication::Publication`; `dsm::sofi::escrow::cell_locator`; `dsm::sofi::resolve::Verifier::vaults_of_cell` | `dsm::sofi::publication::tests::an_escrow_vault_is_found_by_its_verdict_cell`; `dsm_sdk::handlers::escrow_e2e_tests::the_winner_takes_both_stakes_once` | SoFi Amendment S21 (§6.74). `escrow.locked` lists both linked vaults from the cell's index, each accepted and walked to its head. | +| MR-SOFI-0374 | Met | `dsm::sofi::wire::objects::SettlementBody`; `dsm::sofi::wire::objects::RouteDigestPreimage`; `dsm_sdk::sdk::sofi_sdk::draft_release` | `dsm::sofi::validation::tests::a_release_to_its_branchs_recipient_is_valid_and_retires_the_vault`; `dsm_sdk::handlers::escrow_e2e_tests::the_winner_takes_both_stakes_once` | SoFi Amendment S21 (§6.74). | +| MR-SOFI-0375 | Met | `dsm::sofi::validation::retire_vault_post`; `dsm::sofi::validation::vault_post_states`; `dsm::sofi::validation::trader_movements` | `dsm::sofi::validation::tests::a_release_to_its_branchs_recipient_is_valid_and_retires_the_vault`; `dsm::sofi::validation::tests::a_release_of_less_than_the_whole_stake_is_invalid`; `dsm_sdk::handlers::escrow_e2e_tests::the_winner_takes_both_stakes_once` | SoFi Amendment S21 (§6.74). The winner's balance rises by both stakes and its head agrees with its admitted root. | +| MR-SOFI-0376 | Met | `dsm::sofi::validation::validate_release` | `dsm::sofi::validation::tests::a_release_of_a_branch_that_pays_someone_else_is_invalid`; `dsm::sofi::validation::tests::a_release_of_an_outcome_no_branch_has_is_invalid`; `dsm::sofi::validation::tests::a_release_naming_another_verdict_cell_is_invalid`; `dsm::sofi::validation::tests::a_release_of_less_than_the_whole_stake_is_invalid`; `dsm_sdk::handlers::escrow_e2e_tests::the_winner_takes_both_stakes_once` | SoFi Amendment S21 (§6.74). On the nodes, the loser's release of the winner's branch, built past its producer's check, is refused by Core (`NotTheBranchRecipient`). | +| MR-SOFI-0377 | Met | `dsm::sofi::validation::VaultTerms` | `dsm::sofi::validation::tests::the_owner_of_an_escrow_vault_cannot_close_it`; `dsm::sofi::validation::tests::a_swap_through_an_escrow_vault_is_invalid`; `dsm::sofi::validation::tests::a_release_against_a_market_vault_is_invalid`; `dsm_sdk::handlers::escrow_e2e_tests::an_escrow_vault_has_no_market_and_no_owner_close` | SoFi Amendment S21 (§6.74). `sofi.close` and `sofi.trade` against an escrow vault are refused on the nodes; `sofi.vaults` does not list it. | +| MR-SOFI-0378 | Met | `dsm::sofi::resolution::consumed_route`; `dsm::sofi::resolution::VerdictFact` | `dsm::sofi::resolution::tests::a_release_realizes_only_on_the_verdict_final_on_its_outcome`; `dsm_sdk::handlers::escrow_e2e_tests::the_winner_takes_both_stakes_once` | SoFi Amendment S21 (§6.74). | +| MR-SOFI-0379 | Met | `dsm::sofi::resolution::route_impossible`; `dsm::sofi::resolution::ImpossibleArm` | `dsm::sofi::resolution::tests::a_release_that_lost_the_verdict_frees_its_key`; `dsm_sdk::handlers::escrow_e2e_tests::a_referee_who_signs_both_outcomes_settles_both_vaults_on_the_first` | SoFi Amendment S21 (§6.74). On the nodes, the release the cell's verdict lost is skipped and the canonical release takes the vault's next attempt. | +| MR-SOFI-0380 | Met | `dsm::sofi::resolution::resolve_position`; `dsm::sofi::facts::establish_ground` | `dsm::sofi::resolution::tests::a_release_that_lost_the_verdict_frees_its_key`; `dsm_sdk::handlers::escrow_e2e_tests::a_referee_who_signs_both_outcomes_settles_both_vaults_on_the_first` | SoFi Amendment S21 (§6.74). On the nodes, a release built on the outcome the cell does not hold resolves Void and moves nothing. | +| MR-SOFI-0381 | Met | `dsm::sofi::resolution::VerdictFact`; `dsm::sofi::facts::establish_ground` | `dsm_sdk::handlers::escrow_e2e_tests::a_referee_who_signs_both_outcomes_settles_both_vaults_on_the_first`; `dsm_sdk::handlers::escrow_e2e_tests::the_winner_takes_both_stakes_once`; `dsm_sdk::handlers::escrow_e2e_tests::a_joint_cancel_and_a_referee_result_cannot_both_settle` | SoFi Amendment S21 (§6.74). Each linked vault is released by its own position. | +| MR-SOFI-0382 | Met | `dsm::sofi::resolve::Verifier::peer_position`; `dsm::sofi::facts::establish_ground` | `dsm_sdk::handlers::escrow_e2e_tests::a_referee_who_signs_both_outcomes_settles_both_vaults_on_the_first` | SoFi Amendment S21 (§6.74). The winner's release of the loser's vault walks past the loser's void release, another trader's Release position, by its verdict. | +| MR-SOFI-0383 | Met | `dsm_sdk::sdk::escrow_flow::release` | `dsm_sdk::handlers::escrow_e2e_tests::the_winner_takes_both_stakes_once`; `dsm_sdk::handlers::escrow_e2e_tests::a_joint_cancel_and_a_referee_result_cannot_both_settle` | SoFi Amendment S21 (§6.74). A release before any verdict builds nothing; the cancel branch is the way out, contending for the same cell. | +| MR-SOFI-0384 | Met | `dsm_sdk::handlers::escrow_routes`; `dsm_sdk::sdk::escrow_flow::party`; `dsm_sdk::sdk::escrow_flow::create`; `dsm_sdk::sdk::escrow_flow::sign_outcome`; `dsm_sdk::sdk::escrow_flow::adjudicate`; `dsm_sdk::sdk::escrow_flow::verdict`; `dsm_sdk::sdk::escrow_flow::release`; `dsm_sdk::sdk::escrow_flow::locked`; `dsm_sdk::sdk::escrow_flow::own_vaults` | `dsm_sdk::handlers::escrow_e2e_tests::the_winner_takes_both_stakes_once`; `dsm_sdk::handlers::escrow_e2e_tests::a_referee_who_signs_both_outcomes_settles_both_vaults_on_the_first`; `dsm_sdk::handlers::escrow_e2e_tests::a_verdict_outside_the_authority_cannot_occupy_the_cell`; `dsm_sdk::handlers::escrow_e2e_tests::a_joint_cancel_and_a_referee_result_cannot_both_settle`; `dsm_sdk::handlers::escrow_e2e_tests::an_escrow_vault_has_no_market_and_no_owner_close` | SoFi Amendment S21 (§6.74). All eight routes run on the nodes through the router; an `escrow.` method it does not declare is refused. | +| MR-SOFI-0385 | Met | `dsm::sofi::escrow::verdict_cell_of` | `dsm::sofi::escrow::tests::vaults_share_a_cell_exactly_when_they_share_y_and_the_table`; `dsm_sdk::handlers::escrow_e2e_tests::an_escrow_vault_has_no_market_and_no_owner_close` | SoFi Amendment S21 (§6.74). | +| MR-SOFI-0386 | Met | `dsm_sdk::sdk::escrow_flow::create`; `dsm_sdk::sdk::escrow_flow::counterpart_linked` | `dsm_sdk::handlers::escrow_e2e_tests::an_escrow_vault_has_no_market_and_no_owner_close`; `dsm_sdk::handlers::escrow_e2e_tests::the_winner_takes_both_stakes_once` | SoFi Amendment S21 (§6.74). A stake locked against a vault bound to another verdict cell is refused before anything is published or debited. | ### 8.3 dBTC native specification diff --git a/specs/requirements/INTENT_MANIFEST.tsv b/specs/requirements/INTENT_MANIFEST.tsv index 3ef7ec4c7..ade593b9f 100644 --- a/specs/requirements/INTENT_MANIFEST.tsv +++ b/specs/requirements/INTENT_MANIFEST.tsv @@ -475,7 +475,7 @@ MR-SOFI-0303 dsm::economic::token_policy::parse_token_policy_blob android MUST_R 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) 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) 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) -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) +MR-SOFI-0304 dsm::sofi::validation::vault_tokens_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) 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) 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) 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) @@ -486,7 +486,7 @@ MR-SOFI-0310 dsm::core::token::policy::policy_enforcement::enforced_policy andro 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) 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) 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) -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) +MR-SOFI-0311 dsm::sofi::validation::vault_tokens_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) 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) 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) 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) @@ -501,7 +501,7 @@ MR-SOFI-0317 dsm::economic::provenance::verify_genesis_release android MUST_REAC 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) 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) 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) -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) +MR-SOFI-0318 dsm::sofi::validation::vault_tokens_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) 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) 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) 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) diff --git a/specs/requirements/INTENT_PINS.tsv b/specs/requirements/INTENT_PINS.tsv index 0e4f9af18..08b82dcf6 100644 --- a/specs/requirements/INTENT_PINS.tsv +++ b/specs/requirements/INTENT_PINS.tsv @@ -10,638 +10,638 @@ # (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(). RJE8XREEFX0J6767K4YQE1WM0ZRNXRFH85MES9QNNKYYN0WBGYMG XJ29E4XCE5HYW3GZW5ESCCG8VN8R4D3A3ECS57S9KG2BTVZ9KBE0 cfbe96bd945d254a6a345105b7b0d203d70a92ff KNRBKYADF47ZPQ2FEG2F2N4FPEY4RTHH017BBKWFVDQ28NZ6BGY0 -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(). 51R5B0TJGVRGJ54RY195C2D45F71F32RET63C6P0RQDA620JTPCG 363KTBT8Q7ZVAFEKEHZW15969KQ3S87CVNG37WVHS6G4TJMZKT10 cfbe96bd945d254a6a345105b7b0d203d70a92ff K1AN8ERXVKJNM7E3ETHCFW9P1KHZVTSYPZQ9VJFARRKNSJEKKH7G -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(). 9PCYVMDQXYCZEAEMK0BXGP0H182XADXS8D44HGS40R53FBS72X1G 03PDDZ937NANHQ14ZZKP3K4KAEJ02C9SY74DAK5EY1EAABZHSWTG;XB8GTKFHX9S2TDPTVG85TASTE28ZVM6G3PHSBPCN70A4PK3K08JG;HG50YNCDYJM66S8M25EB7A01Q1JEMDJ469SRHABK43TFZ75X3FCG 8017c77e38662dcbc183522cc22d69e8f8597e80 RW01ERDYGES456NWN48A95N6GPMTPDRSP5ZTEDHZSW9AGRTW0GEG -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(). 33QG30Y9F94WCKJF4X74DMVH6JEZBV2XRGPM2H63MZZM58X922EG 03PDDZ937NANHQ14ZZKP3K4KAEJ02C9SY74DAK5EY1EAABZHSWTG;XB8GTKFHX9S2TDPTVG85TASTE28ZVM6G3PHSBPCN70A4PK3K08JG;HG50YNCDYJM66S8M25EB7A01Q1JEMDJ469SRHABK43TFZ75X3FCG 8017c77e38662dcbc183522cc22d69e8f8597e80 WG4J29KFV32KD6T0DMY16V9KW12H0F823ZK6Q8KK6XM4ATCH508G -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(). R487TGDGQ8XFKEZT3XGCARRN100C1B4NT15XGHB86KNZZ47J21A0 03PDDZ937NANHQ14ZZKP3K4KAEJ02C9SY74DAK5EY1EAABZHSWTG;XB8GTKFHX9S2TDPTVG85TASTE28ZVM6G3PHSBPCN70A4PK3K08JG;HG50YNCDYJM66S8M25EB7A01Q1JEMDJ469SRHABK43TFZ75X3FCG 8017c77e38662dcbc183522cc22d69e8f8597e80 NDKDSAZ8996J2W6NABZYZ949W4QYKN06QBFD267NMZ11C8C25KK0 -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(). A33XRYEKHQ2SC5YX6135J4H23G2ZSWGAZEK9CKBBFQ63CQ6KNZQ0 FK919J6833KX8RRHXH9X3V5AXTY7AXRPGKNDG7RTV0YKVYG8YPG0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 43R3Q04GW6B960H1NJA6XGTKCMQ3D8ZESH3WJJK3A1FHGQDSP7E0 -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(). 1NK88V56HHR0VNJ3X2VKZ2EVPKHENWJVV4C4P7AV7VAG0QWVVNEG 5PR5PX7YDXRZRE629GZPMYTR3QTX0J3QEGFPQTV7G6RVBVVRD4F0;HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G cfbe96bd945d254a6a345105b7b0d203d70a92ff ZDGMB0S7HA85W4K4H72JM4DP2Q00JE6Q6BN34068NG28AX2N9WD0 -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(). VZM0105RGDADCJ7G7BKF14TC4PGSTM024YX32XVXDX4PKKJY8J2G 5PR5PX7YDXRZRE629GZPMYTR3QTX0J3QEGFPQTV7G6RVBVVRD4F0;HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G cfbe96bd945d254a6a345105b7b0d203d70a92ff BS1V8AWAR93N6SDEYKZFKN033BAMVT4C70GARBWNK1MQWECD100G -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(). FHV8Q98RVA0T7T1SV66PHNYTM5GJ9YBQ8S19Z3R9DQNC46BPEENG 5PR5PX7YDXRZRE629GZPMYTR3QTX0J3QEGFPQTV7G6RVBVVRD4F0;HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G cfbe96bd945d254a6a345105b7b0d203d70a92ff N7018NCY2JV87J90VKH8F02MPS7E6GXSNN1DQZ6V46X1S7HN1C1G -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(). C8TQAE6T8200B0YKJJETXTSMDQAXRXE81B7P08R0B6DNR3P2QHT0 5PR5PX7YDXRZRE629GZPMYTR3QTX0J3QEGFPQTV7G6RVBVVRD4F0;HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G cfbe96bd945d254a6a345105b7b0d203d70a92ff SC2YRQQGD97QK2A8V3RRHMYKG1FGM6P9ETT3FV98JJP88GGJD1DG -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(). 87RXRF7H04PMG1YAE01Y76GX772YKV65SBDT8ZD80DP3HZ2EYESG 0GBK8QB1R5DX9MC43HDG3GTGCNM5K4QD2GNAEC0HAGGTHDBYK760;329972J1JSP6E5246GE7XFJT4PYG49TZWRHR21ESS1CFBQH7W8FG cfbe96bd945d254a6a345105b7b0d203d70a92ff NVZ34TSSR23300J9R2PZ3F4QAQ0P1VKEGZ00E36A9QZPY64XESNG -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(). 26D8SKMHFQ815FAFAYB234N4NZCQ7C0NZY4KBEJD109801HP8RG0 03PDDZ937NANHQ14ZZKP3K4KAEJ02C9SY74DAK5EY1EAABZHSWTG;JPGQT9R1VX939KQFAMXQ2EG9ZJVVNXPPCKXCQ9YX5Y43HE45QS3G 8017c77e38662dcbc183522cc22d69e8f8597e80 QA5V7BSQZGVE2CBC41SVYNAQWGQ6WASGGS5K1K0MQPCZK760JJMG -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(). 1SYNSVZ6HMQFV7470VN49W4TXZZSSPE371W126ER2EYT9XA9X9ZG 03PDDZ937NANHQ14ZZKP3K4KAEJ02C9SY74DAK5EY1EAABZHSWTG;JPGQT9R1VX939KQFAMXQ2EG9ZJVVNXPPCKXCQ9YX5Y43HE45QS3G 8017c77e38662dcbc183522cc22d69e8f8597e80 813FP4AHE3YK49RXP5SJRFMQFWZPYPKR0E4RRRGVH7AH7Z3XRTFG -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(). FKF7FGDED7ZPPMSGQNDQH7C19VWBE4S9VHERTWT7NCM14KZ7SRSG 03PDDZ937NANHQ14ZZKP3K4KAEJ02C9SY74DAK5EY1EAABZHSWTG;JPGQT9R1VX939KQFAMXQ2EG9ZJVVNXPPCKXCQ9YX5Y43HE45QS3G 8017c77e38662dcbc183522cc22d69e8f8597e80 X8DE39XPW0ZM1PN34ER9BKFT391PBS1F96W69EA0F8MTTV37TGM0 -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 3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;PKCHQB4GTF4R6ZPW11JQXGRJY1XYFZAM5CZVC9X5STWG3EN5BM5G;EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG cfbe96bd945d254a6a345105b7b0d203d70a92ff GHWP3HW5NQZG4ZSYED1XD9VSJGAMD95RC92W8MD6PWG1Q21ZXMKG -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G 3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;PKCHQB4GTF4R6ZPW11JQXGRJY1XYFZAM5CZVC9X5STWG3EN5BM5G;EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG cfbe96bd945d254a6a345105b7b0d203d70a92ff GSRPKTW1JSQ6VHAXMKC3NYKR4EVRG83QAEDXM2Q3MM80EJAVRCQ0 -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(). SATYBSZDKT6742D81JZGHN1F5MEJTGN4F11APQDA8AQ6EKBJA400 D5BT22B2H4G08MED04ZK1E5Q2NX7FH0BA26FT2RY0AX7HDRX85E0;4V6NAZ87C00T7RJKAQ54B66S04080N6ZMVNKWRGNZDNTAT4VYFFG;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;XGT9XGMWDZ17NX1JB2FJAF19H76FPGZ872X6R7EKXNR465JS0BE0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 07D4T2WZJEXWF42KMKH3V114F0NBJDVJXRWCYR9QKPV45NVTPEYG -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(). YCTRYAGTQ92Z746F844NFW6J4WK69PTBSGDKDBJ3HGDCG9KP32A0 D5BT22B2H4G08MED04ZK1E5Q2NX7FH0BA26FT2RY0AX7HDRX85E0;4V6NAZ87C00T7RJKAQ54B66S04080N6ZMVNKWRGNZDNTAT4VYFFG;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;XGT9XGMWDZ17NX1JB2FJAF19H76FPGZ872X6R7EKXNR465JS0BE0 cfbe96bd945d254a6a345105b7b0d203d70a92ff X2787S9XWXQ26TZR3VK57CGRN68A66V76B4V4AVBN8MF8FZ626A0 -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 D5BT22B2H4G08MED04ZK1E5Q2NX7FH0BA26FT2RY0AX7HDRX85E0;4V6NAZ87C00T7RJKAQ54B66S04080N6ZMVNKWRGNZDNTAT4VYFFG;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;XGT9XGMWDZ17NX1JB2FJAF19H76FPGZ872X6R7EKXNR465JS0BE0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 1MHC4ZNZV4EARKQQ77DEN5GYRT7A12NB5GGN69X5SE9T5N6C17NG -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G D5BT22B2H4G08MED04ZK1E5Q2NX7FH0BA26FT2RY0AX7HDRX85E0;4V6NAZ87C00T7RJKAQ54B66S04080N6ZMVNKWRGNZDNTAT4VYFFG;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;XGT9XGMWDZ17NX1JB2FJAF19H76FPGZ872X6R7EKXNR465JS0BE0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 3M9BVX2TGM6XZVKA90DZ96Z9Q36AE416HE7JJVF5WKYY187G8NY0 -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 K2V4BH6H3BCQ1FQAE8C1GEFHZN858W7W6TWDZN7J0912DFVW3BZ0;WJKTH69EMG74XSQ3V0HH7HMJ646K7TSVPP6STJHRBVZS065PFDW0 cfbe96bd945d254a6a345105b7b0d203d70a92ff CP5228M0F7KC8TWZ1XY4XA4R8X65JVC6FQ4MK71Y29AW5X7NVE0G -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G K2V4BH6H3BCQ1FQAE8C1GEFHZN858W7W6TWDZN7J0912DFVW3BZ0;WJKTH69EMG74XSQ3V0HH7HMJ646K7TSVPP6STJHRBVZS065PFDW0 cfbe96bd945d254a6a345105b7b0d203d70a92ff TR933V4KMJ0F8ZPQA9AABDWR47CR10X7YDKTJ79DW91KD7A2MVXG -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(). RJE8XREEFX0J6767K4YQE1WM0ZRNXRFH85MES9QNNKYYN0WBGYMG 18XKKK2D57VRH2SM5V6CPZY42THQ7MAZTGQNJESHC1NJQ6YGVY50 cfbe96bd945d254a6a345105b7b0d203d70a92ff TQTPRDSGE52J7JHJF4AQM9BYJVWT781EVJKTCP76MC70SP5YGAXG -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(). RJE8XREEFX0J6767K4YQE1WM0ZRNXRFH85MES9QNNKYYN0WBGYMG XJ29E4XCE5HYW3GZW5ESCCG8VN8R4D3A3ECS57S9KG2BTVZ9KBE0 cfbe96bd945d254a6a345105b7b0d203d70a92ff KV0AX7FPCD7KKYM4R9EG10WSG50R7EPK9K7WCBZ6X4XKTER4YB70 -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(). 3PEAASMM8FPQ65A2ZYKY4ESGJJK318YR5AGPNPADCMMRZ2EEVZB0 D3XB2BFX11RBRVT5MDXRYCFN6VD74QDE6HJED8JBW8B65B5PQ07G;VKWDPZTCP97SZBZ0RNV8G7HAJSJQ3KNPGD6YA6TZAEAF9RA3A9PG 8017c77e38662dcbc183522cc22d69e8f8597e80 HGJCHP2B121ZR733KAA8S7G7ME8VSCVVD18S1QQZTS05Y63ESPCG -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(). 5GTN5EB3G5TCF1ZFKZ92VQWSPESTQ5C94JSMMP28W344FKPHN1K0 D3XB2BFX11RBRVT5MDXRYCFN6VD74QDE6HJED8JBW8B65B5PQ07G;VKWDPZTCP97SZBZ0RNV8G7HAJSJQ3KNPGD6YA6TZAEAF9RA3A9PG 8017c77e38662dcbc183522cc22d69e8f8597e80 BVMQ2P4E2Z9A98D9TT29F9PYET8NYWXS3443WH91Z57MMPTMJGQ0 -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(). XQRXAA801HK942B0WHKYNHYGMP8Q5ZFC4HPNH8W5NHRPT5B8EE30 D3XB2BFX11RBRVT5MDXRYCFN6VD74QDE6HJED8JBW8B65B5PQ07G;VKWDPZTCP97SZBZ0RNV8G7HAJSJQ3KNPGD6YA6TZAEAF9RA3A9PG 8017c77e38662dcbc183522cc22d69e8f8597e80 85JXBDBQAJAG1WQJ3CEX8KSGCKSYMVST0CN6R28WMMF3ZHVVA7ZG -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(). DNP9ZKS0X3AMAWXR3N8ZC7TQ5DW5R60F3F1AKW53B7W7Z759ACHG D3XB2BFX11RBRVT5MDXRYCFN6VD74QDE6HJED8JBW8B65B5PQ07G;VKWDPZTCP97SZBZ0RNV8G7HAJSJQ3KNPGD6YA6TZAEAF9RA3A9PG 8017c77e38662dcbc183522cc22d69e8f8597e80 7XDYJJ4CQ9HJZX5ZJ3YA30VTZQ9Q54MFF8T39TSA0R457784CMW0 -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(). P6FFFJ7934BD98JE9G1P2FDPRVAMXGHZB11RXZXS6V9287EMYBG0 D3XB2BFX11RBRVT5MDXRYCFN6VD74QDE6HJED8JBW8B65B5PQ07G;VKWDPZTCP97SZBZ0RNV8G7HAJSJQ3KNPGD6YA6TZAEAF9RA3A9PG 8017c77e38662dcbc183522cc22d69e8f8597e80 6GTJBWM7EM9XZ67448581CQFKX6E0VXPCY5D09Q31M8RBYAZ0Y30 -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(). 5GTN5EB3G5TCF1ZFKZ92VQWSPESTQ5C94JSMMP28W344FKPHN1K0 D3XB2BFX11RBRVT5MDXRYCFN6VD74QDE6HJED8JBW8B65B5PQ07G;VKWDPZTCP97SZBZ0RNV8G7HAJSJQ3KNPGD6YA6TZAEAF9RA3A9PG 8017c77e38662dcbc183522cc22d69e8f8597e80 HJ0CSMYADXQW5XA3RPX8HBH5FHDHVQ514X2KYV8DJSQA07YJZCBG -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(). YGWF1MRPZYHKX9HXMPR16Q9309Y9GKRXABJ2JYRMBWZZPPD7HXAG 662CZQ8SB29TQ3KXAEW306P0DEENKC7ZRXVYW2PNGWH4XR80S0AG;BEDZW0Q0JZVVSQ4TEWTBKQHMC9DFHEW3933BHD1NXNWD21NZAG10;D5BT22B2H4G08MED04ZK1E5Q2NX7FH0BA26FT2RY0AX7HDRX85E0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 3DW9PCAX9XREBANWAQ7P8654WVAXMFHEK33SXB816G4B21AE6440 -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(). SATYBSZDKT6742D81JZGHN1F5MEJTGN4F11APQDA8AQ6EKBJA400 662CZQ8SB29TQ3KXAEW306P0DEENKC7ZRXVYW2PNGWH4XR80S0AG;BEDZW0Q0JZVVSQ4TEWTBKQHMC9DFHEW3933BHD1NXNWD21NZAG10;D5BT22B2H4G08MED04ZK1E5Q2NX7FH0BA26FT2RY0AX7HDRX85E0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 2P7RDWFPZNFQ6VEFQF5D73CX2G7KD2ZC3ZTKRFHC1H6QN1JR60TG -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(). 8Y850DT9ZZ7170P9C6TE7Z4XXWVXYGHTJDV4BNSVVFQ3NP9TF7Y0 5ZT6CWZY6357JAQEKDSR90SEKNGXNKC69ZSQJHR0A0D297GECYYG cfbe96bd945d254a6a345105b7b0d203d70a92ff 3CFKTPDPAJ1JXJX9YSWS2N4F6EEAV15RJ18R14822SZZ14YTGT30 -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 5ZT6CWZY6357JAQEKDSR90SEKNGXNKC69ZSQJHR0A0D297GECYYG cfbe96bd945d254a6a345105b7b0d203d70a92ff YMXWJ1PV6PC1D7H87NR5ARS4SCMR4DQWEZVAVFQQFASS9JNFGVPG -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(). PM4Z541ZKM3GM72CQ5WYWKHJ4ZEQF8QNFYB43TY873TX6XRKXH2G GS25N0C4K9BD8YSAZERFGG1VZ2Z7E468TMVBDGFNBSF7P7DK94W0 cfbe96bd945d254a6a345105b7b0d203d70a92ff JMXC81VJV5D07K4MFRGYWSDGEFCJD6CAJ2RW2MHN45HXAEE93HE0 -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(). NXPVBP3WJNSJNKDT6K4DTB4P6XYXPN68E8GA90FXJXEVP4RKHQA0 ZRS08D0NPGXDTMYG4411C16Z0Z8VQ37ZCADER6YCT3P0G7YGDPPG cfbe96bd945d254a6a345105b7b0d203d70a92ff 0ERXWM7VYHKCMG47QW9EX741GF1DF70TMQWN28BV5JMAY3507Z50 -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(). 27HMQBMNPH835CKY9Q0N7GMJVN1MDYARFPSCPS7QSDMGPVWBRDFG TV10PK6D266JE87BVFXDC8SD9K1H2BA4ERNMAEJ21RC2DPWTKY70;EF811YN3V31DJ1ASKRTWE54KGDEJBENSRCB84S6J9W8ENM8PB9VG;2DC01R5NE8N78RFRN67H929TQBMTKGPY1JA80KCKW98F80VPQAXG cfbe96bd945d254a6a345105b7b0d203d70a92ff HPM95658NT9CAHVE8EMSSCTF6VZH7168RM84BZCTCQJ8CMBR8A50 -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(). 9ZMFH1X5PFWANGMGXDWFHQ5TG3WZZWBKNWAK50TJ5V4ESGBVK4P0 TV10PK6D266JE87BVFXDC8SD9K1H2BA4ERNMAEJ21RC2DPWTKY70;EF811YN3V31DJ1ASKRTWE54KGDEJBENSRCB84S6J9W8ENM8PB9VG;2DC01R5NE8N78RFRN67H929TQBMTKGPY1JA80KCKW98F80VPQAXG cfbe96bd945d254a6a345105b7b0d203d70a92ff NCHFW1GSJM9VQWQA56PBYC60RX43CPMB8KSRKB4KVY2C6Y3MKRJG -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 TV10PK6D266JE87BVFXDC8SD9K1H2BA4ERNMAEJ21RC2DPWTKY70;EF811YN3V31DJ1ASKRTWE54KGDEJBENSRCB84S6J9W8ENM8PB9VG;2DC01R5NE8N78RFRN67H929TQBMTKGPY1JA80KCKW98F80VPQAXG cfbe96bd945d254a6a345105b7b0d203d70a92ff 7XP2KJGFPMP41DS5MZXVMXWW877X59Q1W81ZMF39VBE3Q18PGJN0 -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(). PM4Z541ZKM3GM72CQ5WYWKHJ4ZEQF8QNFYB43TY873TX6XRKXH2G GY755BVNNWM8X5N9WWQRFKWYW09XG3YBFEEZXSFYPBY0QEVHDXJ0;RESGHYZ2JX2HGSXWEDJJV6QNWCKFXYQJJCR2S8F5CGWPYGWCFZQG;EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG cfbe96bd945d254a6a345105b7b0d203d70a92ff FFTTC7X9NX290W7AG77GTM0405R0QT91W3F7FGEK3E9GB3Z57R2G -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(). NXPVBP3WJNSJNKDT6K4DTB4P6XYXPN68E8GA90FXJXEVP4RKHQA0 GY755BVNNWM8X5N9WWQRFKWYW09XG3YBFEEZXSFYPBY0QEVHDXJ0;RESGHYZ2JX2HGSXWEDJJV6QNWCKFXYQJJCR2S8F5CGWPYGWCFZQG;EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG cfbe96bd945d254a6a345105b7b0d203d70a92ff V3EA3391KSK5N2VY8PRZE2JFMQJEGH5Y8SFQASR6Q8YZH05YSTC0 -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(). RC5QH672PR2K3SST94MB2WDEAHZ7XM7PRWJ8YZ358H9KN906CGVG MDK717HBDQGQFSMMA5F9BR2G3FBQ74A1B4MPQXDFAS7J9QQ1Z4Z0;F0D92TYHM8F8J7M5B7NK19GD2DHMRRQAFWN29KC2SCT6FXZXAPPG cfbe96bd945d254a6a345105b7b0d203d70a92ff HQ20G4D530ENK95SMB24SM7CNG7GW1YSXQRG90C08M45X4DSRHVG -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(). QR8XGEBJKJJVDTWDK3W4XE38WJYPXNXDP2N1XX12ZPJ7ZA4QCSZ0 MDK717HBDQGQFSMMA5F9BR2G3FBQ74A1B4MPQXDFAS7J9QQ1Z4Z0;F0D92TYHM8F8J7M5B7NK19GD2DHMRRQAFWN29KC2SCT6FXZXAPPG cfbe96bd945d254a6a345105b7b0d203d70a92ff MXFF43Q1K6HV5VA9N9XRC5DG07705V4V9MG9T9J67J20Y3WYPVB0 -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(). QR8XGEBJKJJVDTWDK3W4XE38WJYPXNXDP2N1XX12ZPJ7ZA4QCSZ0 F0D92TYHM8F8J7M5B7NK19GD2DHMRRQAFWN29KC2SCT6FXZXAPPG;MDK717HBDQGQFSMMA5F9BR2G3FBQ74A1B4MPQXDFAS7J9QQ1Z4Z0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 8PSWG0QE5J3B96X7SY6EQEC1V64TDNWXP2T7QQ3F3QER1Q7XDKW0 -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 SJYW2PXJ89VS2JQEE9786Z8Q46F095S2PZ1T4F99W3C1AFG291NG;0PPC2TSXBG0AFSJFA4Z7GFHPYWDGDPZCVSRBBYF0S76FAJRDGQWG;30PEW22CWGM7CYTQ4GYQSV49FN5W7MEE00S8838YCAHD8DQMZJFG cfbe96bd945d254a6a345105b7b0d203d70a92ff T3NVCHDEQBRT2Z208VCYVGMBW05VCX7A9NH4W3RVD7YVGAR0AMRG -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(). 1NK88V56HHR0VNJ3X2VKZ2EVPKHENWJVV4C4P7AV7VAG0QWVVNEG 5PR5PX7YDXRZRE629GZPMYTR3QTX0J3QEGFPQTV7G6RVBVVRD4F0;T33BX0FNQN4XXH6BG7721652VKB1S63DQ66RQVEHAWFAZAN5XHVG;HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G cfbe96bd945d254a6a345105b7b0d203d70a92ff FN82ANB085T2PWWS6YAB6SDX0C31XPN924EEZFRFHYY9Z3NN0QGG -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(). VZM0105RGDADCJ7G7BKF14TC4PGSTM024YX32XVXDX4PKKJY8J2G 5PR5PX7YDXRZRE629GZPMYTR3QTX0J3QEGFPQTV7G6RVBVVRD4F0;T33BX0FNQN4XXH6BG7721652VKB1S63DQ66RQVEHAWFAZAN5XHVG;HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G cfbe96bd945d254a6a345105b7b0d203d70a92ff KJKG1FSPBNTBHVM02063ETQASJS51147T76QF0NRKXH8X9A4NFN0 -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(). FHV8Q98RVA0T7T1SV66PHNYTM5GJ9YBQ8S19Z3R9DQNC46BPEENG 5PR5PX7YDXRZRE629GZPMYTR3QTX0J3QEGFPQTV7G6RVBVVRD4F0;T33BX0FNQN4XXH6BG7721652VKB1S63DQ66RQVEHAWFAZAN5XHVG;HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G cfbe96bd945d254a6a345105b7b0d203d70a92ff 2M62EY3T86CYWQ7RYYSKD03PNWC0K412YRSR2T101XM1EW0144FG -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(). C8TQAE6T8200B0YKJJETXTSMDQAXRXE81B7P08R0B6DNR3P2QHT0 5PR5PX7YDXRZRE629GZPMYTR3QTX0J3QEGFPQTV7G6RVBVVRD4F0;T33BX0FNQN4XXH6BG7721652VKB1S63DQ66RQVEHAWFAZAN5XHVG;HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G cfbe96bd945d254a6a345105b7b0d203d70a92ff RBWXA2CN78Y2M6AC1XPWT6Z44BQ5CRPX8A6TWZ48NFWKRHKWP07G -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(). RGE5RWRXCTY35GGK6Y66FNEAJQA4AZ14QRNR6XKQHBXT96VS06T0 5PR5PX7YDXRZRE629GZPMYTR3QTX0J3QEGFPQTV7G6RVBVVRD4F0;T33BX0FNQN4XXH6BG7721652VKB1S63DQ66RQVEHAWFAZAN5XHVG;HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G cfbe96bd945d254a6a345105b7b0d203d70a92ff 0D7C1F8Z0NG09M77DCTNS7TZ2666NVSC55D474FYYBDXGR5GPR8G -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(). 04PNPCVD7DVHM25A8YEKSEMSHAE5CFJ7N05HYYTHCNHVT3Q9HDA0 NJNR2X2K192ZB6MDGM6GSP6D1CQZ183RBHQC8SF4X5VB317A3QYG;JPGQT9R1VX939KQFAMXQ2EG9ZJVVNXPPCKXCQ9YX5Y43HE45QS3G 8017c77e38662dcbc183522cc22d69e8f8597e80 MYBSRGHNYMRNYRTAJF8EGBS6YSYD3TZF8D8TMFA1QQMMHK45BEMG -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(). 1SYNSVZ6HMQFV7470VN49W4TXZZSSPE371W126ER2EYT9XA9X9ZG NJNR2X2K192ZB6MDGM6GSP6D1CQZ183RBHQC8SF4X5VB317A3QYG;JPGQT9R1VX939KQFAMXQ2EG9ZJVVNXPPCKXCQ9YX5Y43HE45QS3G 8017c77e38662dcbc183522cc22d69e8f8597e80 G8AH7HXRAZPZ5PWRKDWF58Z35YS4597BH2DD4MQ559JTCWANV53G -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(). FKF7FGDED7ZPPMSGQNDQH7C19VWBE4S9VHERTWT7NCM14KZ7SRSG NJNR2X2K192ZB6MDGM6GSP6D1CQZ183RBHQC8SF4X5VB317A3QYG;JPGQT9R1VX939KQFAMXQ2EG9ZJVVNXPPCKXCQ9YX5Y43HE45QS3G 8017c77e38662dcbc183522cc22d69e8f8597e80 WNBQBWJRWK7A9AMSQJEZ8ZZWR0VZ1W6WF02F27AQNX7PHD9TV360 -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(). PM4Z541ZKM3GM72CQ5WYWKHJ4ZEQF8QNFYB43TY873TX6XRKXH2G EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG;K3PN6P27MVD4E253NE1XRQ992QBES5K3GZ158SFQHX06XN2H3VWG cfbe96bd945d254a6a345105b7b0d203d70a92ff RH0TCSB31KZ0350MC60893228549GAFGZK7JDRW1E3Q6EYWPCJTG -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 3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;PKCHQB4GTF4R6ZPW11JQXGRJY1XYFZAM5CZVC9X5STWG3EN5BM5G;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;9J6DVGC2HVWZR2P7RV3KDJ9SFZJKP8PX188HFSVCCQ46YJY8CK5G cfbe96bd945d254a6a345105b7b0d203d70a92ff 1VFHR1CNXVJBGEHNYW7AVTG3WPRDP4PWM83TEG8JXQ5TW2FNCG60 -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G 3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;PKCHQB4GTF4R6ZPW11JQXGRJY1XYFZAM5CZVC9X5STWG3EN5BM5G;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;9J6DVGC2HVWZR2P7RV3KDJ9SFZJKP8PX188HFSVCCQ46YJY8CK5G cfbe96bd945d254a6a345105b7b0d203d70a92ff KWEVEBH54C226SAMVNW12608ZW975VDW0RK0T666VC0CRVY9HWN0 -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 3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G;EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG cfbe96bd945d254a6a345105b7b0d203d70a92ff 3RA0MJQZ784Y6MVFHMMP4GNDBDRAZF6AEB09QZ8Q78A4426F1XZ0 -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G 3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G;EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG cfbe96bd945d254a6a345105b7b0d203d70a92ff ZGCXEYSCCZP53TEN23EABH94V0719Y5EGREXNCVPBARE1PJNH6T0 -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 X0MDYAT9M2CNH7GRSD2Y9X3JSHJZPV5PF3TX0WE98DP9A3WCTM60 cfbe96bd945d254a6a345105b7b0d203d70a92ff MWANA6JQ7SZDMFZE2KFN7F0Y5EQKW6KTV270TP3CPX5F96G230VG -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 X0MDYAT9M2CNH7GRSD2Y9X3JSHJZPV5PF3TX0WE98DP9A3WCTM60 cfbe96bd945d254a6a345105b7b0d203d70a92ff CCJ1V27DKBV5X669RSYF8XN5BEAS9Y21KM4KF1VV24PRF71B1C2G -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(). S01E3SJZZ7E5G5GS5ZB1DBMWW2EHC7CR2MDT905BVP5RXKK9DRA0 YMFF3CPP392D1RMNKRECQ9KT220ZYECV1SV30KNBM8HTXG8PQNVG;HJFE6XM9N2CY2QZV3DY4D8SJ7A7VEP1V5749AHSX64VFCBWQ3VJ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff VZX6QSKT68659WV283TDNQSCJ9ENQA851BAXJZM6R65SW7J21AAG -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(). NXPVBP3WJNSJNKDT6K4DTB4P6XYXPN68E8GA90FXJXEVP4RKHQA0 ZRS08D0NPGXDTMYG4411C16Z0Z8VQ37ZCADER6YCT3P0G7YGDPPG;23EPNQMFNSBE87D5TB8B35NSJ8XS15EZ3GHANKC7X3Y97GSS8QQ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff HK3ZTS1TK9CZBTXREWDA8R2XDNEJZFDSA3ZTFW4J8EKW7DXCEJC0 -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(). RC5QH672PR2K3SST94MB2WDEAHZ7XM7PRWJ8YZ358H9KN906CGVG ZRS08D0NPGXDTMYG4411C16Z0Z8VQ37ZCADER6YCT3P0G7YGDPPG;23EPNQMFNSBE87D5TB8B35NSJ8XS15EZ3GHANKC7X3Y97GSS8QQ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 5A73ZNAVXTY8PFNX8TX6HMRGN03CBC2BNSHDRGJ72HY20YZYW8WG -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 87DWJV1XNM3CDNKGTQ5J7WDDJTB95SCF0R2C8FHFXH2WN8MXZ2H0;0M6YTC5MBAGYZ4G7ZBHSEWN70SCRFHXNH6TK7JFR8P3NCVTT5P2G cfbe96bd945d254a6a345105b7b0d203d70a92ff SH813H7JYQNCMBDRT13H2V5D4N8BQ3WB1WBCY013ES6FPNCAF490 -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(). PMR9WEYX9A4RYEZAW1P5TXNQRM8VWDVXHS5S8D2K1A8C3EPGBGPG WJ4HNG5TP459KMRR8HN0KMB3YG3986Q7CRJR173MBAC749G1AVD0 cfbe96bd945d254a6a345105b7b0d203d70a92ff N3VQ1B3KW2S4143Z722G7DZ6DKJ6Z2XC5HSMXFEKPBS6BKB3G25G -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(). PMR9WEYX9A4RYEZAW1P5TXNQRM8VWDVXHS5S8D2K1A8C3EPGBGPG XYRWR8W5GMTN3S6GQENSMBTAZJMMGJBQJJ65WPQPAJNDEWH8WDB0;B4N4KPK6M91RQJWH017XN3639H85A9CA64Q8A5Z81HE77NNPKEFG cfbe96bd945d254a6a345105b7b0d203d70a92ff FX4GJDKH5G6RB9B54ESM6YBJ291N7MVHRHRJW4PKMXRX07Q4MSW0 -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(). 3JQGDAY336ACK6YP5S7SFYM05SNRX87AC5F2FZDBMCNCPWQYF7C0 XYRWR8W5GMTN3S6GQENSMBTAZJMMGJBQJJ65WPQPAJNDEWH8WDB0;B4N4KPK6M91RQJWH017XN3639H85A9CA64Q8A5Z81HE77NNPKEFG cfbe96bd945d254a6a345105b7b0d203d70a92ff VW7GSBTY6NB8XHEZ29ZAJ3YRT3MVHKKTZZGGTQTPWYZMBQAYWZJ0 -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(). 8Y850DT9ZZ7170P9C6TE7Z4XXWVXYGHTJDV4BNSVVFQ3NP9TF7Y0 D7TB9D9XYXE0J8H912KGNRR0TGNYJ34YT6RZT72H62Z90YZC6W40 cfbe96bd945d254a6a345105b7b0d203d70a92ff 94KNPTAKWKSHYFRBXTRCG4EJJ75W759B9R12NH2T8XX3N2XX29F0 -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 YMFF3CPP392D1RMNKRECQ9KT220ZYECV1SV30KNBM8HTXG8PQNVG;5TB56VYKNFKH567DP4XR3P8DN4DGH4HR71GRCHDP74WYTAJNXVCG cfbe96bd945d254a6a345105b7b0d203d70a92ff W9GPMFKEM8111K4QEENZK608TG8QG3EKTJB6YQFB9GE9RF0W8ASG -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(). Q1A8K257K6AC5E6GBY7HW3W58JX817FNFB5K5FN0S5J0TSP3GV60 YMFF3CPP392D1RMNKRECQ9KT220ZYECV1SV30KNBM8HTXG8PQNVG;5TB56VYKNFKH567DP4XR3P8DN4DGH4HR71GRCHDP74WYTAJNXVCG cfbe96bd945d254a6a345105b7b0d203d70a92ff 11ZK2Z0W2WJQ6VBMXBSRXWG8SX36HC071HBMZRBHPF545VT8HSYG -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 X67QJQEQVY1NBZ1E9J50EAS1KDKNKGVFFBY80P5GTPJ1HKPKDP10;PS11Z1J2AS5F7NGGCG64DH3CE16VWF3PWMGAVXAGK5GMYZS6V3M0;Q5FYB2E8Y8Y0YMHH05BK5HP7S85MKGK3MD2DRR5CZVAVTSHQTJJ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff C83GQ5N1PE79HC04M4YXNRHYFRSDYKXK5TEG990HE2DY5RASR030 -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(). 8Y850DT9ZZ7170P9C6TE7Z4XXWVXYGHTJDV4BNSVVFQ3NP9TF7Y0 X67QJQEQVY1NBZ1E9J50EAS1KDKNKGVFFBY80P5GTPJ1HKPKDP10;PS11Z1J2AS5F7NGGCG64DH3CE16VWF3PWMGAVXAGK5GMYZS6V3M0;Q5FYB2E8Y8Y0YMHH05BK5HP7S85MKGK3MD2DRR5CZVAVTSHQTJJ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff H7X5RMG2YAHSD7NW37DVTPDRPG8GBEGKWD0JPMKWW6G1EKK0ZRTG -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(). 2XV0SJGGHNBEATZWFBZ7CJE0M70VSQ89YB0EPRE7GJPZCDFJ9AZ0 QFN72QV70GPT4TF3MPW30RG8Y78QWXHZZGT1QM1MMCGDXM68N5DG;ECKDKW930NGWCD8SCK691T8BWZQWJBZC4Y7N4GNAR8FKS79RV8J0;P6XBBHWJ778R1PRR5YF66AY9QKFRDDTVNKQH8GKR5EG6GCCWP8J0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 7HB5JNJK6J7KJCJ274Z3HD0PX21VJDATTQBJ7SJWQ56B3NEVAE80 -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(). 4SZ0TK96VA7RJYXG807J512W0VXX4J740RP72V5MS20FBE5V7K3G QFN72QV70GPT4TF3MPW30RG8Y78QWXHZZGT1QM1MMCGDXM68N5DG;ECKDKW930NGWCD8SCK691T8BWZQWJBZC4Y7N4GNAR8FKS79RV8J0;P6XBBHWJ778R1PRR5YF66AY9QKFRDDTVNKQH8GKR5EG6GCCWP8J0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 8YB8GNFKE5W9C82526W9VHGP9YGTA3JCQXNSAE77CR20HTG8RRH0 -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 0VBR5GR9AGMMB56R7MVA33P0T1J16HW6FXX185HPJN09PF73H7B0 cfbe96bd945d254a6a345105b7b0d203d70a92ff FVV7YHF4F65KJ30TMBC2DJX2CBZJ715CDANDY7JKP55MNJ5S5KRG -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(). 2XV0SJGGHNBEATZWFBZ7CJE0M70VSQ89YB0EPRE7GJPZCDFJ9AZ0 QFN72QV70GPT4TF3MPW30RG8Y78QWXHZZGT1QM1MMCGDXM68N5DG;ECKDKW930NGWCD8SCK691T8BWZQWJBZC4Y7N4GNAR8FKS79RV8J0 cfbe96bd945d254a6a345105b7b0d203d70a92ff VRA2EJ04D0GBB8EMDBA441J8KH17NJNBCVB178K4XVQ446F10PBG -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(). 4SZ0TK96VA7RJYXG807J512W0VXX4J740RP72V5MS20FBE5V7K3G QFN72QV70GPT4TF3MPW30RG8Y78QWXHZZGT1QM1MMCGDXM68N5DG;ECKDKW930NGWCD8SCK691T8BWZQWJBZC4Y7N4GNAR8FKS79RV8J0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 1B0EETE5B34VK647632SCCQWN6ACBHF9Z0KTGKTFRZ1AKZQ27CD0 -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 HZRNAB2QXBQBE3NEJGSQHX3PY82BYXRBQHGT3K4WRS1ZK4J6J56G cfbe96bd945d254a6a345105b7b0d203d70a92ff D4388YVR5CA87NDH69FNAS4RWRT3QSST8K3P12D0E89GGC308KD0 -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(). 4SZ0TK96VA7RJYXG807J512W0VXX4J740RP72V5MS20FBE5V7K3G WJ4HNG5TP459KMRR8HN0KMB3YG3986Q7CRJR173MBAC749G1AVD0;39CVM29RDMYDZ823X0MZJQXK0YRA92MYN5DN35ZKEZSV9Q7Q68Z0;RMVSNT3E7AA7MN36GDTJN7FYWGWMD114QQ9AQV5XY3MGVHZ1RQ50 cfbe96bd945d254a6a345105b7b0d203d70a92ff 0P81XRP9BEXBVB07NWHZ7V4XXQH7PGS5XWGMM5BPSDTQZ6F507NG -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(). CR9D1QP0QG02EBFPM3R3S06G44BCZPR6AQK3JZB4R38HF75Y8JS0 WJ4HNG5TP459KMRR8HN0KMB3YG3986Q7CRJR173MBAC749G1AVD0;39CVM29RDMYDZ823X0MZJQXK0YRA92MYN5DN35ZKEZSV9Q7Q68Z0;RMVSNT3E7AA7MN36GDTJN7FYWGWMD114QQ9AQV5XY3MGVHZ1RQ50 cfbe96bd945d254a6a345105b7b0d203d70a92ff TBRGRVC0RABG95P4QZFR9WWKH2XFJK4PCZ0HWCNG7XH4P5M41F1G -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(). GE9Z9EW136N5GZ6J58A8FQ71WCYR5QXF3HXK3NCSVW75X33KH8N0 WJ4HNG5TP459KMRR8HN0KMB3YG3986Q7CRJR173MBAC749G1AVD0;39CVM29RDMYDZ823X0MZJQXK0YRA92MYN5DN35ZKEZSV9Q7Q68Z0;RMVSNT3E7AA7MN36GDTJN7FYWGWMD114QQ9AQV5XY3MGVHZ1RQ50 cfbe96bd945d254a6a345105b7b0d203d70a92ff 1TSTTZWPCNH0VB5NNY09SCP46KEVD08MSB9DWTBQK5Y1SD8V5B80 -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(). 8RRKVMH9E2CTY0FX9YJJ0NMNTEM1RA1ZPJGHX0RHC2C6F995J85G - cfbe96bd945d254a6a345105b7b0d203d70a92ff N4A7TGFZRJEV3QZSQF47EBXX7MFZS9ZYW3JH8BW1VF878706HY80 -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(). CG03TZP1ARHGT15FRBP6N96FHEFR6XHW8Y1WVGGBKB4H0DDMNJH0 TKEYMPG8NAAV1QAZ2R43ASGHMRQVA59DVQ1ZC0K9EVH0489NCF50 cfbe96bd945d254a6a345105b7b0d203d70a92ff C3YFT4KE5TBJDXMP1180B3749C755RDDW4VTJNRPW0S223QPA86G -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(). DDP9AGT8HGCP793BCF5S9HYRBWGVGEEW0KGFS84DM34P4ZV8XAWG TKEYMPG8NAAV1QAZ2R43ASGHMRQVA59DVQ1ZC0K9EVH0489NCF50 cfbe96bd945d254a6a345105b7b0d203d70a92ff PZW3DNZ0HN45YG2WF83857HX8VZTGB0PJK8CRR1QDZJ4Z546JVEG -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# 5CV16WSG9NSTFGBNZC4V3NYZ77YXF0WP0QFQ39SSMVDE0V0N1FHG - cfbe96bd945d254a6a345105b7b0d203d70a92ff EN92XJ4286WM91ARTW9SBJSMNAMAGW10Z883EF9F0QXP6Z6XR37G -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(). NXED42NNQNS7F7XA9Z1EPFRJQRJDAFWHB4W99FY1M3NTNPK2RPF0 - cfbe96bd945d254a6a345105b7b0d203d70a92ff JPTZGXX30NRY3VEMKXT58G9P17EDZNE1V46JWG90ZB1431Y6DQF0 -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(). RMSW6BRB2A3ARRRTX69AX41DMQY31HBQREKA1A56QFH0EJXHXF70 G224Y8FEKW2PRW3YXK9MMWCFMHSCAB9QH1XHHNSRK8BRWMY7ZBKG;H4N6RAPJHJYZYZ6BEK8VCGCP2S3EX475ZY99REHEY26QCXF67MQG;DP0X44NXH08V4PNST064D82DQ6ES4AZ6QT6G6CDK8CGNQTF7JK7G cfbe96bd945d254a6a345105b7b0d203d70a92ff EP6CQ0DFKDVWW9C7P59PKAQ6VBXF7P54P4RAD2SWDEFEABCDFXYG -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(). G4MKKB2RXKRVVZCV8F12ZAE66MXM082R4CD06C8W57ZSH4XKXQE0 G224Y8FEKW2PRW3YXK9MMWCFMHSCAB9QH1XHHNSRK8BRWMY7ZBKG;H4N6RAPJHJYZYZ6BEK8VCGCP2S3EX475ZY99REHEY26QCXF67MQG;DP0X44NXH08V4PNST064D82DQ6ES4AZ6QT6G6CDK8CGNQTF7JK7G cfbe96bd945d254a6a345105b7b0d203d70a92ff 0C34BHD2Z0EQKVCN084YAT8GTKCRVKHH6AX5PDA8RWGCN5TKKGE0 -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(). NKW399XRDPPC69NVMF8BKS95ZFE5EYJQN0Y8TZFN11RTNY80BDWG G224Y8FEKW2PRW3YXK9MMWCFMHSCAB9QH1XHHNSRK8BRWMY7ZBKG;H4N6RAPJHJYZYZ6BEK8VCGCP2S3EX475ZY99REHEY26QCXF67MQG;DP0X44NXH08V4PNST064D82DQ6ES4AZ6QT6G6CDK8CGNQTF7JK7G cfbe96bd945d254a6a345105b7b0d203d70a92ff 8SBK9SWNHVDZ2F835T7C9Z8D59XQYK9GJXXG85YEPEBT6SGBZ9XG -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(). DA7T691MQKBV125ZP95VFS5D53WYAGMZGYE8HGHA41P1M2NRZX60 9A2GDFPPY78CCX1GBZ4DKYKDKZ05Q9SYEMVNFEFEDQ5C5213JNF0;ECQ0J54F7ZFF63N2T6KKS2311WC1Q4KR0JV4HKM12YPVZVXZQW8G;T1SKZ9AZ2G42CW934J3TZFP5XY2MPNCWAM18PWFTPJ9C3EYQEH3G;AK61K7A30E4HA3EHB165F6M282HJW53DRCSHZPP9F5PFD57B1RWG;CA33PYZCY8EF18DAS64JCVM15WJYX608C7T2A5Z23SBA0VE57SHG;G47AZME042SCS0FSEA8HT1NPQC41KF30PGWTDD1MFJFKB8X7MG4G cfbe96bd945d254a6a345105b7b0d203d70a92ff 0EC6QZACNZRYVS15NXWNP693C7NP81PZ9YHSZDAAC16KAR8XXA00 -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(). 34T8SXCD3AHQ5RFQ1E5R7BSHDANGBCE9HAMM1G1MR3XE3X6S6FR0 9A2GDFPPY78CCX1GBZ4DKYKDKZ05Q9SYEMVNFEFEDQ5C5213JNF0;ECQ0J54F7ZFF63N2T6KKS2311WC1Q4KR0JV4HKM12YPVZVXZQW8G;T1SKZ9AZ2G42CW934J3TZFP5XY2MPNCWAM18PWFTPJ9C3EYQEH3G;AK61K7A30E4HA3EHB165F6M282HJW53DRCSHZPP9F5PFD57B1RWG;CA33PYZCY8EF18DAS64JCVM15WJYX608C7T2A5Z23SBA0VE57SHG;G47AZME042SCS0FSEA8HT1NPQC41KF30PGWTDD1MFJFKB8X7MG4G cfbe96bd945d254a6a345105b7b0d203d70a92ff E5C2JCP2F13FPMXQGCA8NBP4TA8BDJ9S04D2GHYK97Y5XJEF0S1G -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(). HDH1YWCGVRNVS2FGY3ZDVV19M5V32M9749HSW56XEY872DJ4AN20 9A2GDFPPY78CCX1GBZ4DKYKDKZ05Q9SYEMVNFEFEDQ5C5213JNF0;ECQ0J54F7ZFF63N2T6KKS2311WC1Q4KR0JV4HKM12YPVZVXZQW8G;T1SKZ9AZ2G42CW934J3TZFP5XY2MPNCWAM18PWFTPJ9C3EYQEH3G;AK61K7A30E4HA3EHB165F6M282HJW53DRCSHZPP9F5PFD57B1RWG;CA33PYZCY8EF18DAS64JCVM15WJYX608C7T2A5Z23SBA0VE57SHG;G47AZME042SCS0FSEA8HT1NPQC41KF30PGWTDD1MFJFKB8X7MG4G cfbe96bd945d254a6a345105b7b0d203d70a92ff F0XHW92FZHEM90S5BK8NVMHMWT8KHG4K8NMFHYCAKHSYQCRPRVQG -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(). RJE8XREEFX0J6767K4YQE1WM0ZRNXRFH85MES9QNNKYYN0WBGYMG X0MDYAT9M2CNH7GRSD2Y9X3JSHJZPV5PF3TX0WE98DP9A3WCTM60;18XKKK2D57VRH2SM5V6CPZY42THQ7MAZTGQNJESHC1NJQ6YGVY50;0GBK8QB1R5DX9MC43HDG3GTGCNM5K4QD2GNAEC0HAGGTHDBYK760 cfbe96bd945d254a6a345105b7b0d203d70a92ff 4T3PXF9VYKEFJK1CVYZJ5P7WG2R8PP4M3MHDEQHT604EEQ7P5MYG -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 X0MDYAT9M2CNH7GRSD2Y9X3JSHJZPV5PF3TX0WE98DP9A3WCTM60;18XKKK2D57VRH2SM5V6CPZY42THQ7MAZTGQNJESHC1NJQ6YGVY50;0GBK8QB1R5DX9MC43HDG3GTGCNM5K4QD2GNAEC0HAGGTHDBYK760 cfbe96bd945d254a6a345105b7b0d203d70a92ff 7GZ1RKYW8V60KMT74M0AFZV6B9RY29J2XE0RWYYA77R7CCQ89B50 -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(). YKHESS94HT5QWBW2N8DQ16J6V5VF1VMGRZ0P4QBDTC8JDE8WEVS0 X0MDYAT9M2CNH7GRSD2Y9X3JSHJZPV5PF3TX0WE98DP9A3WCTM60;18XKKK2D57VRH2SM5V6CPZY42THQ7MAZTGQNJESHC1NJQ6YGVY50;0GBK8QB1R5DX9MC43HDG3GTGCNM5K4QD2GNAEC0HAGGTHDBYK760 cfbe96bd945d254a6a345105b7b0d203d70a92ff JXCV4RES8MQE8BNHJPT787T11WYADSFVJJCMZ4BBF223ZQ94XXQG -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# 3EP5594KSE3806DV6VF17B1GKE16NPEZ6QHDSFF7VYKFM0Y4VHK0 - cfbe96bd945d254a6a345105b7b0d203d70a92ff HSX4ZEGAX0XWSDVYAT4MXPMPDG5DC4TQCNY6NKH9ZA9M7VKNNJSG -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(). KNPJKGGGP96K0A3K44NDAMEHESEN1AFBHBJMF4X8YK207BK3QSKG BVXCGC5TS1NTPFP01KGGAXCMG0AX664NXA8RSC16T8B912TX60X0;KGSS4GNR4BA2C3C33F4N7APZ37GX7Q8TQY864Z9Z5G775RT807RG;4FWM7X2JAE61XF21F9XFM4KTN3V83T5ZXHT2156PBY6RTE3MS5NG;C2C5B0XBZ0WV02GNJJCT0JCVACKGQBJR74C7K1AZ4SWX4CSXA2BG cfbe96bd945d254a6a345105b7b0d203d70a92ff 7PZ2X7Z657P00QSE1X3M3Z0D406HKHPMV13RJ6TCBGVQZDDCBF90 -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(). 0B0EEGEAMJ13VH6G73KJNX5E1D69HXRRMCD2SSS9VP448WP62X5G BVXCGC5TS1NTPFP01KGGAXCMG0AX664NXA8RSC16T8B912TX60X0;KGSS4GNR4BA2C3C33F4N7APZ37GX7Q8TQY864Z9Z5G775RT807RG;4FWM7X2JAE61XF21F9XFM4KTN3V83T5ZXHT2156PBY6RTE3MS5NG;C2C5B0XBZ0WV02GNJJCT0JCVACKGQBJR74C7K1AZ4SWX4CSXA2BG cfbe96bd945d254a6a345105b7b0d203d70a92ff DWVJS4RS4Y5PC1MZJJ7GNHNTYXK1682QVJTCC85VCBGH92T2XKRG -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(). 4SZ0TK96VA7RJYXG807J512W0VXX4J740RP72V5MS20FBE5V7K3G P6XBBHWJ778R1PRR5YF66AY9QKFRDDTVNKQH8GKR5EG6GCCWP8J0 cfbe96bd945d254a6a345105b7b0d203d70a92ff AG28X4NBV77ZRVADQG34WREG4QNT3HZTAPWY72ZAAVJT2X8VMPRG -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(). Q67NRRDYQEJM9RZ77Y7ZT1VC0KVVZNPHWAFA8AJRTW01HHRJMJZG P6XBBHWJ778R1PRR5YF66AY9QKFRDDTVNKQH8GKR5EG6GCCWP8J0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 1AZN4483D2M0CQB8XP9KHY4GM54MS7J51TW0159WYY0SQG9N1DJG -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(). 3BE4Q1ET6PMHCNGYCSN79J461X7SC18RS0BF5RM9QRSEKHCD31G0 P6XBBHWJ778R1PRR5YF66AY9QKFRDDTVNKQH8GKR5EG6GCCWP8J0 cfbe96bd945d254a6a345105b7b0d203d70a92ff P0555JGSXMHFZVFF1DFNH12709NNMN2GJZ1WQDPQ3MXDVMCFJA40 -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(). GHE08130S6Y1JFGC4B7R7RM3TDHEJXPE24AAG4DBE53X2PVK9J60 X85G3MGE4P2BSP1QQ8SDHPNKTZY1NX5NGEFN8CV4EX1VF8C8M440;XA3CG97W6S8W0741X8F4H8KC162F0Y86ANSBN3Q7JMD3RQDAJSZG cfbe96bd945d254a6a345105b7b0d203d70a92ff AAXFHN1MVMW8ME89QQF0WSFR6PGY2K9XBZ9342PJWYZ7HR9FVRRG -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(). JP8YV0GD2H9EPGDPH5D7RY33Y850Y2Y95RJ3ZKKE3ND1014GBC80 X85G3MGE4P2BSP1QQ8SDHPNKTZY1NX5NGEFN8CV4EX1VF8C8M440;XA3CG97W6S8W0741X8F4H8KC162F0Y86ANSBN3Q7JMD3RQDAJSZG cfbe96bd945d254a6a345105b7b0d203d70a92ff CZJTEDP87X6SSF2XH9ZZ0DJDH63H678GAFV4TTYRERRRZ7WC3TT0 -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(). GHE08130S6Y1JFGC4B7R7RM3TDHEJXPE24AAG4DBE53X2PVK9J60 F7WJC6X1MP1E8CHEQF1CSHGD8MJRY32REMMVFFTD60MPHBB79TX0;C4H8G47AZQAK0SPKNVEMPHS857FGMWDAW8X059C4QT2JAG9XWV4G;V3TMRXRHEXZATSH9NZV012BHDP01MM88BSDY5V5DH8NAEMZRD6DG;CA33PYZCY8EF18DAS64JCVM15WJYX608C7T2A5Z23SBA0VE57SHG cfbe96bd945d254a6a345105b7b0d203d70a92ff CPJZBXRGY3XWYBE4P9KJBW9M4E2NMQG46DCMBBMCSAEN2WEEJMF0 -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(). SE9RRSPG7BYVE8JWT4JZTEDA9T1SNZJBJGM5F1NGWCMFSW6NFV40 F7WJC6X1MP1E8CHEQF1CSHGD8MJRY32REMMVFFTD60MPHBB79TX0;C4H8G47AZQAK0SPKNVEMPHS857FGMWDAW8X059C4QT2JAG9XWV4G;V3TMRXRHEXZATSH9NZV012BHDP01MM88BSDY5V5DH8NAEMZRD6DG;CA33PYZCY8EF18DAS64JCVM15WJYX608C7T2A5Z23SBA0VE57SHG cfbe96bd945d254a6a345105b7b0d203d70a92ff W8FMV90X9ATBD1S37ZYXT7X5QP9RZXHTR22PVBNC9PYEY82T4D6G -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(). HDH1YWCGVRNVS2FGY3ZDVV19M5V32M9749HSW56XEY872DJ4AN20 F7WJC6X1MP1E8CHEQF1CSHGD8MJRY32REMMVFFTD60MPHBB79TX0;C4H8G47AZQAK0SPKNVEMPHS857FGMWDAW8X059C4QT2JAG9XWV4G;V3TMRXRHEXZATSH9NZV012BHDP01MM88BSDY5V5DH8NAEMZRD6DG;CA33PYZCY8EF18DAS64JCVM15WJYX608C7T2A5Z23SBA0VE57SHG cfbe96bd945d254a6a345105b7b0d203d70a92ff CXF3D7B8BWS2FPXBSCP8E066T3C40KVWCFHPMSHSK3HY4D0MAGDG -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(). VZM0105RGDADCJ7G7BKF14TC4PGSTM024YX32XVXDX4PKKJY8J2G 1SK7G1W3WQ4A45BF2Q1TD2TYS8H68SX55B7WR8KNCMNEJ0TM11Y0;T33BX0FNQN4XXH6BG7721652VKB1S63DQ66RQVEHAWFAZAN5XHVG cfbe96bd945d254a6a345105b7b0d203d70a92ff 9Z4AH6E0PW1829EGG54X4HDB8PPVDXD30DPK03619D8RK570HPB0 -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(). FHV8Q98RVA0T7T1SV66PHNYTM5GJ9YBQ8S19Z3R9DQNC46BPEENG 1SK7G1W3WQ4A45BF2Q1TD2TYS8H68SX55B7WR8KNCMNEJ0TM11Y0;T33BX0FNQN4XXH6BG7721652VKB1S63DQ66RQVEHAWFAZAN5XHVG cfbe96bd945d254a6a345105b7b0d203d70a92ff 12WSDD4TJE09MESWWETH7TAR09Y8NTSVFFZBTBH4996D0A86F020 -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(). 93ZRFR57W4C2QJ2V49GV3XTMRGZK3T2TF0HT888JKR9T1DJQJ9N0 C8K7AYR8S9XNSJ8T3WEVRZCYG90XG1QQ5090243TVDG08FDCJZDG;D5D0CYVQ3MTJMS7ZH9PCW1SWWDG5QBVDZR4RQZR9JK2H9XXQFV5G;Y8EPRC62044S3K9XB3219C0NECCA0X3S67BBF78Y13KSYKMBE3VG;S2FBQTBC6MMC3J7TYTDVQHWVXM8YWPTZX6KD8GDR7S6TW5BCRNBG 8017c77e38662dcbc183522cc22d69e8f8597e80 PC8H0KSSCJG1GF9X81FZPS9GYF0YFN53F9WY6CBTHZ2TX051PK90 -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G 3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;B7TKQGMJ2KDA186ZPHG1QRGD0RZDEBA1BYNBYDYGMEXW12W6GYRG;RSRXPZXYGFNFQACFNP60W4M7GVB38KAFEK5FAPTS2Y378M2JQQJG;Y8EPRC62044S3K9XB3219C0NECCA0X3S67BBF78Y13KSYKMBE3VG;S2FBQTBC6MMC3J7TYTDVQHWVXM8YWPTZX6KD8GDR7S6TW5BCRNBG 8017c77e38662dcbc183522cc22d69e8f8597e80 KVDKR2K3XCFY3SR368G46W4EBSQDKTXJXGKYXG58RWB6819PZYK0 -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(). QYKBXBDCDARJDGQGJ2AD1T4NMCHPNA05GB6HFPPKS7WRBAEWW1W0 3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;B7TKQGMJ2KDA186ZPHG1QRGD0RZDEBA1BYNBYDYGMEXW12W6GYRG;RSRXPZXYGFNFQACFNP60W4M7GVB38KAFEK5FAPTS2Y378M2JQQJG;Y8EPRC62044S3K9XB3219C0NECCA0X3S67BBF78Y13KSYKMBE3VG;S2FBQTBC6MMC3J7TYTDVQHWVXM8YWPTZX6KD8GDR7S6TW5BCRNBG 8017c77e38662dcbc183522cc22d69e8f8597e80 R56VH6PG0MDKHSBZP1H21AVCCYQ6F76C8DJS5GG05BQ0S58AGA40 -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(). ZC171NY8DFKJ1NC0BQV18RSK1YNEN13ZB3KYCTDXX4DDFMK75T9G 73P9HQQZVCSTYCKBHH2AKMK6GJJA7T9M3JZFR8KYXBP6J3YAD920 cfbe96bd945d254a6a345105b7b0d203d70a92ff SSMPZZPXNWTNEJXX4P68DQQP7BCCN88WSKFTDXBHSVZABHKJYBFG -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(). RGE5RWRXCTY35GGK6Y66FNEAJQA4AZ14QRNR6XKQHBXT96VS06T0 T33BX0FNQN4XXH6BG7721652VKB1S63DQ66RQVEHAWFAZAN5XHVG cfbe96bd945d254a6a345105b7b0d203d70a92ff T7HF7CEJMNM921PTK8812FDH7FKH3R16GYT4GMPH2HN41F8A8M4G -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 T33BX0FNQN4XXH6BG7721652VKB1S63DQ66RQVEHAWFAZAN5XHVG cfbe96bd945d254a6a345105b7b0d203d70a92ff ZAS3G1ZFT3Y91852QYGZ4DMAJBD48Q64Z24XJ7H4AQZWEPVJ9GJ0 -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 5P0BA2NFDDJ1F77B4NBN4DPR0QWCZPYMC2Q41X1ZA44A1V73ZYG0 cfbe96bd945d254a6a345105b7b0d203d70a92ff MP7JHJMZPSV3ETJHTAX1H7GEC4PP8FC51MVF7EA4P2HSVK7JCGN0 -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 CA33PYZCY8EF18DAS64JCVM15WJYX608C7T2A5Z23SBA0VE57SHG;QZWJ4W4MB7AGRAK9PVS0WW63PWEE5BKXN5Y79D8JPVEKSTBJQ0JG cfbe96bd945d254a6a345105b7b0d203d70a92ff F1J438HWJA3XMB9EFM61MR255N3M5FWVXYEDAF6F447B98ZEFSM0 -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(). 1C7Q488470BEWBKHJ6CTZP1RV4S8VQBCJ9FMHEHA6MN8W5WNEMB0 CA33PYZCY8EF18DAS64JCVM15WJYX608C7T2A5Z23SBA0VE57SHG;QZWJ4W4MB7AGRAK9PVS0WW63PWEE5BKXN5Y79D8JPVEKSTBJQ0JG cfbe96bd945d254a6a345105b7b0d203d70a92ff 6AMYB712N10H88600D8S1A6KC7Y9HDKQBZ7E0757XCPG1W0W1630 -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(). FJ8QZSXGS3JDA560FCEZY76C9D0V8YB0NKZ51WVFFP8AQWD1MBKG - cfbe96bd945d254a6a345105b7b0d203d70a92ff 21DE8MK6BX6ZFVXXHF5GMJA7FHJYE7K3DX4DPJZ17PSQV7GM6JB0 -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(). CV6RVQ1P3306PSCB0TK5FC9S0HZ6NDG7HRF1M6MYB79Z9WGBC2B0 - cfbe96bd945d254a6a345105b7b0d203d70a92ff ZC5ET47JMS6SS66PCXW9CR5JEF6XJDGPZ6J32CFAFN7JEV3KR6Q0 -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(). 0B0EEGEAMJ13VH6G73KJNX5E1D69HXRRMCD2SSS9VP448WP62X5G BFC9VBXJAJS4RCA6WMZ0EHS99CEXY8DXF0AN7F3XRXVAFPEXHADG;11RW552H3TPPDY3CGZNDNWCKT9PDBJ6JSTQRNEZ8RHRSZ4RZ9JY0;EW7MEH7CNGGZH90JJCPA45W7NM326Z9F896P281YKAXCR7TZ0VQ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff RA8KDAD3WGK5G522W3NPZ44F3GR6EM893T8CDFN9Y7YQ7WXA3530 -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(). SE9RRSPG7BYVE8JWT4JZTEDA9T1SNZJBJGM5F1NGWCMFSW6NFV40 BFC9VBXJAJS4RCA6WMZ0EHS99CEXY8DXF0AN7F3XRXVAFPEXHADG;11RW552H3TPPDY3CGZNDNWCKT9PDBJ6JSTQRNEZ8RHRSZ4RZ9JY0;EW7MEH7CNGGZH90JJCPA45W7NM326Z9F896P281YKAXCR7TZ0VQ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff C5Q2W2B5XRXK39GSWNGJQXFNZZTVBDH0VB70SXXWD98ZR3S0BMMG -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(). 9EPPY3VA3XJDZ3H6M8R0K1KY2EBVRZ40DNGG4J374FJVCVKAYB5G BFC9VBXJAJS4RCA6WMZ0EHS99CEXY8DXF0AN7F3XRXVAFPEXHADG;11RW552H3TPPDY3CGZNDNWCKT9PDBJ6JSTQRNEZ8RHRSZ4RZ9JY0;EW7MEH7CNGGZH90JJCPA45W7NM326Z9F896P281YKAXCR7TZ0VQ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 327XPP7XWFKQ1E7PW1JXXJ7YQH5GCSF6EJ8Y8MZAVK5NBSTKBE8G -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(). YGWF1MRPZYHKX9HXMPR16Q9309Y9GKRXABJ2JYRMBWZZPPD7HXAG P282STG6S404BCZWGQJMZW6QDXXYDFR1QGXCR4RX7K80VAWHG9SG;BEDZW0Q0JZVVSQ4TEWTBKQHMC9DFHEW3933BHD1NXNWD21NZAG10;FK919J6833KX8RRHXH9X3V5AXTY7AXRPGKNDG7RTV0YKVYG8YPG0 8017c77e38662dcbc183522cc22d69e8f8597e80 1RCGFCR6N1H92H033ZG745R50DSVN8V06GVTW9PJDQZ6YX6X39D0 -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(). SATYBSZDKT6742D81JZGHN1F5MEJTGN4F11APQDA8AQ6EKBJA400 P282STG6S404BCZWGQJMZW6QDXXYDFR1QGXCR4RX7K80VAWHG9SG;BEDZW0Q0JZVVSQ4TEWTBKQHMC9DFHEW3933BHD1NXNWD21NZAG10;FK919J6833KX8RRHXH9X3V5AXTY7AXRPGKNDG7RTV0YKVYG8YPG0 8017c77e38662dcbc183522cc22d69e8f8597e80 PT68NE8T60H3TDCR0B5BT8S6938J3E4N0VMNMF9NVS66JHPXSE7G -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(). 28Y2M1NF5FK31ESW2RW5RMMSFAHWM2NXP7JA2GGBSGB3XNNFM52G P282STG6S404BCZWGQJMZW6QDXXYDFR1QGXCR4RX7K80VAWHG9SG;BEDZW0Q0JZVVSQ4TEWTBKQHMC9DFHEW3933BHD1NXNWD21NZAG10;FK919J6833KX8RRHXH9X3V5AXTY7AXRPGKNDG7RTV0YKVYG8YPG0 8017c77e38662dcbc183522cc22d69e8f8597e80 VBWDZ3ZJM50WF9APB2STGCX3FWYVRA48T50CQEBPC73M5EJZR6AG -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(). 4SZ0TK96VA7RJYXG807J512W0VXX4J740RP72V5MS20FBE5V7K3G - cfbe96bd945d254a6a345105b7b0d203d70a92ff 35QZ3J0PWZY4YTPF27DW74XE0FKQG3XZKZ2GBVDRWARHDHGCKNJG +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(). 4DVNXEFJNHWEY5EKS01J300W5705BBR4F96ZD9Q70Z0DPSWS4QTG 4R2HAGGQEHFMHB5M57JZX4BZBWJ4XY163HGVTFSSHT6ZZ2Z4K3RG ce886f76a5e286da655c719bad2a55cc72f93d86 3ZE27M0ZTC6PWM005T4ZNBBNJ8R32TRBJ07BHEW523DAVP7CQD70 +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(). 4JGAFMM28XRDMS9Z33Z1S6PD64SZRKM2G83BCTEP1TZSXB7N05BG 7V8Y5XJEPWF1KFQT0GEX9XC44EDC6X052SQYKZ6RS1GQ63S0AHNG ce886f76a5e286da655c719bad2a55cc72f93d86 PK8XPC21XM4A3BCNEQ7MBCQK9YSCC55CE9N8C6KXQJEHVM6E1E70 +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(). Y0Z4C01VG5D48JVCTAWZ0AHRJBBADST9SV6H72CDY5QP4YBX5Q2G DTARNG0EP7K7SYMRX9DP2JK0J3XNP9R53F325E2AZB2KKY3HG4S0;G8ZE5PTNKN2HJEWMPN2HY5GXMPX9E8M7D18423T2CVJJ2185TMZG;6BYG6HV1EX1MX24R0ME1BHMS44KW4B4HVRKNCWS9Y1XZZ731K6F0 ce886f76a5e286da655c719bad2a55cc72f93d86 MBXA31YE431C1ZF5GKX8B9GTCD4C3ZXNE69329F3AZA13Q19QTM0 +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(). XN3JBA8399GNT36T12Y46XP9T45TBBN6M89170MDVSBC174V0D50 DTARNG0EP7K7SYMRX9DP2JK0J3XNP9R53F325E2AZB2KKY3HG4S0;G8ZE5PTNKN2HJEWMPN2HY5GXMPX9E8M7D18423T2CVJJ2185TMZG;6BYG6HV1EX1MX24R0ME1BHMS44KW4B4HVRKNCWS9Y1XZZ731K6F0 ce886f76a5e286da655c719bad2a55cc72f93d86 M9JVKCF5TSGKG4J65VHH0278TYE0W6K6TC63GEKSGXGRM12QVHY0 +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(). CGY6NDGVDM7JQ9XPVZDV97XX2ZVHYYDMH1Z59K4575NQV0YBET60 DTARNG0EP7K7SYMRX9DP2JK0J3XNP9R53F325E2AZB2KKY3HG4S0;G8ZE5PTNKN2HJEWMPN2HY5GXMPX9E8M7D18423T2CVJJ2185TMZG;6BYG6HV1EX1MX24R0ME1BHMS44KW4B4HVRKNCWS9Y1XZZ731K6F0 ce886f76a5e286da655c719bad2a55cc72f93d86 BX52ZZ0TZ2R9B5NDAW5089TE1V7299XA4JWH9DZ03REB243402C0 +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(). 4F9KD7074VBQP00H00CW5WX80848H99JFKHV907BRYC5VNT9TPY0 TF2K8Z1BTBV7A2KR6SAJAGJ0JYVXAA6MGYXSJF6VCH34XYH75N8G ce886f76a5e286da655c719bad2a55cc72f93d86 D0T2ENA2C761HDMD9K6CTDDA8701B47SCC0MM9TZQX00SYRGJ300 +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(). 9NSDFGX624FNANE0ZJ75EN9QCPQ38RS2244MGZYD2Z0VHZ0SMEHG AFG2FF4MK26N5KXZFQ42BGG2YZJ531WC6Y0ZF62TEJXHSC2TK4GG;6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG ce886f76a5e286da655c719bad2a55cc72f93d86 DYKGQVD5WDHP4XMPXQ15RADMB5WGFZA1ZFVBS512RCKZ51EBQ3NG +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(). F36VFJY5RWY39R0QB7QZBA7A9YM34HYD9WAW88S1KT67GZG5EWW0 AFG2FF4MK26N5KXZFQ42BGG2YZJ531WC6Y0ZF62TEJXHSC2TK4GG;6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG ce886f76a5e286da655c719bad2a55cc72f93d86 KPME1EZY6Y8FK9M9FFKY2XCDHSSVY15SFJ65Y6XH02J0NAD6SVZ0 +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(). 871BH4QQEPK0JFFS4JJJYKMAYC3ZMX3B97HC21SCDTFHJDY05DD0 AFG2FF4MK26N5KXZFQ42BGG2YZJ531WC6Y0ZF62TEJXHSC2TK4GG;6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG ce886f76a5e286da655c719bad2a55cc72f93d86 AA1A0BV358YBKTH8SHX31VFDXKH48RVMVV929SQ8FYVFYQSPT5M0 +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(). 50GJRED89534S6JFK3JDEGR76N8D7EKPD6TNVXY8PG2JSN6V5VX0 AFG2FF4MK26N5KXZFQ42BGG2YZJ531WC6Y0ZF62TEJXHSC2TK4GG;6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG ce886f76a5e286da655c719bad2a55cc72f93d86 KJ0WYJJYK85AH0QNSN519AQX9Y9MF1K9N0612H6BSJ53WT08QQZG +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(). DKCBRMD1YGC4XBDKS88NHY8NJKTVSFZ2TGPJZ3NK5NJ9QS9G0PS0 QH5N1E5F8HGEVPCW9JP19CCF2BYGJJMG3YV1X38RM3GWC8P3KAB0;DK8KSY2KE384622KN25N9VHE6M5ET3AGRSBW88P0CTQ212APFR00 ce886f76a5e286da655c719bad2a55cc72f93d86 81310QAPSVZ326CN6GW7JCB96M8WK9PFV6G3GK1DW41B1WP55SD0 +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(). 688TM20N1FNJNNA4MP8ZH6S4WPMXA71VQNJ0NEYCP9Z57YC3KQ1G DTARNG0EP7K7SYMRX9DP2JK0J3XNP9R53F325E2AZB2KKY3HG4S0;JYB4EK09BHGKAAE0AXQSXTWGT95ABJM71WHRZCY7HAYHH0MVX880 ce886f76a5e286da655c719bad2a55cc72f93d86 QVCDX0XV105DRP7S0HPJMM7JDWJCAZRGAKHFGFFKTBP36PMK20XG +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(). 4K6EBC6BV8T61G7APKGMK7MTGSWG6JCFX43996ZES4P1ECGFN4N0 DTARNG0EP7K7SYMRX9DP2JK0J3XNP9R53F325E2AZB2KKY3HG4S0;JYB4EK09BHGKAAE0AXQSXTWGT95ABJM71WHRZCY7HAYHH0MVX880 ce886f76a5e286da655c719bad2a55cc72f93d86 95WKPDFXSX3YW3M7TKMQH44T3NSGE71FVCJT1A67905K1H8X9QT0 +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(). GFFNKE2MG1EJT9HXZETEJAFH7JFHH78WDSXFM3X8EGCXY1XZPHM0 DTARNG0EP7K7SYMRX9DP2JK0J3XNP9R53F325E2AZB2KKY3HG4S0;JYB4EK09BHGKAAE0AXQSXTWGT95ABJM71WHRZCY7HAYHH0MVX880 ce886f76a5e286da655c719bad2a55cc72f93d86 W1F6CD48SK76XDKSZMGWCPRH73FS48SXTWXHPPNFW4D5058C0D70 +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 MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;BKZP3YJCAC955K1475K57MCZVP9C89EG7E8XNGK16HDT742D3A2G;EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG ce886f76a5e286da655c719bad2a55cc72f93d86 GHS5VM9WRSTB6B7089VYKVSMCZSH6D8GYAYKJBRVYJMA2SZTHG10 +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;BKZP3YJCAC955K1475K57MCZVP9C89EG7E8XNGK16HDT742D3A2G;EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG ce886f76a5e286da655c719bad2a55cc72f93d86 NFK22P3J9N7XYD2FHNEATES2VJ9A4R41HZ4CSR2BRSTR5Y74HR60 +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(). FWS4R2NE4VR75C9K0CT0BTHYGS0V6HAA3M3E67NKVMXJACSF50Z0 2T7T6PXVZ9KW34DAREAG19S1JQ5C59CF8Y140B6SBAKH0CYGE8J0;AWV4Y6TXTQ9N2Y4FMEF91VXRJ19K7523T007KGFBTEV8XW9YRGPG;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;VARDQ7MEH1ZCF06P1SVJFWTN0FMX5XYWW5SY6NQZDPVP24YEHB0G ce886f76a5e286da655c719bad2a55cc72f93d86 VCYDA08JHDXZER8SQ07V9AT7TVNC4J4VRJJN4MNS8HYE4BCME0R0 +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(). PVDQ5BHTPJ6M56XTK461QEECZC0103D7DXNHT3D955F9V0W5RGV0 2T7T6PXVZ9KW34DAREAG19S1JQ5C59CF8Y140B6SBAKH0CYGE8J0;AWV4Y6TXTQ9N2Y4FMEF91VXRJ19K7523T007KGFBTEV8XW9YRGPG;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;VARDQ7MEH1ZCF06P1SVJFWTN0FMX5XYWW5SY6NQZDPVP24YEHB0G ce886f76a5e286da655c719bad2a55cc72f93d86 GVB6NPTHX2276MNJ1PA1K6H420YQVW46PQ1WGZ12HKSB8XH9MAJG +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 2T7T6PXVZ9KW34DAREAG19S1JQ5C59CF8Y140B6SBAKH0CYGE8J0;AWV4Y6TXTQ9N2Y4FMEF91VXRJ19K7523T007KGFBTEV8XW9YRGPG;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;VARDQ7MEH1ZCF06P1SVJFWTN0FMX5XYWW5SY6NQZDPVP24YEHB0G ce886f76a5e286da655c719bad2a55cc72f93d86 3HCD33BK8AG8237V5649547A0277Q1EQV0WA0A19H6JE79C3KWJG +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG 2T7T6PXVZ9KW34DAREAG19S1JQ5C59CF8Y140B6SBAKH0CYGE8J0;AWV4Y6TXTQ9N2Y4FMEF91VXRJ19K7523T007KGFBTEV8XW9YRGPG;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;VARDQ7MEH1ZCF06P1SVJFWTN0FMX5XYWW5SY6NQZDPVP24YEHB0G ce886f76a5e286da655c719bad2a55cc72f93d86 HV7MVBWA6NA35QPJB7RS88WP2S1X29EACFZYMEZ9R4GRWJDZEYT0 +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 TSXF7CZBCWBQFJJ02HGGXJM1933DFD1BAJGAMM0MN7041J2J2M4G;KZ4MZ5096GNCS67ST3Q6V9WHWD8SPJ777RMVZ81GAFDMKEYSXR20 ce886f76a5e286da655c719bad2a55cc72f93d86 ZVTYRX76ZEDNG4QD7SQC8Y3AE8J4ZF13E12QM7D6NVKVD0AWE7V0 +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG TSXF7CZBCWBQFJJ02HGGXJM1933DFD1BAJGAMM0MN7041J2J2M4G;KZ4MZ5096GNCS67ST3Q6V9WHWD8SPJ777RMVZ81GAFDMKEYSXR20 ce886f76a5e286da655c719bad2a55cc72f93d86 N1JDBXFBQYDMC7KW2AVHWB25DV1KN9TGTWP299R48V5T7WHTDB4G +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(). 4DVNXEFJNHWEY5EKS01J300W5705BBR4F96ZD9Q70Z0DPSWS4QTG 6VMEH3X2KVN5SRMRWQFY1PD72RDWJP06GJDSTAEFFRAJ66EX9WB0 ce886f76a5e286da655c719bad2a55cc72f93d86 Z52KHW7FPDVQNAEVJT5R4T4A9SGDASD8H7XQ8ZABX98FR9ZN7W3G +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(). 4DVNXEFJNHWEY5EKS01J300W5705BBR4F96ZD9Q70Z0DPSWS4QTG 4R2HAGGQEHFMHB5M57JZX4BZBWJ4XY163HGVTFSSHT6ZZ2Z4K3RG ce886f76a5e286da655c719bad2a55cc72f93d86 029MT2KK3QWKPV1KE61MBSG1NM0NZ69NZT0KQ1DWT3QNT673DBR0 +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(). 1XZ7HR3R05RVKB28R8HK87TG4WASMDQY4CJKWYCC0JV9BZ26MXDG T2JBBCMZHB699V90MJPMHXB7CP7M4JA2NDWYG99NW2CYP6D1DG5G;PY8ZYSZ8M7CWRYBGMZ4PSMWQDG9VGQBV9MZ0SRH3ZBT73CJKAJ50 ce886f76a5e286da655c719bad2a55cc72f93d86 NFB8TZA38GESVNV68XNCE9HSE7YN9QWN6EBPKFAT5K1RJ9FWEEE0 +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(). 66J2WNDKCXY4FRZTE4VQA9RJZTB90K41ZYQD54C15C5Q1BY74YS0 T2JBBCMZHB699V90MJPMHXB7CP7M4JA2NDWYG99NW2CYP6D1DG5G;PY8ZYSZ8M7CWRYBGMZ4PSMWQDG9VGQBV9MZ0SRH3ZBT73CJKAJ50 ce886f76a5e286da655c719bad2a55cc72f93d86 Z57E8V0AP236JPRC02D7KAPP5GTDD53QEPFFN8PQKGRP1QAMPZEG +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(). GT0HP038RJDA7ASDYQ6RQSP33QN5PGNYEQ4CAX4DY85W5H9KTPQG T2JBBCMZHB699V90MJPMHXB7CP7M4JA2NDWYG99NW2CYP6D1DG5G;PY8ZYSZ8M7CWRYBGMZ4PSMWQDG9VGQBV9MZ0SRH3ZBT73CJKAJ50 ce886f76a5e286da655c719bad2a55cc72f93d86 1SX7FTAP9TQTXQJ84HYGDVS810PD1J3CZYGWZYEC4KG1RDRNF980 +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(). DNP9ZKS0X3AMAWXR3N8ZC7TQ5DW5R60F3F1AKW53B7W7Z759ACHG T2JBBCMZHB699V90MJPMHXB7CP7M4JA2NDWYG99NW2CYP6D1DG5G;PY8ZYSZ8M7CWRYBGMZ4PSMWQDG9VGQBV9MZ0SRH3ZBT73CJKAJ50 ce886f76a5e286da655c719bad2a55cc72f93d86 GDRT0TXNC2ZABQ99EXTWTQ59QQG72ZEMJVHSJK8EPJEP426JB4JG +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(). P8AMJDGKNA2CXQM4ASM4HH0BB3AE22TRXP7P1ZKMMBD6DKTGSKPG T2JBBCMZHB699V90MJPMHXB7CP7M4JA2NDWYG99NW2CYP6D1DG5G;PY8ZYSZ8M7CWRYBGMZ4PSMWQDG9VGQBV9MZ0SRH3ZBT73CJKAJ50 ce886f76a5e286da655c719bad2a55cc72f93d86 QVN314KJMP6YYQ9YJDBEXG0ET9QPNCY5PK2AXGZYH6MP2DYVSHF0 +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(). 66J2WNDKCXY4FRZTE4VQA9RJZTB90K41ZYQD54C15C5Q1BY74YS0 T2JBBCMZHB699V90MJPMHXB7CP7M4JA2NDWYG99NW2CYP6D1DG5G;PY8ZYSZ8M7CWRYBGMZ4PSMWQDG9VGQBV9MZ0SRH3ZBT73CJKAJ50 ce886f76a5e286da655c719bad2a55cc72f93d86 2MNDZCSJ0GQMYFAASW6EC4EK6PG0CC7RET18R01Z1EAPGKB0TCYG +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(). YE6TD0N6D7MJKRD4PDSKXT26SKPY5ZVTFHXK0TECXPHN1B5N9V30 FA3RJCNYHFD0B7KG4A7VFEVXGT1ERN597JH8CEX9EQ5XN48VPFF0;B7ZTENWB08G74BTKG7K3KKCQ0J98BYBXCYNVNABFTFKJ5CWMJ800;2T7T6PXVZ9KW34DAREAG19S1JQ5C59CF8Y140B6SBAKH0CYGE8J0 ce886f76a5e286da655c719bad2a55cc72f93d86 3FZFVWQPY1AT4WCDPFS9MKE56ZE14H7RE9XJ0A4G6V1AXTG7XFWG +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(). FWS4R2NE4VR75C9K0CT0BTHYGS0V6HAA3M3E67NKVMXJACSF50Z0 FA3RJCNYHFD0B7KG4A7VFEVXGT1ERN597JH8CEX9EQ5XN48VPFF0;B7ZTENWB08G74BTKG7K3KKCQ0J98BYBXCYNVNABFTFKJ5CWMJ800;2T7T6PXVZ9KW34DAREAG19S1JQ5C59CF8Y140B6SBAKH0CYGE8J0 ce886f76a5e286da655c719bad2a55cc72f93d86 G1C8XZTAQ5F638FSY7QFYW2431JXNBHB6D84DBSCE7P0TKG7Z4CG +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(). 6W0PGGHQRPZ9X2FK0D3YYSBRRRHKF5D7SVF5G3JRMZTYM88FHJCG F4SECZEDGQ3CTYNAHKG7453WFPEKVGWEHTNAHT5V910N0RY53FC0 ce886f76a5e286da655c719bad2a55cc72f93d86 RS0D1A1W918G6FYN6JPDASXCJPVKZHQ95WEJG7QEGW6MGYM9BKV0 +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 F4SECZEDGQ3CTYNAHKG7453WFPEKVGWEHTNAHT5V910N0RY53FC0 ce886f76a5e286da655c719bad2a55cc72f93d86 15505QDER46BA0ZBY64BG9RY4H6VQ11J25B7TBJ5BSPK3DDMCBVG +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(). 0J9C53PJ8QYAYA9PWKBJPQPYC7EFPCK8ZJ91NVYRWEH8PA2NZ040 D00SVHN29GKJWBJYVTFC3AZXQ1B9SNEDG05WZHKT5GE3VRJWJFHG ce886f76a5e286da655c719bad2a55cc72f93d86 B74TR41GXVN04FXMNTVXFV5G76G909NC3VYCWPFK6MSEQ9645NEG +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(). HJRXHJND0QTB9F9DPQTAVYFKJVPTJV4YA5XAD4W47Z3WRYJF9K70 83941Y25W8205D17TKKJMHHTJ0DQ5C1X3TGH4510ZZ4J5HDW03Z0 ce886f76a5e286da655c719bad2a55cc72f93d86 JF3TS4KQ9F69S1PGJHG2BAX3FW5Z7QMBZ5PA86VD8DCARS6NHZ80 +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(). XAK765NK16KP683TRK4KAHEQJJY5WXHH2KRMWXJBMQ5E6ECHPGYG X3Q0NPMAHW7YC22C5237H2MW9MKY2QV7FDPQC8ADM764CWW27HZ0;M72TG6CVJEYP3JDWM40R9Y6XBKZHCW7AQ8KT6N54SWN6XE924BKG;J7PZG39ZZAAEBGX5PPB0HPV7N3D238CW4CSBCGR9K9HAFN75X4W0 ce886f76a5e286da655c719bad2a55cc72f93d86 BA1MRZTP1CHC6PEM77GQS8J6WD25YNV7FDEYJ1Y9TEX6K5D4RQ0G +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(). WSDH5QD26EA6A8YWGT6629JCVCNQCWYSXCB89AEASNRQP5WVW7DG X3Q0NPMAHW7YC22C5237H2MW9MKY2QV7FDPQC8ADM764CWW27HZ0;M72TG6CVJEYP3JDWM40R9Y6XBKZHCW7AQ8KT6N54SWN6XE924BKG;J7PZG39ZZAAEBGX5PPB0HPV7N3D238CW4CSBCGR9K9HAFN75X4W0 ce886f76a5e286da655c719bad2a55cc72f93d86 QYJPG3Z642CNJ8DNAH004PE1HJ9YCFFVZVV8FDEN5WY08C25HAH0 +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 X3Q0NPMAHW7YC22C5237H2MW9MKY2QV7FDPQC8ADM764CWW27HZ0;M72TG6CVJEYP3JDWM40R9Y6XBKZHCW7AQ8KT6N54SWN6XE924BKG;J7PZG39ZZAAEBGX5PPB0HPV7N3D238CW4CSBCGR9K9HAFN75X4W0 ce886f76a5e286da655c719bad2a55cc72f93d86 3RR5SFZCHH6HQA5PK2HV76S106VE4979NXR87Q2S06627F4H7HJG +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(). 0J9C53PJ8QYAYA9PWKBJPQPYC7EFPCK8ZJ91NVYRWEH8PA2NZ040 X12HK0NS5JRKK9N15SWS7RFZEEK4HNK4P2KG0P6PEG0902FS8B1G;H4424TERMFE9BC0DA8358ANCX649VPNTK163DPYF2BEHZJ9RN08G;EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG ce886f76a5e286da655c719bad2a55cc72f93d86 4FDDXE0H3XZYP7M6RN1MB09PKDJS7EZDW2SNW5JA01RCDDWWQ750 +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(). HJRXHJND0QTB9F9DPQTAVYFKJVPTJV4YA5XAD4W47Z3WRYJF9K70 X12HK0NS5JRKK9N15SWS7RFZEEK4HNK4P2KG0P6PEG0902FS8B1G;H4424TERMFE9BC0DA8358ANCX649VPNTK163DPYF2BEHZJ9RN08G;EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG ce886f76a5e286da655c719bad2a55cc72f93d86 C6RVGXTH78KBTBRYPZX3C5R5CVXW5Y298DTDEDT9VPT07ESYT3H0 +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(). XT7GFDYA0MQANRW6PDHEAYYTDG3K4XFRC3PPRC1CXNVK8EYAST4G 8NVG6QRR1WRD5XGD31RD7X981FTW5CQWQRQ6JNNA96YVB7Y0SG30;J68NM6P6BJZMNEBEQ963S8ZCTR3PCGGDSM1KEA5G1H4EWDEEV9A0 ce886f76a5e286da655c719bad2a55cc72f93d86 A26XNGSYEGMJ27NG0FQZW2VAE2XEHGRFVV2KVGBV7MYHEB24BY90 +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(). 98YBAHKE0CZ6M28CEBS1Y0Y3B2V1JASBEC8ZKYJ2KP6HYD6CVRPG 8NVG6QRR1WRD5XGD31RD7X981FTW5CQWQRQ6JNNA96YVB7Y0SG30;J68NM6P6BJZMNEBEQ963S8ZCTR3PCGGDSM1KEA5G1H4EWDEEV9A0 ce886f76a5e286da655c719bad2a55cc72f93d86 EY32QEB4T55NRP4QM0WVX7RQZAQTKDACDBDDWXZXJM8KN5E6HV70 +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(). 98YBAHKE0CZ6M28CEBS1Y0Y3B2V1JASBEC8ZKYJ2KP6HYD6CVRPG J68NM6P6BJZMNEBEQ963S8ZCTR3PCGGDSM1KEA5G1H4EWDEEV9A0;8NVG6QRR1WRD5XGD31RD7X981FTW5CQWQRQ6JNNA96YVB7Y0SG30 ce886f76a5e286da655c719bad2a55cc72f93d86 DREQZQWCXE3WRD2JTHT2C8DVFP503T3PCFP99CGTD0FG3F023EN0 +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 EN1E491DBV0FD8XSJNX8XVNHEN4CGGZXC47TJQCH714XX1GSZ810;0NMYNRW4Y9X9DXQH96ZNCKNMQGQJ0YR0Z37V4JZ0F5GN8NAJC3E0;YVAQ0PVDGFHENJZD9Z93EG6S3EQ0YVPTZBBDRV9FSGNH24T7ACBG ce886f76a5e286da655c719bad2a55cc72f93d86 K5NAQ1WC3VSTBR7BHD2T6H732Q1E3WJ0DRN79E8F375RSTF8PDE0 +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(). 9NSDFGX624FNANE0ZJ75EN9QCPQ38RS2244MGZYD2Z0VHZ0SMEHG AFG2FF4MK26N5KXZFQ42BGG2YZJ531WC6Y0ZF62TEJXHSC2TK4GG;M6B7FMZ5BSAXX69HSZVJ8KTV1KBQDH00P1CEPE0Q93D836EJKSMG;6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG ce886f76a5e286da655c719bad2a55cc72f93d86 XCP5D979VZB3383JMR6T42FZZM6H2B5CMX3TAG2ACN5JMXES60SG +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(). F36VFJY5RWY39R0QB7QZBA7A9YM34HYD9WAW88S1KT67GZG5EWW0 AFG2FF4MK26N5KXZFQ42BGG2YZJ531WC6Y0ZF62TEJXHSC2TK4GG;M6B7FMZ5BSAXX69HSZVJ8KTV1KBQDH00P1CEPE0Q93D836EJKSMG;6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG ce886f76a5e286da655c719bad2a55cc72f93d86 DRXKHXSG04MRMH99SYKBHHB7Z2M6AHPKN2RXC40SKNCA0BPBSSW0 +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(). 871BH4QQEPK0JFFS4JJJYKMAYC3ZMX3B97HC21SCDTFHJDY05DD0 AFG2FF4MK26N5KXZFQ42BGG2YZJ531WC6Y0ZF62TEJXHSC2TK4GG;M6B7FMZ5BSAXX69HSZVJ8KTV1KBQDH00P1CEPE0Q93D836EJKSMG;6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG ce886f76a5e286da655c719bad2a55cc72f93d86 DRP7YMQG57BPWGRZGRPS899JK7VRVT2XHBX2RFZ09MFNB7WJKVQ0 +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(). 50GJRED89534S6JFK3JDEGR76N8D7EKPD6TNVXY8PG2JSN6V5VX0 AFG2FF4MK26N5KXZFQ42BGG2YZJ531WC6Y0ZF62TEJXHSC2TK4GG;M6B7FMZ5BSAXX69HSZVJ8KTV1KBQDH00P1CEPE0Q93D836EJKSMG;6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG ce886f76a5e286da655c719bad2a55cc72f93d86 NAQCSY4SZ1N5HPBXZ61F039YEGFS4BM937V8VHZ66ABT618N1N60 +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(). AKPWZ7FP3EKRWNZJ0RQGJ89MVPGJYMZF3T35KJXC1DR01AGJE4F0 AFG2FF4MK26N5KXZFQ42BGG2YZJ531WC6Y0ZF62TEJXHSC2TK4GG;M6B7FMZ5BSAXX69HSZVJ8KTV1KBQDH00P1CEPE0Q93D836EJKSMG;6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG ce886f76a5e286da655c719bad2a55cc72f93d86 97VE97NBRB3SEJ7GV8ATG6GP14HG1A2MAJKSE3H86RVBNV7HQ5VG +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(). 1CGF301W01BCXG405DF6AXHNNRS05DM0PR4BF2724C4QAZNZ3HWG S80HR5T63SF0AVQX9E1QCF7FT67NMWKATR9CQKJGR4YJERXB02X0;JYB4EK09BHGKAAE0AXQSXTWGT95ABJM71WHRZCY7HAYHH0MVX880 ce886f76a5e286da655c719bad2a55cc72f93d86 WAFJSE0JPH6VWN5S2GT3JRJFB8N3WNNNVYM493NPPYFG275KMJYG +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(). 4K6EBC6BV8T61G7APKGMK7MTGSWG6JCFX43996ZES4P1ECGFN4N0 S80HR5T63SF0AVQX9E1QCF7FT67NMWKATR9CQKJGR4YJERXB02X0;JYB4EK09BHGKAAE0AXQSXTWGT95ABJM71WHRZCY7HAYHH0MVX880 ce886f76a5e286da655c719bad2a55cc72f93d86 C7YVX889J5AZM7WB9SW76T7FMQYHAFD04C3BYN3FB29XA71N3C80 +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(). GFFNKE2MG1EJT9HXZETEJAFH7JFHH78WDSXFM3X8EGCXY1XZPHM0 S80HR5T63SF0AVQX9E1QCF7FT67NMWKATR9CQKJGR4YJERXB02X0;JYB4EK09BHGKAAE0AXQSXTWGT95ABJM71WHRZCY7HAYHH0MVX880 ce886f76a5e286da655c719bad2a55cc72f93d86 H2XV2TPKPAHW7FP598Z665XQYSWSJQTPEKFR5C39WW3B9PSK55QG +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(). 0J9C53PJ8QYAYA9PWKBJPQPYC7EFPCK8ZJ91NVYRWEH8PA2NZ040 EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG;Z0J40N7N8K883TSTCPYAA4G4VPQSRGWMNN6AY4YWZR8359NY3PT0 ce886f76a5e286da655c719bad2a55cc72f93d86 313SQMTPM0REGSA4DX8S7DPE13DQJ0MMBY761VJCR5RB5E35CH1G +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 MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;BKZP3YJCAC955K1475K57MCZVP9C89EG7E8XNGK16HDT742D3A2G;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;ZJAV1DG818AXBSAC42YWD3CJ522WFH34CD5ATZQQ90WTF2V219CG ce886f76a5e286da655c719bad2a55cc72f93d86 0328F644AX5T8PA703MB6KX94C7H0AAN9SW3RQ05AHSBNDEPV2G0 +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;BKZP3YJCAC955K1475K57MCZVP9C89EG7E8XNGK16HDT742D3A2G;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;ZJAV1DG818AXBSAC42YWD3CJ522WFH34CD5ATZQQ90WTF2V219CG ce886f76a5e286da655c719bad2a55cc72f93d86 E6MZBW9B2H0N6EGCRST73CWW8SF671RD3RH6X5PT6R2E5BPQ0JZG +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 MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00;EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG ce886f76a5e286da655c719bad2a55cc72f93d86 X24JBHDBDSD5VGVB322Y2GGZBFSMY3DS8T112NMYG5CKHKGFD7Y0 +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00;EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG ce886f76a5e286da655c719bad2a55cc72f93d86 XHWCE8EM8669A5ZHBM0XF9J7EBJ86H6F499PCP89BGRR21PH50JG +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 7S9BDW5R4HHBSB6DKCH8KQYQ372BWPKT04ZH6P367YQ0C6F6S9B0 ce886f76a5e286da655c719bad2a55cc72f93d86 R1KQMY7KC679N4STSMX9RWFW2GKJ0AAMGCJH6WBMPMC6JZV69990 +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 7S9BDW5R4HHBSB6DKCH8KQYQ372BWPKT04ZH6P367YQ0C6F6S9B0 ce886f76a5e286da655c719bad2a55cc72f93d86 VAA74NDJRJZFN23F79XN37F90R76ZVNBYZ33QFCFAC6TGK87YFR0 +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(). A29E0YYT0HXE21M1PH4MMPX2Q74EVNCR6J1KCRBX0EJ27YBSYPDG RAY6D1KFGK2VKFDDFS1MDTSEP0M1SMTDKC4B7K8NBJ6GDPH3G3R0;AH74E8ZCKWM8EKRVD2DMQVRDY9S53MPGJR426Y2YT0A3MGH7A0J0 ce886f76a5e286da655c719bad2a55cc72f93d86 QD0KMS2721TR7MQ1MG1PH8RWDZBJ91B34T71MC2AJYM6ZC2H0TZ0 +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(). HJRXHJND0QTB9F9DPQTAVYFKJVPTJV4YA5XAD4W47Z3WRYJF9K70 83941Y25W8205D17TKKJMHHTJ0DQ5C1X3TGH4510ZZ4J5HDW03Z0;DKATDKDQ1NGVADWD0XVVQ6E7QD6J94MAY7KP8SR78FPHNRH14RQ0 ce886f76a5e286da655c719bad2a55cc72f93d86 9Y79GY01JZC5KFZNTB35Y7Q3NX6ZMYMSGEX8VX9Q2K2YJ5S7H3KG +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(). XT7GFDYA0MQANRW6PDHEAYYTDG3K4XFRC3PPRC1CXNVK8EYAST4G 83941Y25W8205D17TKKJMHHTJ0DQ5C1X3TGH4510ZZ4J5HDW03Z0;DKATDKDQ1NGVADWD0XVVQ6E7QD6J94MAY7KP8SR78FPHNRH14RQ0 ce886f76a5e286da655c719bad2a55cc72f93d86 PEM3JABVV8W3328WC00X6W75M1MAHARF4XT4Z5AKK58VWRAB8W1G +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 F56P1XBQ70S7H14PVBYZ0TTSMF2JRAH2GWGWZHADPR0YA4CQKHWG;TSK3WVG3HGYSEPPXSBQ8W79GJTSXPRAMNYM4WKSDJKVADCXF46GG ce886f76a5e286da655c719bad2a55cc72f93d86 KZCV8WJPQWFYFENACKBHK8T6AMHNERHFXEGBCA6P6CQ9NXBEKC90 +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(). 4GEZPYSYRTM6TVTHE3S3XF1KKN6PTBDBRGKXGEGBFAZE55VAGRW0 4XGA4BFGZ0B1NPDBKGXFT7TWGWRCWA4Q90QGTBA38H4EE50A7F7G ce886f76a5e286da655c719bad2a55cc72f93d86 KDHTM1HT0Q4YZ4WNXJN9WVVK1WTS4VJY6NZABT1HMCBYKYMARREG +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(). 4GEZPYSYRTM6TVTHE3S3XF1KKN6PTBDBRGKXGEGBFAZE55VAGRW0 DV1RHF0MSX3EEY279HQZQBJ3B0ESPN7CBT5WQ48PQD3JP3SA55B0;9938C1CZ28YMB1M4XJDQXZEN79A28AYX04CD4HCT4C5Y2SYGB5NG ce886f76a5e286da655c719bad2a55cc72f93d86 AEAPK0YYY8NBP6YWR1PNGG3NSKQW3R9DEARDXA3B4NJW7PGQ4GD0 +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(). QSN8KDCE3ZWYD2ABGEF1W761GY2GAQZHQBGCYR41GP96CXWBSPK0 DV1RHF0MSX3EEY279HQZQBJ3B0ESPN7CBT5WQ48PQD3JP3SA55B0;9938C1CZ28YMB1M4XJDQXZEN79A28AYX04CD4HCT4C5Y2SYGB5NG ce886f76a5e286da655c719bad2a55cc72f93d86 DC17CEKV7HZGSYDBGHTA26E3EHVHPZSZNDJ6141Y4G582320K1QG +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(). 6W0PGGHQRPZ9X2FK0D3YYSBRRRHKF5D7SVF5G3JRMZTYM88FHJCG G17BFRHB0VQG90MT7543RTK0KEWNCYG65DEBF9VN2V5E03E2E6D0 ce886f76a5e286da655c719bad2a55cc72f93d86 ES4VJ1JYQVYDFEPSQ1B96V65D2X5NZRDF823XG8X5FS93WP9TFD0 +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 RAY6D1KFGK2VKFDDFS1MDTSEP0M1SMTDKC4B7K8NBJ6GDPH3G3R0;FZRXY4M2CD8R2HJ69W9BBR7AAH1NVNA98N8664VJB5F7MKSW7XDG ce886f76a5e286da655c719bad2a55cc72f93d86 JJZH5701G3QA4EK87AXPCTGB9N0X959CBVMZX8C5P68BYJ96CJ80 +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(). Z288DM57AMHSZSZWSKXQTNJ0P5Z46VWYZBT9GCM0210JAVAF2XXG RAY6D1KFGK2VKFDDFS1MDTSEP0M1SMTDKC4B7K8NBJ6GDPH3G3R0;FZRXY4M2CD8R2HJ69W9BBR7AAH1NVNA98N8664VJB5F7MKSW7XDG ce886f76a5e286da655c719bad2a55cc72f93d86 KBA6N9JJ1GQBC168DAWJ44NN41W404J4HWQFG6EZN2BCR446J2KG +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 F9B7KYQX79CBSGVNQ4DG7CFKTHSZ1A45Y7XZ62NPB1KJ6V2GVRRG;J05WZG7HMX42XCT0YBA8KQ1HH61RZAHPBDHKK2VRZ2BHKH0G3570;B6QW549T3C0PWS14DFHBC703ZXA1ETN2GNWB4DR55NZFT57DVR10 ce886f76a5e286da655c719bad2a55cc72f93d86 H79382JS04GHEF9FF5Z4C0TAH2SW8ZDCN9HBDQWZYA3T89P08FFG +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(). 6W0PGGHQRPZ9X2FK0D3YYSBRRRHKF5D7SVF5G3JRMZTYM88FHJCG F9B7KYQX79CBSGVNQ4DG7CFKTHSZ1A45Y7XZ62NPB1KJ6V2GVRRG;J05WZG7HMX42XCT0YBA8KQ1HH61RZAHPBDHKK2VRZ2BHKH0G3570;B6QW549T3C0PWS14DFHBC703ZXA1ETN2GNWB4DR55NZFT57DVR10 ce886f76a5e286da655c719bad2a55cc72f93d86 0DNQZBX73GJ5REGJFW6W9FXG8DV7633ZKBAKAQY1QDNFQANFEY8G +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(). 6JYPT6BGAMWHWMHZ5F8QE38BB4W562M8NBW7SFT9WG2A4JYSDKCG KB5F4JQ3YZ2NP4T2QZN07FNY668KED3CTAT2ABQCDVA0M2C2FPBG;WQT8901CE31JMQWW5Y7BKQFTTSVJ6MYEGEN6DRCDNXT9REW0ZBG0;N8MRM0K0ACAESR0TASFAQ1B84ZKTVKGR0TT99TB4E107J5Z1JZQG ce886f76a5e286da655c719bad2a55cc72f93d86 R1NHXEQHPRJMYETQ2J8QB0SH0MGE2SFPSX3CDBTCRZ8EG9JX2KMG +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(). SFQVZA83Y97KDJM0E88XW2XFWF1BASND7TBC7NV3TFZMNB7VAWY0 KB5F4JQ3YZ2NP4T2QZN07FNY668KED3CTAT2ABQCDVA0M2C2FPBG;WQT8901CE31JMQWW5Y7BKQFTTSVJ6MYEGEN6DRCDNXT9REW0ZBG0;N8MRM0K0ACAESR0TASFAQ1B84ZKTVKGR0TT99TB4E107J5Z1JZQG ce886f76a5e286da655c719bad2a55cc72f93d86 JJ6PK5H5A3NGKBB9VD7BBFWCEP5S5TACJJZJRTEZAZM45YYY7VE0 +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 6Z9ZAF6NSKX0S8C1G9HHGAHPNB26Y79T6FWXP4W9CSVBNS6VFAH0 ce886f76a5e286da655c719bad2a55cc72f93d86 6YS6GW05DCETEBAZ467BSFYYDV5Y6E9N17KZF9PTFCDA07ZVJJ20 +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(). 6JYPT6BGAMWHWMHZ5F8QE38BB4W562M8NBW7SFT9WG2A4JYSDKCG KB5F4JQ3YZ2NP4T2QZN07FNY668KED3CTAT2ABQCDVA0M2C2FPBG;WQT8901CE31JMQWW5Y7BKQFTTSVJ6MYEGEN6DRCDNXT9REW0ZBG0 ce886f76a5e286da655c719bad2a55cc72f93d86 V0KD97CJFHPHA6W40XPDFTNNVNDZH1MB3HVBEK2X9X0VDQKYBJAG +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(). SFQVZA83Y97KDJM0E88XW2XFWF1BASND7TBC7NV3TFZMNB7VAWY0 KB5F4JQ3YZ2NP4T2QZN07FNY668KED3CTAT2ABQCDVA0M2C2FPBG;WQT8901CE31JMQWW5Y7BKQFTTSVJ6MYEGEN6DRCDNXT9REW0ZBG0 ce886f76a5e286da655c719bad2a55cc72f93d86 1ZTKW7J5H9CV7VZXME8M1SQ8NF6XF44MT4FDX5QDZG34S4EBPVHG +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 68RCZ1TKDG8RSSRD76RXJV77C4DRF7Y23DPXZZRNHF2S8M76FBBG ce886f76a5e286da655c719bad2a55cc72f93d86 8EGG3HB8TR8233F05VV44R5PKK1RVWNZPQBYC3V4M2QBB18TG870 +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(). SFQVZA83Y97KDJM0E88XW2XFWF1BASND7TBC7NV3TFZMNB7VAWY0 4XGA4BFGZ0B1NPDBKGXFT7TWGWRCWA4Q90QGTBA38H4EE50A7F7G;HS62B1WW5VFAFCA4Q5SZ7EBE2KXJ784XN2PNF6W0CWJMZFDW6E20;YP81SFZF3A25WMBE15AJWMCVZ0XY0KC3SCQKKNNEX67DGJYHQY40 ce886f76a5e286da655c719bad2a55cc72f93d86 6PW85855WMR1Q3ZC3AXXCDW3PDTBPMJ2NQ30GPBD6RM5J4WC5JB0 +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(). X6X11Z0B7ZXGC1DYE3XGFFM48Y2ASFWYC3RA37M0NR3Z0V0TPB80 4XGA4BFGZ0B1NPDBKGXFT7TWGWRCWA4Q90QGTBA38H4EE50A7F7G;HS62B1WW5VFAFCA4Q5SZ7EBE2KXJ784XN2PNF6W0CWJMZFDW6E20;YP81SFZF3A25WMBE15AJWMCVZ0XY0KC3SCQKKNNEX67DGJYHQY40 ce886f76a5e286da655c719bad2a55cc72f93d86 ASK4D8C70CR25E9CE2W22920TQMRS3YG6AZHMFHP025PR3EK2J20 +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(). 4D9QQJ3NQ7RW8PT1Q3FTF56A0NYKK0HX4C90D62ZYK6JNJZ6V8D0 4XGA4BFGZ0B1NPDBKGXFT7TWGWRCWA4Q90QGTBA38H4EE50A7F7G;HS62B1WW5VFAFCA4Q5SZ7EBE2KXJ784XN2PNF6W0CWJMZFDW6E20;YP81SFZF3A25WMBE15AJWMCVZ0XY0KC3SCQKKNNEX67DGJYHQY40 ce886f76a5e286da655c719bad2a55cc72f93d86 M0TVW2DSSRV8KYHC6X62SNWJEXF6SW5BXH5N7KPF58G8QCN08VR0 +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(). SECFHSWP40PJWEWCDWCS8HNCF5WPPP73X6KZP932E9TQPN9CKARG - ce886f76a5e286da655c719bad2a55cc72f93d86 VZASF9G2BPPJV4A848MDNE6M5GTXY8RDA3SGHSNWT5V4PK3DKSA0 +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(). 6Z5RCT0B6VV58C6H6MWJFNQ9EZNCWTGQKDJZ6AZM13J770W2TAZG WT4NRQ737R8D07GMMZFV6KV2SRCAGPYP1R2T369SZ3WSJN60KTFG ce886f76a5e286da655c719bad2a55cc72f93d86 KYC9H9E8G3GPHPKRS41GEABFB72PAHJ54Z1Q4MEZH3Y52WNYXXKG +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(). 91WM7ME9PQHFTPFM3PRE2T8DPW2SBZGCJM850BAATMEMHYMNDFA0 WT4NRQ737R8D07GMMZFV6KV2SRCAGPYP1R2T369SZ3WSJN60KTFG ce886f76a5e286da655c719bad2a55cc72f93d86 X1RP0PRQDXRBM4V4Z6SRNAE9XBMHNCK19P98V4V8BYW50DGZXYB0 +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# 2WQ1A0MHZSTRCKZPGCYY0CYP76S811TQY8V4074NT1366MDTDTQ0 - ce886f76a5e286da655c719bad2a55cc72f93d86 F2V9J762J4E2EQV2SPYMZVYC2RMPYR44XVYBACY13NW380GN87W0 +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(). CZ2X3VAXS3QY0TNJ271QNGQFDMKVPZQVG1AETEJVRN8ZGBVMERRG - ce886f76a5e286da655c719bad2a55cc72f93d86 HZKQGPNDPZENXKJTZVBJAS48SH49WVDK4SG9A71D2DASQ32D787G +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(). TT4P3MFWQBEB833DBEXN395V21DPGAYJM7AFC46K0NB3YSESFG9G 26VSVHGKBJA3HD33NFGCG26H8VBFGJN6J8PTBFKYG0PE2PW2SJB0;EWVMHFN3VFAYHYTEHVMW9MRTPB1D99CWVCX53MV9HHRZFGTT06TG;DWH4YSF3C7J6KJ5ZXS038BPCG9580H2TZ8S4M05AHF70EHSEDWAG ce886f76a5e286da655c719bad2a55cc72f93d86 6CAAQAM79CFNTMPBG3RD0KZ8CD8NXM3ETZST6GET2BWSC1WDTRQ0 +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(). 5N18JBKNQTWJ7J8AY3D3F97CJBHDVD6M35Y4DCW8ZHTQ74N88BSG 26VSVHGKBJA3HD33NFGCG26H8VBFGJN6J8PTBFKYG0PE2PW2SJB0;EWVMHFN3VFAYHYTEHVMW9MRTPB1D99CWVCX53MV9HHRZFGTT06TG;DWH4YSF3C7J6KJ5ZXS038BPCG9580H2TZ8S4M05AHF70EHSEDWAG ce886f76a5e286da655c719bad2a55cc72f93d86 53AY37XMEXZJX6MN8FY3DC83JYZYXTJG1RZESHCCYHK2HM5JG4GG +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(). 2RAS0K1KS7CV2VBD5YK8P929ZEM0GENERZYWQA3NJVJKPBP8ZY70 26VSVHGKBJA3HD33NFGCG26H8VBFGJN6J8PTBFKYG0PE2PW2SJB0;EWVMHFN3VFAYHYTEHVMW9MRTPB1D99CWVCX53MV9HHRZFGTT06TG;DWH4YSF3C7J6KJ5ZXS038BPCG9580H2TZ8S4M05AHF70EHSEDWAG ce886f76a5e286da655c719bad2a55cc72f93d86 39CGT6RSP7CH7SWYPKX63VP7G0QV9R9PNV81XSG0J1V6414EYAY0 +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(). 7FVPF3H74QWTPT87D30ZG5KQWB39PYRS1EANPADZS7AJCRMJTTQ0 Y7Z8PSR022D74091QAADJ41PC1MKNAJFBYHBQWTCCCXE1RTPV24G;6CMVBQYXBJ791EJSKQB915DSV73EFB8FE5E5V28CN6C84RW4YXQ0;7QMM6KZ3ZAT9AJN68GRXMRF3PE1FRJ9ENN9BGA0ZSVHWCSDX9730;0MCD6GWRETKF9EENQK2QAQXK75538MD1Y6DVPC6C7ZKS0Z6ST3QG;D5GFX3C9TPK2WZESX1TVBTC2X7J0261ADHS61HC2KD8236WME480;SH9VEZN611S2AZ0A6E56A5RGCXKJEDHXVYBFYSCD616FZ38GNA6G ce886f76a5e286da655c719bad2a55cc72f93d86 07BHQ7WGJ51TJAN5S38G5GNJ2JFJ301PW6GJAJZ4WAPRWGSVC67G +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(). ANPA221M1BF6AXS8VMQ3C636R64RJN5484WDMW5ZEBK4D334AXD0 Y7Z8PSR022D74091QAADJ41PC1MKNAJFBYHBQWTCCCXE1RTPV24G;6CMVBQYXBJ791EJSKQB915DSV73EFB8FE5E5V28CN6C84RW4YXQ0;7QMM6KZ3ZAT9AJN68GRXMRF3PE1FRJ9ENN9BGA0ZSVHWCSDX9730;0MCD6GWRETKF9EENQK2QAQXK75538MD1Y6DVPC6C7ZKS0Z6ST3QG;D5GFX3C9TPK2WZESX1TVBTC2X7J0261ADHS61HC2KD8236WME480;SH9VEZN611S2AZ0A6E56A5RGCXKJEDHXVYBFYSCD616FZ38GNA6G ce886f76a5e286da655c719bad2a55cc72f93d86 617N4GHC568BN64G8KH19FDHBVYH4FTG8GQKAXFMPCSKCZ4N4GC0 +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(). DSGF1BJDZEMRJV87HASZSQKR20Y61A8GA4YRPXHHEPZ7GCDYB3H0 Y7Z8PSR022D74091QAADJ41PC1MKNAJFBYHBQWTCCCXE1RTPV24G;6CMVBQYXBJ791EJSKQB915DSV73EFB8FE5E5V28CN6C84RW4YXQ0;7QMM6KZ3ZAT9AJN68GRXMRF3PE1FRJ9ENN9BGA0ZSVHWCSDX9730;0MCD6GWRETKF9EENQK2QAQXK75538MD1Y6DVPC6C7ZKS0Z6ST3QG;D5GFX3C9TPK2WZESX1TVBTC2X7J0261ADHS61HC2KD8236WME480;SH9VEZN611S2AZ0A6E56A5RGCXKJEDHXVYBFYSCD616FZ38GNA6G ce886f76a5e286da655c719bad2a55cc72f93d86 Q4FGYXNVSZKKTXT3VYT42E0QZC1ZNKT37GZHV4YGVVNJK8S4E740 +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(). 4DVNXEFJNHWEY5EKS01J300W5705BBR4F96ZD9Q70Z0DPSWS4QTG 7S9BDW5R4HHBSB6DKCH8KQYQ372BWPKT04ZH6P367YQ0C6F6S9B0;6VMEH3X2KVN5SRMRWQFY1PD72RDWJP06GJDSTAEFFRAJ66EX9WB0;QH5N1E5F8HGEVPCW9JP19CCF2BYGJJMG3YV1X38RM3GWC8P3KAB0 ce886f76a5e286da655c719bad2a55cc72f93d86 KRJKY5W237RNS9YCSX2ERAYCSNY5W42JXKYYB9CTWPK0YT7094A0 +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 7S9BDW5R4HHBSB6DKCH8KQYQ372BWPKT04ZH6P367YQ0C6F6S9B0;6VMEH3X2KVN5SRMRWQFY1PD72RDWJP06GJDSTAEFFRAJ66EX9WB0;QH5N1E5F8HGEVPCW9JP19CCF2BYGJJMG3YV1X38RM3GWC8P3KAB0 ce886f76a5e286da655c719bad2a55cc72f93d86 889ZRAKVBK268T0ZKKBHF5CTBXER9DKR11WB2WKW7RN5J64ZRX90 +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(). BT28ZZQ4J2HFHBXDE27DGN6BB6MP5P70T82GQ6EYB0J0SE5H1J7G 7S9BDW5R4HHBSB6DKCH8KQYQ372BWPKT04ZH6P367YQ0C6F6S9B0;6VMEH3X2KVN5SRMRWQFY1PD72RDWJP06GJDSTAEFFRAJ66EX9WB0;QH5N1E5F8HGEVPCW9JP19CCF2BYGJJMG3YV1X38RM3GWC8P3KAB0 ce886f76a5e286da655c719bad2a55cc72f93d86 P74V0CY3NZ9592ESSFBPT3E91GGNQ3NKPJS6KY9MGQQ277NC56C0 +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# ND4FETKZP85CXH1KW985YHQ9TG44AZP8GXGDCKX8TAT04RX4R54G - ce886f76a5e286da655c719bad2a55cc72f93d86 DKJMV12S616JBAP370JF41MMSHJF1V4VWS59ATE9J1PDPHX5DS3G +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(). CYWP17F6WKSM12PW4YZBYQWVWYHQTDS9N329JPPRMSMW37E1RD9G 9CGCJB78JJ2MF0R16SBREH88AK2PMAM00PRGZH65M8D7TK8YKENG;WCKTWNT1MRG8VRHASEB771EPBZ7HMGFE969GE1CVKYJ3K275C0ZG;B3E22A6HNX4FRG6ZNH6HNRP1WBSKE7014BY778ZKDQCREJSSC9A0;N6JG70KAG7E40CNAHK31A14XC9DGW69MR2B9CX7E0GPHXE575J10 ce886f76a5e286da655c719bad2a55cc72f93d86 1GJ2TW26DZ2VHF0J2HAMW0ZVM3Q4KRSEM3J426DC51FRAEVRFC00 +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(). 40NN1N999NS0WQYVGECR7A42B9FYNWHWMYCPPK4KCQS86D2SCBY0 9CGCJB78JJ2MF0R16SBREH88AK2PMAM00PRGZH65M8D7TK8YKENG;WCKTWNT1MRG8VRHASEB771EPBZ7HMGFE969GE1CVKYJ3K275C0ZG;B3E22A6HNX4FRG6ZNH6HNRP1WBSKE7014BY778ZKDQCREJSSC9A0;N6JG70KAG7E40CNAHK31A14XC9DGW69MR2B9CX7E0GPHXE575J10 ce886f76a5e286da655c719bad2a55cc72f93d86 QPFYWWTAZ5G09K1KQ9GA65QXEQNRNN9TNGAW2PH2769238KPVBBG +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(). SFQVZA83Y97KDJM0E88XW2XFWF1BASND7TBC7NV3TFZMNB7VAWY0 N8MRM0K0ACAESR0TASFAQ1B84ZKTVKGR0TT99TB4E107J5Z1JZQG ce886f76a5e286da655c719bad2a55cc72f93d86 BQHB78D4VJWWC32E4APDQVRZ7JQFHADZXD0TJ3BXTKHMH72DY3S0 +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(). SXTK3256EJEDT7886HR26XXSXXRMJN25PY9AFVSGBGHK0NENAV20 N8MRM0K0ACAESR0TASFAQ1B84ZKTVKGR0TT99TB4E107J5Z1JZQG ce886f76a5e286da655c719bad2a55cc72f93d86 60SYHWP8D1JJS5BEB8JCJMR2MXXYV04DC49QW2S8GDE15E2182D0 +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(). 145HP5TGQNWBK0V22B1DD1RY9KHZE89PM203DNHKX0TMM90WJ7N0 N8MRM0K0ACAESR0TASFAQ1B84ZKTVKGR0TT99TB4E107J5Z1JZQG ce886f76a5e286da655c719bad2a55cc72f93d86 02357GCBD1HFCKWMZB60JE343E1VM1F27EYCTHWRGN3W1MWCEZG0 +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(). KP2TJWZJ453N09EHG5X337WWFSVDTSWVQFCKK5MG9KBSS338S4CG EVK9R4E4CXMT3PSY54VEF78R79DZ3HFNAHC57KEY2KSQB7TDTV00;VCRY32RVARR2XFFNGG2XB1EC544WQX2H4BDRY8ZWM9K3K05EM7PG ce886f76a5e286da655c719bad2a55cc72f93d86 SZH7ZNJ86SW1FNTZ1M05SGPE3HJYYTA1QET226MNDYRQEBAPZBSG +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(). CFC3J94SPWE88BTCAC40WRF1FZ2RGMB3FMMWHW1Q73P66F98WAMG EVK9R4E4CXMT3PSY54VEF78R79DZ3HFNAHC57KEY2KSQB7TDTV00;VCRY32RVARR2XFFNGG2XB1EC544WQX2H4BDRY8ZWM9K3K05EM7PG ce886f76a5e286da655c719bad2a55cc72f93d86 8380ZKQT5BDSX5X7BGS839HTADR79P2ZS4P271Q6TWZV20SQHFWG +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(). KP2TJWZJ453N09EHG5X337WWFSVDTSWVQFCKK5MG9KBSS338S4CG 7AH7SEF0ZWBVXHAA5KBHE48KZ1A1N3G8Z9HAYVJRVEEAT9E8HCPG;HMHQP0K1FESMPRN725DJ0T6S0S8JAA6NECEBJRE6N5N0MZZ0ANG0;TG91JHP2SRGQH2TZP8BG0T5AKY3TG3VFHRX8X9G80TFJGF3Z9XK0;D5GFX3C9TPK2WZESX1TVBTC2X7J0261ADHS61HC2KD8236WME480 ce886f76a5e286da655c719bad2a55cc72f93d86 JAA958D0G391KPKF7CRJCX06TBB9ZY4BJJQ49C5R7SVP24FAK3P0 +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(). ZVJ6N92X1CPM41GVSBVVT8A7HC51F8N1VBA451980949PRHNF2HG 7AH7SEF0ZWBVXHAA5KBHE48KZ1A1N3G8Z9HAYVJRVEEAT9E8HCPG;HMHQP0K1FESMPRN725DJ0T6S0S8JAA6NECEBJRE6N5N0MZZ0ANG0;TG91JHP2SRGQH2TZP8BG0T5AKY3TG3VFHRX8X9G80TFJGF3Z9XK0;D5GFX3C9TPK2WZESX1TVBTC2X7J0261ADHS61HC2KD8236WME480 ce886f76a5e286da655c719bad2a55cc72f93d86 FF1HV9QSMJW8Q6RXDBQ93C70HJA2WFTPRRAKSTVV6RWMJ29TCZR0 +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(). DSGF1BJDZEMRJV87HASZSQKR20Y61A8GA4YRPXHHEPZ7GCDYB3H0 7AH7SEF0ZWBVXHAA5KBHE48KZ1A1N3G8Z9HAYVJRVEEAT9E8HCPG;HMHQP0K1FESMPRN725DJ0T6S0S8JAA6NECEBJRE6N5N0MZZ0ANG0;TG91JHP2SRGQH2TZP8BG0T5AKY3TG3VFHRX8X9G80TFJGF3Z9XK0;D5GFX3C9TPK2WZESX1TVBTC2X7J0261ADHS61HC2KD8236WME480 ce886f76a5e286da655c719bad2a55cc72f93d86 K3PBR6JF6MMJYAKR8HM0Z3PHTRTM0F55PE9B0B0VK0F0NJ0Y8E6G +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(). F36VFJY5RWY39R0QB7QZBA7A9YM34HYD9WAW88S1KT67GZG5EWW0 59GSYZMSYFBTTSMS971T42JS3FJQMCWWP76SXA4F5JEWSFBFFHEG;M6B7FMZ5BSAXX69HSZVJ8KTV1KBQDH00P1CEPE0Q93D836EJKSMG ce886f76a5e286da655c719bad2a55cc72f93d86 NQTNQNAWDY7Q3A5MW5Y17R242SR0ZHCX5RJD5R0BW8KNME75NPB0 +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(). 871BH4QQEPK0JFFS4JJJYKMAYC3ZMX3B97HC21SCDTFHJDY05DD0 59GSYZMSYFBTTSMS971T42JS3FJQMCWWP76SXA4F5JEWSFBFFHEG;M6B7FMZ5BSAXX69HSZVJ8KTV1KBQDH00P1CEPE0Q93D836EJKSMG ce886f76a5e286da655c719bad2a55cc72f93d86 B4P49ACSJN6THGQ0ZNCMSYXFKK74FF76XY840N2VCYTD070DZ490 +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(). 4V37ZH3685BK323ZF8J7PZQX2ZNTQ2KH9A6BXXK3PRAYE0A6K1Q0 7PG465RAZS3E8BVSF529GM3SMVCBZC0K77P9ZXWBFATPGF4B1T8G;PRX92B8S9S4X75E19BFAK46XVQAQ9AXHWHWY1J8CH1NRKEXT25X0;Z9YA2JFZN2NNSH8M4PNWGBWQF0QSFFTNWHMZMABTW9BX7R00WZR0;8GBW02B5KGJJCJ2JXEQDRA1AHQMF96D3DA17NAPF8GYKD41Q7W8G ce886f76a5e286da655c719bad2a55cc72f93d86 PFJEC5GSR5ATJ0A69WZ3WE8VWRJSWZ4FRSGYHY18KBQPNGS039TG +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;PJZKXF6FYBAHQ6ZR465ZS8R1YF2SHN7QCQ7TNQ3ZNNA5VAC2TMM0;SKW63VBV357XEXRNWDF9113P66JJNA5S2K760R9N3NR1F2VHRC3G;Z9YA2JFZN2NNSH8M4PNWGBWQF0QSFFTNWHMZMABTW9BX7R00WZR0;8GBW02B5KGJJCJ2JXEQDRA1AHQMF96D3DA17NAPF8GYKD41Q7W8G ce886f76a5e286da655c719bad2a55cc72f93d86 MR7VGYMSP11DV94M94Z0WWH5FBMMKZ5KGAEBJV9DDT14DR3NA57G +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(). ZVXQXHCN0TRPQB1D80K7QJXSZEMX45T4G9ZVM2VGBTKFN7TPDAMG MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;PJZKXF6FYBAHQ6ZR465ZS8R1YF2SHN7QCQ7TNQ3ZNNA5VAC2TMM0;SKW63VBV357XEXRNWDF9113P66JJNA5S2K760R9N3NR1F2VHRC3G;Z9YA2JFZN2NNSH8M4PNWGBWQF0QSFFTNWHMZMABTW9BX7R00WZR0;8GBW02B5KGJJCJ2JXEQDRA1AHQMF96D3DA17NAPF8GYKD41Q7W8G ce886f76a5e286da655c719bad2a55cc72f93d86 YS0A5WP700B288C6PQ9NQVCQ0F5HFS9AKX1EKQB85EA2DXFH1PEG +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(). SKQZH45ARK4MMJA9K4NRYAXNYV98G86P8P5Q54YV0MZTX0Q6PWX0 0N7Q7VWDVG8ANA87A7NYZ0ZWXEP21ZZ72H9GZCSES1K42Z68NTW0 ce886f76a5e286da655c719bad2a55cc72f93d86 QW4PTSB45535F3GFQWGBNM0Z7YFECKPQP3DXY8YXQC4A9313BW7G +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(). AKPWZ7FP3EKRWNZJ0RQGJ89MVPGJYMZF3T35KJXC1DR01AGJE4F0 M6B7FMZ5BSAXX69HSZVJ8KTV1KBQDH00P1CEPE0Q93D836EJKSMG ce886f76a5e286da655c719bad2a55cc72f93d86 EM5CJY198B56B98NNXTA0TKGPQ25F1XCSYBVEJPVJAW49DBY3140 +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 M6B7FMZ5BSAXX69HSZVJ8KTV1KBQDH00P1CEPE0Q93D836EJKSMG ce886f76a5e286da655c719bad2a55cc72f93d86 T6W5ACR8164BYCFA7BP0SHVJ5R74EQJDQA9MTAF0BF47463M7290 +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 CHZFQW1FSQ8BBS5DRMMEA73ECANAJQHX9T33HFE5HK6QHXTNGFZ0 ce886f76a5e286da655c719bad2a55cc72f93d86 1PZ0PT66N4772D046JWEHHGZXARNBRHR8GW0S33DTNFFJ9F91BRG +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 D5GFX3C9TPK2WZESX1TVBTC2X7J0261ADHS61HC2KD8236WME480;T2T7VQDFP268GVNKQEENCW0VNV4NQJERSQ1G3QKWD4D79FSND9R0 ce886f76a5e286da655c719bad2a55cc72f93d86 3Q33CR7K5K1KQ4ESCVQW60772NZZ1PA1KX174DZBNXAXW24DPD50 +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(). QJDWVW1JYMDHB75HJ43TYK8BPJP888XBGWJMRRVD2GNNYVMMM95G D5GFX3C9TPK2WZESX1TVBTC2X7J0261ADHS61HC2KD8236WME480;T2T7VQDFP268GVNKQEENCW0VNV4NQJERSQ1G3QKWD4D79FSND9R0 ce886f76a5e286da655c719bad2a55cc72f93d86 W6J44VF804D0R332BGFQB5FJ6NF9AHP8SC42DED54GWTT00APZMG +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(). MNHWMB2A3T6QH3AHNX4TED6B9V5W75F6KVPJ20VX19RTGTAXRBQ0 - ce886f76a5e286da655c719bad2a55cc72f93d86 VVSR2XYB35DPTX7PNXGJRPZ5C1GJGSC29K25942MFZ8Y4SNW2HX0 +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(). F2N293EBBJ34J3R3PB418BEZK96ZD31V6WJC6S798QCEE0Y87XG0 - ce886f76a5e286da655c719bad2a55cc72f93d86 Y0QEWYSVT330RYSANVF6D3KTCC8JD16E9CVBQCBH2D88EC62MND0 +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(). 40NN1N999NS0WQYVGECR7A42B9FYNWHWMYCPPK4KCQS86D2SCBY0 R1Z419DH3S7V7Y57MGFZBY5YND1PM9ZYW17JWEN696MTSTZ7T8VG;QKJ5MQM3SE78QE8H4PG9SXW73G7Z1KF12WZP4A5KXCGS7JKSBS3G;3WGJW0B54182AM8JA8DN8WDVA9Y1SC4JZDT98HN0JFG6ZRAW9WHG ce886f76a5e286da655c719bad2a55cc72f93d86 Y7WA8GZFW429VPSJBNTGFJA9V60CKEC224A1QCYNS107GPVNHNC0 +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(). ZVJ6N92X1CPM41GVSBVVT8A7HC51F8N1VBA451980949PRHNF2HG R1Z419DH3S7V7Y57MGFZBY5YND1PM9ZYW17JWEN696MTSTZ7T8VG;QKJ5MQM3SE78QE8H4PG9SXW73G7Z1KF12WZP4A5KXCGS7JKSBS3G;3WGJW0B54182AM8JA8DN8WDVA9Y1SC4JZDT98HN0JFG6ZRAW9WHG ce886f76a5e286da655c719bad2a55cc72f93d86 P6ZBRHERR78TWCAP7JTX6580T67VY5A1H82HVNVWQ9E1HM2DANHG +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(). BPQH1Q9Z1Z5D0W9Q91BQWRC2RZ1Z097CGE9RA6R4EH9QC7J51Z3G R1Z419DH3S7V7Y57MGFZBY5YND1PM9ZYW17JWEN696MTSTZ7T8VG;QKJ5MQM3SE78QE8H4PG9SXW73G7Z1KF12WZP4A5KXCGS7JKSBS3G;3WGJW0B54182AM8JA8DN8WDVA9Y1SC4JZDT98HN0JFG6ZRAW9WHG ce886f76a5e286da655c719bad2a55cc72f93d86 QN7X7380SXV9MJ03J5A9M1FE6AARGRJNP6NJM1RSJP5KCPC34CAG +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(). YE6TD0N6D7MJKRD4PDSKXT26SKPY5ZVTFHXK0TECXPHN1B5N9V30 G76XKY7HR6MQ1YEQ4T2Z5WKSD7TNZ3T7CJMHJHA0FKMH16KYG3H0;B7ZTENWB08G74BTKG7K3KKCQ0J98BYBXCYNVNABFTFKJ5CWMJ800;TF2K8Z1BTBV7A2KR6SAJAGJ0JYVXAA6MGYXSJF6VCH34XYH75N8G ce886f76a5e286da655c719bad2a55cc72f93d86 PJQBHND34P90QW6AF8PHXQ4GJAH0MRS26G0WNY2MJZYJ3XGHS0Y0 +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(). FWS4R2NE4VR75C9K0CT0BTHYGS0V6HAA3M3E67NKVMXJACSF50Z0 G76XKY7HR6MQ1YEQ4T2Z5WKSD7TNZ3T7CJMHJHA0FKMH16KYG3H0;B7ZTENWB08G74BTKG7K3KKCQ0J98BYBXCYNVNABFTFKJ5CWMJ800;TF2K8Z1BTBV7A2KR6SAJAGJ0JYVXAA6MGYXSJF6VCH34XYH75N8G ce886f76a5e286da655c719bad2a55cc72f93d86 GW6H226EQECFTHFVVZSAB2M1HTPQGDANAYZP6923MWA5WYR6BFNG +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(). ZX54N1NGWK4MVNF8900GWJHSPE88QH65QCPADAW42Z4RSBJQTQ00 G76XKY7HR6MQ1YEQ4T2Z5WKSD7TNZ3T7CJMHJHA0FKMH16KYG3H0;B7ZTENWB08G74BTKG7K3KKCQ0J98BYBXCYNVNABFTFKJ5CWMJ800;TF2K8Z1BTBV7A2KR6SAJAGJ0JYVXAA6MGYXSJF6VCH34XYH75N8G ce886f76a5e286da655c719bad2a55cc72f93d86 2BEVXRB241SXEG14G62JNTM6XK7KT14Z8FVW63FST12HCZ7GHAS0 +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(). SFQVZA83Y97KDJM0E88XW2XFWF1BASND7TBC7NV3TFZMNB7VAWY0 - ce886f76a5e286da655c719bad2a55cc72f93d86 M2K4TT6MDFVA7NMR9N3TV5BTJ7KC60PF7Z68450PHSWGW8AKVP5G 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(). 8Y850DT9ZZ7170P9C6TE7Z4XXWVXYGHTJDV4BNSVVFQ3NP9TF7Y0 PS11Z1J2AS5F7NGGCG64DH3CE16VWF3PWMGAVXAGK5GMYZS6V3M0;X67QJQEQVY1NBZ1E9J50EAS1KDKNKGVFFBY80P5GTPJ1HKPKDP10 cfbe96bd945d254a6a345105b7b0d203d70a92ff K9BKV6B00RZY5YR4PN2AHF5KTAJJEATCT56VBNP3FS7BF4S12FMG -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(). JQDJZ9JY5JA9Y96PVNK2M90WHN68JTF7QS47V1ZS4J7AM2S3QB6G HJFE6XM9N2CY2QZV3DY4D8SJ7A7VEP1V5749AHSX64VFCBWQ3VJ0;VE4A8BPGNXZBVA4NC1AA66G9N4MJP4DAFCAD5MFY92NSXT8EFXV0;XYRWR8W5GMTN3S6GQENSMBTAZJMMGJBQJJ65WPQPAJNDEWH8WDB0;WH0CV2WZVDDZBKEJ0EHQQY9F7G30VQ1S2J7WZ44WNCKR4QXYHJQ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 5RTK6ETP92F8DT5627TE5T8BAF7TY6MR4HGPH2GXWVEZNA2H6J0G -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(). HDGMB11S4EHV2NHXDFE0V73J820PNPG3T2214J37XPMH12V79AJ0 HJFE6XM9N2CY2QZV3DY4D8SJ7A7VEP1V5749AHSX64VFCBWQ3VJ0;VE4A8BPGNXZBVA4NC1AA66G9N4MJP4DAFCAD5MFY92NSXT8EFXV0;XYRWR8W5GMTN3S6GQENSMBTAZJMMGJBQJJ65WPQPAJNDEWH8WDB0;WH0CV2WZVDDZBKEJ0EHQQY9F7G30VQ1S2J7WZ44WNCKR4QXYHJQ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff HPJ6CGW0EX3RSNKNHS5GSMKYYNT1YNJQTS31DR6VYRP725MSTR7G -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(). G45N186YNB77BTCWG05XWKJR81T7RDD69ZQ5Y1NK6V39Y0DSQRH0 HJFE6XM9N2CY2QZV3DY4D8SJ7A7VEP1V5749AHSX64VFCBWQ3VJ0;VE4A8BPGNXZBVA4NC1AA66G9N4MJP4DAFCAD5MFY92NSXT8EFXV0;XYRWR8W5GMTN3S6GQENSMBTAZJMMGJBQJJ65WPQPAJNDEWH8WDB0;WH0CV2WZVDDZBKEJ0EHQQY9F7G30VQ1S2J7WZ44WNCKR4QXYHJQ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 5PQJRB9NQ5BBP2X5838HSPP2EP19S2FW79VZWVXF056A3QMCENB0 -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(). DJP7EZXPK9AW483NBY1Y4R1T3KBQC176WBEYAHM54DGDFFG24GNG HJFE6XM9N2CY2QZV3DY4D8SJ7A7VEP1V5749AHSX64VFCBWQ3VJ0;VE4A8BPGNXZBVA4NC1AA66G9N4MJP4DAFCAD5MFY92NSXT8EFXV0;XYRWR8W5GMTN3S6GQENSMBTAZJMMGJBQJJ65WPQPAJNDEWH8WDB0;WH0CV2WZVDDZBKEJ0EHQQY9F7G30VQ1S2J7WZ44WNCKR4QXYHJQ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff VKPJ6CFFDKWN089QXJEF3GHP9V73R9VSNYAR75TEWXS0XNXGABPG -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(). 2JSS87ZYZQW54QS8FJY6YN219MQQDDZMFHX6450R8B49A0BGJB2G A090AW3EQT0TYSZBCF6PRPP1S8R7M2B56QG3HDD9PBWNNHNGDM00;GPBK83ENQRMCG9RF38N5KB9HHBNKHH3B60DB4YSKTTN04TFF376G;JY7NVQAJAQE9RJ1DH56T50NN5SVX6Y3WMQGZYHM4PHZCPG1ASRN0;6W3Z63FP3H5J8E6PKR7KXZKX1K9SMH06V0EDW8YZDNCKJ5W3H8B0;M7A8ERH2JZ1YPWJ1TES5ZY55795562SKP3JCZYR8XTEA1MN0JCD0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 41BVT8QP8Q3FSRWKQVC142AY1MPTVSVVE1THHERZTR9B6X4DQPBG -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(). R24AB9S1AD8B0QJX24A060VMN9GR4Y20BEZ6NR1AE4ABR643TQX0 A090AW3EQT0TYSZBCF6PRPP1S8R7M2B56QG3HDD9PBWNNHNGDM00;GPBK83ENQRMCG9RF38N5KB9HHBNKHH3B60DB4YSKTTN04TFF376G;JY7NVQAJAQE9RJ1DH56T50NN5SVX6Y3WMQGZYHM4PHZCPG1ASRN0;6W3Z63FP3H5J8E6PKR7KXZKX1K9SMH06V0EDW8YZDNCKJ5W3H8B0;M7A8ERH2JZ1YPWJ1TES5ZY55795562SKP3JCZYR8XTEA1MN0JCD0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 8DCSHXXRQ0BHWVQEMF4BKBGE5R3D33MKH5FK1GX8023WWHHR1AEG -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(). 782TK69QH5GJZMZN2ZY96BEY6X3FEQ9T36P4XAFNJBAD6VZ1VDGG A090AW3EQT0TYSZBCF6PRPP1S8R7M2B56QG3HDD9PBWNNHNGDM00;GPBK83ENQRMCG9RF38N5KB9HHBNKHH3B60DB4YSKTTN04TFF376G;JY7NVQAJAQE9RJ1DH56T50NN5SVX6Y3WMQGZYHM4PHZCPG1ASRN0;6W3Z63FP3H5J8E6PKR7KXZKX1K9SMH06V0EDW8YZDNCKJ5W3H8B0;M7A8ERH2JZ1YPWJ1TES5ZY55795562SKP3JCZYR8XTEA1MN0JCD0 cfbe96bd945d254a6a345105b7b0d203d70a92ff VKR494NN5NN6BA1SN62R4PFFRCQGMPAVAHRQC3WY58GBGGN3XB7G -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(). 788AXQZKW2Y9FF264PVN8CVRA59WHYW01V2QK97WMC44JEW7SXK0 A090AW3EQT0TYSZBCF6PRPP1S8R7M2B56QG3HDD9PBWNNHNGDM00;GPBK83ENQRMCG9RF38N5KB9HHBNKHH3B60DB4YSKTTN04TFF376G;JY7NVQAJAQE9RJ1DH56T50NN5SVX6Y3WMQGZYHM4PHZCPG1ASRN0;6W3Z63FP3H5J8E6PKR7KXZKX1K9SMH06V0EDW8YZDNCKJ5W3H8B0;M7A8ERH2JZ1YPWJ1TES5ZY55795562SKP3JCZYR8XTEA1MN0JCD0 cfbe96bd945d254a6a345105b7b0d203d70a92ff S39HP34AJEQXC0JGA083MY9E3SVMDE56EF0KYHDFEZ08GE41Q9EG -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(). N8EPA24ZJBZM3BJHD0QNT1ND728VYT56NX0VSC05CJNWCFJW4SC0 HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G;FG2M1M0C982Y6T56CR9HJ1F617VY7Q9H0Y12B2JPDG90SJZ9W1HG;91NNWZSVHERSYBK5325SRCMTTP6ZFCX77A9GXDHMPY442XJXF3XG;WJKTH69EMG74XSQ3V0HH7HMJ646K7TSVPP6STJHRBVZS065PFDW0 cfbe96bd945d254a6a345105b7b0d203d70a92ff V10VJHS70QEAMR5MD6B8JHE2TC4NA1AYFBAMWNZQ5YDEXAGXMC2G -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(). FHV8Q98RVA0T7T1SV66PHNYTM5GJ9YBQ8S19Z3R9DQNC46BPEENG HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G;FG2M1M0C982Y6T56CR9HJ1F617VY7Q9H0Y12B2JPDG90SJZ9W1HG;91NNWZSVHERSYBK5325SRCMTTP6ZFCX77A9GXDHMPY442XJXF3XG;WJKTH69EMG74XSQ3V0HH7HMJ646K7TSVPP6STJHRBVZS065PFDW0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 7CPZDVGT2GB89Q4REZAYVEKNJPT0KHD9AZCPBTHFM2RC3JJE3SK0 -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(). C8TQAE6T8200B0YKJJETXTSMDQAXRXE81B7P08R0B6DNR3P2QHT0 HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G;FG2M1M0C982Y6T56CR9HJ1F617VY7Q9H0Y12B2JPDG90SJZ9W1HG;91NNWZSVHERSYBK5325SRCMTTP6ZFCX77A9GXDHMPY442XJXF3XG;WJKTH69EMG74XSQ3V0HH7HMJ646K7TSVPP6STJHRBVZS065PFDW0 cfbe96bd945d254a6a345105b7b0d203d70a92ff FH1EP504E5ETXFZGPSPQ3E2ZZ1QZ96P85GF5TB08ZFTYTV2WWZGG -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 K2V4BH6H3BCQ1FQAE8C1GEFHZN858W7W6TWDZN7J0912DFVW3BZ0;FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G;WJKTH69EMG74XSQ3V0HH7HMJ646K7TSVPP6STJHRBVZS065PFDW0;TN7RH7XWR3EVBQETNPPDATRQBZAAHVN058RK3C4ZWGM60JDH6HK0 cfbe96bd945d254a6a345105b7b0d203d70a92ff C35E9V1NKM3Z2072VFKQQ13GY3P2GSQ560432PSA32WSPNNMBRWG -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 K2V4BH6H3BCQ1FQAE8C1GEFHZN858W7W6TWDZN7J0912DFVW3BZ0;FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G;WJKTH69EMG74XSQ3V0HH7HMJ646K7TSVPP6STJHRBVZS065PFDW0;TN7RH7XWR3EVBQETNPPDATRQBZAAHVN058RK3C4ZWGM60JDH6HK0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 5M8WT14916JEY6E9PH4WNPA7QGZHGVNZH4302ZFBRRE4GJAREK8G -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G K2V4BH6H3BCQ1FQAE8C1GEFHZN858W7W6TWDZN7J0912DFVW3BZ0;FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G;WJKTH69EMG74XSQ3V0HH7HMJ646K7TSVPP6STJHRBVZS065PFDW0;TN7RH7XWR3EVBQETNPPDATRQBZAAHVN058RK3C4ZWGM60JDH6HK0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 4V296JWYBV972TH75HJ97GKXKPE5MKM51ZT70J8WZV55XF000GK0 -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(). VZM0105RGDADCJ7G7BKF14TC4PGSTM024YX32XVXDX4PKKJY8J2G WJKTH69EMG74XSQ3V0HH7HMJ646K7TSVPP6STJHRBVZS065PFDW0;3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310 cfbe96bd945d254a6a345105b7b0d203d70a92ff NXQSP8C2HYJ3TYWJW5WCX8AS2WKFEG56V2HDADQF03FYX9XVFVYG -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(). C8TQAE6T8200B0YKJJETXTSMDQAXRXE81B7P08R0B6DNR3P2QHT0 WJKTH69EMG74XSQ3V0HH7HMJ646K7TSVPP6STJHRBVZS065PFDW0;3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310 cfbe96bd945d254a6a345105b7b0d203d70a92ff VPCDMSKM3J9V2WPX3Q68DDSMZNH5KJNH034QEV76F09CX37RPKP0 -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G WJKTH69EMG74XSQ3V0HH7HMJ646K7TSVPP6STJHRBVZS065PFDW0;3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310 cfbe96bd945d254a6a345105b7b0d203d70a92ff 4YH4CGRWR4KTMXSW1NMBP9XBZWW6S02WNGZMCVKYW34JDY5T36S0 -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;9J6DVGC2HVWZR2P7RV3KDJ9SFZJKP8PX188HFSVCCQ46YJY8CK5G;MSTKSAF4XXK705RAYYPFPPBQ8CN4E39PRZM9M8JNG85EC4WJ1KB0;EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG cfbe96bd945d254a6a345105b7b0d203d70a92ff M501XQAY28QMHKTZF5VHR9X23NFTERNXHPG55MFYTEP1WT5DQA7G -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(). PM4Z541ZKM3GM72CQ5WYWKHJ4ZEQF8QNFYB43TY873TX6XRKXH2G RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;9J6DVGC2HVWZR2P7RV3KDJ9SFZJKP8PX188HFSVCCQ46YJY8CK5G;MSTKSAF4XXK705RAYYPFPPBQ8CN4E39PRZM9M8JNG85EC4WJ1KB0;EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG cfbe96bd945d254a6a345105b7b0d203d70a92ff 4EDC42925FQ026WF285939JBMV1B7SAWC0SAGD54BEW8AXYBEZSG -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(). 3P5AVXD5M0HJRJ22Y22FTWMB199MAJEA4N1Z9QQEGR0TBKFXMJKG D4GSJ5JE91KHDW9ACMAT8FKEM3WB3JDZXR8EX1ZPVXJARN78GBZG;887VQ36WE1EW2CM7CMPSPRPXVGYGNTE8PYVS05XSC7Y0PRN7CX0G;1JGZJZ153W34MXJ2QQ3QVHQD56HQ1R9PTTQ29F1YDKGK194Q8P40 8017c77e38662dcbc183522cc22d69e8f8597e80 7RHEKQGZ304T43BNTXD8RJQBX7G1NPXR63ANQPPGM0XZ7QCNN16G -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(). TZG041DQCACGZX80EJVZNTY7GN3H86F8HT517KY4PG0BJX32FSG0 D4GSJ5JE91KHDW9ACMAT8FKEM3WB3JDZXR8EX1ZPVXJARN78GBZG;887VQ36WE1EW2CM7CMPSPRPXVGYGNTE8PYVS05XSC7Y0PRN7CX0G;1JGZJZ153W34MXJ2QQ3QVHQD56HQ1R9PTTQ29F1YDKGK194Q8P40 8017c77e38662dcbc183522cc22d69e8f8597e80 25D9ZVVNN1YJBJ751AZ85Q0CXKHKMHRKAK5WBSSYQRPH517ZFQN0 -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_through_its_own_segment - CONFORMANCE §8 MR-DSM-0273 (Met) DJQF8WRSGT7JWG1HF7M70SCDPA8Z4S4RQ4RN4JPRY5X0J8STJPAG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/peer_lineage/validate_peer_lineage(). YGWF1MRPZYHKX9HXMPR16Q9309Y9GKRXABJ2JYRMBWZZPPD7HXAG X5FGQZGCKXSEK83EN431F65XWMMJDFYWVXCXQ1MN0Q612P0K456G;EDJW89ZFNGQKQYHV5FQM3HZDPDWB65N00THPEK86BHPA4WS01EZG 8017c77e38662dcbc183522cc22d69e8f8597e80 53NA2R2C29XS5B49NRGWZKDQ50ZPS1T5036AVV6F84TWDESYDT50 -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(). KEJFZ1Q0TDQSH0FAC4YWE0M0PMTMTMFY37PJQXMQ27TG9P5NBG3G FAQM43PXVTF62RAY6503ESAV1590J95SSZD72VXP778YP2YFV730 8017c77e38662dcbc183522cc22d69e8f8597e80 82QK2KF35JSCCX44NVG1JW295JVFS5NZ50A9X3368THR14JA0GXG -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_through_its_own_segment - CONFORMANCE §8 MR-DSM-0275 (Met) WBJEKRYHZAZE5XS6Z48C734K7SKFFZ3PWJQHXJQW7KZ6MAYFK8R0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/economic_registers/resolve_peer(). X1WRQ7D9PDYS19VCJJ8MXZR7KWJTC7RMKE9SZH22BPDMKZG6TK50 FAQM43PXVTF62RAY6503ESAV1590J95SSZD72VXP778YP2YFV730;EDJW89ZFNGQKQYHV5FQM3HZDPDWB65N00THPEK86BHPA4WS01EZG 8017c77e38662dcbc183522cc22d69e8f8597e80 5A1KBRYWXFYY4N8PFMDV22HF3Q7EY8F053YFRRE9F16R6Z54BHB0 -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(). YGWF1MRPZYHKX9HXMPR16Q9309Y9GKRXABJ2JYRMBWZZPPD7HXAG 5A9DCYAN5VRNEK4EB748M7BGWEGRZ1E7MK1S5SB7XXDENHPBTBDG 8017c77e38662dcbc183522cc22d69e8f8597e80 PTFXX916FWVRC1TN98G44WCAF2GXY3A536ZPNGNY40MSPVG8AWF0 -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(). QEF1W5H1MXKTZ03R35YM9MYQR6CWEWX4RVQYYV7BBFQJ9KADC290 QBBJPD99MBZHDEGN022MKR4T0PGG29ASHVJCJC910P77A3A788TG;2MZHM4DFGANN5BDPXR6ERXMP266VHF0X5ZAQWJ32W95GVE5QGDSG cfbe96bd945d254a6a345105b7b0d203d70a92ff 2X5JN1HKCBDQFYXMHVMAAX18J0F1VV856WD65NPV2XFXR560AYP0 -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 AQQTKE1ARMMJB2Q88G88ZTZ5WV8R5FVZ3QSMFBPQ6YACADN9HVJG cfbe96bd945d254a6a345105b7b0d203d70a92ff QCWBCH40349Q2F5T5ZAB8AMSX75RQ21VQ4M4QJ9SRGJQQPCN5W7G -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(). JVMMM9YBXPFY9YMS94TSWGHYK0ZXA840E8PDXSRHRCRT1SY4YFY0 YWJRTE38KSZT8CHR843EGE75E39BK63SZ0GZ399BSWXAZVXJ10J0 cfbe96bd945d254a6a345105b7b0d203d70a92ff GDHXHGPFJ2K70MB6K00SWGQ3KSZ9YAKKTEKESM0HQ06F4B77Z7CG -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(). VHF3S3PVDKPDYB9XTV1V1TCQFBEXY819G104THMVCD1S6FS00GC0 C56WTSF9CHQYN2K2C9EJW65NWXPDYZKDGJ8RGFJ902XA8A9R3KYG;GKD3430Z60ZPV114574FDTKT3ZZFFN9BFXRQQCXGGGQP0GCKAACG;C8K7AYR8S9XNSJ8T3WEVRZCYG90XG1QQ5090243TVDG08FDCJZDG cfbe96bd945d254a6a345105b7b0d203d70a92ff 1ENN731VDBZFZ8XS9TWSBR8KP7P1BC5FY6Z2XAB74PBFGHFQKE60 -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(). 633C3ANMK46PN8YNAXS0ABV7RPEN0EGH6EGZ5XSXPE7YXT5DX4C0 C56WTSF9CHQYN2K2C9EJW65NWXPDYZKDGJ8RGFJ902XA8A9R3KYG;GKD3430Z60ZPV114574FDTKT3ZZFFN9BFXRQQCXGGGQP0GCKAACG;C8K7AYR8S9XNSJ8T3WEVRZCYG90XG1QQ5090243TVDG08FDCJZDG cfbe96bd945d254a6a345105b7b0d203d70a92ff 4N2781Q4RJ0YA2KBCFYJG0S2WMTQSRFJQ334PZX7T0X7Q052VAPG -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(). WC2MY0ZNHKWTYSN1HM7YFS99BJAPYKFFM41WDTCW8WJ0WV80QHM0 C56WTSF9CHQYN2K2C9EJW65NWXPDYZKDGJ8RGFJ902XA8A9R3KYG;GKD3430Z60ZPV114574FDTKT3ZZFFN9BFXRQQCXGGGQP0GCKAACG;C8K7AYR8S9XNSJ8T3WEVRZCYG90XG1QQ5090243TVDG08FDCJZDG cfbe96bd945d254a6a345105b7b0d203d70a92ff 3WCGJZPKB929F2K6VJYEFNFBFCKP8TQ7RDMSSP79ZQEW4WGP0XT0 -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(). 93ZRFR57W4C2QJ2V49GV3XTMRGZK3T2TF0HT888JKR9T1DJQJ9N0 C56WTSF9CHQYN2K2C9EJW65NWXPDYZKDGJ8RGFJ902XA8A9R3KYG;GKD3430Z60ZPV114574FDTKT3ZZFFN9BFXRQQCXGGGQP0GCKAACG;C8K7AYR8S9XNSJ8T3WEVRZCYG90XG1QQ5090243TVDG08FDCJZDG cfbe96bd945d254a6a345105b7b0d203d70a92ff PJ4DYRP5QMN4F3STVKPBP66XNZPZFGTZ318PY28VGZM8Q61PCM2G -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 XTG1SK0YB8P07R49PAM81DBZFTX7S9S56377FWAN84HKS171FJP0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 8DV105Z37DBGX8REJ7VHYD1MGNKJQBF6427FXFHT4RBGQ7Q5S3KG -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(). 871RSHNX0NMGCKNX45GTQXTS5NK71A1B17HB7GXPFMMD89Z4FG6G 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50 cfbe96bd945d254a6a345105b7b0d203d70a92ff HETH57P5CTFZ7J0WEF2ARXB6E0A0SDB1MVM3QKXS5A1C3TW3QH60 -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 E365PSKDGK279HB7RC5PWDF6RBK191WWX0PZ385VRFKC3K859250;PKCHQB4GTF4R6ZPW11JQXGRJY1XYFZAM5CZVC9X5STWG3EN5BM5G;RN6QXW9BA8Q472Q03YJ164X07MDDTSTNEP4CDH6BBXF7RKGX2XGG cfbe96bd945d254a6a345105b7b0d203d70a92ff P83C3C09PX9P0J0XA0Q0F4P9D77BVW0M0TW000PCJFW8J72QKBBG -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G E365PSKDGK279HB7RC5PWDF6RBK191WWX0PZ385VRFKC3K859250;PKCHQB4GTF4R6ZPW11JQXGRJY1XYFZAM5CZVC9X5STWG3EN5BM5G;RN6QXW9BA8Q472Q03YJ164X07MDDTSTNEP4CDH6BBXF7RKGX2XGG cfbe96bd945d254a6a345105b7b0d203d70a92ff 9B0CX5JT2TEYR9J88Z425ZT7DZJFQ48EW3QTE2ZNW03W8NSS39KG -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(). S01E3SJZZ7E5G5GS5ZB1DBMWW2EHC7CR2MDT905BVP5RXKK9DRA0 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0 cfbe96bd945d254a6a345105b7b0d203d70a92ff GVP9J3EAFFPPXMXBFVPMJ8WBBSHTF2GXXSZ9E2C7G6D21GQ3PVDG -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(). D0GX3X5GC65NCRGZCXV6XR3Y9HCWEW01MW502R2EK28KF6A71WE0 XTG1SK0YB8P07R49PAM81DBZFTX7S9S56377FWAN84HKS171FJP0 cfbe96bd945d254a6a345105b7b0d203d70a92ff S4XWKYVAH7Q7V2ZASJV7MWD3RDXCX0K24WRR46Y09QKZ3TDBP1NG -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 VC01GEP35BNTGK67EPT8Y581WVBTEZ80SNBK0EYPEQPMNGFD5WWG cfbe96bd945d254a6a345105b7b0d203d70a92ff AEQTW8H34FBDG8PAK5V4WHDEMB4WF1H2CYY2WJN3J8KX4XH3AW1G -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;WQWD460EB6KSHAWBSERGJKS3FVXZSSQKDP8XTQNXH37G44YJ9E70;EG6PAV9FNDEN2D2X41VSG6FPE58HR6EQ5GX2HB7PH4C42WY377JG;G34BVS55Y6JDB2ZQ55GXKXY0J5AH2YMDGF6P1S36K1G131B1GQK0 cfbe96bd945d254a6a345105b7b0d203d70a92ff R4955JX2QJGJ96Q6609NXGEVWDHN34RV1CGGZXYPQ1ZW5062SY4G -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;WQWD460EB6KSHAWBSERGJKS3FVXZSSQKDP8XTQNXH37G44YJ9E70;EG6PAV9FNDEN2D2X41VSG6FPE58HR6EQ5GX2HB7PH4C42WY377JG;G34BVS55Y6JDB2ZQ55GXKXY0J5AH2YMDGF6P1S36K1G131B1GQK0 cfbe96bd945d254a6a345105b7b0d203d70a92ff H4JQ2567VSC1C8WKN0K5K37HXSBE1QMX3CPJN8WCCX3T91BS3HTG -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(). HDH1YWCGVRNVS2FGY3ZDVV19M5V32M9749HSW56XEY872DJ4AN20 09V7J65F73HPJ7A2BJFBY9GMY20C68HZA2S7PD3MZB59EAN37W10;WQWD460EB6KSHAWBSERGJKS3FVXZSSQKDP8XTQNXH37G44YJ9E70;EG6PAV9FNDEN2D2X41VSG6FPE58HR6EQ5GX2HB7PH4C42WY377JG;G34BVS55Y6JDB2ZQ55GXKXY0J5AH2YMDGF6P1S36K1G131B1GQK0 cfbe96bd945d254a6a345105b7b0d203d70a92ff N1WHGG8KVD9HXZXCSV0VAFXMS6NCWC7S5BKVPMNSE0PPNGYAJDSG -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G RQGC95SYNA65YCEKZRV8HS1QNQV5TD10DE0GG99RW0Q4YN3095Z0;HNVKXZEQ6T7WHD12WVD7D1MPDJV87G5W84WRQ54TG93E4E7BZ6HG;PKCHQB4GTF4R6ZPW11JQXGRJY1XYFZAM5CZVC9X5STWG3EN5BM5G cfbe96bd945d254a6a345105b7b0d203d70a92ff 1WAH7Z0H37A9PDWWA8273N6TEP89MA45F6TEHJY5ZNQCCJVEDEFG -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 RQGC95SYNA65YCEKZRV8HS1QNQV5TD10DE0GG99RW0Q4YN3095Z0;HNVKXZEQ6T7WHD12WVD7D1MPDJV87G5W84WRQ54TG93E4E7BZ6HG;PKCHQB4GTF4R6ZPW11JQXGRJY1XYFZAM5CZVC9X5STWG3EN5BM5G cfbe96bd945d254a6a345105b7b0d203d70a92ff 7DYYCGYQ0GA6SW164RRFE1NTJE6TSDEHG3DWJ777KZCNVBH1VFG0 -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(). W3889Q6QRQVJ9JKDSG4NEH2XG9VJH2PV5T3Q835F6GNFFK6GM5Y0 RQGC95SYNA65YCEKZRV8HS1QNQV5TD10DE0GG99RW0Q4YN3095Z0;HNVKXZEQ6T7WHD12WVD7D1MPDJV87G5W84WRQ54TG93E4E7BZ6HG;PKCHQB4GTF4R6ZPW11JQXGRJY1XYFZAM5CZVC9X5STWG3EN5BM5G cfbe96bd945d254a6a345105b7b0d203d70a92ff 5FHZJNXY6Y1JH6W28H4JDY207BDRPP3DYWTDCAQDB59XD1YYT400 -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 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50;WQZX7BJM3C45WC39XF3XQHBCSEQ12DKXB6Y9DE1Q6D5WGNV908MG;8HYJN1DKRET44BMZAHZGKD3E2EYH11PWX4RMF075QA4FPXVK9RHG;X0MDYAT9M2CNH7GRSD2Y9X3JSHJZPV5PF3TX0WE98DP9A3WCTM60 cfbe96bd945d254a6a345105b7b0d203d70a92ff GSZNB16PBHK487HV26NWNM5PTDRKC8YQA5M752VRDX2NTHDF1AKG -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 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50;WQZX7BJM3C45WC39XF3XQHBCSEQ12DKXB6Y9DE1Q6D5WGNV908MG;8HYJN1DKRET44BMZAHZGKD3E2EYH11PWX4RMF075QA4FPXVK9RHG;X0MDYAT9M2CNH7GRSD2Y9X3JSHJZPV5PF3TX0WE98DP9A3WCTM60 cfbe96bd945d254a6a345105b7b0d203d70a92ff ZB0VFFRC6EMVXPC4E65DTCTKFTWD1WZ5VX2HTY698B5Q8JRD3VJ0 -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# S2239B6EJP6SV4X7FBWAS7B2VTP9ZR5H7J5QN8PJNFXVFZGAHEX0 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50;WQZX7BJM3C45WC39XF3XQHBCSEQ12DKXB6Y9DE1Q6D5WGNV908MG;8HYJN1DKRET44BMZAHZGKD3E2EYH11PWX4RMF075QA4FPXVK9RHG;X0MDYAT9M2CNH7GRSD2Y9X3JSHJZPV5PF3TX0WE98DP9A3WCTM60 cfbe96bd945d254a6a345105b7b0d203d70a92ff 6G0W0DMZ35F3XMSH2A2E3N5NXE1NWPDDJC7G960J553PQ1BTJMA0 -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 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50;WQZX7BJM3C45WC39XF3XQHBCSEQ12DKXB6Y9DE1Q6D5WGNV908MG;8HYJN1DKRET44BMZAHZGKD3E2EYH11PWX4RMF075QA4FPXVK9RHG;X0MDYAT9M2CNH7GRSD2Y9X3JSHJZPV5PF3TX0WE98DP9A3WCTM60 cfbe96bd945d254a6a345105b7b0d203d70a92ff MJFADCCJF4JH8SMJCS5PZTYWWWKPDKAD5475D46XVWBA8GCPXQTG -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(). KQKH30XE23B623EQ7727VDRN955A736B3E8ME21B3JE8R3ZNMS10 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50;WQZX7BJM3C45WC39XF3XQHBCSEQ12DKXB6Y9DE1Q6D5WGNV908MG;8HYJN1DKRET44BMZAHZGKD3E2EYH11PWX4RMF075QA4FPXVK9RHG;X0MDYAT9M2CNH7GRSD2Y9X3JSHJZPV5PF3TX0WE98DP9A3WCTM60 cfbe96bd945d254a6a345105b7b0d203d70a92ff 7BHY9TJB8Z1TBZMN7G83G1RVQ21G5VP9JXT8T7TG62V4N0Q9ZNM0 -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 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50;WQZX7BJM3C45WC39XF3XQHBCSEQ12DKXB6Y9DE1Q6D5WGNV908MG;8HYJN1DKRET44BMZAHZGKD3E2EYH11PWX4RMF075QA4FPXVK9RHG;X0MDYAT9M2CNH7GRSD2Y9X3JSHJZPV5PF3TX0WE98DP9A3WCTM60 cfbe96bd945d254a6a345105b7b0d203d70a92ff N1R9KX41MFJ36WY3634S3HDBNA4P204JZEEWKAWPQQ8GGSRGR2JG -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 0P4GW16EH1R58K6JGMJZBDAD5KJXW61GKMAEDRJAKAX3GGDYSTYG cfbe96bd945d254a6a345105b7b0d203d70a92ff HX03EADV9TV9EVWJ1PFYQ9DS9FTW8QDNF1WEJR4D514F3GBF7JN0 -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(). VT1VW82CYFN8QQ0NZYKCSYBBDKFWCF4FNC2YP8FBKEYA3HGKX3D0 1742ZMAWMSQMJX0RAGPWEM8VWSA2NDH67KFMTHN47SMFEZ2DAG90 cfbe96bd945d254a6a345105b7b0d203d70a92ff 0DPP53CBEJT6FARAN6NPBZ7M3J19Y9MAGVM557PARST98888KSW0 -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(). 0GFPT58CT74TMZF2ZMB6KKC9H1W9JP90B5191K7CMS914M2FNKSG 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50 cfbe96bd945d254a6a345105b7b0d203d70a92ff CNFYQPKAC740AN4Z5T4SP8JFQH7EED0HEVKXPMA3NY4DNM09DRBG -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 VHKVQR46BHQE6ZCWM9HMNFCJY66E1WYX3230FPFN7FYR3QESEHMG cfbe96bd945d254a6a345105b7b0d203d70a92ff P950M89TARRAQG1HKFDYTPNS3FZYJF78ZS4ECN2XYDR6APFPSRZG -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(). W3889Q6QRQVJ9JKDSG4NEH2XG9VJH2PV5T3Q835F6GNFFK6GM5Y0 RQGC95SYNA65YCEKZRV8HS1QNQV5TD10DE0GG99RW0Q4YN3095Z0 cfbe96bd945d254a6a345105b7b0d203d70a92ff R3XJJC254RXK32XKS03FS8H2F16167JYN3CW6PTWR8447ZFJB830 -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(). CV6RVQ1P3306PSCB0TK5FC9S0HZ6NDG7HRF1M6MYB79Z9WGBC2B0 CNFATKDNP52RE1GAEKTX5246V09SP1VQMZXTR13FTE8J408SMCS0;RVTHEMDEZ9Y1HMZ9Z8YFR610RNB18N4AW8AAC2V91732D14AYNJ0;0E977ME416W9GX4VYE5DRQEMM13N5N1QQJWZXFCH1S92NSD9W6GG;RQGC95SYNA65YCEKZRV8HS1QNQV5TD10DE0GG99RW0Q4YN3095Z0 cfbe96bd945d254a6a345105b7b0d203d70a92ff ZTD37YZ056QEA36Q3KMXXBM9EG22SZH0VMENH9X41NV3F8VA6150 -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(). QEF1W5H1MXKTZ03R35YM9MYQR6CWEWX4RVQYYV7BBFQJ9KADC290 CNFATKDNP52RE1GAEKTX5246V09SP1VQMZXTR13FTE8J408SMCS0;RVTHEMDEZ9Y1HMZ9Z8YFR610RNB18N4AW8AAC2V91732D14AYNJ0;0E977ME416W9GX4VYE5DRQEMM13N5N1QQJWZXFCH1S92NSD9W6GG;RQGC95SYNA65YCEKZRV8HS1QNQV5TD10DE0GG99RW0Q4YN3095Z0 cfbe96bd945d254a6a345105b7b0d203d70a92ff M27XX7ZY72HD7Y2V4CTANF7XB5WK6HG5P648695M26X3MCP784J0 -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(). YT48DYCH1156YJ5PN4NKKHY4EB3JJFH0V42D5BX7NQKCCKQ6HKM0 CNFATKDNP52RE1GAEKTX5246V09SP1VQMZXTR13FTE8J408SMCS0;RVTHEMDEZ9Y1HMZ9Z8YFR610RNB18N4AW8AAC2V91732D14AYNJ0;0E977ME416W9GX4VYE5DRQEMM13N5N1QQJWZXFCH1S92NSD9W6GG;RQGC95SYNA65YCEKZRV8HS1QNQV5TD10DE0GG99RW0Q4YN3095Z0 cfbe96bd945d254a6a345105b7b0d203d70a92ff K0Y8M24J1XV5C81HNNYTGBYRDN37683FZ5VFPHC5VEG6N8JJECR0 -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(). W3889Q6QRQVJ9JKDSG4NEH2XG9VJH2PV5T3Q835F6GNFFK6GM5Y0 CNFATKDNP52RE1GAEKTX5246V09SP1VQMZXTR13FTE8J408SMCS0;RVTHEMDEZ9Y1HMZ9Z8YFR610RNB18N4AW8AAC2V91732D14AYNJ0;0E977ME416W9GX4VYE5DRQEMM13N5N1QQJWZXFCH1S92NSD9W6GG;RQGC95SYNA65YCEKZRV8HS1QNQV5TD10DE0GG99RW0Q4YN3095Z0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 65DYZ1FVJACSR482B9B1V5FGVMP5YF2NM4FAVCVQPR0GT0FVRY40 -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G 97M9G3P5MF93SC8P5N236TFJP5HFBV43J8MPX1NR1D1JZDWFK2H0;K2V4BH6H3BCQ1FQAE8C1GEFHZN858W7W6TWDZN7J0912DFVW3BZ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff AM2SJPJYVK54FJFZPJXC1H951S7X91D75GWT6Y2Q1HQ1XKKXEGM0 -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(). NXED42NNQNS7F7XA9Z1EPFRJQRJDAFWHB4W99FY1M3NTNPK2RPF0 97M9G3P5MF93SC8P5N236TFJP5HFBV43J8MPX1NR1D1JZDWFK2H0;K2V4BH6H3BCQ1FQAE8C1GEFHZN858W7W6TWDZN7J0912DFVW3BZ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 300HH7P6V9M9S4K3CTRXH1R6YANSTEN6PVENZS18R6D3401587QG -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(). R3HCV9FPWMXVR3BHTPR56HJAZ18SHB04YZHVY3XX9K7H0MPZYD00 01Z8QTB16P3J06PZAH5EJX4SEH2Z6NPHX2H451NGD2HBS1ZTTQ6G;WP2M7G7W63GFYVPEMS4TNWGVNMZDGYA5RNAREENK5KJEQE9NBA70 cfbe96bd945d254a6a345105b7b0d203d70a92ff JV6Q84JKBNPNBP4D5ED6EG9KRV98PRKSNWG034NWZY2YXM68646G -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(). NXED42NNQNS7F7XA9Z1EPFRJQRJDAFWHB4W99FY1M3NTNPK2RPF0 01Z8QTB16P3J06PZAH5EJX4SEH2Z6NPHX2H451NGD2HBS1ZTTQ6G;WP2M7G7W63GFYVPEMS4TNWGVNMZDGYA5RNAREENK5KJEQE9NBA70 cfbe96bd945d254a6a345105b7b0d203d70a92ff NWKPQC39S6F6YRTM82Z9HB68AGVZ8NZM3K4MP6XPFBHKE9NAFXF0 -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 VC01GEP35BNTGK67EPT8Y581WVBTEZ80SNBK0EYPEQPMNGFD5WWG cfbe96bd945d254a6a345105b7b0d203d70a92ff XDGGH37NBVDGY6DEJV3CA546EK25BSCYKZPGHNFX95ZQJBM6R290 -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 VC01GEP35BNTGK67EPT8Y581WVBTEZ80SNBK0EYPEQPMNGFD5WWG cfbe96bd945d254a6a345105b7b0d203d70a92ff J1GJ4GFNNHN5HS7K0SSBAG5SPMDBTXJ7PKBFESPZVPFK79HD5T8G +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(). 6W0PGGHQRPZ9X2FK0D3YYSBRRRHKF5D7SVF5G3JRMZTYM88FHJCG J05WZG7HMX42XCT0YBA8KQ1HH61RZAHPBDHKK2VRZ2BHKH0G3570;F9B7KYQX79CBSGVNQ4DG7CFKTHSZ1A45Y7XZ62NPB1KJ6V2GVRRG ce886f76a5e286da655c719bad2a55cc72f93d86 2MXRPZG5FE4ZANMYD3M2D42AA3E3YQDT724RYRXP6S6NYWYVF7X0 +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(). MPZWJ3BCJ2GMYMXP9X5XZ3QQE5BY61X81GYPCPNQK8DN94Z6JEGG AH74E8ZCKWM8EKRVD2DMQVRDY9S53MPGJR426Y2YT0A3MGH7A0J0;X9HE80WDYKXP011YVMBEDE12SDPXMZJXM825G2D5KTEWEER73EFG;DV1RHF0MSX3EEY279HQZQBJ3B0ESPN7CBT5WQ48PQD3JP3SA55B0;DZTYHMTER41XQEP0HWN2BG5VMPF6HEJEPF024JMCX9E39AYJ39ZG ce886f76a5e286da655c719bad2a55cc72f93d86 VZ8NH1TSY37RKKFSRKQQ3QM9ZQGQRVTNQ9DCBYXJ8RCXHE7TP390 +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(). 3KKMNFP149XQVZPSM5ZZTNN5PWWWH063Y0GRB9NAE6GPN4HASP10 AH74E8ZCKWM8EKRVD2DMQVRDY9S53MPGJR426Y2YT0A3MGH7A0J0;X9HE80WDYKXP011YVMBEDE12SDPXMZJXM825G2D5KTEWEER73EFG;DV1RHF0MSX3EEY279HQZQBJ3B0ESPN7CBT5WQ48PQD3JP3SA55B0;DZTYHMTER41XQEP0HWN2BG5VMPF6HEJEPF024JMCX9E39AYJ39ZG ce886f76a5e286da655c719bad2a55cc72f93d86 WJGY62DVGRXJXX7QF3CARTAWMB0RZDXVWRN7YDPKK5GPHR066SG0 +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(). FMFSQJRX7W88XE1AMKFCNYGBF71SAHXKSAYYW5NM59N3YTFP3QYG AH74E8ZCKWM8EKRVD2DMQVRDY9S53MPGJR426Y2YT0A3MGH7A0J0;X9HE80WDYKXP011YVMBEDE12SDPXMZJXM825G2D5KTEWEER73EFG;DV1RHF0MSX3EEY279HQZQBJ3B0ESPN7CBT5WQ48PQD3JP3SA55B0;DZTYHMTER41XQEP0HWN2BG5VMPF6HEJEPF024JMCX9E39AYJ39ZG ce886f76a5e286da655c719bad2a55cc72f93d86 3K6FPET2G56JVGBENSQ6HEEJMC9T5VVRQZGP9AP90VRYMA1M5KY0 +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(). 3A7TSGYAZYBV048BK8SH1Y4G32E0DTA27QF90YB0SKAFV2X685GG AH74E8ZCKWM8EKRVD2DMQVRDY9S53MPGJR426Y2YT0A3MGH7A0J0;X9HE80WDYKXP011YVMBEDE12SDPXMZJXM825G2D5KTEWEER73EFG;DV1RHF0MSX3EEY279HQZQBJ3B0ESPN7CBT5WQ48PQD3JP3SA55B0;DZTYHMTER41XQEP0HWN2BG5VMPF6HEJEPF024JMCX9E39AYJ39ZG ce886f76a5e286da655c719bad2a55cc72f93d86 XTYQZHV411G0ACXTTK1HM4ZM6K8SPG0F9QXVB5EQ3YVM3HKKJ9XG +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(). KFSSEFF49MG6SJJHAQYYPB06EAMZRR0A4H3EAV2FARBQ1Z2GMA00 ZGT7KJBF0JB7QDYF8GDZPJ929TWETQGDAG2HK7ZN55RKBWKXBG5G;ED5W4JJ13436RHK1Q6XC68DTKA8VHWGJV0M7SK9R8CD85Q4MVRE0;6T47NTX90R2GE43NSR75JE4KBATSRKQ7B77K289PHN6PQC4HK10G;YEVR23AFRVTP6YQMY0J164Y7ND58AQ1Q2XVC2CFR1WTAJ5TJVFAG;2YGV8XSF7EJK6XWVC7M0MAVQSNET484S7N42ZXV2KGE7GAZZAG0G ce886f76a5e286da655c719bad2a55cc72f93d86 AHZX0F4VH992KJZ47WQP9TW778KWVJWKERPWJ7FFRRHNGKZXAY9G +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(). JR2GZFSW3DDEZ9H4HGWBW6A343N5BJBQMTMC0AHGW61JTATHC860 ZGT7KJBF0JB7QDYF8GDZPJ929TWETQGDAG2HK7ZN55RKBWKXBG5G;ED5W4JJ13436RHK1Q6XC68DTKA8VHWGJV0M7SK9R8CD85Q4MVRE0;6T47NTX90R2GE43NSR75JE4KBATSRKQ7B77K289PHN6PQC4HK10G;YEVR23AFRVTP6YQMY0J164Y7ND58AQ1Q2XVC2CFR1WTAJ5TJVFAG;2YGV8XSF7EJK6XWVC7M0MAVQSNET484S7N42ZXV2KGE7GAZZAG0G ce886f76a5e286da655c719bad2a55cc72f93d86 NT6SX6ENMVYPZ7CMZQGKWXQ3DEWG8QMQ6BSJMDJ58FG8DY4BG7M0 +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(). 7W2FP37CX7CXTP4PYMM6DHG69VKWAR4T890SNCAC9JBZ9NSAE770 ZGT7KJBF0JB7QDYF8GDZPJ929TWETQGDAG2HK7ZN55RKBWKXBG5G;ED5W4JJ13436RHK1Q6XC68DTKA8VHWGJV0M7SK9R8CD85Q4MVRE0;6T47NTX90R2GE43NSR75JE4KBATSRKQ7B77K289PHN6PQC4HK10G;YEVR23AFRVTP6YQMY0J164Y7ND58AQ1Q2XVC2CFR1WTAJ5TJVFAG;2YGV8XSF7EJK6XWVC7M0MAVQSNET484S7N42ZXV2KGE7GAZZAG0G ce886f76a5e286da655c719bad2a55cc72f93d86 DYZ1MS1F498XBDMRJR3JNJBSDYPS02AFFA82X92450Z7AFFHAXHG +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(). YYNDF5SC3S1DJ4XNGWXX3PJFW36FFJJRNN4QW28DEMCQV6CPDCY0 ZGT7KJBF0JB7QDYF8GDZPJ929TWETQGDAG2HK7ZN55RKBWKXBG5G;ED5W4JJ13436RHK1Q6XC68DTKA8VHWGJV0M7SK9R8CD85Q4MVRE0;6T47NTX90R2GE43NSR75JE4KBATSRKQ7B77K289PHN6PQC4HK10G;YEVR23AFRVTP6YQMY0J164Y7ND58AQ1Q2XVC2CFR1WTAJ5TJVFAG;2YGV8XSF7EJK6XWVC7M0MAVQSNET484S7N42ZXV2KGE7GAZZAG0G ce886f76a5e286da655c719bad2a55cc72f93d86 V1QVA6DSMMCFBABGE6RR7WVZVNMJVYDZ8APDAN1S6EMY5KKV0NPG +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(). Y5EGFVHA0KCQM03BPPN9J7W512GTATHW9A1S5RVBDXAR8X412E50 6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG;W8S0YKE2H8FZJJRN3881DZWGN2P4M8X9XQ9ZFN23C2W3DE3TG5Z0;A28C908N7Y9GEW38GFDCD19PHCHWEBKQPS7CQZBQJ4XAEW60XPWG;KZ4MZ5096GNCS67ST3Q6V9WHWD8SPJ777RMVZ81GAFDMKEYSXR20 ce886f76a5e286da655c719bad2a55cc72f93d86 9SM4R2BGMBXXNPPVCVE47AY0X73W5KT3FS3W544ZVS3YWGWX4MHG +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(). 871BH4QQEPK0JFFS4JJJYKMAYC3ZMX3B97HC21SCDTFHJDY05DD0 6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG;W8S0YKE2H8FZJJRN3881DZWGN2P4M8X9XQ9ZFN23C2W3DE3TG5Z0;A28C908N7Y9GEW38GFDCD19PHCHWEBKQPS7CQZBQJ4XAEW60XPWG;KZ4MZ5096GNCS67ST3Q6V9WHWD8SPJ777RMVZ81GAFDMKEYSXR20 ce886f76a5e286da655c719bad2a55cc72f93d86 T0Q33JCV5XFZA29HTX59SA9RYSA817GHW47QTE3SA2KH3V9ET6T0 +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(). 50GJRED89534S6JFK3JDEGR76N8D7EKPD6TNVXY8PG2JSN6V5VX0 6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG;W8S0YKE2H8FZJJRN3881DZWGN2P4M8X9XQ9ZFN23C2W3DE3TG5Z0;A28C908N7Y9GEW38GFDCD19PHCHWEBKQPS7CQZBQJ4XAEW60XPWG;KZ4MZ5096GNCS67ST3Q6V9WHWD8SPJ777RMVZ81GAFDMKEYSXR20 ce886f76a5e286da655c719bad2a55cc72f93d86 2N09SVA6NAMDASMH585MQBGSA248KKTQ99HG6EG6V322DQ9MKAR0 +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 TSXF7CZBCWBQFJJ02HGGXJM1933DFD1BAJGAMM0MN7041J2J2M4G;2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00;KZ4MZ5096GNCS67ST3Q6V9WHWD8SPJ777RMVZ81GAFDMKEYSXR20;FPKDT6Y025SXNEK5QP8CKQE0713GCW23BHYB1JZ661VVJMK6EFHG ce886f76a5e286da655c719bad2a55cc72f93d86 3XJ1TES1R4Y3CB8QN7HH7XZTMCD8H1GJ65ADTDDAJCD5NEW8EGGG +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 TSXF7CZBCWBQFJJ02HGGXJM1933DFD1BAJGAMM0MN7041J2J2M4G;2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00;KZ4MZ5096GNCS67ST3Q6V9WHWD8SPJ777RMVZ81GAFDMKEYSXR20;FPKDT6Y025SXNEK5QP8CKQE0713GCW23BHYB1JZ661VVJMK6EFHG ce886f76a5e286da655c719bad2a55cc72f93d86 FH9FQMHB92JFH9X6D05EJ8ZFDB0AXNZ9NT72V714CQR3A856XK00 +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG TSXF7CZBCWBQFJJ02HGGXJM1933DFD1BAJGAMM0MN7041J2J2M4G;2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00;KZ4MZ5096GNCS67ST3Q6V9WHWD8SPJ777RMVZ81GAFDMKEYSXR20;FPKDT6Y025SXNEK5QP8CKQE0713GCW23BHYB1JZ661VVJMK6EFHG ce886f76a5e286da655c719bad2a55cc72f93d86 9S2VRM3YX149Z8KEXJECVA6ZZD9ZXDG5FQ236GF98B0990N5FAVG +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(). F36VFJY5RWY39R0QB7QZBA7A9YM34HYD9WAW88S1KT67GZG5EWW0 KZ4MZ5096GNCS67ST3Q6V9WHWD8SPJ777RMVZ81GAFDMKEYSXR20;MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0 ce886f76a5e286da655c719bad2a55cc72f93d86 440KWV7ZPXR63MJH1SFY1J2VZ3BZVVB036YA1MM5VSYDJMDXM3D0 +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(). 50GJRED89534S6JFK3JDEGR76N8D7EKPD6TNVXY8PG2JSN6V5VX0 KZ4MZ5096GNCS67ST3Q6V9WHWD8SPJ777RMVZ81GAFDMKEYSXR20;MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0 ce886f76a5e286da655c719bad2a55cc72f93d86 Q19DV46NY4K8M6AVVR71B2FAAXAAJZFKFA4HYY0BMY5MNPAHKN10 +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG KZ4MZ5096GNCS67ST3Q6V9WHWD8SPJ777RMVZ81GAFDMKEYSXR20;MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0 ce886f76a5e286da655c719bad2a55cc72f93d86 N8FSHAWENQ58EGV1EDC6QKRPCCNPD199DQZB2DP6NZAR6MQGJCV0 +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;ZJAV1DG818AXBSAC42YWD3CJ522WFH34CD5ATZQQ90WTF2V219CG;5XZ8ZPQMBZVP8W5ET1Y8737GES9AYFZSFQTKSBTNBAP8Q6V34CN0;EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG ce886f76a5e286da655c719bad2a55cc72f93d86 C0CSXDEYPR95EJC3CNQ1XS6C011RT9BXG4R7YF5NFABSS4WSB3V0 +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(). 0J9C53PJ8QYAYA9PWKBJPQPYC7EFPCK8ZJ91NVYRWEH8PA2NZ040 RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;ZJAV1DG818AXBSAC42YWD3CJ522WFH34CD5ATZQQ90WTF2V219CG;5XZ8ZPQMBZVP8W5ET1Y8737GES9AYFZSFQTKSBTNBAP8Q6V34CN0;EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG ce886f76a5e286da655c719bad2a55cc72f93d86 EEZP4R2V84XNMF0WMH3951BPCQ42Q4DXNK2B4S0JKYT6VW9CEJM0 +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(). HVJE6ZSR65J0Y095F56W89E89Z06Z1X8WB8NEM48CTG5FJH6CM7G ZDEP3XKYJ0CF925QYE89DKGW006T3T181TQH4T777EN5FCWZKCKG;EGNQRY7QAXJPBJK0974ZV41T36M3HNE189115YC3W990DKYCBBS0;R5JNY3RBX432JJPMX3WNA21ZGZEAWZQ16QMWVJ8T9R6RXJ219GFG ce886f76a5e286da655c719bad2a55cc72f93d86 8YAX49ZM5MZB7KVVYKAZRJVHFQZBMJ2Q0TN1Y22M9D2YYJKC8HW0 +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(). FJC4DRY35RXA28R7E4XGDFMTFVEQDV7ET05WBQQ11FKYPY7KP69G ZDEP3XKYJ0CF925QYE89DKGW006T3T181TQH4T777EN5FCWZKCKG;EGNQRY7QAXJPBJK0974ZV41T36M3HNE189115YC3W990DKYCBBS0;R5JNY3RBX432JJPMX3WNA21ZGZEAWZQ16QMWVJ8T9R6RXJ219GFG ce886f76a5e286da655c719bad2a55cc72f93d86 EVRD3MEND6PFG6HS6TWGG6CJ92NHEVEWK1J46NWNAN28F0VWXV30 +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_through_its_own_segment - CONFORMANCE §8 MR-DSM-0273 (Met) DJQF8WRSGT7JWG1HF7M70SCDPA8Z4S4RQ4RN4JPRY5X0J8STJPAG Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 economic/peer_lineage/validate_peer_lineage(). YE6TD0N6D7MJKRD4PDSKXT26SKPY5ZVTFHXK0TECXPHN1B5N9V30 S08QJJE05ZPK20W4NM7X5D2V33WPG9V4WRYVAQTSN1THASSRWCA0;WD9AVDMKM0QZ0QKD02B3WXM58ZX6DKVZ4JC19Y866ZVG776T5VG0 ce886f76a5e286da655c719bad2a55cc72f93d86 YTXN2FSP6WF30H2FD77JDGYCX0XV770NKCYNNE0PARAFC5X7EPN0 +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(). WJ5YG8CXYSTT1QNHQV31MR4P4QRSNW53B2KT0RHD8D0DQ5B045RG CYH09M319SK70XWET6BD40441T3Q8AT5V3QATFK0ZN2H4AMPNBN0 ce886f76a5e286da655c719bad2a55cc72f93d86 KQPYGAZ2NJQF1B4MY8F9ARW3GH8F9B1DKA62M7B48M8YWWG5QS30 +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_through_its_own_segment - CONFORMANCE §8 MR-DSM-0275 (Met) WBJEKRYHZAZE5XS6Z48C734K7SKFFZ3PWJQHXJQW7KZ6MAYFK8R0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/economic_registers/resolve_peer(). 0KFWBFNQ6YWYX3T32HVV3GJSW684MWJ0C1EDMDEZW1AXZYJ4S490 CYH09M319SK70XWET6BD40441T3Q8AT5V3QATFK0ZN2H4AMPNBN0;WD9AVDMKM0QZ0QKD02B3WXM58ZX6DKVZ4JC19Y866ZVG776T5VG0 ce886f76a5e286da655c719bad2a55cc72f93d86 EWC6RKAM524QYVY1Q7VWCEAGVGX6XQ2H41Q769ZNHDSH92488XTG +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(). YE6TD0N6D7MJKRD4PDSKXT26SKPY5ZVTFHXK0TECXPHN1B5N9V30 VS37XAZ1RCJ9M4T99DVGVHZFAXX4HX4YJEBA15J4RJA7SXEJW0E0 ce886f76a5e286da655c719bad2a55cc72f93d86 VVW0AJCVEYXX7N9918ZKZE3XZB47MDDP1TETH07V68KNA7TDNPN0 +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(). PCBG747DNA69AE16FB679F4HW4BSXRDFAH8YRHMRNBQVX7EABYJG 728FWZRFTZYA9KJRTH0R3ZY1AF0HDND0AFRYEHQTH1MCJK49Q870;VFT071E93YTHQS6WHAK6GAFJCH0BB8BXJTTYFBKW1M1EDWSX43V0 ce886f76a5e286da655c719bad2a55cc72f93d86 SRB8SM04H3KFBSYG7YSHDEC704Q7B1PQYK27SA0B2S2XC2Z9M4KG +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 QJG1QGE1N3RTM5WV1ZF7SQPJR2W477HNBPSKT2KFEJVX65MPXC80 ce886f76a5e286da655c719bad2a55cc72f93d86 PY75QZVYVE7HTRVVGC1617P3ABR8G11RB16SGPWTHSDMZBY6EBSG +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(). WH2HYP7JFR2JPC34BSR2R8HZYB1XP5CZB3DVDW4KSM5FA2DTQX4G Q8HTKDFANBNGDB383WQSWFGT0RANCTPYAP9EXBTNN7038ECSFBFG ce886f76a5e286da655c719bad2a55cc72f93d86 42QB3TPV179EZQZEEXKXATWTG4FDZQY9J3TFNAHX1V2KXXQ610S0 +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(). 5MA0RCZY5KM6FRHJEG76J97PWEFN34YT0ACHRH8P3JXP9CCAQRQG RGQW86RV23JGMZ7V7BAT63W86W32RKMG2FGN028C6XD8YZSXHY30;7SHGR2356AF35PVPM9SF1399P93Y45KGVWX43VHP1PW2QWMABBQ0;7PG465RAZS3E8BVSF529GM3SMVCBZC0K77P9ZXWBFATPGF4B1T8G ce886f76a5e286da655c719bad2a55cc72f93d86 TAZBFA0NDARVQMBGX1ACXSCXG1N20PM7KBQ6J2JF4ZRYVCEGYS60 +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(). PPYV2DCVVZA8EPPGZ206G2K1DN4MEZ4EKPGGA1Z7JFV1ARWR496G RGQW86RV23JGMZ7V7BAT63W86W32RKMG2FGN028C6XD8YZSXHY30;7SHGR2356AF35PVPM9SF1399P93Y45KGVWX43VHP1PW2QWMABBQ0;7PG465RAZS3E8BVSF529GM3SMVCBZC0K77P9ZXWBFATPGF4B1T8G ce886f76a5e286da655c719bad2a55cc72f93d86 6C34AV0XPZ4EZMMBW28YCEZ5F2E6P82ABARAS052QEKFP76TRM30 +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(). RRQQC4DFQTDQT7NY0TQ8RGXP8RQ9ABTG842610TP95AZ012EWJSG RGQW86RV23JGMZ7V7BAT63W86W32RKMG2FGN028C6XD8YZSXHY30;7SHGR2356AF35PVPM9SF1399P93Y45KGVWX43VHP1PW2QWMABBQ0;7PG465RAZS3E8BVSF529GM3SMVCBZC0K77P9ZXWBFATPGF4B1T8G ce886f76a5e286da655c719bad2a55cc72f93d86 N2TBV3BTZPY14B873SEB8HGCS2VE3TH1Q089FT8RXWEV5S0V6M10 +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(). 4V37ZH3685BK323ZF8J7PZQX2ZNTQ2KH9A6BXXK3PRAYE0A6K1Q0 RGQW86RV23JGMZ7V7BAT63W86W32RKMG2FGN028C6XD8YZSXHY30;7SHGR2356AF35PVPM9SF1399P93Y45KGVWX43VHP1PW2QWMABBQ0;7PG465RAZS3E8BVSF529GM3SMVCBZC0K77P9ZXWBFATPGF4B1T8G ce886f76a5e286da655c719bad2a55cc72f93d86 GZE9MA7HJSN96PAN7TTCHRH5G3K9ABG5XT4EF88VWK42VX9MQBF0 +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 JHC14FHTYP1X6FX0VKE1Z2V0F08CDJ0PZH6B67E3BQ5294F7YJ1G ce886f76a5e286da655c719bad2a55cc72f93d86 4KFR52VJE7783NVTZJS1N4V1RADZ89HX1DVNBFV9Q7AAQFJZ5AJ0 +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(). QDYSZHC2B8R2832VDBNCR7E3DCYB6QFK1BGVW6V3WFANNF8296BG 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G ce886f76a5e286da655c719bad2a55cc72f93d86 70S5CCA7ZX7760862DRFSAZ895T1Z4CSWX50PFY8GS30HAQD5YS0 +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 TM8AD8DGKZ1J6SYX6D7F55J8SEHFG5FX429MNJW6QREYY0EZMMWG;BKZP3YJCAC955K1475K57MCZVP9C89EG7E8XNGK16HDT742D3A2G;B6AE341SSA9SAGP7EVZY60J1C2RQ9ZHAW28N9YWW0TPBCHEFJVAG ce886f76a5e286da655c719bad2a55cc72f93d86 P4YNPT2Y1PXH414C3WYB6Z4J6VK0700P0NFC90J118AA2NCT53WG +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG TM8AD8DGKZ1J6SYX6D7F55J8SEHFG5FX429MNJW6QREYY0EZMMWG;BKZP3YJCAC955K1475K57MCZVP9C89EG7E8XNGK16HDT742D3A2G;B6AE341SSA9SAGP7EVZY60J1C2RQ9ZHAW28N9YWW0TPBCHEFJVAG ce886f76a5e286da655c719bad2a55cc72f93d86 3MBJD2ABAGGNWE9JVYMDVR1A0HCR6GY0VQF4K8GK7DGP4WKEHETG +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(). A29E0YYT0HXE21M1PH4MMPX2Q74EVNCR6J1KCRBX0EJ27YBSYPDG RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG ce886f76a5e286da655c719bad2a55cc72f93d86 G67AT2RA8NR9YB9VEV1BPTY9J505G8HPJA60YESQ9KK5PGYKQBQ0 +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(). GXZYV6G0FVTDDGKPXHQ3YCCAZYX9XXM1X8WFMB0VMW1BPV5VG4BG JHC14FHTYP1X6FX0VKE1Z2V0F08CDJ0PZH6B67E3BQ5294F7YJ1G ce886f76a5e286da655c719bad2a55cc72f93d86 6PS55K31H27ZEFGBMN3H77F28RGBQHNQFQ8V91HFF91S4VF3JEZG +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(). EHXZCT6JZAMJM2HEM63WKZX51B6RJQT069FM0FN8ZS79CEQW7FX0 4HZCEC8B4R49RHMGJGDKC2CWCMCHSDGVNR46J2B144YVF2YZ6KSG ce886f76a5e286da655c719bad2a55cc72f93d86 R9MKXY3SVS0TC0E4EBFMPQ0PJGRBDC98AZ4E77TFAV6AQMSR7X0G +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(). ZXM89PHN0VXKFCD4MGWZ7JWZCZVXAG6C3E6NKZZH9Q7A0SSM84S0 09V7J65F73HPJ7A2BJFBY9GMY20C68HZA2S7PD3MZB59EAN37W10;FPFX4R6KA8BKTW8CFM21NSE2QTAKJ8AZMBSQ8XYXRKH2DDMR51YG;3ZGDJ0B3ZAW3G52MX5X0Q9PTBY6BSPGZ53AP41T69B1NVDZKWQGG;YW5T677TG7W23BXJ1RXFFE61FXCFBZ16VSX8AHBRNF03R1HRYFS0 ce886f76a5e286da655c719bad2a55cc72f93d86 1281SGBRYYHEM5ASAXM9NJ2RVW3AK7WGZ3NGQKX040YRWB9PVX60 +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(). 3KZYCY52WBSDEXBDTBB73H4END609F6K6E6F4KX02ZW6TB8DPKN0 09V7J65F73HPJ7A2BJFBY9GMY20C68HZA2S7PD3MZB59EAN37W10;FPFX4R6KA8BKTW8CFM21NSE2QTAKJ8AZMBSQ8XYXRKH2DDMR51YG;3ZGDJ0B3ZAW3G52MX5X0Q9PTBY6BSPGZ53AP41T69B1NVDZKWQGG;YW5T677TG7W23BXJ1RXFFE61FXCFBZ16VSX8AHBRNF03R1HRYFS0 ce886f76a5e286da655c719bad2a55cc72f93d86 JKYHA0PRRHVCRKZ4VFD5MWSSTSSDD2ACF9QRSGD6XCK8QFD4APGG +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(). DSGF1BJDZEMRJV87HASZSQKR20Y61A8GA4YRPXHHEPZ7GCDYB3H0 09V7J65F73HPJ7A2BJFBY9GMY20C68HZA2S7PD3MZB59EAN37W10;FPFX4R6KA8BKTW8CFM21NSE2QTAKJ8AZMBSQ8XYXRKH2DDMR51YG;3ZGDJ0B3ZAW3G52MX5X0Q9PTBY6BSPGZ53AP41T69B1NVDZKWQGG;YW5T677TG7W23BXJ1RXFFE61FXCFBZ16VSX8AHBRNF03R1HRYFS0 ce886f76a5e286da655c719bad2a55cc72f93d86 2BE8X0P2NZ5EXBYJNGG1NHKX0QQNYSQ0WMK5WE3JDJ33D1YRKP3G +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG HZ6K8PQ0JDB6YJ8B7WEP5J334D3GADH2J20TC4B4VCKX1XD91XXG;MP2EQVH5YXTCF0ENAT2MQQNVZZ5HYP18ANZGP8Y6GW4BZXKQBVCG;BKZP3YJCAC955K1475K57MCZVP9C89EG7E8XNGK16HDT742D3A2G ce886f76a5e286da655c719bad2a55cc72f93d86 GXFY917DJ0EGK8GWF97VNB0P1XQXY1SSGC5Y5V8EW0H7D7FEZQ90 +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 HZ6K8PQ0JDB6YJ8B7WEP5J334D3GADH2J20TC4B4VCKX1XD91XXG;MP2EQVH5YXTCF0ENAT2MQQNVZZ5HYP18ANZGP8Y6GW4BZXKQBVCG;BKZP3YJCAC955K1475K57MCZVP9C89EG7E8XNGK16HDT742D3A2G ce886f76a5e286da655c719bad2a55cc72f93d86 8FYN2F5AKZZETJTACEK7JXWH3R5V7RAKCS9CYNJSREWTM6QKCDTG +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(). FXCPDZCGPQRYY2GGJA50VSP02NXR5QDHS2XSWYGES33BMXEP0CTG HZ6K8PQ0JDB6YJ8B7WEP5J334D3GADH2J20TC4B4VCKX1XD91XXG;MP2EQVH5YXTCF0ENAT2MQQNVZZ5HYP18ANZGP8Y6GW4BZXKQBVCG;BKZP3YJCAC955K1475K57MCZVP9C89EG7E8XNGK16HDT742D3A2G ce886f76a5e286da655c719bad2a55cc72f93d86 H81ET2KQ6AZXW6C9FSPAZYGH8JAW9VGK0K91VERMPT9KQQQ1GCZ0 +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 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G;F6ZA4GR37YWFVTTAJ2H5K73379718FHBX75JBAMF6NWKCJ8QKBXG;85A5DQPN73TSPTTCFBZKNYK3MYTVBH64KJFKR9CY6RZ8YPQ23YVG;7S9BDW5R4HHBSB6DKCH8KQYQ372BWPKT04ZH6P367YQ0C6F6S9B0 ce886f76a5e286da655c719bad2a55cc72f93d86 JXQDD37WMA2KAG56Y49BDXRM2TSD6BFWSZ3EXY02JR8R0QF30Z4G +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 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G;F6ZA4GR37YWFVTTAJ2H5K73379718FHBX75JBAMF6NWKCJ8QKBXG;85A5DQPN73TSPTTCFBZKNYK3MYTVBH64KJFKR9CY6RZ8YPQ23YVG;7S9BDW5R4HHBSB6DKCH8KQYQ372BWPKT04ZH6P367YQ0C6F6S9B0 ce886f76a5e286da655c719bad2a55cc72f93d86 EHCRZFDESNEYWWDFDPTZGH45JHSME8Q395B23PXT992SNFN8J6GG +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# S2239B6EJP6SV4X7FBWAS7B2VTP9ZR5H7J5QN8PJNFXVFZGAHEX0 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G;F6ZA4GR37YWFVTTAJ2H5K73379718FHBX75JBAMF6NWKCJ8QKBXG;85A5DQPN73TSPTTCFBZKNYK3MYTVBH64KJFKR9CY6RZ8YPQ23YVG;7S9BDW5R4HHBSB6DKCH8KQYQ372BWPKT04ZH6P367YQ0C6F6S9B0 ce886f76a5e286da655c719bad2a55cc72f93d86 X6JYXQ2T17KF5XH9M7SPS3NGJQMB22PXW6P4TJCH8DF50TSRPAW0 +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 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G;F6ZA4GR37YWFVTTAJ2H5K73379718FHBX75JBAMF6NWKCJ8QKBXG;85A5DQPN73TSPTTCFBZKNYK3MYTVBH64KJFKR9CY6RZ8YPQ23YVG;7S9BDW5R4HHBSB6DKCH8KQYQ372BWPKT04ZH6P367YQ0C6F6S9B0 ce886f76a5e286da655c719bad2a55cc72f93d86 JB3AEF9EWGJXTX6MQD5THR3K75CCKK38E3DR04JFTDJ22DTDJ8W0 +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(). YXN67C502YKPCVXH4YRW0ZGZZ66CHY0A9JS8284SXMF4Q3VQT8H0 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G;F6ZA4GR37YWFVTTAJ2H5K73379718FHBX75JBAMF6NWKCJ8QKBXG;85A5DQPN73TSPTTCFBZKNYK3MYTVBH64KJFKR9CY6RZ8YPQ23YVG;7S9BDW5R4HHBSB6DKCH8KQYQ372BWPKT04ZH6P367YQ0C6F6S9B0 ce886f76a5e286da655c719bad2a55cc72f93d86 ZWGT56YE3YGQMATJ5WBJ2PSGTQVZXP08ZQGQEZGFKMVVQ3XE1DS0 +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 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G;F6ZA4GR37YWFVTTAJ2H5K73379718FHBX75JBAMF6NWKCJ8QKBXG;85A5DQPN73TSPTTCFBZKNYK3MYTVBH64KJFKR9CY6RZ8YPQ23YVG;7S9BDW5R4HHBSB6DKCH8KQYQ372BWPKT04ZH6P367YQ0C6F6S9B0 ce886f76a5e286da655c719bad2a55cc72f93d86 4SSQ02JSJRZKV61ES073A2XHYA2YM2YM382M6P2SCH3DMAE7SS90 +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 JSM8AFWP97N61Z50X5CSK30ZGHE1N01TTE3JK9H4NZP7YE7FG1D0 ce886f76a5e286da655c719bad2a55cc72f93d86 T0A1321M1AXMMNRKZNC3AN5FGP1A5TFX9SNMRS5M678BNCXX24F0 +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(). EE8N3ACVA4EJGJ3KQ0F0Q35FKXNJJ30B0DAWP0JBSARAKPSR2X10 4WM6EB563807E71C2Z79WKSHSZVKY2BEEEQ9S6JR011PQN4XGD3G ce886f76a5e286da655c719bad2a55cc72f93d86 G6FMBC4FEMEQ99FJ93TGM97TVH9N3WP81AFV9AYA6J6D2MH5PCF0 +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(). 44S9FP6D4SJ9STB6ZRXEP03VK02XA3J77FNS9K5Y5T4AQRHY15EG 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G ce886f76a5e286da655c719bad2a55cc72f93d86 0NZQ1SPQ72JWWF1G79PQ3RMM3TH5JQH969WQ9D001VKHJ2T2QDS0 +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 ENQGGWX261Y0E9MAG6F5JKKKXKK9VE9AWR90XASY9D61F0W4MD10 ce886f76a5e286da655c719bad2a55cc72f93d86 8JNPPFZ0C557RK4Q0V8J0RE0S8ZN95YJ5B7A08G1D22Q24VNQ870 +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(). FXCPDZCGPQRYY2GGJA50VSP02NXR5QDHS2XSWYGES33BMXEP0CTG HZ6K8PQ0JDB6YJ8B7WEP5J334D3GADH2J20TC4B4VCKX1XD91XXG ce886f76a5e286da655c719bad2a55cc72f93d86 22FGB8BE5PF2PRYGKC7NZA2W357ZF6FGRS23WT7SEF3XTJ5R5MG0 +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(). F2N293EBBJ34J3R3PB418BEZK96ZD31V6WJC6S798QCEE0Y87XG0 JQ7SWZ2TP3HXJEJ43T33MBDW0WVC816J94FF6ZV3CH14W55QY58G;Q9YZ10179EF1EPNAZZFGRY8Q6KNSZNSY8ZXQCZ4FHYVA6W8BEA00;9K94W3WFKATZN3A6M8KNNK8EK9A6MZ15Q9SPD1ZKX8WVP8ZTZCR0;HZ6K8PQ0JDB6YJ8B7WEP5J334D3GADH2J20TC4B4VCKX1XD91XXG ce886f76a5e286da655c719bad2a55cc72f93d86 CS045Z6GSWT7AP1947EBE4ZY3NZ87MM3ZSKYK7TQMWFTWNFPDA3G +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(). PCBG747DNA69AE16FB679F4HW4BSXRDFAH8YRHMRNBQVX7EABYJG JQ7SWZ2TP3HXJEJ43T33MBDW0WVC816J94FF6ZV3CH14W55QY58G;Q9YZ10179EF1EPNAZZFGRY8Q6KNSZNSY8ZXQCZ4FHYVA6W8BEA00;9K94W3WFKATZN3A6M8KNNK8EK9A6MZ15Q9SPD1ZKX8WVP8ZTZCR0;HZ6K8PQ0JDB6YJ8B7WEP5J334D3GADH2J20TC4B4VCKX1XD91XXG ce886f76a5e286da655c719bad2a55cc72f93d86 TV95SPSDPSKGXH2GGTZV57AE4MWFTE7ANBX4CJN5C9BV0QBHVPT0 +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(). MWVAY77XMTHKPV2B8F6D4X3EH3ZS1SQXMDTDNT6X2ASV7B2R34PG JQ7SWZ2TP3HXJEJ43T33MBDW0WVC816J94FF6ZV3CH14W55QY58G;Q9YZ10179EF1EPNAZZFGRY8Q6KNSZNSY8ZXQCZ4FHYVA6W8BEA00;9K94W3WFKATZN3A6M8KNNK8EK9A6MZ15Q9SPD1ZKX8WVP8ZTZCR0;HZ6K8PQ0JDB6YJ8B7WEP5J334D3GADH2J20TC4B4VCKX1XD91XXG ce886f76a5e286da655c719bad2a55cc72f93d86 1DEBRKXZWVNKQEGSD8YGE91DHT9P60ZF1V019WSP33JTKB77XK3G +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(). FXCPDZCGPQRYY2GGJA50VSP02NXR5QDHS2XSWYGES33BMXEP0CTG JQ7SWZ2TP3HXJEJ43T33MBDW0WVC816J94FF6ZV3CH14W55QY58G;Q9YZ10179EF1EPNAZZFGRY8Q6KNSZNSY8ZXQCZ4FHYVA6W8BEA00;9K94W3WFKATZN3A6M8KNNK8EK9A6MZ15Q9SPD1ZKX8WVP8ZTZCR0;HZ6K8PQ0JDB6YJ8B7WEP5J334D3GADH2J20TC4B4VCKX1XD91XXG ce886f76a5e286da655c719bad2a55cc72f93d86 FDDAG8AJ817CSWKMZ6VYHR8WHK4KJB12Z3RHH4VSFJBQDTJA6Z4G +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG 2G3MZ6XR775QCEKBX1ESNEB0V69KAHMF5D2GWDYB0Y2478GFK2GG;TSXF7CZBCWBQFJJ02HGGXJM1933DFD1BAJGAMM0MN7041J2J2M4G ce886f76a5e286da655c719bad2a55cc72f93d86 KA46KCNCR1X4MZWJWC8H6NNT3Z1803AEAF1YSAQ9B8BHM0EH2J4G +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(). CZ2X3VAXS3QY0TNJ271QNGQFDMKVPZQVG1AETEJVRN8ZGBVMERRG 2G3MZ6XR775QCEKBX1ESNEB0V69KAHMF5D2GWDYB0Y2478GFK2GG;TSXF7CZBCWBQFJJ02HGGXJM1933DFD1BAJGAMM0MN7041J2J2M4G ce886f76a5e286da655c719bad2a55cc72f93d86 1AZW2M0F19XMR5E8SHYH9K7KC0DXG453890V3DVYT1K1E6NFYP8G +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(). F0N3RYSS5QM1XHQ1N5P3SS5197X5258SY4KD08423JEVFRY880RG 8WWC3EQ53JC23MY817AY14PDQ81GX3X6VTX879GP6AAYZFZG9FJG;991HGA78GYZZPBB3EW363369FRQKJMWWF8BMKRRK9QDV53MKFSP0 ce886f76a5e286da655c719bad2a55cc72f93d86 2V3G0NMT2NPYHWJ34JMRYSJX83A1HK9TFTH29HNPGK44NSQ9T7Y0 +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(). CZ2X3VAXS3QY0TNJ271QNGQFDMKVPZQVG1AETEJVRN8ZGBVMERRG 8WWC3EQ53JC23MY817AY14PDQ81GX3X6VTX879GP6AAYZFZG9FJG;991HGA78GYZZPBB3EW363369FRQKJMWWF8BMKRRK9QDV53MKFSP0 ce886f76a5e286da655c719bad2a55cc72f93d86 M2KWAFRVEEFZPMV3HDA8FPREA4PGMDD98J75QN816X59M73PJJP0 +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(). Y823FNPMWANQSN1EJ7BEGP0V8CC3HG4ED78GEAQJX2MHMQT5P6CG 4HZCEC8B4R49RHMGJGDKC2CWCMCHSDGVNR46J2B144YVF2YZ6KSG ce886f76a5e286da655c719bad2a55cc72f93d86 TTRF1AZPYCSRY8D988JMV5JQDT2AQNY2E7MDV71WCYYFYNGEVM20 +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(). EHXZCT6JZAMJM2HEM63WKZX51B6RJQT069FM0FN8ZS79CEQW7FX0 4HZCEC8B4R49RHMGJGDKC2CWCMCHSDGVNR46J2B144YVF2YZ6KSG ce886f76a5e286da655c719bad2a55cc72f93d86 7QH3ZG02K0FSH4070X5V9K683QZA1M4SN05QQMPQZN69GFHPT4C0 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(). VZM0105RGDADCJ7G7BKF14TC4PGSTM024YX32XVXDX4PKKJY8J2G 1SK7G1W3WQ4A45BF2Q1TD2TYS8H68SX55B7WR8KNCMNEJ0TM11Y0 cfbe96bd945d254a6a345105b7b0d203d70a92ff G7Z62CQFH0CZFRAK6YP6WJXE4VK044S6JVSGJGA1VKBZ3T82YMYG -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(). VZM0105RGDADCJ7G7BKF14TC4PGSTM024YX32XVXDX4PKKJY8J2G - cfbe96bd945d254a6a345105b7b0d203d70a92ff 5XZ5YX0P5G5RSJR7KXRA005V2W3V0TZP7Z2AWKRRFBN729SRWX6G -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(). FHV8Q98RVA0T7T1SV66PHNYTM5GJ9YBQ8S19Z3R9DQNC46BPEENG - cfbe96bd945d254a6a345105b7b0d203d70a92ff 0X6KJEZ5KKW0YRE5HQ20NDBW24E9AZ9TVN52PYR1YFTFC6DPTPF0 -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(). C8TQAE6T8200B0YKJJETXTSMDQAXRXE81B7P08R0B6DNR3P2QHT0 1SK7G1W3WQ4A45BF2Q1TD2TYS8H68SX55B7WR8KNCMNEJ0TM11Y0 cfbe96bd945d254a6a345105b7b0d203d70a92ff KAJ3C6DN49CDYF740YHG6E4TV19YRR6CS2TK2J0BGV8R76HSRMX0 -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(). FHV8Q98RVA0T7T1SV66PHNYTM5GJ9YBQ8S19Z3R9DQNC46BPEENG FG2M1M0C982Y6T56CR9HJ1F617VY7Q9H0Y12B2JPDG90SJZ9W1HG;D58VGGVG86HNF0X428NYNSXFS1G9JWBTD9PHFZHYT9QAN10GMXYG cfbe96bd945d254a6a345105b7b0d203d70a92ff RR09MYHCT8CDQK91JGNVSW67GHRZ14Z16N9Z1F12W7K3QYPDAX50 -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(). 32MK00H5W1P5TDVVB0SD8C329D7TC7KKANJ88SZXJ04ZBJ8NYNKG AESFVC5K469X9EZJSVF1ET0MYYMQKAY4D8EZ23V4VQ3EQGX1NMA0 cfbe96bd945d254a6a345105b7b0d203d70a92ff KFYS284GZQB4EWNZKW897W6W4DKJR1V0EYYD813XYKNEG1BRDVVG -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(). 32MK00H5W1P5TDVVB0SD8C329D7TC7KKANJ88SZXJ04ZBJ8NYNKG FYG3S903FBMXDA6QZZ5Y3SVFN750G5NA2E7SKF24ZHNRB1QGFQF0 cfbe96bd945d254a6a345105b7b0d203d70a92ff HWDPN3VBVF6EVNNMYRB35WNG5C0GAE3P7Y5MD8X3D3JM370HKFNG -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(). 8M2KQX2NA69ATYCPXKVEFPQ041REPDABYD7007V9RTDVMHEX32X0 FYG3S903FBMXDA6QZZ5Y3SVFN750G5NA2E7SKF24ZHNRB1QGFQF0 cfbe96bd945d254a6a345105b7b0d203d70a92ff WQGWEDNJZC8HWD2ME7BZVDPYGQHWAMVZEFXYS99AN9AZG46N331G -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(). VZM0105RGDADCJ7G7BKF14TC4PGSTM024YX32XVXDX4PKKJY8J2G 1SK7G1W3WQ4A45BF2Q1TD2TYS8H68SX55B7WR8KNCMNEJ0TM11Y0;HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G cfbe96bd945d254a6a345105b7b0d203d70a92ff 3KKZ7ME306GQ2HZ89S4HDGHQYC28KKEG5JVNF8BZD24EF713D78G -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(). 32MK00H5W1P5TDVVB0SD8C329D7TC7KKANJ88SZXJ04ZBJ8NYNKG 1SK7G1W3WQ4A45BF2Q1TD2TYS8H68SX55B7WR8KNCMNEJ0TM11Y0;HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G cfbe96bd945d254a6a345105b7b0d203d70a92ff V5T4B5TP09X5Y51PAMBVCVG1B2HQKGY1JNB3PBS0ZSD9GXSWEEWG -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(). RGE5RWRXCTY35GGK6Y66FNEAJQA4AZ14QRNR6XKQHBXT96VS06T0 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0 cfbe96bd945d254a6a345105b7b0d203d70a92ff G9ZW6XVG01T5W6Y05HG9G254J9B8DBA4S9AN52W3Y1C0B6HWZ1CG -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(). KMSAKFS6TWZ8M5Z7PWXF7PMP4XQ2EDDAYVTKVDXMEC9JDYSB2ZQ0 1SK7G1W3WQ4A45BF2Q1TD2TYS8H68SX55B7WR8KNCMNEJ0TM11Y0 cfbe96bd945d254a6a345105b7b0d203d70a92ff Q15JZWS2D76PWWD20PW2N3A6RC1VRZKDGZPC52K4HS5R5K4CB850 -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(). A33XRYEKHQ2SC5YX6135J4H23G2ZSWGAZEK9CKBBFQ63CQ6KNZQ0 1SK7G1W3WQ4A45BF2Q1TD2TYS8H68SX55B7WR8KNCMNEJ0TM11Y0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 8MMRARF8M75HD9GP1JMS2DVD8HWEK7MDZ5QGAEBWF5HFZJCVHFWG -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(). VZM0105RGDADCJ7G7BKF14TC4PGSTM024YX32XVXDX4PKKJY8J2G 1SK7G1W3WQ4A45BF2Q1TD2TYS8H68SX55B7WR8KNCMNEJ0TM11Y0 cfbe96bd945d254a6a345105b7b0d203d70a92ff T3CJR72JE4W2NFG5PPA7TSD601HZ1GW2ST17Z95W4XHSG0JERDJ0 -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G 3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;PKCHQB4GTF4R6ZPW11JQXGRJY1XYFZAM5CZVC9X5STWG3EN5BM5G cfbe96bd945d254a6a345105b7b0d203d70a92ff QK3TWKZZGNKMTHB1G4VCE664PQKFS2S5ADPZXJTYS1V3NN5SDVZ0 -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(). JN27M1CAAQNCTP8QJGZG19S971NRZXC7Q4Y222N4A8FGT47EJF90 F0D92TYHM8F8J7M5B7NK19GD2DHMRRQAFWN29KC2SCT6FXZXAPPG cfbe96bd945d254a6a345105b7b0d203d70a92ff ZRYEAXHAWRNJS339YZQGFHC53XB4X2679SSBEG6WHYZG05VH19WG -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(). PM4Z541ZKM3GM72CQ5WYWKHJ4ZEQF8QNFYB43TY873TX6XRKXH2G F0D92TYHM8F8J7M5B7NK19GD2DHMRRQAFWN29KC2SCT6FXZXAPPG cfbe96bd945d254a6a345105b7b0d203d70a92ff GQD56E3Z3K2H8VHHAXTVA4AD7KNMP75B6778XZYTFQ4FXD6W3E50 -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G;EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG cfbe96bd945d254a6a345105b7b0d203d70a92ff 92TMAHH7B4MVRQT77SGBZRRQJG0AABRW2Q1PAV2E6Y7JBHZ84N80 -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(). PM4Z541ZKM3GM72CQ5WYWKHJ4ZEQF8QNFYB43TY873TX6XRKXH2G FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G;EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG cfbe96bd945d254a6a345105b7b0d203d70a92ff 51RD4K97EH6KN2WVFJZCBQ5ESX5M3MM5YNWFNMAF1QF77M7Y4K3G -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G 3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;B7TKQGMJ2KDA186ZPHG1QRGD0RZDEBA1BYNBYDYGMEXW12W6GYRG cfbe96bd945d254a6a345105b7b0d203d70a92ff 6BHWCXZWSFG2FX29RZFATB882W75H79PJN9QTRE2HYCHFPQ2SSWG -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G 3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;2KN2ZG6R8XJ42VQY2ZVNN0JFAQKK5FCFV43ZK9R0RPCZDME8MC20 cfbe96bd945d254a6a345105b7b0d203d70a92ff 5ZJZM12T1V7K0Y2NANN7Q8GPGRHM68XRFNTGPZVQGQBRCA5WPS7G -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 3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;2KN2ZG6R8XJ42VQY2ZVNN0JFAQKK5FCFV43ZK9R0RPCZDME8MC20 cfbe96bd945d254a6a345105b7b0d203d70a92ff 4PVJZ4VR13FWPPXN285DFHZ729Z5G8S5GMESTAGNC4CXBE21ES3G -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G 2KN2ZG6R8XJ42VQY2ZVNN0JFAQKK5FCFV43ZK9R0RPCZDME8MC20;FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G cfbe96bd945d254a6a345105b7b0d203d70a92ff 5VR2JD52DCZN9GD0PWH66AD401RV3WCTYYC9YEJJQT7T8ANEPKD0 -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 2KN2ZG6R8XJ42VQY2ZVNN0JFAQKK5FCFV43ZK9R0RPCZDME8MC20;FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G cfbe96bd945d254a6a345105b7b0d203d70a92ff XWZS41GP22H1JP9X1ZVK5FQC0HZXB8QX33MJ51SGR0WA9S7E44GG -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(). NXED42NNQNS7F7XA9Z1EPFRJQRJDAFWHB4W99FY1M3NTNPK2RPF0 2KN2ZG6R8XJ42VQY2ZVNN0JFAQKK5FCFV43ZK9R0RPCZDME8MC20;FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G cfbe96bd945d254a6a345105b7b0d203d70a92ff 6G49DC53H3N6A9CHXK2Q8MTXV9ABVC7FKT74ZS5WWG45WH4MC5MG -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 K2V4BH6H3BCQ1FQAE8C1GEFHZN858W7W6TWDZN7J0912DFVW3BZ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff N8CS988Y9BYGKF57GWK8NZ74JAPH2CM8RM8B1AF3TCBZXT9TN2R0 -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G K2V4BH6H3BCQ1FQAE8C1GEFHZN858W7W6TWDZN7J0912DFVW3BZ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff SD7VM1NYXRK7DNFQB7YZQAP3ZEDVFY9Y69X4HNK9AH0D9PZJY4W0 -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(). EA3Z3AWDN72P2F4SZ6YZY1VXMCH53T47PZXWM1JWEHNS101512TG EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG cfbe96bd945d254a6a345105b7b0d203d70a92ff B2VQ3QT26419PPNW7R1RWT5KAZ5TH7ETSDF1BRXNVQG3E7NT0HFG -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(). PM4Z541ZKM3GM72CQ5WYWKHJ4ZEQF8QNFYB43TY873TX6XRKXH2G EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG cfbe96bd945d254a6a345105b7b0d203d70a92ff 3Z6E9CVGF2ZBYKMX56E2Q144XCHQW03XT2R9YBQ3NXSKGYNV23ZG -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(). W3889Q6QRQVJ9JKDSG4NEH2XG9VJH2PV5T3Q835F6GNFFK6GM5Y0 FBMDG32KSQHTHT523ESH3X4B7RJ5TAE1361DEBQVJP1H0E3K2ZP0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 0GE91NV7KFEPPFW8YSDJ90HTQ6ZGA9P75Q5Y44TN8S7ZR0KWTRAG -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(). W9K7RA450AHFHH5S55120SWB80MZHDGFWHSSHH7DTWG8AFT20BZG YNQTZN2NMEFTBVW02P660QZYEK97AJ5DN8E78H90JZ5J7JKFJJ8G cfbe96bd945d254a6a345105b7b0d203d70a92ff 8MTQ70KVWCSCT0S2TXCYRRPH7TWTQCBNY79KFX2DHX23DW4YZX3G -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(). JN27M1CAAQNCTP8QJGZG19S971NRZXC7Q4Y222N4A8FGT47EJF90 7KC1X02A7B4NNNMK167NH22NPFCB0P79YJPT17HJA0VHM13RZREG cfbe96bd945d254a6a345105b7b0d203d70a92ff JDG5QFYYHMM67NVJMBDNRK3NXEYCHFGRAMGN9AGK3685KCSGJRP0 -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(). DDKCZGVN7EV8R41XJZPTY3BN1M84SAYGTQNFVH19VMRQW5QN7ZR0 7KC1X02A7B4NNNMK167NH22NPFCB0P79YJPT17HJA0VHM13RZREG cfbe96bd945d254a6a345105b7b0d203d70a92ff 2H8HNY6Y56N9T1EHG5Z2057ZCAPTRS7HSN1XA2SGNZ4VQYW12JSG -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(). NM4WZCSKAE6EE0WEB9QB210RYKK9SERE42F0ZNCHCBH4JXRX5ET0 6NB941MWWEY9RV42988F6NQK0GKVJ839HA2EBP8BYJZB5W8HX420 cfbe96bd945d254a6a345105b7b0d203d70a92ff AFCRCD8JR86DMFV1STD0XXGY4CY5HDWK7N176KXM33DPQE9BS320 -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(). RHX2ETH5HABEH6K5JQ6XFQV3CKQ15XY576M7X5AB18X158K9607G 6NB941MWWEY9RV42988F6NQK0GKVJ839HA2EBP8BYJZB5W8HX420 cfbe96bd945d254a6a345105b7b0d203d70a92ff 5RHHGRM6WPDDFEBX9TATYY1XJMEQEV84MZECGXV4YVQJ28NWDVX0 -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(). PM4Z541ZKM3GM72CQ5WYWKHJ4ZEQF8QNFYB43TY873TX6XRKXH2G EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG cfbe96bd945d254a6a345105b7b0d203d70a92ff H6ZZJ0ZZ08R2VNC80RHNDKTF5JYFB7XQQCFECXPXXNV3VTFSJR60 -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(). EA3Z3AWDN72P2F4SZ6YZY1VXMCH53T47PZXWM1JWEHNS101512TG WAK7YHGG3HSX5FTQXB2014HQEV0YYSFA6WP21BBWH8SF6Q9W8YXG cfbe96bd945d254a6a345105b7b0d203d70a92ff 7SCZP75DSE7WE3JQJDW37PCSYHE1F0SAJHKTG1EPKH6E19K56S60 -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 FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G;FBMDG32KSQHTHT523ESH3X4B7RJ5TAE1361DEBQVJP1H0E3K2ZP0;RQGC95SYNA65YCEKZRV8HS1QNQV5TD10DE0GG99RW0Q4YN3095Z0 cfbe96bd945d254a6a345105b7b0d203d70a92ff TEQXHS1HGWD31PJ7XF1B240N7XFAKQ65GPDV7Y8X0KJEVVX6QTF0 -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G;FBMDG32KSQHTHT523ESH3X4B7RJ5TAE1361DEBQVJP1H0E3K2ZP0;RQGC95SYNA65YCEKZRV8HS1QNQV5TD10DE0GG99RW0Q4YN3095Z0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 10AGJK85MS28HF3YC9A7BGYGXKJ2YP8VTH2C22HZDMDRR54164XG -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(). W3889Q6QRQVJ9JKDSG4NEH2XG9VJH2PV5T3Q835F6GNFFK6GM5Y0 FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G;FBMDG32KSQHTHT523ESH3X4B7RJ5TAE1361DEBQVJP1H0E3K2ZP0;RQGC95SYNA65YCEKZRV8HS1QNQV5TD10DE0GG99RW0Q4YN3095Z0 cfbe96bd945d254a6a345105b7b0d203d70a92ff WBK7G3EMBN75P8ZVSVJ3FSXY5ER3R4Q8XQET15SDB1XVSCHETGYG -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(). SATYBSZDKT6742D81JZGHN1F5MEJTGN4F11APQDA8AQ6EKBJA400 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50;RSRXPZXYGFNFQACFNP60W4M7GVB38KAFEK5FAPTS2Y378M2JQQJG;T9BMBD91MSA5K1A4XX8ZRTJP71JVR14A8C90Y6K03F5G5RE86330 cfbe96bd945d254a6a345105b7b0d203d70a92ff B0N8VESQJ8A230R3F36S94NPJE1ATET8KC91RXBAXVXZEEYJ45CG -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(). QYKBXBDCDARJDGQGJ2AD1T4NMCHPNA05GB6HFPPKS7WRBAEWW1W0 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50;RSRXPZXYGFNFQACFNP60W4M7GVB38KAFEK5FAPTS2Y378M2JQQJG;T9BMBD91MSA5K1A4XX8ZRTJP71JVR14A8C90Y6K03F5G5RE86330 cfbe96bd945d254a6a345105b7b0d203d70a92ff 5V8C5H7FGKGZH7F89BRZDY1QJ7A4FAXXA34KRH07TG230ARQFS70 -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(). 0GFPT58CT74TMZF2ZMB6KKC9H1W9JP90B5191K7CMS914M2FNKSG 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50;RSRXPZXYGFNFQACFNP60W4M7GVB38KAFEK5FAPTS2Y378M2JQQJG;T9BMBD91MSA5K1A4XX8ZRTJP71JVR14A8C90Y6K03F5G5RE86330 cfbe96bd945d254a6a345105b7b0d203d70a92ff BKZYFWQCQZ8QG4YM2P4VP6MFMHGZT7HE1NAVZTCCWSPMNV4GS5ZG -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(). W3889Q6QRQVJ9JKDSG4NEH2XG9VJH2PV5T3Q835F6GNFFK6GM5Y0 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50;RSRXPZXYGFNFQACFNP60W4M7GVB38KAFEK5FAPTS2Y378M2JQQJG;T9BMBD91MSA5K1A4XX8ZRTJP71JVR14A8C90Y6K03F5G5RE86330 cfbe96bd945d254a6a345105b7b0d203d70a92ff 7TBDSA6R8MWHHAQZHJVCJBJRT9VR2Y4SRYXD81EPHAEN8RND61DG -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(). 31Y89D8YP782GBPT4MS7KM80EQ5BK1AJSBMKW215F8KAE6PZVKYG 27H2SPDVC9BRSQ1X8PGQNJPSVZ89AZ6W3M3N3KX0F3QQ01WFF9Y0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 2GCWG3SA7BW0PF1HC50F96FH9PJTXG1PWH14C7MXNTMV9H041D9G -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 X4PA9XS5QVF7JY107ZGCNNVKPH2P8326HTS3FAHM1XFDDC1W1Q7G cfbe96bd945d254a6a345105b7b0d203d70a92ff 8VCD6KT0P6J5NG8ZCGPVFNJW97H8JDJRMBDAKXXRBY82PQBMHC10 -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(). 6XS60BHQFPP13NVS5FR9SCQTEW85N6B3H76Q0PVEWHDCNH8PXB60 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0 cfbe96bd945d254a6a345105b7b0d203d70a92ff PD1YDMK4VFY4G1FRS4909THYM5XBECG8KXGNBS7TZGB2F7VGQ170 -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(). SX2Y1HPTM2EDSGYJ11B161VEXYSQBVCTCDF7R99638YEWPMXX67G 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0 cfbe96bd945d254a6a345105b7b0d203d70a92ff GNJ7CCT7HSGQ92T3V8Z3G5RXG8KYW01WG1W6X1101DN54AWSK5RG -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(). DMZ5NGAH4X2J78Y3BJBBH62G9N44R6PBPZ3X0QDNT01APDB7ZG70 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0 cfbe96bd945d254a6a345105b7b0d203d70a92ff PFXHQ06H6PCGE62JR7YJH2AJ4WV1VYP12VMANYZY6NT0B4WA0P7G -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(). YKGJA1ABJEKY0XBSC30Q81M3D6829BWEF9K0SD4ZHE9D5F7FEYQG 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0 cfbe96bd945d254a6a345105b7b0d203d70a92ff NBARKHVPM5Z4Z0S14FKK80VQR5X799MG0C4PZYHC1GDQV8S9RGSG -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(). YREAXGSD7WBFYVM0EQMZ3G110PXJ5Q133MP0K61469XTH36Y3HZG 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0 cfbe96bd945d254a6a345105b7b0d203d70a92ff PRJ44N76R6MHTT48ZBTTE0WXC2ARASZVW96K2WDVZ9CTBHKTMZAG -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(). RWVF4CT9A0ADB88D3SBWKPZQC4AHJ5HXJKRFCTMYYQRB86JV7T7G 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0 cfbe96bd945d254a6a345105b7b0d203d70a92ff HJ9KRM4TYD7VPT4N358NPTH2J8M7KFCW61WXCF1X4B6MVJ2W0GAG -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(). J78G6MTZXHGSMHF14GMWGAQGWMQ7CPNJ7QSAA83EWJR58FBHRRTG 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0 cfbe96bd945d254a6a345105b7b0d203d70a92ff NX1JXZT4D9VXRWM46SB3JDJSCF4GY294ZK4N38NX8RSSY8KEGJF0 -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(). 871RSHNX0NMGCKNX45GTQXTS5NK71A1B17HB7GXPFMMD89Z4FG6G XTG1SK0YB8P07R49PAM81DBZFTX7S9S56377FWAN84HKS171FJP0 cfbe96bd945d254a6a345105b7b0d203d70a92ff QQZ8QKTND3V1DPR98QZVVW5BEB10Z5BJNEAAM7NZDKNVES4CVM3G -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 XTG1SK0YB8P07R49PAM81DBZFTX7S9S56377FWAN84HKS171FJP0 cfbe96bd945d254a6a345105b7b0d203d70a92ff RKKYPQ7TT6EAREP0K9BTZNJS3Y8GJFKKEWJWM1FAS7YAH4TTNRH0 -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(). A33XRYEKHQ2SC5YX6135J4H23G2ZSWGAZEK9CKBBFQ63CQ6KNZQ0 - cfbe96bd945d254a6a345105b7b0d203d70a92ff PK4G144AZBMH8VBQB058G452ZCM6T2ZPQPVA88HHV2298ZEGWW8G -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(). S6EZ2FXJZ78W5Z904K7S499CTABDJMBN8E6VJHHXBQ6BYND1AY4G 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0 cfbe96bd945d254a6a345105b7b0d203d70a92ff Z134A8YHYS03ENRZFFYB3VW2KB29M07H4MZV5N9RYH3X6W0K3XR0 -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(). 10C4YSDNZ4RC0KDFSV1XBK5R7XBN8KDY90P0X932FDW1V9085AV0 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0 cfbe96bd945d254a6a345105b7b0d203d70a92ff CX5931WXGRHQ15J157V5HNGWEYNEN5G9R9C7FZMK67TWPDFMRZCG -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(). E725J60QZ1GYMM50XQVJH1GMR0NWQ1XXM5K7530Z9GWVZW6X4470 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0 cfbe96bd945d254a6a345105b7b0d203d70a92ff F5AAZ0CW8V67SQK02XMQ7S26KD8WFJ5NE7JR9GX0CE4ADB13F00G -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(). SR24D8C9H5DZHBP3D4YWGSYT4J135AJVDMXH0RG0VB106RY6NSJ0 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0 cfbe96bd945d254a6a345105b7b0d203d70a92ff SGJHMVMRYW2ZCHN02FVQ8M972ECSVB9YE2RS3GHPXDGBQYY48WM0 -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(). 633C3ANMK46PN8YNAXS0ABV7RPEN0EGH6EGZ5XSXPE7YXT5DX4C0 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0 cfbe96bd945d254a6a345105b7b0d203d70a92ff SWPZT3Q3ZMSRXT119EGQ27D4R7N2GRMKEV2D81F8BFBBRGH5F5YG -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(). VHF3S3PVDKPDYB9XTV1V1TCQFBEXY819G104THMVCD1S6FS00GC0 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0;C56WTSF9CHQYN2K2C9EJW65NWXPDYZKDGJ8RGFJ902XA8A9R3KYG cfbe96bd945d254a6a345105b7b0d203d70a92ff 00Q28Q9PMVREXCG9YXFN5HFCF2G1HRW13B2SC5R1P0EZ5M4EWABG -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(). H2GEAZ0KQX99QX79Z403806DA6KDNRWNVG3EP67RR3AQY8RM7NTG 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0;C56WTSF9CHQYN2K2C9EJW65NWXPDYZKDGJ8RGFJ902XA8A9R3KYG cfbe96bd945d254a6a345105b7b0d203d70a92ff MNXQDBDTC0DBZRNT9MG7CGE9VNYD4V7YPDP67090FCG3FB50BCW0 -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(). VHF3S3PVDKPDYB9XTV1V1TCQFBEXY819G104THMVCD1S6FS00GC0 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0;C56WTSF9CHQYN2K2C9EJW65NWXPDYZKDGJ8RGFJ902XA8A9R3KYG cfbe96bd945d254a6a345105b7b0d203d70a92ff X24E94EB24T0PHDQR7WJYV1WJF9NATRM659HKHX5JGZRYKWR9G70 -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(). 633C3ANMK46PN8YNAXS0ABV7RPEN0EGH6EGZ5XSXPE7YXT5DX4C0 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0;C56WTSF9CHQYN2K2C9EJW65NWXPDYZKDGJ8RGFJ902XA8A9R3KYG cfbe96bd945d254a6a345105b7b0d203d70a92ff EKZ90HN8RRZTHMZ1SW223XB9XX4P13S5DG740VQ0T708R9VM7YRG -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(). WC2MY0ZNHKWTYSN1HM7YFS99BJAPYKFFM41WDTCW8WJ0WV80QHM0 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0;C56WTSF9CHQYN2K2C9EJW65NWXPDYZKDGJ8RGFJ902XA8A9R3KYG cfbe96bd945d254a6a345105b7b0d203d70a92ff H00JJYHDXKWCGXE7X5TPWVVKE2GRHCQJ4Y5W9T4R26TX8ZSDMD9G -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(). GHE08130S6Y1JFGC4B7R7RM3TDHEJXPE24AAG4DBE53X2PVK9J60 T9BMBD91MSA5K1A4XX8ZRTJP71JVR14A8C90Y6K03F5G5RE86330;Q66365AJ5BDHD5ZW8GCF0VKZPWDPCS4C11QQP09PZTXVND3DSVM0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 8FQFJ2R44HNVEHXGVEFX5H1QNZV5RS2RNNNFGWFSZFPHQDH65F60 -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(). DXKXBJWQXQJFDAR81W63YD2J3BC69S9FHX02JVMBA1FAYBB98SVG T9BMBD91MSA5K1A4XX8ZRTJP71JVR14A8C90Y6K03F5G5RE86330;Q66365AJ5BDHD5ZW8GCF0VKZPWDPCS4C11QQP09PZTXVND3DSVM0 cfbe96bd945d254a6a345105b7b0d203d70a92ff RYW9HS550YT2WYAE3MP2J3AB7B7JY1Z7C6S99RTCGGFK1NK3RSS0 -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(). N9H8VVXNZ8ZF7TEBWCBERTEH3X9AHK0CG9CCEDZBJ8V0TVRYRJD0 4HD74T2D6ABMQEF8WV6TRNTZKJGDB8RKSZBF0PBVGTKRP4ZGNS10 cfbe96bd945d254a6a345105b7b0d203d70a92ff JRSSMK5956XRH4797KJT4E7WJ5EABAEKJKG3GBQH3PVBWCQ67PNG -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(). YT48DYCH1156YJ5PN4NKKHY4EB3JJFH0V42D5BX7NQKCCKQ6HKM0 4HD74T2D6ABMQEF8WV6TRNTZKJGDB8RKSZBF0PBVGTKRP4ZGNS10 cfbe96bd945d254a6a345105b7b0d203d70a92ff ZW82535AAS49HSE9C583MFCBZG07BBHG8R1S0W846Y9482AN1ZGG -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(). DXKXBJWQXQJFDAR81W63YD2J3BC69S9FHX02JVMBA1FAYBB98SVG T9BMBD91MSA5K1A4XX8ZRTJP71JVR14A8C90Y6K03F5G5RE86330 cfbe96bd945d254a6a345105b7b0d203d70a92ff FVX0J2VQMQHD6ME1MRJ7KPATTAWNXQQEGB4KQ8RPZ2KQ12QRJA30 -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(). BTQ8ATNYFFPPE3EAECH0CZVCZBCH06PDYZBF0F1NZ0V6V96KGWR0 4ZY4TRYNKD05Y6PBEVR4RPR3CG3T7N7ME4FE1VH2C40HM4SE128G;C6AEMGFEYZ2H8YC1CGHGEVS1DNCRPQ20ZCTP27916J8EZARPE4BG cfbe96bd945d254a6a345105b7b0d203d70a92ff QDG3N530TF54YMST2E27G85NF50VWAVEQX0SX0Q5VX1QYXSV495G -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(). VT1VW82CYFN8QQ0NZYKCSYBBDKFWCF4FNC2YP8FBKEYA3HGKX3D0 Z1ZPAZKTXCXKDD08FP3FHCZ0FV7PB2ASEPAJ219HABGRN1W2FK20;1742ZMAWMSQMJX0RAGPWEM8VWSA2NDH67KFMTHN47SMFEZ2DAG90;0P4GW16EH1R58K6JGMJZBDAD5KJXW61GKMAEDRJAKAX3GGDYSTYG cfbe96bd945d254a6a345105b7b0d203d70a92ff V2TEBA24DTZCCST9CX7WTCQT9R1PFTP5NPQEV5Y1ET30QJBJV9R0 -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(). 43FVEM57SP46PPV39405TXG1FMHA85N21VSW7WJQS8KH9JD14TG0 Z1ZPAZKTXCXKDD08FP3FHCZ0FV7PB2ASEPAJ219HABGRN1W2FK20;1742ZMAWMSQMJX0RAGPWEM8VWSA2NDH67KFMTHN47SMFEZ2DAG90;0P4GW16EH1R58K6JGMJZBDAD5KJXW61GKMAEDRJAKAX3GGDYSTYG cfbe96bd945d254a6a345105b7b0d203d70a92ff GZRQRE7WG0XR8J1NPDN6E17MS6RNGP08DAPPFJWKCT2256XXC890 -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 Z1ZPAZKTXCXKDD08FP3FHCZ0FV7PB2ASEPAJ219HABGRN1W2FK20;1742ZMAWMSQMJX0RAGPWEM8VWSA2NDH67KFMTHN47SMFEZ2DAG90;0P4GW16EH1R58K6JGMJZBDAD5KJXW61GKMAEDRJAKAX3GGDYSTYG cfbe96bd945d254a6a345105b7b0d203d70a92ff WDZGM8G7909FTRTBVRRYPGT2S92A7MGQX90A2ZQ0EK7R7X139P4G -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(). TW9WN9FCZBGWR1ESRNXM4RXQNAMMPZWPH9SX14XY03PBF76XM3N0 4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0;XTG1SK0YB8P07R49PAM81DBZFTX7S9S56377FWAN84HKS171FJP0;AKC52WYDJ140NRHR5HBFQ6W1TR5TGP9RJ3R6X2CRDYC9JMEZB18G cfbe96bd945d254a6a345105b7b0d203d70a92ff GA64ES9HE8ZB2ADQAJ7CHR4ESS52ZGRE3KHYN02K8R8NREP4RR90 -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 XTG1SK0YB8P07R49PAM81DBZFTX7S9S56377FWAN84HKS171FJP0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 6TABDF7798W3MPADGRYNXQRMPWTNX8R0SQF30CSEENQ34AKNM900 -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(). YCTRYAGTQ92Z746F844NFW6J4WK69PTBSGDKDBJ3HGDCG9KP32A0 - cfbe96bd945d254a6a345105b7b0d203d70a92ff G6CVTYMGYMCM5PQ7YR64Y8Y0N8THB2MH2PPJKJAZ69BB2SMCK47G -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(). 0GFPT58CT74TMZF2ZMB6KKC9H1W9JP90B5191K7CMS914M2FNKSG - cfbe96bd945d254a6a345105b7b0d203d70a92ff 0RS3GFEDZHSJ6JRE8QFR3A83J8QQS1KJHNS0AFG6TP1E8VJ2E6MG -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# 2MG9CAZR7253T4MG04H5SDT6BFHWGKSDPZ4DNJ1CV776XMKY55EG - de67d9df95e51fba3e7807f8554e3001b7db5f37 FNW992AMZ4HS96FZZ8WQBSZKVVT4FFHHQ3A3K6NSPYVG3THX3NPG -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(). HDH1YWCGVRNVS2FGY3ZDVV19M5V32M9749HSW56XEY872DJ4AN20 AQQTKE1ARMMJB2Q88G88ZTZ5WV8R5FVZ3QSMFBPQ6YACADN9HVJG cfbe96bd945d254a6a345105b7b0d203d70a92ff JGYGP2EQN1K6PP62MYWAC7JC7RF0HF0XT2B751XWQBWJ4SJ0WZZ0 -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(). DXKXBJWQXQJFDAR81W63YD2J3BC69S9FHX02JVMBA1FAYBB98SVG 9MJEZPA68BE1QSTGFPMZDPBM5BR6YM07GNJGD477RBWB49A4F9B0;97VN8F1B2TW5VYGYXKJZCA60F1HCW5BDXE1SR8MJ8WTMGRCF0JY0;C9PFT3RJC1N7DA8QQM81C97QEXET5YAWYR1AM6JVTW90JX43D2TG cfbe96bd945d254a6a345105b7b0d203d70a92ff 695V7Y4DH8DSZ698ZYTFD227Y0ZD7JNFV6Y6XNJM1DQXXZBBQNNG -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(). HDH1YWCGVRNVS2FGY3ZDVV19M5V32M9749HSW56XEY872DJ4AN20 9MJEZPA68BE1QSTGFPMZDPBM5BR6YM07GNJGD477RBWB49A4F9B0;97VN8F1B2TW5VYGYXKJZCA60F1HCW5BDXE1SR8MJ8WTMGRCF0JY0;C9PFT3RJC1N7DA8QQM81C97QEXET5YAWYR1AM6JVTW90JX43D2TG cfbe96bd945d254a6a345105b7b0d203d70a92ff 7GX9PGXZ5JZ691QD7F36SRHADBEWKVRCPQQVPJ66XPG0T2SPXKTG -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(). 4ZCY10VDVXRGYRSB4KRGCEJ7DJ6DAAP03CFJK409PWQPX6F28EK0 9MJEZPA68BE1QSTGFPMZDPBM5BR6YM07GNJGD477RBWB49A4F9B0;97VN8F1B2TW5VYGYXKJZCA60F1HCW5BDXE1SR8MJ8WTMGRCF0JY0;C9PFT3RJC1N7DA8QQM81C97QEXET5YAWYR1AM6JVTW90JX43D2TG cfbe96bd945d254a6a345105b7b0d203d70a92ff 80PRV8KSBGP5V7RG37KYHB3RPW9AW2AEA69DANJ1PQHS1EDEC4DG -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(). RHFT9QNDJKWMMTVHJY6RH54DHG9QQAH5PFMZEG9SKR47W53TJ0N0 9MJEZPA68BE1QSTGFPMZDPBM5BR6YM07GNJGD477RBWB49A4F9B0;97VN8F1B2TW5VYGYXKJZCA60F1HCW5BDXE1SR8MJ8WTMGRCF0JY0;C9PFT3RJC1N7DA8QQM81C97QEXET5YAWYR1AM6JVTW90JX43D2TG cfbe96bd945d254a6a345105b7b0d203d70a92ff VDQ3VRPVKM2VC03C7SH31XQSE8CE8YDQZW4AYXDCDRDH6R4KZXJ0 -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(). SATYBSZDKT6742D81JZGHN1F5MEJTGN4F11APQDA8AQ6EKBJA400 4V6NAZ87C00T7RJKAQ54B66S04080N6ZMVNKWRGNZDNTAT4VYFFG;3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50;FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G cfbe96bd945d254a6a345105b7b0d203d70a92ff 26PCJ7A3VT9YPFB95S66BPG62HE3DWXJ5E1FD7MQM4KT692TD0T0 -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G 4V6NAZ87C00T7RJKAQ54B66S04080N6ZMVNKWRGNZDNTAT4VYFFG;3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50;FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G cfbe96bd945d254a6a345105b7b0d203d70a92ff 747GCB9DXJVNAGX1A12X1XHHE1H8Z2VP9SJ3PVV62GBDJB1ZKZP0 -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(). TYZQNH4Y9GWXXCZN6F5HW21ENWX7JPA1PHSJCGG805A9KNR286HG 4V6NAZ87C00T7RJKAQ54B66S04080N6ZMVNKWRGNZDNTAT4VYFFG;3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50;FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G cfbe96bd945d254a6a345105b7b0d203d70a92ff RXE8JYEDBP7WBBFEQMHMJZDGZ5JXCVMNZ5PM25ZCN3GD737X1KWG +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(). F36VFJY5RWY39R0QB7QZBA7A9YM34HYD9WAW88S1KT67GZG5EWW0 59GSYZMSYFBTTSMS971T42JS3FJQMCWWP76SXA4F5JEWSFBFFHEG ce886f76a5e286da655c719bad2a55cc72f93d86 EXE03S91YBTQ9VJP01NQXCY85B91SQJT05Q30BTR4CT6CMWPEMDG +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(). F36VFJY5RWY39R0QB7QZBA7A9YM34HYD9WAW88S1KT67GZG5EWW0 - ce886f76a5e286da655c719bad2a55cc72f93d86 F902TD5597KFBQ7RN0J4WPN5KRSP3RAM1FDJX2W5MWMYJBN9EZEG +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(). 871BH4QQEPK0JFFS4JJJYKMAYC3ZMX3B97HC21SCDTFHJDY05DD0 - ce886f76a5e286da655c719bad2a55cc72f93d86 HR3Y4TVQ6VSQKBJYYK4AS290HF3SMJMBKKKFK1CFT920SGBGGEPG +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(). 50GJRED89534S6JFK3JDEGR76N8D7EKPD6TNVXY8PG2JSN6V5VX0 59GSYZMSYFBTTSMS971T42JS3FJQMCWWP76SXA4F5JEWSFBFFHEG ce886f76a5e286da655c719bad2a55cc72f93d86 5WKM91Q0TA2B49WRHFK7GGCD53F6WGA327RARFRG7TXE7M4AVPVG +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(). 871BH4QQEPK0JFFS4JJJYKMAYC3ZMX3B97HC21SCDTFHJDY05DD0 W8S0YKE2H8FZJJRN3881DZWGN2P4M8X9XQ9ZFN23C2W3DE3TG5Z0;C05T1CGQ8CNGKP2MG4K7SM3W7WHBFV8E2ACZP4TRCCD0QPK9ECKG ce886f76a5e286da655c719bad2a55cc72f93d86 TY8RDWHHG41A7M0Y9FA3VMBT8E7AMN9GSDJPG4Y9JFAQJN1305X0 +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(). Y7121KTDEBVGJNZF3Z56NSE17X4KVNQM22JJXXWV6BV6Z0W7ZEMG B114QYVVSF4GN62YN4A1SBM3796A202R2NPAQQPXN39WC3W24RR0 ce886f76a5e286da655c719bad2a55cc72f93d86 CS2CYAB220Z7DZJA6VTMS6HCWRJGR75VAQRNMBERTW29K0BZ4AGG +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(). Y7121KTDEBVGJNZF3Z56NSE17X4KVNQM22JJXXWV6BV6Z0W7ZEMG 0ANXQMYCCEA7N93CTBTGJ21HPHJERTR3JDCG7N5K51QDX8JM37NG ce886f76a5e286da655c719bad2a55cc72f93d86 RZKFDDC1NCXM3WKNADVWBMH6W1AZT59QSZ5CY8N9C4V7YFGZBYDG +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(). 0SB17AVHYSZYFEPX4VFVE1WF6QDNTQX90QXRTDRYA6EAC3XRFFZG 0ANXQMYCCEA7N93CTBTGJ21HPHJERTR3JDCG7N5K51QDX8JM37NG ce886f76a5e286da655c719bad2a55cc72f93d86 EYPVN0ETXF1B2A2T4NGJQSWDJJT1NQC4X9EJQ5VRMCKD8CWSYN2G +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(). F36VFJY5RWY39R0QB7QZBA7A9YM34HYD9WAW88S1KT67GZG5EWW0 59GSYZMSYFBTTSMS971T42JS3FJQMCWWP76SXA4F5JEWSFBFFHEG;6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG ce886f76a5e286da655c719bad2a55cc72f93d86 DMJMNJR419SJE4TECC374WQ3YZ2CC4KHTW99FEKDHCY5RQZMW010 +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(). Y7121KTDEBVGJNZF3Z56NSE17X4KVNQM22JJXXWV6BV6Z0W7ZEMG 59GSYZMSYFBTTSMS971T42JS3FJQMCWWP76SXA4F5JEWSFBFFHEG;6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG ce886f76a5e286da655c719bad2a55cc72f93d86 VD5KKC6HGKS4P1QJJA17D5E7DVDM67ZQEF04PQ3Y1RSDGD8RV8YG +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(). AKPWZ7FP3EKRWNZJ0RQGJ89MVPGJYMZF3T35KJXC1DR01AGJE4F0 RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG ce886f76a5e286da655c719bad2a55cc72f93d86 9KGQFB5B58B87T03E94ZKFCEE58EDT7AXV6WH8B4QDT1R7VPR350 +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(). WRKXRYNH4YPQNHJ4RS10H5PARFX01EMC8SKDF4PZ7T9EX2D9YVE0 59GSYZMSYFBTTSMS971T42JS3FJQMCWWP76SXA4F5JEWSFBFFHEG ce886f76a5e286da655c719bad2a55cc72f93d86 04PK1EAEVNTXNJGZD0QG746PWYGEZSHDD1BYGXTQ2FCZSG5G75H0 +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(). 4F9KD7074VBQP00H00CW5WX80848H99JFKHV907BRYC5VNT9TPY0 59GSYZMSYFBTTSMS971T42JS3FJQMCWWP76SXA4F5JEWSFBFFHEG ce886f76a5e286da655c719bad2a55cc72f93d86 7XK3ZCYHJB4376VEA87SS8TD2AE259Q4ZKW6F0AMQ6P7AVVHZMTG +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(). F36VFJY5RWY39R0QB7QZBA7A9YM34HYD9WAW88S1KT67GZG5EWW0 59GSYZMSYFBTTSMS971T42JS3FJQMCWWP76SXA4F5JEWSFBFFHEG ce886f76a5e286da655c719bad2a55cc72f93d86 QCFDE412JSAWGFCCZTD6V9GCPA8J4Y274AMKFCPAR4FHQERRF070 +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;BKZP3YJCAC955K1475K57MCZVP9C89EG7E8XNGK16HDT742D3A2G ce886f76a5e286da655c719bad2a55cc72f93d86 5KV2CB49TSYXX29NH5D62ZMTKJYBYR14KBN9VG39ZPK4750ZG9J0 +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(). BXP1MXZ982F9WXMJ32FMJQT7N8Q587JTQQ0Z6ZNKJX9TA9B9BKZ0 J68NM6P6BJZMNEBEQ963S8ZCTR3PCGGDSM1KEA5G1H4EWDEEV9A0 ce886f76a5e286da655c719bad2a55cc72f93d86 94GN7XXYRN09YZWFHK9GR4YC4ERA8GZSPGYEZRFWTS63RAFV1YY0 +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(). 0J9C53PJ8QYAYA9PWKBJPQPYC7EFPCK8ZJ91NVYRWEH8PA2NZ040 J68NM6P6BJZMNEBEQ963S8ZCTR3PCGGDSM1KEA5G1H4EWDEEV9A0 ce886f76a5e286da655c719bad2a55cc72f93d86 PSQVHN403PTV4XTYZSTAVN7NX61MWZPCWNVYBT0QG1XYJ2EMJAB0 +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG 2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00;EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG ce886f76a5e286da655c719bad2a55cc72f93d86 GSWD424WGXKT78S4B38F3NV78QNS8QGH6WDW1ZQ1VZJ7TJDA6TAG +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(). 0J9C53PJ8QYAYA9PWKBJPQPYC7EFPCK8ZJ91NVYRWEH8PA2NZ040 2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00;EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG ce886f76a5e286da655c719bad2a55cc72f93d86 KJMVXRWXEEV9TH5SZ4MGBRXFV46A7W1EMXR84WHRW2PYNDK2T020 +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;PJZKXF6FYBAHQ6ZR465ZS8R1YF2SHN7QCQ7TNQ3ZNNA5VAC2TMM0 ce886f76a5e286da655c719bad2a55cc72f93d86 6KNB3RSMME3B6QRGD4KMF7TKBPGC5M6915YTJX83Y370D5AK7T1G +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;SAHSR2WHGFEYXQ7W3VDJW5AT6JR1NXS29JZVA7AH4XZK184203E0 ce886f76a5e286da655c719bad2a55cc72f93d86 7MKCDTNSBGRW67RFJ0KAPH3R797PHM4K6BZ2WVSY4V66EMAV4980 +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 MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;SAHSR2WHGFEYXQ7W3VDJW5AT6JR1NXS29JZVA7AH4XZK184203E0 ce886f76a5e286da655c719bad2a55cc72f93d86 5ZC8QFQW420MPHA8S02GKGNECAERHW0QG4P1X3Q5SCGJ7Q6NZXVG +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG SAHSR2WHGFEYXQ7W3VDJW5AT6JR1NXS29JZVA7AH4XZK184203E0;2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00 ce886f76a5e286da655c719bad2a55cc72f93d86 JEVS5RB4JQNMM9BW7925F4JZ87AC5HFTCPWPJ5Y8S71AQ9E2R7R0 +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 SAHSR2WHGFEYXQ7W3VDJW5AT6JR1NXS29JZVA7AH4XZK184203E0;2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00 ce886f76a5e286da655c719bad2a55cc72f93d86 JMBHGX6Z0R68T9MP5TVF8N68Q2SRWWNEM7WEVBH1ZYNY3AQXAPS0 +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(). CZ2X3VAXS3QY0TNJ271QNGQFDMKVPZQVG1AETEJVRN8ZGBVMERRG SAHSR2WHGFEYXQ7W3VDJW5AT6JR1NXS29JZVA7AH4XZK184203E0;2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00 ce886f76a5e286da655c719bad2a55cc72f93d86 SB3CJHR25C2DEJW18NZFDMMCVHBQP03CYQP8TRBHYN94GMV22MPG +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 TSXF7CZBCWBQFJJ02HGGXJM1933DFD1BAJGAMM0MN7041J2J2M4G ce886f76a5e286da655c719bad2a55cc72f93d86 VGZ7WMQQAFMMW8ZJQN0JXAV6CHQVTA6ZJE73SQHEV3RNNX5XXB4G +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG TSXF7CZBCWBQFJJ02HGGXJM1933DFD1BAJGAMM0MN7041J2J2M4G ce886f76a5e286da655c719bad2a55cc72f93d86 NCFFAH43HX1SZE2DPRA9D5D3YFTQTAPA3AZNZSXBRNBFRQGZ8KKG +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(). JTNR9CP2F2P9MXW7G5WM5DQ0DMVDJ8XFK2C8BMAVQRFBG7QAY3VG EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG ce886f76a5e286da655c719bad2a55cc72f93d86 N6Q784C62NW59PVVKJBJVV18S8MA3RZCYB4P7KGCZECGYCD9ZFGG +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(). 0J9C53PJ8QYAYA9PWKBJPQPYC7EFPCK8ZJ91NVYRWEH8PA2NZ040 EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG ce886f76a5e286da655c719bad2a55cc72f93d86 J904N72WCGWSXQEAFZ2ZXG3B4X1CVTR2JRFPDVWM5V1N1BS7EKP0 +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(). FXCPDZCGPQRYY2GGJA50VSP02NXR5QDHS2XSWYGES33BMXEP0CTG SR3VBNDR67VMCEJGHHGZPTZZ3XX2HNXPMJNAETKTHN8DETJ1CMR0 ce886f76a5e286da655c719bad2a55cc72f93d86 XXN8QZ2BMQ8ZCSC9KHEMA73TK28RV00PXMDZGN9D81H8VBCEV6GG +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(). PDDPF5CCFX5J9PMKDKBG57EZKCYTBX6XDMKYT9Y47CM3NM4KNT7G 1H5NYDMGQB0VXN233MNXJWV9XT93XGYYVRPSGWY7MTBB70ZNDG30 ce886f76a5e286da655c719bad2a55cc72f93d86 G3BJ11DW39DCC5W555D8V1AHXZ3332BY81XRPZEAJHG59QEDDMFG +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(). BXP1MXZ982F9WXMJ32FMJQT7N8Q587JTQQ0Z6ZNKJX9TA9B9BKZ0 217W4J8WT94ZJC0A9RT0NKS3FD0BMWKQC7B04JNJXX8RMTNAGDP0 ce886f76a5e286da655c719bad2a55cc72f93d86 49QMK2YWNRMVE3BW97H2E3B1GB9XEEF44GF61RPXPQZX0QTBP6P0 +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(). MA03ZPXJ7S32WP6CAW960P5417D7AH2MYE9QFFCKP6XBP7529BXG 217W4J8WT94ZJC0A9RT0NKS3FD0BMWKQC7B04JNJXX8RMTNAGDP0 ce886f76a5e286da655c719bad2a55cc72f93d86 BWGPAYJ230SNGN272PEFSJ6NBCNVKZHEZEHE3B7KK07WY6F25F3G +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(). NVSBDG7BGQTVD31W1SA4MHX6C8W48CM6W94WXFR9822HD3SP54JG FGEDC8DFK90CRFFDB43K2H9Z32PACG9YW8F0N92HKTBS6JBN0GJG ce886f76a5e286da655c719bad2a55cc72f93d86 H2SJH4F8KC4Q6X0T69R3FPFV44SVXM7G7ZE4EW7VT4N6XC7R8Q5G +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(). 1P045N23SYW6YJG3AH0J1BVZXB0BF0ES3K148RP06C4QQKTX4JP0 FGEDC8DFK90CRFFDB43K2H9Z32PACG9YW8F0N92HKTBS6JBN0GJG ce886f76a5e286da655c719bad2a55cc72f93d86 JCE8JJ4K6RDN9B3AK4DYAER9DZEJ7A94YZDZSCV95VYB72P7GBEG +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(). 0J9C53PJ8QYAYA9PWKBJPQPYC7EFPCK8ZJ91NVYRWEH8PA2NZ040 EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG ce886f76a5e286da655c719bad2a55cc72f93d86 RW2KPKKT46PVSPV6GQ7AFBD3S23GC08SXX5G03PB7VN8703G3M8G +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(). JTNR9CP2F2P9MXW7G5WM5DQ0DMVDJ8XFK2C8BMAVQRFBG7QAY3VG 0NSATC7SSFP512BV66KDVFFGYAV8M0HPJZYYYZC3MB4T362TD5K0 ce886f76a5e286da655c719bad2a55cc72f93d86 AZHQEN4VJFXGWH150R599V5PFF1RSDDNB31JZ7PZAJ1MGRDMM0VG +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 2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00;SR3VBNDR67VMCEJGHHGZPTZZ3XX2HNXPMJNAETKTHN8DETJ1CMR0;HZ6K8PQ0JDB6YJ8B7WEP5J334D3GADH2J20TC4B4VCKX1XD91XXG ce886f76a5e286da655c719bad2a55cc72f93d86 Z9ET8F644TWM7Z0P36A5DVBDVTN3B1NXHGD1154PBJR1J2BJ7A2G +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG 2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00;SR3VBNDR67VMCEJGHHGZPTZZ3XX2HNXPMJNAETKTHN8DETJ1CMR0;HZ6K8PQ0JDB6YJ8B7WEP5J334D3GADH2J20TC4B4VCKX1XD91XXG ce886f76a5e286da655c719bad2a55cc72f93d86 8AB0F4G137RBJVYVQCNFAF942GPG7R2569GHJ4ANZE5Y3RDWQ250 +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(). FXCPDZCGPQRYY2GGJA50VSP02NXR5QDHS2XSWYGES33BMXEP0CTG 2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00;SR3VBNDR67VMCEJGHHGZPTZZ3XX2HNXPMJNAETKTHN8DETJ1CMR0;HZ6K8PQ0JDB6YJ8B7WEP5J334D3GADH2J20TC4B4VCKX1XD91XXG ce886f76a5e286da655c719bad2a55cc72f93d86 758Y9EDTZMCCG7X2AZPFSG727X437S0YA74017QHZRRE66QMNMAG +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(). FWS4R2NE4VR75C9K0CT0BTHYGS0V6HAA3M3E67NKVMXJACSF50Z0 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G;SKW63VBV357XEXRNWDF9113P66JJNA5S2K760R9N3NR1F2VHRC3G;917KNPKJPCSGCBGW5J0M991D2RZABVVYQZESRNB26XVPW3VKY2SG ce886f76a5e286da655c719bad2a55cc72f93d86 MKBP2EWF3A8EMG0RE0J6H0VTN9GGGGXFVCCD3AG4DF47S7T9WFK0 +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(). ZVXQXHCN0TRPQB1D80K7QJXSZEMX45T4G9ZVM2VGBTKFN7TPDAMG 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G;SKW63VBV357XEXRNWDF9113P66JJNA5S2K760R9N3NR1F2VHRC3G;917KNPKJPCSGCBGW5J0M991D2RZABVVYQZESRNB26XVPW3VKY2SG ce886f76a5e286da655c719bad2a55cc72f93d86 JVB9V6DQ0833F22HYMYXB0Q2FSZ6D0XSRK5Q8N6H8XF0C9WPX66G +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(). 44S9FP6D4SJ9STB6ZRXEP03VK02XA3J77FNS9K5Y5T4AQRHY15EG 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G;SKW63VBV357XEXRNWDF9113P66JJNA5S2K760R9N3NR1F2VHRC3G;917KNPKJPCSGCBGW5J0M991D2RZABVVYQZESRNB26XVPW3VKY2SG ce886f76a5e286da655c719bad2a55cc72f93d86 S9GY0QAGKNEC9VM7SKH3EKXNWDN4P6EET7N1KFAPADTGBKM2CFK0 +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(). FXCPDZCGPQRYY2GGJA50VSP02NXR5QDHS2XSWYGES33BMXEP0CTG 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G;SKW63VBV357XEXRNWDF9113P66JJNA5S2K760R9N3NR1F2VHRC3G;917KNPKJPCSGCBGW5J0M991D2RZABVVYQZESRNB26XVPW3VKY2SG ce886f76a5e286da655c719bad2a55cc72f93d86 MX56ZWVZ497058VRJ102BPXWMXH0AEW89V22BVQY895STVXJ7YQ0 +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(). 30JCCXFNWCFGKENAS99058Q92WR40RTHPEADZT58N8AEY3Y7WFT0 0TPX47CC4GVG5QJTAE2GDSXQTXFBKNSPS5812FVK4XTSX2EXB30G ce886f76a5e286da655c719bad2a55cc72f93d86 HWSAWA9W3ZF2HG3D0F6CQDVDEE9P6KSPZXXG60REWQ44N03AR44G +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 13M9DM08NPFW72ZWQDB6198V4XGRJMB75GNW12R4ZXZ1H5A6DT5G ce886f76a5e286da655c719bad2a55cc72f93d86 7704BPST5C75EH4PKBYWW1F23YT4DYVTZS1W59M1YEBF18972KZG +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(). 1FQP73KPYZ85JE1H9JF90B7NMX9E5WGG32Z7X36CXGGGWBD4AQS0 RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG ce886f76a5e286da655c719bad2a55cc72f93d86 ZAZAZYC4SDFQN44EWF6JG8Z348YPEPTAF82XVBRY2BV76R0X3DQ0 +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(). VAW945REJC0M7CD9XGSDMQ57C2F4WNTZ5ZP00Z8E5XB2D8W82EBG RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG ce886f76a5e286da655c719bad2a55cc72f93d86 2SQ104Q3MNFAPW1SNVB5JP7NSEZQ029FKRAAJXD632YGKBPJA860 +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(). TVQCWTPQ81W02B0WX9EC228TJ8NQFPC0WMMKPD86YMWQ00BCCDZ0 RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG ce886f76a5e286da655c719bad2a55cc72f93d86 T1D4X3GNT64928CGXP49TS5XWM2DFQQADMSZSWZY8XWC7EWRY5D0 +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(). JW5XV5BQ0W77WEKENYEF28SQ0YGM3X6GCVG6D8457H7CHBTCFXE0 RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG ce886f76a5e286da655c719bad2a55cc72f93d86 3RH2KBQ52DT2MK3F7CS4KZEB2DYY1T9637WXR42YPJP27W5KR5VG +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(). B8D4K3HFT2RVY72VKN5CMTXKP14FQAJTF03YPEJD0NHWK89R4NFG RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG ce886f76a5e286da655c719bad2a55cc72f93d86 FPQG3RM4TDA57HEJMF6306GFEMCJKSZ8FVSVCP9NAK3WH1PKH1F0 +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(). 4E615Y515AZEZQRA26CFYM4FJ8Q1N3EE182VSZ9BXCCKMWE766A0 RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG ce886f76a5e286da655c719bad2a55cc72f93d86 BKKRNQ4W9DB3TK6EDHPCVDFB5YA7SAV8SJQ31Q0VHVNPXF0Q4FC0 +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(). YCTWPHKCY5M8TF38YJ61J8CTA47MJ3JZXG7XXFXD7DM34453FH50 RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG ce886f76a5e286da655c719bad2a55cc72f93d86 6VX0V14X994JX1FESZ86BMV5HJZRD4F9W2C0CSNZYEV2Q0KCTB3G +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(). QDYSZHC2B8R2832VDBNCR7E3DCYB6QFK1BGVW6V3WFANNF8296BG JHC14FHTYP1X6FX0VKE1Z2V0F08CDJ0PZH6B67E3BQ5294F7YJ1G ce886f76a5e286da655c719bad2a55cc72f93d86 WA2HTKCCPTVDH6FJ1ZFWC936TSKBRW3GCX6J5PHEH020ERA4HK10 +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 JHC14FHTYP1X6FX0VKE1Z2V0F08CDJ0PZH6B67E3BQ5294F7YJ1G ce886f76a5e286da655c719bad2a55cc72f93d86 D97504B6J09RSGPZ3VP4Y15TT6CJJ433MP2S8WZKZPAD8Z955KGG +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(). 4F9KD7074VBQP00H00CW5WX80848H99JFKHV907BRYC5VNT9TPY0 - ce886f76a5e286da655c719bad2a55cc72f93d86 53YHQRBZQTT9Z7HJBNKHBM8NY1AZGMZRVMW2R6TP5FN09S26V8K0 +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(). 6QGHC01EV9RBZC0DMMBVJ9KEJ0NS645QSB9VX4RK59BTAK112ZXG RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG ce886f76a5e286da655c719bad2a55cc72f93d86 CP9HSXSKFB5TTKSK2YSXGGQD169QW18KD3AS835R0Y8AKHZKVBVG +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(). T653Q0A07HC9FZBYSKG2Y61MBP7J3VGHN1ATCM6YZX577KP872MG RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG ce886f76a5e286da655c719bad2a55cc72f93d86 9HDK0ABBMS0PM3DS80PJQJV7ZK1AYXWTVEC2RH41KZ3NHFEJRJPG +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(). 2A6PTCS7NTRZJD4MQ6NQVC59H170SVW2FYM27A70M4C0K3MGC7YG RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG ce886f76a5e286da655c719bad2a55cc72f93d86 4163VPX566XG0PMB149ZSBHJRXSWC34ZEQPKH930K91KGM884XK0 +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(). MMJ55A3K7H66887ZD7Y4FCBZP15F6HZ4X2SZEBTGRC80JJA90R80 RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG ce886f76a5e286da655c719bad2a55cc72f93d86 DZ41ZCB1M0GMMPV5P59QZM1CAAK98932F3W283VXZ7PWZ01YFKW0 +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(). PPYV2DCVVZA8EPPGZ206G2K1DN4MEZ4EKPGGA1Z7JFV1ARWR496G RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG ce886f76a5e286da655c719bad2a55cc72f93d86 YA9A2G687FH0YZ8046Q922379FTZ7MRV9FYYWVGY9SZEC7BFP35G +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(). 5MA0RCZY5KM6FRHJEG76J97PWEFN34YT0ACHRH8P3JXP9CCAQRQG RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG;RGQW86RV23JGMZ7V7BAT63W86W32RKMG2FGN028C6XD8YZSXHY30 ce886f76a5e286da655c719bad2a55cc72f93d86 E4YVMEAMWVS1TEY8T6WVYXC8VX1J33EH36Q0QYTGDP5C3EMHMQPG +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(). XSC3GHMN2GCRWTSKB1G3NJWT9FKRP30VJJ1E4H22RD5S7J2E5M50 RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG;RGQW86RV23JGMZ7V7BAT63W86W32RKMG2FGN028C6XD8YZSXHY30 ce886f76a5e286da655c719bad2a55cc72f93d86 E153P4471N4XZZS7FG8MNK8KZW2JYTKESB2M2K28PWV12JJ05HK0 +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(). 5MA0RCZY5KM6FRHJEG76J97PWEFN34YT0ACHRH8P3JXP9CCAQRQG RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG;RGQW86RV23JGMZ7V7BAT63W86W32RKMG2FGN028C6XD8YZSXHY30 ce886f76a5e286da655c719bad2a55cc72f93d86 DB0R3B8H9STR3C9ZBAVPWTEN31B97FK7C59E81SRQ71CE6TCD7P0 +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(). PPYV2DCVVZA8EPPGZ206G2K1DN4MEZ4EKPGGA1Z7JFV1ARWR496G RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG;RGQW86RV23JGMZ7V7BAT63W86W32RKMG2FGN028C6XD8YZSXHY30 ce886f76a5e286da655c719bad2a55cc72f93d86 Y01P1WB7TMEKB9WY1MGFC1G1J4PGJ2QW14K2BQD8RNSPSF82JQWG +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(). RRQQC4DFQTDQT7NY0TQ8RGXP8RQ9ABTG842610TP95AZ012EWJSG RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG;RGQW86RV23JGMZ7V7BAT63W86W32RKMG2FGN028C6XD8YZSXHY30 ce886f76a5e286da655c719bad2a55cc72f93d86 AGR6YTGG1CFVDNRNKM9EN2JC3KTFFW71G2R1JRBNNANR1AZGMM60 +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(). KP2TJWZJ453N09EHG5X337WWFSVDTSWVQFCKK5MG9KBSS338S4CG 917KNPKJPCSGCBGW5J0M991D2RZABVVYQZESRNB26XVPW3VKY2SG;YTRB5XRHTPG1BN9GHT04DQ18K6QMQBAJ0Z5H2R30VQ9XBASZKRXG ce886f76a5e286da655c719bad2a55cc72f93d86 8GFCF1VQGS1H5SZ5YF187PQC6KJRN0M8VVNA8DW9Z4NNF3J5ET40 +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(). 38YMKZ30XN2G1RHWAYZSBK27PNJ63NTKQHAZ8V0D2T4BZMXW62ZG 917KNPKJPCSGCBGW5J0M991D2RZABVVYQZESRNB26XVPW3VKY2SG;YTRB5XRHTPG1BN9GHT04DQ18K6QMQBAJ0Z5H2R30VQ9XBASZKRXG ce886f76a5e286da655c719bad2a55cc72f93d86 A11W81WGR392SCYBWEWK15HVDR4F30FSAZQW9X2YD5AFRETG4MC0 +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(). MM2NSM633GJ4D8GJY52B4M7V0HJK507EB6CBAHGAVN76AAQ65TTG 8F2V45YQAGZ6EBAFV9NAYCPP2AJSQVHA6JJ4VGQ6TXXT9NAPK9M0 ce886f76a5e286da655c719bad2a55cc72f93d86 569W8MT5XHB29V207E1Z8BZ6J2RYK08DQ771KYGCH5H47QRSF7EG +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(). MWVAY77XMTHKPV2B8F6D4X3EH3ZS1SQXMDTDNT6X2ASV7B2R34PG 8F2V45YQAGZ6EBAFV9NAYCPP2AJSQVHA6JJ4VGQ6TXXT9NAPK9M0 ce886f76a5e286da655c719bad2a55cc72f93d86 J5RJA86435JKSJY7MGMQ1N9SQGZ8XSE3RY5FVVQS1MNHZ8R50KT0 +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(). 38YMKZ30XN2G1RHWAYZSBK27PNJ63NTKQHAZ8V0D2T4BZMXW62ZG 917KNPKJPCSGCBGW5J0M991D2RZABVVYQZESRNB26XVPW3VKY2SG ce886f76a5e286da655c719bad2a55cc72f93d86 W592DB9Z165PHNM7NCSH0H8VEDW060CGEA8P3N972F786DSB4K6G +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(). K4NVQGJ4TX8VNG6SHJWCW0507F3GX352ZKAMHPDYR7KYZ58ZGC0G J02G2D3CDFTAD74KWKTVRFZ0ABCXFWZ48BEH7SWPEFZV9TTEV0C0;7Y180RB742R4WBM7MR72AK7PS1QCWTSJ9042JS0EZC4HSXST1AT0 ce886f76a5e286da655c719bad2a55cc72f93d86 MVZSAWYDACE2TYHN05J5ZGW4B6ST0GMN0WEJD6XQ36SR3QSMN0E0 +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(). EE8N3ACVA4EJGJ3KQ0F0Q35FKXNJJ30B0DAWP0JBSARAKPSR2X10 46G0JWBKDTG2HFMM8953HJP1RBM3BYS032PCCVNE3GNH1G1MB7P0;4WM6EB563807E71C2Z79WKSHSZVKY2BEEEQ9S6JR011PQN4XGD3G;JSM8AFWP97N61Z50X5CSK30ZGHE1N01TTE3JK9H4NZP7YE7FG1D0 ce886f76a5e286da655c719bad2a55cc72f93d86 82TKV83M1NWK35X2Y1RP6M0TZCMVS6W498PV9N6R2EA994R42H80 +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(). 846THPN7KG07SVZEVZQKHMBDF1EWGQ46F8M0D23NCZYNXYS3GFKG 46G0JWBKDTG2HFMM8953HJP1RBM3BYS032PCCVNE3GNH1G1MB7P0;4WM6EB563807E71C2Z79WKSHSZVKY2BEEEQ9S6JR011PQN4XGD3G;JSM8AFWP97N61Z50X5CSK30ZGHE1N01TTE3JK9H4NZP7YE7FG1D0 ce886f76a5e286da655c719bad2a55cc72f93d86 9VWR3TPG0S2C4F1QBRAPRE3PTBNB37M6WF99QRQKBWKSH44Z61S0 +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 46G0JWBKDTG2HFMM8953HJP1RBM3BYS032PCCVNE3GNH1G1MB7P0;4WM6EB563807E71C2Z79WKSHSZVKY2BEEEQ9S6JR011PQN4XGD3G;JSM8AFWP97N61Z50X5CSK30ZGHE1N01TTE3JK9H4NZP7YE7FG1D0 ce886f76a5e286da655c719bad2a55cc72f93d86 RDG963WX3FYD3VBFCGYB2YYEW93BDM0MTVPKJ6JBJPJ19MVKP98G +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(). 9QZ7Y2NTA38GX5NN1TP0MN4W9F718XB0CSWE5APA6XSYHCVBH8XG RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG;JHC14FHTYP1X6FX0VKE1Z2V0F08CDJ0PZH6B67E3BQ5294F7YJ1G;4HAC8MCPAC8CDHVS7FTFW1TEDZ9JD2PEHZW6XCX8QW1DRTA8F1W0 ce886f76a5e286da655c719bad2a55cc72f93d86 ZS42JTS89TNH41C9W9AN30N4WTJS8F5RX75D08GMF52Q5NJQGHAG +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 JHC14FHTYP1X6FX0VKE1Z2V0F08CDJ0PZH6B67E3BQ5294F7YJ1G ce886f76a5e286da655c719bad2a55cc72f93d86 6AJRYEMEXWDJ4BT9Y7TW5NB5X11DJRKFE15JJESXMCPBKBBB249G +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(). PVDQ5BHTPJ6M56XTK461QEECZC0103D7DXNHT3D955F9V0W5RGV0 - ce886f76a5e286da655c719bad2a55cc72f93d86 2PBTG7A1YW4E1E4N4JQ6SYZ32CYT65GPDHTMCMRPJ03G0PXSBH20 +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(). 44S9FP6D4SJ9STB6ZRXEP03VK02XA3J77FNS9K5Y5T4AQRHY15EG - ce886f76a5e286da655c719bad2a55cc72f93d86 SGZH851M7EXS5GMVGJ0WAZF7Q1D0JA9HYC75N5XS2ARHHB6Y4NM0 +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# W7GWCSXKR2Y54HFM5GJ53867AMQN3FDG62XASQ0JC9PDM8025F50 - ce886f76a5e286da655c719bad2a55cc72f93d86 B42K3HEDWPZ6NYMS3PTVJRPD2R710Q9X9CMB92NK7ZFA906QQ84G +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(). DSGF1BJDZEMRJV87HASZSQKR20Y61A8GA4YRPXHHEPZ7GCDYB3H0 QJG1QGE1N3RTM5WV1ZF7SQPJR2W477HNBPSKT2KFEJVX65MPXC80 ce886f76a5e286da655c719bad2a55cc72f93d86 S943GBMDTDHBSM29VD08TVNQJCG03GFWVJ8PC8SWMS49MB28NDKG +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(). 38YMKZ30XN2G1RHWAYZSBK27PNJ63NTKQHAZ8V0D2T4BZMXW62ZG ZEKSSMZECWV9F5T95GY7DVQN2QF0WQA5Z1Y0JRXKMHQTYMYGGR5G;BEH7KA9VEGWT12ME4315TQAKA5KRGTWAPX6S1J2QBTQWWVQGMW5G;EA0CC1GFNVJ8DX1QRD43AV5WK30ZSFYN7YNQ48MQ9MQ4MGS3AGSG ce886f76a5e286da655c719bad2a55cc72f93d86 TAGN4B954A8RG4JHRGC5VHZ9GAWF0YNZBWFG5W3W6DCHTFHGBTTG +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(). DSGF1BJDZEMRJV87HASZSQKR20Y61A8GA4YRPXHHEPZ7GCDYB3H0 ZEKSSMZECWV9F5T95GY7DVQN2QF0WQA5Z1Y0JRXKMHQTYMYGGR5G;BEH7KA9VEGWT12ME4315TQAKA5KRGTWAPX6S1J2QBTQWWVQGMW5G;EA0CC1GFNVJ8DX1QRD43AV5WK30ZSFYN7YNQ48MQ9MQ4MGS3AGSG ce886f76a5e286da655c719bad2a55cc72f93d86 NBTKP27PPNR0DY1DYEN2HPWR8XJH3XN4G8BZQ7CC9E9EWJTH7KE0 +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(). 5KA8FSQB31W00KX1ESDX9XDK9G6BCKZK0VYRAGF91F9YZXXA3P60 ZEKSSMZECWV9F5T95GY7DVQN2QF0WQA5Z1Y0JRXKMHQTYMYGGR5G;BEH7KA9VEGWT12ME4315TQAKA5KRGTWAPX6S1J2QBTQWWVQGMW5G;EA0CC1GFNVJ8DX1QRD43AV5WK30ZSFYN7YNQ48MQ9MQ4MGS3AGSG ce886f76a5e286da655c719bad2a55cc72f93d86 3MGY8A8435XAJWJ91C4SRAEGH9J5R804FT22EEPMAJ185DYP8FFG +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(). E0G3Y6VH4QGKQQSPWHCZ1CWMZJKTA790ZX8Z1E2F9BY0QVSF9RA0 ZEKSSMZECWV9F5T95GY7DVQN2QF0WQA5Z1Y0JRXKMHQTYMYGGR5G;BEH7KA9VEGWT12ME4315TQAKA5KRGTWAPX6S1J2QBTQWWVQGMW5G;EA0CC1GFNVJ8DX1QRD43AV5WK30ZSFYN7YNQ48MQ9MQ4MGS3AGSG ce886f76a5e286da655c719bad2a55cc72f93d86 0G7B3182056E46G47DKH45QKFQBWTXAZKPZA2DTWC7MPRBBKZ5Z0 +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(). FWS4R2NE4VR75C9K0CT0BTHYGS0V6HAA3M3E67NKVMXJACSF50Z0 AWV4Y6TXTQ9N2Y4FMEF91VXRJ19K7523T007KGFBTEV8XW9YRGPG;9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G;2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00 ce886f76a5e286da655c719bad2a55cc72f93d86 Q8A1T3RJBSD97BRZPVVAAHVBG4CSWV35STPCRF2AQTDKVEG6MJK0 +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG AWV4Y6TXTQ9N2Y4FMEF91VXRJ19K7523T007KGFBTEV8XW9YRGPG;9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G;2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00 ce886f76a5e286da655c719bad2a55cc72f93d86 93YFREFKMZ60N07EWN4ZKJKGKZBH11QN5A3VNPTVDKZKJR4SCNSG +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(). J6MWPAXZ0YBVEGTFX81HA7JD7ZHZ2NSBHCJQZHCXCD3FVE1D9R40 AWV4Y6TXTQ9N2Y4FMEF91VXRJ19K7523T007KGFBTEV8XW9YRGPG;9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G;2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00 ce886f76a5e286da655c719bad2a55cc72f93d86 RQCHNANRSKX5YDD41GH8GXXGJR52K27MVV7HZZETDGSMHMP97J9G 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(). HDH1YWCGVRNVS2FGY3ZDVV19M5V32M9749HSW56XEY872DJ4AN20 GKD3430Z60ZPV114574FDTKT3ZZFFN9BFXRQQCXGGGQP0GCKAACG cfbe96bd945d254a6a345105b7b0d203d70a92ff M4TQGT5TNSPSS0Y3H11Q9VTM0GPFNYHVN4XVV0VG1VP80FBKMG0G -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(). C4WGNMR48WT7KBC1FCCKPRXMRV1BMNEF3NVAHKB68AVYSE1SFN30 NX7G6FK1GX3AX3RJFEPMG53S6YF8XKY82RJG4Y7BCYFCJSRBSM4G cfbe96bd945d254a6a345105b7b0d203d70a92ff NC5NZZQPVFBTQ25NEQH8SW4RYN4QNVRT7HSBAP40VYEEXD447ZX0 -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(). DXKXBJWQXQJFDAR81W63YD2J3BC69S9FHX02JVMBA1FAYBB98SVG HTE8F66P4SCWTWWV3WX0VST7DTDJT40767N0H08RZC35K6CAS7T0;YTB73Y4MF5T14CXDQJN1PTRH543FCYPYD690H1ZCG12VDQ4QK53G cfbe96bd945d254a6a345105b7b0d203d70a92ff 0XREQZTN0EKAGJVMMPMR8E4MG1ASVY3YEGBBN6FVX8NBJE2F68E0 +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(). DSGF1BJDZEMRJV87HASZSQKR20Y61A8GA4YRPXHHEPZ7GCDYB3H0 7SHGR2356AF35PVPM9SF1399P93Y45KGVWX43VHP1PW2QWMABBQ0 ce886f76a5e286da655c719bad2a55cc72f93d86 0Y91TTWT5TX16HDER73W3DNCFX88R20SRW6HT347HR7P8C0K4X8G +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(). NGKMQ52VE0DZ98QQKY3QR7BHQKZHXTHS53RAH9WJ6N7R51VXRW60 XNFE4XJKVG0Z8DM112XKF6RWE691A2JX14HS7KR6A9CVZXXSNBN0 ce886f76a5e286da655c719bad2a55cc72f93d86 S5P6MXJWSZ28TX3VCBQEWYVESJDZZ1QHD3HDMTXM21M7DTNSJ6XG +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(). 38YMKZ30XN2G1RHWAYZSBK27PNJ63NTKQHAZ8V0D2T4BZMXW62ZG CTYC6KZNYM7TXR886WDKF12AXQNBJ0S9EAYQ07YA2Z5KP3BM33CG;YRD9HR1D860H2XV20GX8ABRKJYBZG5QCC4AD86M6BFT3Z4R229F0 ce886f76a5e286da655c719bad2a55cc72f93d86 CSSV6NC53CKQY2N0HCRBNK29H395RW4S845DFXMXBJ8S12YHXNP0 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(). ZXTK83BM7N40V79M6FA2KWB5MY3VJH6PBXHGH1K7GNFQD8YH8W30 J6VEQMQNZ205VQ932N4V449T2RN6AMX0EM70KMVA8F9ZWFTWWF50 cfbe96bd945d254a6a345105b7b0d203d70a92ff W5Y9A9C89PWH70V73XQWVKCZZ78E0PF44DX921NJECZPB368YTH0 -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(). ZXTK83BM7N40V79M6FA2KWB5MY3VJH6PBXHGH1K7GNFQD8YH8W30 J6VEQMQNZ205VQ932N4V449T2RN6AMX0EM70KMVA8F9ZWFTWWF50 cfbe96bd945d254a6a345105b7b0d203d70a92ff NG6A8WJAD8MBWS8QBH9V8JM5T4AC9QC3VHE6GE4V5YX5P4GGGRYG -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# 7FR9QENMGC53SZ5PWK744HQ0TSJ5S485G7AJ5PJSY456GYN98P90 XTG1SK0YB8P07R49PAM81DBZFTX7S9S56377FWAN84HKS171FJP0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 43736T06CNHYQ240FAKHHN63CB8BB6DW95D2CJE8JTRJT538D0HG -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(). DXKXBJWQXQJFDAR81W63YD2J3BC69S9FHX02JVMBA1FAYBB98SVG EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG;GS25N0C4K9BD8YSAZERFGG1VZ2Z7E468TMVBDGFNBSF7P7DK94W0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 5QXDBYD2Z3EPAV5GVHHT5CGJA55BBR41GW10A8WBYA4MZHVZ0820 -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(). EA3Z3AWDN72P2F4SZ6YZY1VXMCH53T47PZXWM1JWEHNS101512TG EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG;GS25N0C4K9BD8YSAZERFGG1VZ2Z7E468TMVBDGFNBSF7P7DK94W0 cfbe96bd945d254a6a345105b7b0d203d70a92ff R37MG1G9VZHZCC7MRQCCX041M6ET214YP1AR9R7BFJG2PK72REG0 -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(). PM4Z541ZKM3GM72CQ5WYWKHJ4ZEQF8QNFYB43TY873TX6XRKXH2G EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG;GS25N0C4K9BD8YSAZERFGG1VZ2Z7E468TMVBDGFNBSF7P7DK94W0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 0902NHJPKHWEX11Y1KDHGJC58J8S3MGZMAMJDEE1BRNMP3JWRTX0 -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(). 871RSHNX0NMGCKNX45GTQXTS5NK71A1B17HB7GXPFMMD89Z4FG6G 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50 cfbe96bd945d254a6a345105b7b0d203d70a92ff 5N0TJFR9YDGRRAFRKRVGJBG0YFJ3V85C6SNB5EN6ZHTME1NV9BAG -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(). 0GFPT58CT74TMZF2ZMB6KKC9H1W9JP90B5191K7CMS914M2FNKSG 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50 cfbe96bd945d254a6a345105b7b0d203d70a92ff B49M09EBCQ9C77JSDTY0TX4RKB9GK8KTD18ZZ4K3N5SFY06VNSC0 -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(). 93ZRFR57W4C2QJ2V49GV3XTMRGZK3T2TF0HT888JKR9T1DJQJ9N0 D5D0CYVQ3MTJMS7ZH9PCW1SWWDG5QBVDZR4RQZR9JK2H9XXQFV5G;Y8EPRC62044S3K9XB3219C0NECCA0X3S67BBF78Y13KSYKMBE3VG;0E977ME416W9GX4VYE5DRQEMM13N5N1QQJWZXFCH1S92NSD9W6GG cfbe96bd945d254a6a345105b7b0d203d70a92ff E0ZVFE96FS5W2DAS48X9PYP80FG0ESJT2VAZK11TFJ5KJ24HHCEG -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# 3QMFH8WQTKC66QV693NA37P7YNG3YHMSD3VB3F3PT6HQWCM40SJ0 D5D0CYVQ3MTJMS7ZH9PCW1SWWDG5QBVDZR4RQZR9JK2H9XXQFV5G;Y8EPRC62044S3K9XB3219C0NECCA0X3S67BBF78Y13KSYKMBE3VG;0E977ME416W9GX4VYE5DRQEMM13N5N1QQJWZXFCH1S92NSD9W6GG cfbe96bd945d254a6a345105b7b0d203d70a92ff RC028E7GWJHRAPK7VYV6PXWQFVD0082HQKF0BR53076F7W5ET5X0 -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(). EERT68RF3A0YCY9TKRB3HFKVXK51D6QPTH7KFZAA8YAQ830BAKRG BAD0WT7XN3AZBJEJEVBW6M956WFC3JJYD9H07TA5BT44VYT7Q600;RSRXPZXYGFNFQACFNP60W4M7GVB38KAFEK5FAPTS2Y378M2JQQJG cfbe96bd945d254a6a345105b7b0d203d70a92ff 979YM2V8RQEVAK1S1KFT8RDJ9R33BCJ5XF57KQSMWVH4AT1RNZ80 -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 ZSFM3ZD5XDZQ2KRTME19FM42MMDH8GCVR49YZ358JEV0ACA7PD10 cfbe96bd945d254a6a345105b7b0d203d70a92ff DG0H0QS8RJZE5SWKMQ559HAD42V2AKYJHZWHKJTFWYHT7VS5SEZG -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(). YQH4F7KM9TJ3DMRJ03BBHPWX1XTR0H1V9EP7EH3D5SVQAJMT0WS0 V5058TWBPNNBWM8J37K40Y9CPJHTH453RFTFVZN2KHK165Y5R8A0;Q2KZY05AW6E55XB67PHR40GM6YBPQB612QCHFQ323FVH58YXP7SG;7SWE1AE05XFXB60ZVME76SV7PX9G1RX3BTT370FH563H97H9E0WG cfbe96bd945d254a6a345105b7b0d203d70a92ff BXNPGW6G4BRNP7KMEFPB7SAN4C248QXN2SF6JKYN6QDDPSDWKMCG -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 V5058TWBPNNBWM8J37K40Y9CPJHTH453RFTFVZN2KHK165Y5R8A0;Q2KZY05AW6E55XB67PHR40GM6YBPQB612QCHFQ323FVH58YXP7SG;7SWE1AE05XFXB60ZVME76SV7PX9G1RX3BTT370FH563H97H9E0WG cfbe96bd945d254a6a345105b7b0d203d70a92ff 5R1BPRV3XJPT8G2ETZHF80S88EADBG012ZH1MVBWSJ379SX5AEF0 -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(). QQAC4BK7TDS5VP687QA1FY6Y825XBKQ4HTAGRGM6AXEBGVN6JWM0 V5058TWBPNNBWM8J37K40Y9CPJHTH453RFTFVZN2KHK165Y5R8A0;TDS9RKQ4E7BZ5TDAAHYYE51JDH0P2XGNRWF4MZZS6XKR6MTFXTXG cfbe96bd945d254a6a345105b7b0d203d70a92ff X5F8MDYVRR7HMPWB42AMRQKSYMB7807P0BB001K7M0JN85X26Z70 -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 V5058TWBPNNBWM8J37K40Y9CPJHTH453RFTFVZN2KHK165Y5R8A0;TDS9RKQ4E7BZ5TDAAHYYE51JDH0P2XGNRWF4MZZS6XKR6MTFXTXG cfbe96bd945d254a6a345105b7b0d203d70a92ff RAW1WJ0PPGY6XBFRD3T1SRVT00CFD9J22YTZ0X40K7VJB0ETQ8AG -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 AKC52WYDJ140NRHR5HBFQ6W1TR5TGP9RJ3R6X2CRDYC9JMEZB18G cfbe96bd945d254a6a345105b7b0d203d70a92ff G04KX2P6W6ZF8EGPVVSVN2RHBNCZ08JN4KXN6NAQVRZNZFSRVPH0 -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(). TW9WN9FCZBGWR1ESRNXM4RXQNAMMPZWPH9SX14XY03PBF76XM3N0 AKC52WYDJ140NRHR5HBFQ6W1TR5TGP9RJ3R6X2CRDYC9JMEZB18G cfbe96bd945d254a6a345105b7b0d203d70a92ff PJYD16DPSSXVW8BQWT90VFT2VKDJC3YRTD4N4YB0ZAFH1SATVGP0 -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(). DXKXBJWQXQJFDAR81W63YD2J3BC69S9FHX02JVMBA1FAYBB98SVG AKC52WYDJ140NRHR5HBFQ6W1TR5TGP9RJ3R6X2CRDYC9JMEZB18G;4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 3FVHZ6XK4F4WYGDC81183JZHXRT16X30T1VG89QQKTJY61G500AG -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(). WC2MY0ZNHKWTYSN1HM7YFS99BJAPYKFFM41WDTCW8WJ0WV80QHM0 AKC52WYDJ140NRHR5HBFQ6W1TR5TGP9RJ3R6X2CRDYC9JMEZB18G;4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0 cfbe96bd945d254a6a345105b7b0d203d70a92ff NBR8RYSREFP6FGNNM9WN0EQ4TEQ1TVQPAR3MVV0J8X9G35MSXT60 -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(). TW9WN9FCZBGWR1ESRNXM4RXQNAMMPZWPH9SX14XY03PBF76XM3N0 AKC52WYDJ140NRHR5HBFQ6W1TR5TGP9RJ3R6X2CRDYC9JMEZB18G;4D2RXZVPF5DSNXZEA06ZGNEB2VY7T0QZ46773BXQ00PVTM4Z92K0 cfbe96bd945d254a6a345105b7b0d203d70a92ff YCAQ4YBBDHXJ8CFNWB1GF9E8EJX0FKHN8DZ8NBV9KJRBMFXN5F30 -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(). NMNHSA8VKXDPEPADFHZF660JFM3RGGB4C1MPCS1B20KGAJ03W4QG C56WTSF9CHQYN2K2C9EJW65NWXPDYZKDGJ8RGFJ902XA8A9R3KYG;H290MN5H1F5HRT4ESRQJX8202ESKERYRQKSZ44QD8VNYJ4KF2CR0 cfbe96bd945d254a6a345105b7b0d203d70a92ff GA8PN3DAJCJV9SY1W9JPS3M021089QW30KC8AN84FKH9QW8S3AJG -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(). WC2MY0ZNHKWTYSN1HM7YFS99BJAPYKFFM41WDTCW8WJ0WV80QHM0 C56WTSF9CHQYN2K2C9EJW65NWXPDYZKDGJ8RGFJ902XA8A9R3KYG;H290MN5H1F5HRT4ESRQJX8202ESKERYRQKSZ44QD8VNYJ4KF2CR0 cfbe96bd945d254a6a345105b7b0d203d70a92ff YENASKSMWJ0BEM2EDH96N4GD26R5TNMG587XCXTEEKKVHPXTJ47G -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(). BTQ8ATNYFFPPE3EAECH0CZVCZBCH06PDYZBF0F1NZ0V6V96KGWR0 4ZY4TRYNKD05Y6PBEVR4RPR3CG3T7N7ME4FE1VH2C40HM4SE128G cfbe96bd945d254a6a345105b7b0d203d70a92ff GC35TR0EF001ZH45AZPXRGVYJCWJWHJYFPR9NP6CVZJ22TD0PAGG -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 XTG1SK0YB8P07R49PAM81DBZFTX7S9S56377FWAN84HKS171FJP0 cfbe96bd945d254a6a345105b7b0d203d70a92ff CHZ1FNC98ZV3T8FKHKG5H556G8SYQFDQ1AG81F5F4BWANCZX5REG -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 XTG1SK0YB8P07R49PAM81DBZFTX7S9S56377FWAN84HKS171FJP0 cfbe96bd945d254a6a345105b7b0d203d70a92ff X3CTE6BXH6D8GJRCXZN153TZ2AS8Q0K0XCCVCKMSCB1BMMPRWRBG -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(). GHE08130S6Y1JFGC4B7R7RM3TDHEJXPE24AAG4DBE53X2PVK9J60 K9S533HGGBY0SFE56STM2CED1SJBSB6P5Y25Z0CR3WWQD8M692N0;VQKHQXNBDSBGPTRG9AR1HPMXCKPHFMN6QXATE8JXR4GNKX060M60;Q7E91M557XDTC9X2X3XSM85AVBW37HYGKF39CZ8NVV0J2SY8KE4G cfbe96bd945d254a6a345105b7b0d203d70a92ff B17R2K8MBZHAJ1ED6CJWNA06VBPGWPZBAS2EWTBM9VAHNNFTKDHG -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(). DA7T691MQKBV125ZP95VFS5D53WYAGMZGYE8HGHA41P1M2NRZX60 K9S533HGGBY0SFE56STM2CED1SJBSB6P5Y25Z0CR3WWQD8M692N0;VQKHQXNBDSBGPTRG9AR1HPMXCKPHFMN6QXATE8JXR4GNKX060M60;Q7E91M557XDTC9X2X3XSM85AVBW37HYGKF39CZ8NVV0J2SY8KE4G cfbe96bd945d254a6a345105b7b0d203d70a92ff MSY0RET56ZCAZVMHYA9GCX2HAPNWDG4NAAXHY6N084GDEMAQ8YCG -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(). VDWGJ0J1HMX08XCTFEVPTPVE3G7SB15RQ9ZDNWT3A85EKWB5BAEG K9S533HGGBY0SFE56STM2CED1SJBSB6P5Y25Z0CR3WWQD8M692N0;VQKHQXNBDSBGPTRG9AR1HPMXCKPHFMN6QXATE8JXR4GNKX060M60;Q7E91M557XDTC9X2X3XSM85AVBW37HYGKF39CZ8NVV0J2SY8KE4G cfbe96bd945d254a6a345105b7b0d203d70a92ff EFJD0VG616PRB0RV12NF9YP94S173YR816GSMAF9STK6HSJJDEA0 -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 XTG1SK0YB8P07R49PAM81DBZFTX7S9S56377FWAN84HKS171FJP0 cfbe96bd945d254a6a345105b7b0d203d70a92ff M4K007GMVK3M7319XDY4XB0ZMPEJD4EWDKH9YVY5R2BRMY1312XG -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(). 1C7Q488470BEWBKHJ6CTZP1RV4S8VQBCJ9FMHEHA6MN8W5WNEMB0 JCFSG678ZHJZ9P30KZ8E1AJK21A2T46AAM3DMAH1BHJX04JC39XG cfbe96bd945d254a6a345105b7b0d203d70a92ff YSGRANMPSCTX1XKDKEFM3VA50KXCFG24G498FR05TW5FY77HT1HG -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(). 6ZGE794EDCV25NHEN0WDQ73X476T882ZJNMQ402P2T8R7CES4A0G SCTPBHM1P824615Z9SQPKHMK2CWA8DDGW2CE6H6EH1HW39VX3X9G;08FJ2D7HFE2XE9T6JG202S7SFGB7GP74RNQFP3ESKAZ1YF246WSG cfbe96bd945d254a6a345105b7b0d203d70a92ff R3YD4Z4XQDDY9BNPCRBB051WHXEJK437HHTZB8XGPM5Q9RYRYW0G -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(). C4WGNMR48WT7KBC1FCCKPRXMRV1BMNEF3NVAHKB68AVYSE1SFN30 9A2GDFPPY78CCX1GBZ4DKYKDKZ05Q9SYEMVNFEFEDQ5C5213JNF0;5VVCRR2ZDCE5ZQDWBHHTBWHB2AXXCTBC3QRS57JB84F5ZS3VXME0 cfbe96bd945d254a6a345105b7b0d203d70a92ff A88KR884CN9Y9FAW6NKE45RX7WRJCXKDBSMQJ5DD26FYMYHP98C0 -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(). QQAC4BK7TDS5VP687QA1FY6Y825XBKQ4HTAGRGM6AXEBGVN6JWM0 GG1CWRNTZ4GB6ZBV8WTHRFNNMEXXXTJRXY4NYF9F6KNXRAE1TZEG;CQ4EY1V2X0K6XN40Q2NHD3TPFA6Y357HZ9P81GYFE5RHNEKR1YT0 cfbe96bd945d254a6a345105b7b0d203d70a92ff HK4D21Q8H5PE1MV7C0MZF1VT0S6ZHN896GBFTMJXX0H6ZDBQBRQ0 -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(). 31Y89D8YP782GBPT4MS7KM80EQ5BK1AJSBMKW215F8KAE6PZVKYG ZV4D7P9J40CZB7HT378Q0T1SGHMN2EFEQEZZG7EFPC2JFNPA988G cfbe96bd945d254a6a345105b7b0d203d70a92ff 125X1CKB61P7609YXT46CZFXMYP9TYC5Y2AAFEHCT3DF68NEBWNG -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 CA33PYZCY8EF18DAS64JCVM15WJYX608C7T2A5Z23SBA0VE57SHG;QZWJ4W4MB7AGRAK9PVS0WW63PWEE5BKXN5Y79D8JPVEKSTBJQ0JG cfbe96bd945d254a6a345105b7b0d203d70a92ff K0E1XAK9QW66ABA3DQ141BBV4FW2TNCZYZ5DW2YCKE6WGHBKYD50 -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(). C4WGNMR48WT7KBC1FCCKPRXMRV1BMNEF3NVAHKB68AVYSE1SFN30 CA33PYZCY8EF18DAS64JCVM15WJYX608C7T2A5Z23SBA0VE57SHG;QZWJ4W4MB7AGRAK9PVS0WW63PWEE5BKXN5Y79D8JPVEKSTBJQ0JG cfbe96bd945d254a6a345105b7b0d203d70a92ff C339DBQHTNTKSP1AE0M2RSAK7SVY4MQ3GQ9JQM1CQHCS9GDJDFH0 -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(). QQAC4BK7TDS5VP687QA1FY6Y825XBKQ4HTAGRGM6AXEBGVN6JWM0 TDS9RKQ4E7BZ5TDAAHYYE51JDH0P2XGNRWF4MZZS6XKR6MTFXTXG;V3TMRXRHEXZATSH9NZV012BHDP01MM88BSDY5V5DH8NAEMZRD6DG cfbe96bd945d254a6a345105b7b0d203d70a92ff MM2J5HXSZPDXNMKH5DNJXDVAN972R3FGNM4TA6D4QYEWW2MG36K0 -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(). 34T8SXCD3AHQ5RFQ1E5R7BSHDANGBCE9HAMM1G1MR3XE3X6S6FR0 R7NNDY3WN0S4G55RFNDZDJFG1MQ89FZXK8T18CBH6Z04TCE254JG;7X6MESR7XGZBSGHEGF8D9ZDN45CHM8DDTAFZ8QXB1RZ62DQMD8M0 cfbe96bd945d254a6a345105b7b0d203d70a92ff PPQV3N1TFHSS4XAANCHBKR7GPKATGXRSEF9S4DSEVPNMCVBQPZKG -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 T5FPBBWQQXGPDHA735BE40838J7BDXN79Z1GP073CYYAMN4RK32G;4F3Z6EDVYYWKD9862FTA0EM1Q5HR19Z9N5V5FGBAMN8RY0A5R130 cfbe96bd945d254a6a345105b7b0d203d70a92ff 6QR8C2YB0TZ4VVZJESJ8VMTADZ2D5AV7P0PVR9TTVR1D1YW861P0 -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(). YGWF1MRPZYHKX9HXMPR16Q9309Y9GKRXABJ2JYRMBWZZPPD7HXAG T5FPBBWQQXGPDHA735BE40838J7BDXN79Z1GP073CYYAMN4RK32G;4F3Z6EDVYYWKD9862FTA0EM1Q5HR19Z9N5V5FGBAMN8RY0A5R130 cfbe96bd945d254a6a345105b7b0d203d70a92ff AGPX7KBBNHG75FG6Z7CMH8KB9EGDR5B6FHP54MXXZDJ5CQA0QZC0 -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(). 34T8SXCD3AHQ5RFQ1E5R7BSHDANGBCE9HAMM1G1MR3XE3X6S6FR0 G47AZME042SCS0FSEA8HT1NPQC41KF30PGWTDD1MFJFKB8X7MG4G cfbe96bd945d254a6a345105b7b0d203d70a92ff FPSND23KH6AF0VVZ9WMFAYBSTXJY5G736J15CWXVWXHNE7JE1S4G -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(). QQAC4BK7TDS5VP687QA1FY6Y825XBKQ4HTAGRGM6AXEBGVN6JWM0 F1P0MF26TZHQCX1EG3FV51WXECJV0YN3FAWJ1EQ0P1D58F3ANRQ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 9H09J1X16KE9QTJRGJG724MZRC3403A634K932JXSG5NC0PVQ7NG -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(). GHE08130S6Y1JFGC4B7R7RM3TDHEJXPE24AAG4DBE53X2PVK9J60 KHQQRX07BE0Z41S0QZJ9DZXE5ADANE189FF2R6JJ1D30BV4CXTMG cfbe96bd945d254a6a345105b7b0d203d70a92ff 6XBC6BYW510QBNAE5902XX4PEA7Q4CG7YRZ62V06X2V0X59WDVR0 -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(). SE9RRSPG7BYVE8JWT4JZTEDA9T1SNZJBJGM5F1NGWCMFSW6NFV40 Q0TDEA3X02GR2NBRNSZ7K3THMG21F4KW0PZ9XA957BK4F7DDEM20 cfbe96bd945d254a6a345105b7b0d203d70a92ff 3M466GACSY5KGEQFYF0ZA2R5NEEM17D4J6ENX6R3AP7TEG74G99G -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(). M2WV6YSVH9H8C762Q42H02QGV0JKH731DP4R1AZHMYNS2BW3V2DG Q0TDEA3X02GR2NBRNSZ7K3THMG21F4KW0PZ9XA957BK4F7DDEM20 cfbe96bd945d254a6a345105b7b0d203d70a92ff 0BC60WXF2W3Y44MGVJ0HCBYNAJ1VC77X1G9RR20KM9W37TJF5BDG -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(). 1C7Q488470BEWBKHJ6CTZP1RV4S8VQBCJ9FMHEHA6MN8W5WNEMB0 9A2GDFPPY78CCX1GBZ4DKYKDKZ05Q9SYEMVNFEFEDQ5C5213JNF0 cfbe96bd945d254a6a345105b7b0d203d70a92ff X5MDDZPW6QYCP686GHENCN8862TANT6PGYCMVSKEKY6M6B6SQHEG -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(). HDH1YWCGVRNVS2FGY3ZDVV19M5V32M9749HSW56XEY872DJ4AN20 9A2GDFPPY78CCX1GBZ4DKYKDKZ05Q9SYEMVNFEFEDQ5C5213JNF0 cfbe96bd945d254a6a345105b7b0d203d70a92ff YPGB7H7H09A70W421VAD5V9F0MZM58DF274PQ25X3D77Y18AB140 -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(). DXKXBJWQXQJFDAR81W63YD2J3BC69S9FHX02JVMBA1FAYBB98SVG E3GN4KN1W76Z2BK9P3PZMN3DHVXPPRGE58GH32T3GYEVANW4G7QG;RZZ6W84PKKB4JY5ET20950B98XKHZWBQBF8E6V5W2M73K169D3A0;FK17T1WR1A3S0HA9DAC9Y4K410E2TPE2EHAYBNWMB6CX5QXE91AG cfbe96bd945d254a6a345105b7b0d203d70a92ff EWSR2CQW5VRNFZT07GP16WGXQE0J8VSKTSHXXP07864E5X2BP22G -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(). NXED42NNQNS7F7XA9Z1EPFRJQRJDAFWHB4W99FY1M3NTNPK2RPF0 E3GN4KN1W76Z2BK9P3PZMN3DHVXPPRGE58GH32T3GYEVANW4G7QG;RZZ6W84PKKB4JY5ET20950B98XKHZWBQBF8E6V5W2M73K169D3A0;FK17T1WR1A3S0HA9DAC9Y4K410E2TPE2EHAYBNWMB6CX5QXE91AG cfbe96bd945d254a6a345105b7b0d203d70a92ff BYQ2T96CJ9Y66R8QNDS6XND9JB7M9J069FPP1CDDABSBS9Y3ZGK0 -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(). NX8CFY68RHN44TBJNWXHC346NDWT9RJN5MGQ40G9R5Z4YWP5BZV0 E3GN4KN1W76Z2BK9P3PZMN3DHVXPPRGE58GH32T3GYEVANW4G7QG;RZZ6W84PKKB4JY5ET20950B98XKHZWBQBF8E6V5W2M73K169D3A0;FK17T1WR1A3S0HA9DAC9Y4K410E2TPE2EHAYBNWMB6CX5QXE91AG cfbe96bd945d254a6a345105b7b0d203d70a92ff S86D2SBMPTQ4W4DK3KF29Q5KQR8GAZE0VWZN6GEZVEZGC7ZK61CG -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(). KQKH30XE23B623EQ7727VDRN955A736B3E8ME21B3JE8R3ZNMS10 - cfbe96bd945d254a6a345105b7b0d203d70a92ff 2Y6A6RNZ9FB0Y6KCRT3TE4MKR5QD1K9R3VKKVMTMH0MCYTEYKF9G -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(). NX8CFY68RHN44TBJNWXHC346NDWT9RJN5MGQ40G9R5Z4YWP5BZV0 - cfbe96bd945d254a6a345105b7b0d203d70a92ff 8B8VR6J12W0X53QMCAWNBBRS2K5XC2D9HFFYSJZ74SWTQW3PQES0 -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 G34BVS55Y6JDB2ZQ55GXKXY0J5AH2YMDGF6P1S36K1G131B1GQK0;QED9G7448BNSTKP5NQJS2PR6G3DGJ33JN17BM97TPM409WY3NST0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 9A6Y31JZXE5230G65PP6PMGSNH5JFXTSB477EXSBYY1MJCWFCBDG -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(). 70SW3WYJWGS2WCMB87WFKTCJEB3PEGFA4S8Z372N6CF6C03E3AKG WQWD460EB6KSHAWBSERGJKS3FVXZSSQKDP8XTQNXH37G44YJ9E70;09W5PB8NQSC5W9Y6G5J75KMSYNMS4Z9YE4MH40EAPFEBZ3XJT960 cfbe96bd945d254a6a345105b7b0d203d70a92ff A4PMYE06R5SQR2Q669TN3R5VR161FPTP1S4CFB516RSDYM2P5Y30 -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(). DXKXBJWQXQJFDAR81W63YD2J3BC69S9FHX02JVMBA1FAYBB98SVG WQWD460EB6KSHAWBSERGJKS3FVXZSSQKDP8XTQNXH37G44YJ9E70;09W5PB8NQSC5W9Y6G5J75KMSYNMS4Z9YE4MH40EAPFEBZ3XJT960 cfbe96bd945d254a6a345105b7b0d203d70a92ff XW97N96CMCQZZM7WT025BHC4BN04RF7GC4K88ESNPW9N6F3HAETG -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(). 82HN84QST1XYA8NRZYRAXNEXKBB6PTES16WTGSAHA8N0S9QEEA40 2WTD87YF2AXF7NWY8XRCQSYEMSMPW9PKAVHD74SYPPMJD1NARYT0;VC01GEP35BNTGK67EPT8Y581WVBTEZ80SNBK0EYPEQPMNGFD5WWG cfbe96bd945d254a6a345105b7b0d203d70a92ff Q8M6HVQHMZADNSED024R266PQ27AHWJPZW2ZZ44HMCA0KNJ8PW40 -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 2WTD87YF2AXF7NWY8XRCQSYEMSMPW9PKAVHD74SYPPMJD1NARYT0;VC01GEP35BNTGK67EPT8Y581WVBTEZ80SNBK0EYPEQPMNGFD5WWG cfbe96bd945d254a6a345105b7b0d203d70a92ff 45A1DJ7J7JDC4J5RRFE14M3D42ZN0E8TWVPXEGBW8W7H6H43MYS0 -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(). VSN69ZM6TP3FPS7KGER010ZMHDEAR5YDKMFH14D3K153XF9GH29G 8VBABW2AFV5W0AA106NNCFGSEHVVVPSH2HYER38ZETK6G3G4P480 cfbe96bd945d254a6a345105b7b0d203d70a92ff DVGKKMRD45EBZK99WQ25Z4HN44VWNG1EJP6727TKC50WTC8V8RAG -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(). MMFXDF4NW96F3KVSWY7657HBAWVRGM94Z3FKA7WPVB9HZ4P56JBG J6VEQMQNZ205VQ932N4V449T2RN6AMX0EM70KMVA8F9ZWFTWWF50 cfbe96bd945d254a6a345105b7b0d203d70a92ff 93WFGT7RQNNWT0YKWYQMX7QPB5VA21AZXGDVNDK33NHWA3GFTYBG -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(). 93YVJQMJVEK3QQWW2M7Y5P7AX640HKMRK0W5M6PEN7VB1G3FRHZG NW7VRJRJR6N11CN9RQS2F4VRDPT3BB2AZAWD1FH73FBAGXYFNH40 cfbe96bd945d254a6a345105b7b0d203d70a92ff 2ZYX6JZJ39T8CWTZEM21E6KSC9GR0ES2A24DZP8TVGQ5KF0TA7MG -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(). DXKXBJWQXQJFDAR81W63YD2J3BC69S9FHX02JVMBA1FAYBB98SVG 5Q77B1E3B1SGR91TMBGY85EC5G5T82BN1KGVYK8EZ8B817JVZK3G cfbe96bd945d254a6a345105b7b0d203d70a92ff 1R9BC2VN64AS2HRD7RM7Y33VC3TQNVV4BBXWR60CSR4BXTDZ5DT0 -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(). DXKXBJWQXQJFDAR81W63YD2J3BC69S9FHX02JVMBA1FAYBB98SVG WQZX7BJM3C45WC39XF3XQHBCSEQ12DKXB6Y9DE1Q6D5WGNV908MG;FK17T1WR1A3S0HA9DAC9Y4K410E2TPE2EHAYBNWMB6CX5QXE91AG cfbe96bd945d254a6a345105b7b0d203d70a92ff KM99JDX35CA75QCFC1CSVSDZP66BX56TC2704Z1S06JCR6ZNHE20 -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(). NXED42NNQNS7F7XA9Z1EPFRJQRJDAFWHB4W99FY1M3NTNPK2RPF0 WQZX7BJM3C45WC39XF3XQHBCSEQ12DKXB6Y9DE1Q6D5WGNV908MG;FK17T1WR1A3S0HA9DAC9Y4K410E2TPE2EHAYBNWMB6CX5QXE91AG cfbe96bd945d254a6a345105b7b0d203d70a92ff EZMHPQ3B7QAMV6F5SZ4X9QKDQEXECADH59K29H7XC6CMFQBHNCRG -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(). 0QXQV58SMM9FJPGG77DJXAV14D55JX2QXZ9X494E2WS2N5TPHAEG - cfbe96bd945d254a6a345105b7b0d203d70a92ff YNAGB2Q0W3HAJKR5SA19HZEXXAJTPAYFYY1SCJRGXQ3929BG1480 -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(). EERT68RF3A0YCY9TKRB3HFKVXK51D6QPTH7KFZAA8YAQ830BAKRG 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50;75FB1FQ7QP2ZZ4AMGFT0HJ4KQZJG6YAVB2V07ZEPNR4KJQ0DAE2G cfbe96bd945d254a6a345105b7b0d203d70a92ff ZVHZ0PRFWZSQV22K2362W6FE46GT47R2NAD7J3QSQEH7RJR23FWG -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(). 0GFPT58CT74TMZF2ZMB6KKC9H1W9JP90B5191K7CMS914M2FNKSG 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50;75FB1FQ7QP2ZZ4AMGFT0HJ4KQZJG6YAVB2V07ZEPNR4KJQ0DAE2G cfbe96bd945d254a6a345105b7b0d203d70a92ff WAWVXDTBVJW30DBZ0JMB84XCXHW74WWT0JQTYDVE2K520N0Z8MHG -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(). NXED42NNQNS7F7XA9Z1EPFRJQRJDAFWHB4W99FY1M3NTNPK2RPF0 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50;75FB1FQ7QP2ZZ4AMGFT0HJ4KQZJG6YAVB2V07ZEPNR4KJQ0DAE2G cfbe96bd945d254a6a345105b7b0d203d70a92ff GPMP6XA0RQQQV7DR9Z5KBR9AZ1DR76D26F5GGP6HADJ0DYJSNQN0 -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(). E6J3DD4KGX7AE3MYJ933TAAZYSJVH24C8JNJXCQVFNTZBEG7VTHG 3FXT05QNPAH4DGA52V2H0RR3QZ2ZK7JBT9KDRTDSRMS2R49EDQ50;75FB1FQ7QP2ZZ4AMGFT0HJ4KQZJG6YAVB2V07ZEPNR4KJQ0DAE2G cfbe96bd945d254a6a345105b7b0d203d70a92ff 6SWVWBT5BPE6Y8X6W781BNJ8NZGEKNTMYSVGPRTH62GEWYJB4VRG -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(). QYKBXBDCDARJDGQGJ2AD1T4NMCHPNA05GB6HFPPKS7WRBAEWW1W0 RSRXPZXYGFNFQACFNP60W4M7GVB38KAFEK5FAPTS2Y378M2JQQJG cfbe96bd945d254a6a345105b7b0d203d70a92ff 41TYT088ZS3K63FEXA94HA23S8JHDYWT19Y5HV3TEQVH8PSBR9Y0 -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(). EERT68RF3A0YCY9TKRB3HFKVXK51D6QPTH7KFZAA8YAQ830BAKRG EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG;RSRXPZXYGFNFQACFNP60W4M7GVB38KAFEK5FAPTS2Y378M2JQQJG;8HYJN1DKRET44BMZAHZGKD3E2EYH11PWX4RMF075QA4FPXVK9RHG cfbe96bd945d254a6a345105b7b0d203d70a92ff BGWY007DKR3C3W1BBCF98XZET1GYZRXMHXP14EX6RVDJQGPRAFVG -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(). KQKH30XE23B623EQ7727VDRN955A736B3E8ME21B3JE8R3ZNMS10 EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG;RSRXPZXYGFNFQACFNP60W4M7GVB38KAFEK5FAPTS2Y378M2JQQJG;8HYJN1DKRET44BMZAHZGKD3E2EYH11PWX4RMF075QA4FPXVK9RHG cfbe96bd945d254a6a345105b7b0d203d70a92ff 0EP1MM6Z98JHYKRWBPMTRG82988SKT9RVFM461HDBWT4FE7G0E30 -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(). PM4Z541ZKM3GM72CQ5WYWKHJ4ZEQF8QNFYB43TY873TX6XRKXH2G EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG;RSRXPZXYGFNFQACFNP60W4M7GVB38KAFEK5FAPTS2Y378M2JQQJG;8HYJN1DKRET44BMZAHZGKD3E2EYH11PWX4RMF075QA4FPXVK9RHG cfbe96bd945d254a6a345105b7b0d203d70a92ff 0N3Y1PJ0K1M21H6CC9QVYEV0W5BCC1QD9ETSFEN213VH2F5Q89KG -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(). KQKH30XE23B623EQ7727VDRN955A736B3E8ME21B3JE8R3ZNMS10 97M9G3P5MF93SC8P5N236TFJP5HFBV43J8MPX1NR1D1JZDWFK2H0 cfbe96bd945d254a6a345105b7b0d203d70a92ff X21RDYRXPTK02H5C9GYTBB8DX14VRJMBAW21ABVSVKEWJQEFKNW0 -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(). NXED42NNQNS7F7XA9Z1EPFRJQRJDAFWHB4W99FY1M3NTNPK2RPF0 97M9G3P5MF93SC8P5N236TFJP5HFBV43J8MPX1NR1D1JZDWFK2H0 cfbe96bd945d254a6a345105b7b0d203d70a92ff P5MG03SN3K184VB2B9TK97B8GMGHJ6KKZSFA1DFPPR1XR3S8AVDG -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(). TV2MAESR050D7MWJWS0B32KT7K8X6FTXKEV6P5JHFXDT64J1AXYG CYZ4K45J83M0FXCZF4Y67FM3DRBNT8JW3NXG92T3M9NRF58X09B0;01Z8QTB16P3J06PZAH5EJX4SEH2Z6NPHX2H451NGD2HBS1ZTTQ6G cfbe96bd945d254a6a345105b7b0d203d70a92ff R6TRCKYDSGD2J2P7AAG4ZRTRJDJ3B04SKZ9Q843SJZECHH8PFSGG -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(). FZ7ZB27X6DMKS3KXF80F9P0ECE8194BXZ3RJD1PCTMJVB0BJF490 CYZ4K45J83M0FXCZF4Y67FM3DRBNT8JW3NXG92T3M9NRF58X09B0;01Z8QTB16P3J06PZAH5EJX4SEH2Z6NPHX2H451NGD2HBS1ZTTQ6G cfbe96bd945d254a6a345105b7b0d203d70a92ff EBH0KJP03SM4NGCM2J4RNSV7XN5EFCFVXJ0Y8KHMZXEGZRAG4ND0 -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(). NXED42NNQNS7F7XA9Z1EPFRJQRJDAFWHB4W99FY1M3NTNPK2RPF0 RZZ6W84PKKB4JY5ET20950B98XKHZWBQBF8E6V5W2M73K169D3A0;E3GN4KN1W76Z2BK9P3PZMN3DHVXPPRGE58GH32T3GYEVANW4G7QG;WP2M7G7W63GFYVPEMS4TNWGVNMZDGYA5RNAREENK5KJEQE9NBA70 cfbe96bd945d254a6a345105b7b0d203d70a92ff MN6XC5MS8D7KGVZJ9PB71CJWPA5NVRBRB82755EQ5CJZGSAPYGSG -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(). 0GFPT58CT74TMZF2ZMB6KKC9H1W9JP90B5191K7CMS914M2FNKSG 75FB1FQ7QP2ZZ4AMGFT0HJ4KQZJG6YAVB2V07ZEPNR4KJQ0DAE2G;97M9G3P5MF93SC8P5N236TFJP5HFBV43J8MPX1NR1D1JZDWFK2H0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 3ZJH26H5MZP9628FBYATETWK8HFB0S1W8PC8RG5GK8CAP4D9ANB0 -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(). KQKH30XE23B623EQ7727VDRN955A736B3E8ME21B3JE8R3ZNMS10 75FB1FQ7QP2ZZ4AMGFT0HJ4KQZJG6YAVB2V07ZEPNR4KJQ0DAE2G;97M9G3P5MF93SC8P5N236TFJP5HFBV43J8MPX1NR1D1JZDWFK2H0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 7VCCPVM35TBJT6PB5Z0GBQ78AKTQVVSDE5PQ1S3PHGB3V35Z5VHG -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 09PSR7DQM85Q996YS4NSA7TPD6ZZG8H3TY01V2DNY5XHH6RRANSG cfbe96bd945d254a6a345105b7b0d203d70a92ff 4A1AEZ4SFG8RG7BPZ84C3HVRZMX30GCCKS96BXF8Q8A9CQ7PDA50 -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 09PSR7DQM85Q996YS4NSA7TPD6ZZG8H3TY01V2DNY5XHH6RRANSG cfbe96bd945d254a6a345105b7b0d203d70a92ff AV2V97WY0NAN6RXRC5E06EGVRDZK7PJ0RSN7KPXGKY74VXRA3M10 -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(). A0E0W9MZVTN9CSP93J9YAB875FRDW19G0Q01FXC0QPNXFHEHMPZ0 HD7Y40K1MYDMF4RZ717FAZSFEVZ6JW1ZMG9187DCYW1R1S7TPPN0;RE1B0N7RTKBP7CXHBPN5GNXVPVP0H36DW5PQH5CRW0Y32WKJNJ2G;WP2M7G7W63GFYVPEMS4TNWGVNMZDGYA5RNAREENK5KJEQE9NBA70;0M6NEYZBJC94DH80Z7B2SYMTED6B5CZHNSEBHYHG9X9EJSD1G8X0 cfbe96bd945d254a6a345105b7b0d203d70a92ff KVEGM3VZ6XHD4DN9NP3ZR881DMW1RT522WHQZQY5QRYCXV23C0KG -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 HD7Y40K1MYDMF4RZ717FAZSFEVZ6JW1ZMG9187DCYW1R1S7TPPN0;RE1B0N7RTKBP7CXHBPN5GNXVPVP0H36DW5PQH5CRW0Y32WKJNJ2G;WP2M7G7W63GFYVPEMS4TNWGVNMZDGYA5RNAREENK5KJEQE9NBA70;0M6NEYZBJC94DH80Z7B2SYMTED6B5CZHNSEBHYHG9X9EJSD1G8X0 cfbe96bd945d254a6a345105b7b0d203d70a92ff GSJP16FTNDSXGV5TC7YKB9T63J6S8M25F3AXMQ2703YVS59QA3HG -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(). NXED42NNQNS7F7XA9Z1EPFRJQRJDAFWHB4W99FY1M3NTNPK2RPF0 HD7Y40K1MYDMF4RZ717FAZSFEVZ6JW1ZMG9187DCYW1R1S7TPPN0;RE1B0N7RTKBP7CXHBPN5GNXVPVP0H36DW5PQH5CRW0Y32WKJNJ2G;WP2M7G7W63GFYVPEMS4TNWGVNMZDGYA5RNAREENK5KJEQE9NBA70;0M6NEYZBJC94DH80Z7B2SYMTED6B5CZHNSEBHYHG9X9EJSD1G8X0 cfbe96bd945d254a6a345105b7b0d203d70a92ff WMTX0D4ZCMXGMK4Z132J6F12SSZYYPXABJHTXE72JC6CQAZ7S0NG -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(). 4SZ0TK96VA7RJYXG807J512W0VXX4J740RP72V5MS20FBE5V7K3G HD7Y40K1MYDMF4RZ717FAZSFEVZ6JW1ZMG9187DCYW1R1S7TPPN0;RE1B0N7RTKBP7CXHBPN5GNXVPVP0H36DW5PQH5CRW0Y32WKJNJ2G;WP2M7G7W63GFYVPEMS4TNWGVNMZDGYA5RNAREENK5KJEQE9NBA70;0M6NEYZBJC94DH80Z7B2SYMTED6B5CZHNSEBHYHG9X9EJSD1G8X0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 7TRB9Q2KGNPG5NYTGJJDGFYM2T3BHMNWP64BRH29V23ZM74ZGJEG +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(). ECZCM116GNBKVYNR6061X3ZF7QH9360DGS9W6VAY5YGB34K7YDX0 YJRSTJ68S6R022A68E7G912C8M43CG3K21VA45CRKBA458CWKBZ0 ce886f76a5e286da655c719bad2a55cc72f93d86 AFKNF7H132JP81A1CSQB9WK6SYWS913Z4Z9MWXJ9F0BDFCZ81YB0 +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(). ECZCM116GNBKVYNR6061X3ZF7QH9360DGS9W6VAY5YGB34K7YDX0 YJRSTJ68S6R022A68E7G912C8M43CG3K21VA45CRKBA458CWKBZ0 ce886f76a5e286da655c719bad2a55cc72f93d86 5669H85BQPW95QVVQ3M7DFJCBZD1QB7QEJ1Y0Z1KHEKTDA9BD1WG +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# 7FR9QENMGC53SZ5PWK744HQ0TSJ5S485G7AJ5PJSY456GYN98P90 JHC14FHTYP1X6FX0VKE1Z2V0F08CDJ0PZH6B67E3BQ5294F7YJ1G ce886f76a5e286da655c719bad2a55cc72f93d86 XKQW4MXAK2XCKG3VCJ9J6XM2419TMZWF4HD4PZCSD707AJBWDY6G +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(). 38YMKZ30XN2G1RHWAYZSBK27PNJ63NTKQHAZ8V0D2T4BZMXW62ZG EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG;D00SVHN29GKJWBJYVTFC3AZXQ1B9SNEDG05WZHKT5GE3VRJWJFHG ce886f76a5e286da655c719bad2a55cc72f93d86 J1XJETMZWQ94TWP8FBR3XHRWF2Z1KAQ7YNWVGN80FPVZE2PY99NG +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(). JTNR9CP2F2P9MXW7G5WM5DQ0DMVDJ8XFK2C8BMAVQRFBG7QAY3VG EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG;D00SVHN29GKJWBJYVTFC3AZXQ1B9SNEDG05WZHKT5GE3VRJWJFHG ce886f76a5e286da655c719bad2a55cc72f93d86 HBB9JR98QW6TCZFE2ZE47EV6YWB6SCSEH7B8A0A44XV8EBVGE93G +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(). 0J9C53PJ8QYAYA9PWKBJPQPYC7EFPCK8ZJ91NVYRWEH8PA2NZ040 EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG;D00SVHN29GKJWBJYVTFC3AZXQ1B9SNEDG05WZHKT5GE3VRJWJFHG ce886f76a5e286da655c719bad2a55cc72f93d86 4T5CQR3ZBVCPY1HG7Q6M4P500GCSRK7AT1TX7VKH6AC80RFX76H0 +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(). QDYSZHC2B8R2832VDBNCR7E3DCYB6QFK1BGVW6V3WFANNF8296BG 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G ce886f76a5e286da655c719bad2a55cc72f93d86 6ERDC8Z704DQDYT5NWG3GZTTRN8R9KPAA3595CWQSP9QJC6HK7TG +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(). 44S9FP6D4SJ9STB6ZRXEP03VK02XA3J77FNS9K5Y5T4AQRHY15EG 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G ce886f76a5e286da655c719bad2a55cc72f93d86 5XAET12KJ2FEED09ZK8SDFFC8AM066F6JH4T0JAKKFHE56SSRPMG +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(). 4V37ZH3685BK323ZF8J7PZQX2ZNTQ2KH9A6BXXK3PRAYE0A6K1Q0 PRX92B8S9S4X75E19BFAK46XVQAQ9AXHWHWY1J8CH1NRKEXT25X0;Z9YA2JFZN2NNSH8M4PNWGBWQF0QSFFTNWHMZMABTW9BX7R00WZR0;9K94W3WFKATZN3A6M8KNNK8EK9A6MZ15Q9SPD1ZKX8WVP8ZTZCR0 ce886f76a5e286da655c719bad2a55cc72f93d86 FP6J920HTG24X8YT47133M303BK5NJ2SESZQ0NRDPT0HTZFHWM4G +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# 3QMFH8WQTKC66QV693NA37P7YNG3YHMSD3VB3F3PT6HQWCM40SJ0 PRX92B8S9S4X75E19BFAK46XVQAQ9AXHWHWY1J8CH1NRKEXT25X0;Z9YA2JFZN2NNSH8M4PNWGBWQF0QSFFTNWHMZMABTW9BX7R00WZR0;9K94W3WFKATZN3A6M8KNNK8EK9A6MZ15Q9SPD1ZKX8WVP8ZTZCR0 ce886f76a5e286da655c719bad2a55cc72f93d86 4JH3BJEV6JJZ5V9PHYEDZ8NJ546ZHE1QDGHJPDG6DXCSAX3VXEQ0 +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(). 41141E6S53F47D5Q67VMQ1A8VK4300HZMRS6EKR7EMDZ3SK7APJ0 QHM7RYYPNK2MMCDJXF54M80BZJ6EW2BMB63XEF128A21K4PNXRR0;SKW63VBV357XEXRNWDF9113P66JJNA5S2K760R9N3NR1F2VHRC3G ce886f76a5e286da655c719bad2a55cc72f93d86 J4274468DW97Z3Z5BZRTRJEYQ4GSAY5KJG35620GK18A8RDYSF90 +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 3EGKG4HP5WXDRY4WRDWW2BN2FFYSXGKQNZS2F5YT3HQJR438573G ce886f76a5e286da655c719bad2a55cc72f93d86 MZTCKA2S6TPREFC1WZY9RMA5FR77J8F62K4K644A0Q8YD2D9GG20 +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(). 8P9XHDXD2PADTHC73VBFCENKM1CQ1Q980TPX9PSGKFR4526WWBEG 3GR110V9NMZBECXJYNVTM8157018XYJA3266EE3ATYCBBMNBN330;PR9JAZDE63XBXDBKKBG3E0944E8249PEZH903N79DZKZXYMTPP6G;S6Z56VNCD1CWPRZ4VKGQ5YHYVFSDSPG8S7QGC8A7T3ZQ83R83J40 ce886f76a5e286da655c719bad2a55cc72f93d86 0PMTQEQ14YFTCQ43HCEKMMPN1ST95WF6NJ0GHTPK8SAZHSRGTXK0 +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# CF5M1FFWRWNEFPJS65REZ9MD52G190BFE2XCQ0TDWS0Y6B8RD3C0 3GR110V9NMZBECXJYNVTM8157018XYJA3266EE3ATYCBBMNBN330;PR9JAZDE63XBXDBKKBG3E0944E8249PEZH903N79DZKZXYMTPP6G;S6Z56VNCD1CWPRZ4VKGQ5YHYVFSDSPG8S7QGC8A7T3ZQ83R83J40 ce886f76a5e286da655c719bad2a55cc72f93d86 0HDYRXT0KKR4E13M7WW815ENK0MWX74BVPZ408HC015TM9FJJSAG +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(). 6FW581CSZDV4B21EV2KSDDN21WCD2YAD5PKCP41848MM608SVFFG 3GR110V9NMZBECXJYNVTM8157018XYJA3266EE3ATYCBBMNBN330;S5DCYPP2N8MM4D8AXFVYQ8HQM0TCP6DN5MAF7TJHRV9WCKJMF0FG ce886f76a5e286da655c719bad2a55cc72f93d86 TCXJ5KNZDEJGNTMYZADYFN1E94T75BWR059EY89BBV551KJXM820 +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# CF5M1FFWRWNEFPJS65REZ9MD52G190BFE2XCQ0TDWS0Y6B8RD3C0 3GR110V9NMZBECXJYNVTM8157018XYJA3266EE3ATYCBBMNBN330;S5DCYPP2N8MM4D8AXFVYQ8HQM0TCP6DN5MAF7TJHRV9WCKJMF0FG ce886f76a5e286da655c719bad2a55cc72f93d86 V0B9RXY10PHRPPP5ZCC51KSEDQ69TT7KABAQE4WAN549SH9BKE90 +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 4HAC8MCPAC8CDHVS7FTFW1TEDZ9JD2PEHZW6XCX8QW1DRTA8F1W0 ce886f76a5e286da655c719bad2a55cc72f93d86 J9XMJHYJT1V6N0SWQ8XTHJ10XZSDSTSZET2NEZ7RB81QS9KA0400 +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(). 9QZ7Y2NTA38GX5NN1TP0MN4W9F718XB0CSWE5APA6XSYHCVBH8XG 4HAC8MCPAC8CDHVS7FTFW1TEDZ9JD2PEHZW6XCX8QW1DRTA8F1W0 ce886f76a5e286da655c719bad2a55cc72f93d86 4ZE1BFTRW2TPPMGHA0643RH1GRX7QDDWB8P2R0WX6C4K0PBTWT0G +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(). 38YMKZ30XN2G1RHWAYZSBK27PNJ63NTKQHAZ8V0D2T4BZMXW62ZG 4HAC8MCPAC8CDHVS7FTFW1TEDZ9JD2PEHZW6XCX8QW1DRTA8F1W0;RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG ce886f76a5e286da655c719bad2a55cc72f93d86 FF03NZEX03G2EVY0S9F6TNR4SHMA76M0Q9GZP84TVEZRBWZSZA3G +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(). RRQQC4DFQTDQT7NY0TQ8RGXP8RQ9ABTG842610TP95AZ012EWJSG 4HAC8MCPAC8CDHVS7FTFW1TEDZ9JD2PEHZW6XCX8QW1DRTA8F1W0;RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG ce886f76a5e286da655c719bad2a55cc72f93d86 PHYRW52AR0J0077MTPMYV4Z8BP96SS0KFHXFNTTG33EET3B10JMG +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(). 9QZ7Y2NTA38GX5NN1TP0MN4W9F718XB0CSWE5APA6XSYHCVBH8XG 4HAC8MCPAC8CDHVS7FTFW1TEDZ9JD2PEHZW6XCX8QW1DRTA8F1W0;RQ1Z9RMHKJVQCEEM33GZ33382J7YQ3RD3C3A4W9Z83EFQ5D4W5RG ce886f76a5e286da655c719bad2a55cc72f93d86 V72HTZVD3MX5XWR9C1PJ23VXQ937WJ1B1S7EST0MHFWZDREHHGR0 +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(). G9KVV5S1FJJQG4DRYZWY9F7GR3107SCB4N2B9FNZY5T3EC5T2SB0 RGQW86RV23JGMZ7V7BAT63W86W32RKMG2FGN028C6XD8YZSXHY30;WHHSDP7S9MWWKNSTXFVM1YBD725FBXRWC68C9JJ219D5TFFJSE70 ce886f76a5e286da655c719bad2a55cc72f93d86 NRJSR34VT5D5BA5TDDVKQ1P4E98FJT1RH6E2TQ2EKZ9K7ZQGNHH0 +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(). RRQQC4DFQTDQT7NY0TQ8RGXP8RQ9ABTG842610TP95AZ012EWJSG RGQW86RV23JGMZ7V7BAT63W86W32RKMG2FGN028C6XD8YZSXHY30;WHHSDP7S9MWWKNSTXFVM1YBD725FBXRWC68C9JJ219D5TFFJSE70 ce886f76a5e286da655c719bad2a55cc72f93d86 EWYTTDS85MNSX9TYJ2HSBYQ803GSR8QEABP91752AC9VK9J9NQWG +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(). K4NVQGJ4TX8VNG6SHJWCW0507F3GX352ZKAMHPDYR7KYZ58ZGC0G J02G2D3CDFTAD74KWKTVRFZ0ABCXFWZ48BEH7SWPEFZV9TTEV0C0 ce886f76a5e286da655c719bad2a55cc72f93d86 FRKEGKXPVMFCYRB7PRKR1D5PDTKZ00PH1DF5E22E2JF0Y4WZVGRG +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 JHC14FHTYP1X6FX0VKE1Z2V0F08CDJ0PZH6B67E3BQ5294F7YJ1G ce886f76a5e286da655c719bad2a55cc72f93d86 N0NXDPAKJRV51S7WXAXRS6SDV113RZD8YY1E0ECGTNYZBJZRQ9YG +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 JHC14FHTYP1X6FX0VKE1Z2V0F08CDJ0PZH6B67E3BQ5294F7YJ1G ce886f76a5e286da655c719bad2a55cc72f93d86 B23CR1MC4895F5R631NKESB8C3G0NG102XWEYDVPCP0R6PW9KSNG +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(). KP2TJWZJ453N09EHG5X337WWFSVDTSWVQFCKK5MG9KBSS338S4CG SCGAZ546CADD3B3NPRH4WNS0QBVQF0F25V80HMVQ2Z8HY6PEB4WG;RYHSZ4XKFDCE9JD853WXVXF01B1M6MXMVK1FJ8FT9P47X2G2E0MG;FX3PQ5MR39K3PH4P1PEFSDBHPXSCSJC5ET547XBX95QWSH6QVQE0 ce886f76a5e286da655c719bad2a55cc72f93d86 FYE7DM4M1P8E6HRQ4GET8NPXMHZFDEAJD8YB6RF2XV778JQ4GD50 +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(). 7FVPF3H74QWTPT87D30ZG5KQWB39PYRS1EANPADZS7AJCRMJTTQ0 SCGAZ546CADD3B3NPRH4WNS0QBVQF0F25V80HMVQ2Z8HY6PEB4WG;RYHSZ4XKFDCE9JD853WXVXF01B1M6MXMVK1FJ8FT9P47X2G2E0MG;FX3PQ5MR39K3PH4P1PEFSDBHPXSCSJC5ET547XBX95QWSH6QVQE0 ce886f76a5e286da655c719bad2a55cc72f93d86 KAQ6814WJDBFVKMM7VMVMAM1SRHZYX5M7WY72QNW8Y3YAD46J550 +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(). 703DS6KRRJDP6BSE6AKQJG75C06KYYYG2PBT4HBPAP0H9QSTBS6G SCGAZ546CADD3B3NPRH4WNS0QBVQF0F25V80HMVQ2Z8HY6PEB4WG;RYHSZ4XKFDCE9JD853WXVXF01B1M6MXMVK1FJ8FT9P47X2G2E0MG;FX3PQ5MR39K3PH4P1PEFSDBHPXSCSJC5ET547XBX95QWSH6QVQE0 ce886f76a5e286da655c719bad2a55cc72f93d86 717MWRSZA967CZYKPC8RN3T7EQ0V4JPZZRF9Z22QPGBJR2SS9HHG +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 JHC14FHTYP1X6FX0VKE1Z2V0F08CDJ0PZH6B67E3BQ5294F7YJ1G ce886f76a5e286da655c719bad2a55cc72f93d86 QNYNZPSKZPAVB7RBWN1GMN60BER25B2YQV03DWXBNHRTZVHRDTP0 +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(). QJDWVW1JYMDHB75HJ43TYK8BPJP888XBGWJMRRVD2GNNYVMMM95G 4YTQ3FZB8BRNMVGSREWT7GBYRJ6QJ9NQVNG3N2Z337XFNJM2HJ70 ce886f76a5e286da655c719bad2a55cc72f93d86 WYMNBHDPRWSJKD08PB8K4KTPVD1FF6B6NHTEPY3WTBS166HKE9JG +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(). W9GQD8CD3TAAG2ADF5CDAKSYBDF4J2V370CJEG02TFK1HV98B1VG VR17CAB9NAVK5HYA2PGHTMZBDST5XP0EMY2NNEJQ7WVFDFFNGAZG;X9NGJCBVTFGVYJK8M02AD29T7YECF4G70DN4FHRYHT93GWFDGEZG ce886f76a5e286da655c719bad2a55cc72f93d86 64FXGZCWWR67EWHWMQGX98PCYGQP5Z7XSSMDGEFGT917SRBA6EC0 +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(). NGKMQ52VE0DZ98QQKY3QR7BHQKZHXTHS53RAH9WJ6N7R51VXRW60 Y7Z8PSR022D74091QAADJ41PC1MKNAJFBYHBQWTCCCXE1RTPV24G;AVC2Y1XV0MW66J57RQX93C0DHGT0F44SJGSBW5N102DN61DPKTM0 ce886f76a5e286da655c719bad2a55cc72f93d86 C1HDA53JEWGG2WJ00H39AEBMKMZKYFEWS7855G3Q1CR59HBF2KA0 +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(). 6FW581CSZDV4B21EV2KSDDN21WCD2YAD5PKCP41848MM608SVFFG BX48KSJXYZZS88WJXJCJYS1GDN4M78DVK8D3WGJ2EJ8EBK98W4FG;26GE55X41CC08XDQ136NHEDY7REJV8JX1Q5V4V632KRJNVE3GGSG ce886f76a5e286da655c719bad2a55cc72f93d86 YDA5Q9S0JRVJJZFQP36S9RGGFANXT4XM651ZHSK4SY2ERBSQZ4F0 +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(). 30JCCXFNWCFGKENAS99058Q92WR40RTHPEADZT58N8AEY3Y7WFT0 X1WF8QTKBNCBNSZB62NM64KZTDDSMV7F4A4QE0Q6GAVD82V9MS6G ce886f76a5e286da655c719bad2a55cc72f93d86 W6DDP332ZGH0PRAPMRSXEYP79Y75FF8JNMM91F05FDE9VX6EZW30 +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 D5GFX3C9TPK2WZESX1TVBTC2X7J0261ADHS61HC2KD8236WME480;T2T7VQDFP268GVNKQEENCW0VNV4NQJERSQ1G3QKWD4D79FSND9R0 ce886f76a5e286da655c719bad2a55cc72f93d86 4PFK656WX1X2NFNJDCVEQWDBYCE6W7ED9KRNY9F278XFR6ECQXG0 +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(). NGKMQ52VE0DZ98QQKY3QR7BHQKZHXTHS53RAH9WJ6N7R51VXRW60 D5GFX3C9TPK2WZESX1TVBTC2X7J0261ADHS61HC2KD8236WME480;T2T7VQDFP268GVNKQEENCW0VNV4NQJERSQ1G3QKWD4D79FSND9R0 ce886f76a5e286da655c719bad2a55cc72f93d86 FANRM87GDWV51SAHKX9JJYW57XCJB5W9CJ1BRN2F7JNPPZQGT22G +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(). 6FW581CSZDV4B21EV2KSDDN21WCD2YAD5PKCP41848MM608SVFFG S5DCYPP2N8MM4D8AXFVYQ8HQM0TCP6DN5MAF7TJHRV9WCKJMF0FG;TG91JHP2SRGQH2TZP8BG0T5AKY3TG3VFHRX8X9G80TFJGF3Z9XK0 ce886f76a5e286da655c719bad2a55cc72f93d86 JV5WQ9XSN42P972J6TB6S42TDEGBRW132J3ZRVY6PPV0D6FWKETG +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(). ANPA221M1BF6AXS8VMQ3C636R64RJN5484WDMW5ZEBK4D334AXD0 FSH1TDX442K8C4GT7AT89J46ADX74PC71EWP1YWF2RXS6YKFTK9G;2RDAJWJ8QHX32X33BP7KCH20BP8AWBA9Q6EDX7RV4NPT573VVQA0 ce886f76a5e286da655c719bad2a55cc72f93d86 TEKSZM0TT4FKK73YC43QJZMRT452AZV11152T1ZGCQHMVDQ5DBPG +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 ZYTJ6DQT0J88A3CJ89B708BN4YN904TCREFR6YBCYHYBNJ223K10;SA18Y640K7AYVKA9E79X8A25Z3GA0TPKS01RF0B7YMW3JMQ7CH10 ce886f76a5e286da655c719bad2a55cc72f93d86 N75F7Q01K166QTQXWZS5SAB0XCZB40BB5ZHA0SC59V54PS5NV7D0 +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(). YE6TD0N6D7MJKRD4PDSKXT26SKPY5ZVTFHXK0TECXPHN1B5N9V30 ZYTJ6DQT0J88A3CJ89B708BN4YN904TCREFR6YBCYHYBNJ223K10;SA18Y640K7AYVKA9E79X8A25Z3GA0TPKS01RF0B7YMW3JMQ7CH10 ce886f76a5e286da655c719bad2a55cc72f93d86 4KFWT0R9EMG4W3BDVXBAZWEXJHYAH0MEJS8EE9ED5W6P9MQPTXT0 +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(). ANPA221M1BF6AXS8VMQ3C636R64RJN5484WDMW5ZEBK4D334AXD0 SH9VEZN611S2AZ0A6E56A5RGCXKJEDHXVYBFYSCD616FZ38GNA6G ce886f76a5e286da655c719bad2a55cc72f93d86 ST4KVRE6P88RPAQN87K4XSCXVCDWEN2XSR8JR3XK0P9JRJJF6PQ0 +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(). 6FW581CSZDV4B21EV2KSDDN21WCD2YAD5PKCP41848MM608SVFFG F7VRMDZ49SQ2ZBB0F24T6QNTEW54XMS1S6ET4KV34KYXBMB3H4P0 ce886f76a5e286da655c719bad2a55cc72f93d86 FKRTX2YJHY9VG00BQP06J3GN2CHMGCQE4DZVGFVQ0581475GYGN0 +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(). KP2TJWZJ453N09EHG5X337WWFSVDTSWVQFCKK5MG9KBSS338S4CG HFHS9969CJGC4XTKPA29QPKM94ZM7ZVP9HN9ZBWCB7NG7TEP3X40 ce886f76a5e286da655c719bad2a55cc72f93d86 6NFPB2EN7A9S19K975P8AB5CB63MQH71C093BREY0MNS6W85JPTG +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(). ZVJ6N92X1CPM41GVSBVVT8A7HC51F8N1VBA451980949PRHNF2HG BNGGNM0SG6VA929DSQPXXXW3XMVRDXKZ7EJDZM1X6117Y9R3MYQ0 ce886f76a5e286da655c719bad2a55cc72f93d86 VZYD8Z3A22FSYTK445B7RK0079JDGDPY7M179HQSPBZR3F0SEP3G +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(). AH3ZBRV7PFYMAEN2GR1DY6SWPYJBV9SMCQS0XMNA1G7KHEZ297V0 BNGGNM0SG6VA929DSQPXXXW3XMVRDXKZ7EJDZM1X6117Y9R3MYQ0 ce886f76a5e286da655c719bad2a55cc72f93d86 1R7FQ5E4W15C2SX2S30K2MV3CCPHA28TG8X0MHCB1HWATA6NS2FG +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(). QJDWVW1JYMDHB75HJ43TYK8BPJP888XBGWJMRRVD2GNNYVMMM95G Y7Z8PSR022D74091QAADJ41PC1MKNAJFBYHBQWTCCCXE1RTPV24G ce886f76a5e286da655c719bad2a55cc72f93d86 QZJ94YKG99XH1ZTKGTETCQW77WRWX7A6V1R7NE43S6KNEEWGNJ0G +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(). DSGF1BJDZEMRJV87HASZSQKR20Y61A8GA4YRPXHHEPZ7GCDYB3H0 Y7Z8PSR022D74091QAADJ41PC1MKNAJFBYHBQWTCCCXE1RTPV24G ce886f76a5e286da655c719bad2a55cc72f93d86 899JJR8WE836M8GT1JFWX6F6YAYJJWFBNFGK64J94KZX0KR29HW0 +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(). 38YMKZ30XN2G1RHWAYZSBK27PNJ63NTKQHAZ8V0D2T4BZMXW62ZG H1HTMJFCEZYGW8A1FNBXZNA0TZMZJJACSQ84KEYCZA0Y1KHDBWC0;HP92A1G1WSAKN76H4ZB6A1H9KPJR81Z8VHGPC4NXWQ9PSY8V1R30;05ZVZDMCM2EQ5QP83QJVTSQP84BWHZ4SHMT9AB99J4PPT2NB1KK0 ce886f76a5e286da655c719bad2a55cc72f93d86 KARWHM3CS13PZNKQSMDKKZ6ZPF3J3A5677PD9GMDK84HN2YJXYSG +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(). CZ2X3VAXS3QY0TNJ271QNGQFDMKVPZQVG1AETEJVRN8ZGBVMERRG H1HTMJFCEZYGW8A1FNBXZNA0TZMZJJACSQ84KEYCZA0Y1KHDBWC0;HP92A1G1WSAKN76H4ZB6A1H9KPJR81Z8VHGPC4NXWQ9PSY8V1R30;05ZVZDMCM2EQ5QP83QJVTSQP84BWHZ4SHMT9AB99J4PPT2NB1KK0 ce886f76a5e286da655c719bad2a55cc72f93d86 TPZ0AP49QCVS8FQQE3XTP4896MTBVCNK6W58CTMGP8PAFZDRVWQG +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(). 7GY3WEW0M7P0DSR1ZKVC3ZX7BQ91DM7SKCGQ43T886WTQT1QTAZG H1HTMJFCEZYGW8A1FNBXZNA0TZMZJJACSQ84KEYCZA0Y1KHDBWC0;HP92A1G1WSAKN76H4ZB6A1H9KPJR81Z8VHGPC4NXWQ9PSY8V1R30;05ZVZDMCM2EQ5QP83QJVTSQP84BWHZ4SHMT9AB99J4PPT2NB1KK0 ce886f76a5e286da655c719bad2a55cc72f93d86 HHFCN95HG3Q2JHV875PP3WK3F1MEQ7GWYW96YE19BJJXQA5C839G +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(). YXN67C502YKPCVXH4YRW0ZGZZ66CHY0A9JS8284SXMF4Q3VQT8H0 - ce886f76a5e286da655c719bad2a55cc72f93d86 E8F970EJJ3D88DQMM5VCC99PEHZKN2BVXG0XANSC84J81CPC5MMG +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(). 7GY3WEW0M7P0DSR1ZKVC3ZX7BQ91DM7SKCGQ43T886WTQT1QTAZG - ce886f76a5e286da655c719bad2a55cc72f93d86 9J9AG98E8H0QQ8T5HK5SEHD9D24BSHY04ZWA5XVQGN3JD3VT96G0 +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(). 3KZYCY52WBSDEXBDTBB73H4END609F6K6E6F4KX02ZW6TB8DPKN0 YW5T677TG7W23BXJ1RXFFE61FXCFBZ16VSX8AHBRNF03R1HRYFS0;CG50R0PSQNK9062FEX67J13R4163H34QY8HX6T5NDNFGPRG0JT70 ce886f76a5e286da655c719bad2a55cc72f93d86 P8CWGEVEY1A6EAS6947M3DV44X2QDW74MK20E62WBR7WWTGGJZH0 +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(). X3FA6R4GMYED9C9NBQFQ6HVEJ028V1F2ER4BKJ3NZHY8V1VA6170 FPFX4R6KA8BKTW8CFM21NSE2QTAKJ8AZMBSQ8XYXRKH2DDMR51YG;TSMTX632EPFP2QJ1GKH9PVYGR99C7ZSHV9Q5C3EKRHWQTJDS252G ce886f76a5e286da655c719bad2a55cc72f93d86 XADAQAA9JEXW19PTH7NH2EA4V6T6B4SWQ2MDA3WDD9NF652TF3XG +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(). 38YMKZ30XN2G1RHWAYZSBK27PNJ63NTKQHAZ8V0D2T4BZMXW62ZG FPFX4R6KA8BKTW8CFM21NSE2QTAKJ8AZMBSQ8XYXRKH2DDMR51YG;TSMTX632EPFP2QJ1GKH9PVYGR99C7ZSHV9Q5C3EKRHWQTJDS252G ce886f76a5e286da655c719bad2a55cc72f93d86 AQJ8X2EVY1KZ93SZ18RW3GFGAMDXYVRAP2CN7S0E65EDAZ9K2750 +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(). 7AR3BC0SK0M3MMCWQN79S083CSDY9NKCNV3P60ZS9NXC8DYKT6S0 12D8QPHVPKHXW8TFQM7M89JKTYNXY3RF0NR4RS42G9JRCY8Y0QM0;4HZCEC8B4R49RHMGJGDKC2CWCMCHSDGVNR46J2B144YVF2YZ6KSG ce886f76a5e286da655c719bad2a55cc72f93d86 EXHJ8HPCEQQ097WPE9Q6DJR7DG7FR5ZEGNNERXQCKSJ1796NV0Q0 +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(). EHXZCT6JZAMJM2HEM63WKZX51B6RJQT069FM0FN8ZS79CEQW7FX0 12D8QPHVPKHXW8TFQM7M89JKTYNXY3RF0NR4RS42G9JRCY8Y0QM0;4HZCEC8B4R49RHMGJGDKC2CWCMCHSDGVNR46J2B144YVF2YZ6KSG ce886f76a5e286da655c719bad2a55cc72f93d86 CFCYD9M9XFD4J1ERM822E5G1YJB93KW2J85882V46VNDWPF12E9G +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(). HCRND75F5ZV2TCA4HY56BZNCBECPK2D4CP36PWETAR3BVXJNJ30G VA54WY7BX6H59N3VGKWA1V9XADHP3M7PHVY4JHEC083V3R85MPV0 ce886f76a5e286da655c719bad2a55cc72f93d86 1XGCGAJPKYCPZ87XK0JKE9G6QXMQJ0SH8P10M76NHNQ5EPP9B11G +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(). 69E3C0W41RMAQYG5W650QDVW9JFC2R7GNQFV5EFJMKAN5KCJ23TG YJRSTJ68S6R022A68E7G912C8M43CG3K21VA45CRKBA458CWKBZ0 ce886f76a5e286da655c719bad2a55cc72f93d86 C5N5BH955NWFCE1EVHBM9T3BPVRZRJECKMJVY5JK27NDJAESDAZ0 +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(). SBS37G5B4YH3VD2HEMVKF8BJNR41HTBQRDDJQ9ZT4KPWVS8TVA9G VYFP127RQEHZHQAFFYMF14ZF52Z3SQ6QQA4M1G4BCF2PYPC8FM5G ce886f76a5e286da655c719bad2a55cc72f93d86 GC5HKVWPXPX11EQFHGZ7WCZ434JS1JDCH6WSAFMJEZNXNF7C0TE0 +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(). 38YMKZ30XN2G1RHWAYZSBK27PNJ63NTKQHAZ8V0D2T4BZMXW62ZG W8R7HXBMP3C7KAK238ZQN4P9B2SENHJM25Y7S8QAB591SXVAGPDG ce886f76a5e286da655c719bad2a55cc72f93d86 TJGDX39S8YB8ZSF9KWM8SBN2X9ZA1G7ZBZKQGQ6R37TC1W5RJT2G +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(). 38YMKZ30XN2G1RHWAYZSBK27PNJ63NTKQHAZ8V0D2T4BZMXW62ZG F6ZA4GR37YWFVTTAJ2H5K73379718FHBX75JBAMF6NWKCJ8QKBXG;05ZVZDMCM2EQ5QP83QJVTSQP84BWHZ4SHMT9AB99J4PPT2NB1KK0 ce886f76a5e286da655c719bad2a55cc72f93d86 5FJMJWHEA5EX5TJYCPN221KRTRT79SFH6ZG010MJNF30G0HXAMG0 +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(). CZ2X3VAXS3QY0TNJ271QNGQFDMKVPZQVG1AETEJVRN8ZGBVMERRG F6ZA4GR37YWFVTTAJ2H5K73379718FHBX75JBAMF6NWKCJ8QKBXG;05ZVZDMCM2EQ5QP83QJVTSQP84BWHZ4SHMT9AB99J4PPT2NB1KK0 ce886f76a5e286da655c719bad2a55cc72f93d86 E4T3YKH4T3WHQEQBPH4BJ7YN3127VZYWEK0NVVKJ8KDSYJYJP4T0 +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(). NJCXWRBS7REK8ERVGGWF4FQG21ZSMQZWBR41V7608XZFBCY6FS5G - ce886f76a5e286da655c719bad2a55cc72f93d86 WFBB4DWV9RGG0KPQ9ZYY9HP8GF7070GE1JXTZ7KEFJTCEAB41GF0 +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(). 41141E6S53F47D5Q67VMQ1A8VK4300HZMRS6EKR7EMDZ3SK7APJ0 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G;XTF0HBFCQ7JKB6RZSY2GV7SVNFWQYB3CGKVHZHKXTR5VRFSW9KPG ce886f76a5e286da655c719bad2a55cc72f93d86 HQJ6MCTBYERGHBNKMS00Q6421153P83SBPM7MCZZ3W4ZJCQEMYAG +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(). 44S9FP6D4SJ9STB6ZRXEP03VK02XA3J77FNS9K5Y5T4AQRHY15EG 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G;XTF0HBFCQ7JKB6RZSY2GV7SVNFWQYB3CGKVHZHKXTR5VRFSW9KPG ce886f76a5e286da655c719bad2a55cc72f93d86 9C060J6V6K65A9G1NQBJNGBDDGX5EN9JX7XET7422ZEP0V9K7F2G +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(). CZ2X3VAXS3QY0TNJ271QNGQFDMKVPZQVG1AETEJVRN8ZGBVMERRG 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G;XTF0HBFCQ7JKB6RZSY2GV7SVNFWQYB3CGKVHZHKXTR5VRFSW9KPG ce886f76a5e286da655c719bad2a55cc72f93d86 W2FN0WP8HKVE9V34244CTJ8A2QFMPC2F5BH25W0RA85BYHC80QGG +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(). 610EP77AQ5MV9GZVQ2X6GK955NCKKHTD1PARTT3YA31RQ0XQZF4G 9YPFBBA7MNYTG5ME66SFT18ZR0QQ355RDE807RKG3QGNDHXRRS6G;XTF0HBFCQ7JKB6RZSY2GV7SVNFWQYB3CGKVHZHKXTR5VRFSW9KPG ce886f76a5e286da655c719bad2a55cc72f93d86 0XS5KK9W05FWZV55XRH97M1W7JD8E4HR9D9GSARG9PPPSJENXX90 +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(). ZVXQXHCN0TRPQB1D80K7QJXSZEMX45T4G9ZVM2VGBTKFN7TPDAMG SKW63VBV357XEXRNWDF9113P66JJNA5S2K760R9N3NR1F2VHRC3G ce886f76a5e286da655c719bad2a55cc72f93d86 ZD1BWSCHN2XZ9X32KGR0CAXFYWKC4RW97NV7R6XD0S90K0PY54HG +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(). 41141E6S53F47D5Q67VMQ1A8VK4300HZMRS6EKR7EMDZ3SK7APJ0 EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG;SKW63VBV357XEXRNWDF9113P66JJNA5S2K760R9N3NR1F2VHRC3G;85A5DQPN73TSPTTCFBZKNYK3MYTVBH64KJFKR9CY6RZ8YPQ23YVG ce886f76a5e286da655c719bad2a55cc72f93d86 3DR0ZVG276HMZ4BFRJBCB34D60ZN2JMPKNT91MTK3KWMW5RM8KH0 +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(). YXN67C502YKPCVXH4YRW0ZGZZ66CHY0A9JS8284SXMF4Q3VQT8H0 EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG;SKW63VBV357XEXRNWDF9113P66JJNA5S2K760R9N3NR1F2VHRC3G;85A5DQPN73TSPTTCFBZKNYK3MYTVBH64KJFKR9CY6RZ8YPQ23YVG ce886f76a5e286da655c719bad2a55cc72f93d86 T187HG43KSRNQJ4STQSMYR1FS9RDCWF6ADN7VTWZ535A2NTTP950 +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(). 0J9C53PJ8QYAYA9PWKBJPQPYC7EFPCK8ZJ91NVYRWEH8PA2NZ040 EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG;SKW63VBV357XEXRNWDF9113P66JJNA5S2K760R9N3NR1F2VHRC3G;85A5DQPN73TSPTTCFBZKNYK3MYTVBH64KJFKR9CY6RZ8YPQ23YVG ce886f76a5e286da655c719bad2a55cc72f93d86 HZE9EXPB30A570TTVJNXD3VB3P62AY1R5F4EZGEYWK6D90FW0DH0 +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(). YXN67C502YKPCVXH4YRW0ZGZZ66CHY0A9JS8284SXMF4Q3VQT8H0 2G3MZ6XR775QCEKBX1ESNEB0V69KAHMF5D2GWDYB0Y2478GFK2GG ce886f76a5e286da655c719bad2a55cc72f93d86 7SNR0D9NJ0NSZCFGE5EZWAGXMTMDG6KF5TV167J27H2WJEZEYMC0 +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(). CZ2X3VAXS3QY0TNJ271QNGQFDMKVPZQVG1AETEJVRN8ZGBVMERRG 2G3MZ6XR775QCEKBX1ESNEB0V69KAHMF5D2GWDYB0Y2478GFK2GG ce886f76a5e286da655c719bad2a55cc72f93d86 P1P663EQNY7AMY42EMFTA9SKCP4VEHKT10GAA816SH867YS4FW90 +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(). TV2MAESR050D7MWJWS0B32KT7K8X6FTXKEV6P5JHFXDT64J1AXYG 5FZBCSCWDYM32M0M75EZF7K18GYX17SPVQ7WNEQA4BWP2SY9DJ90;8WWC3EQ53JC23MY817AY14PDQ81GX3X6VTX879GP6AAYZFZG9FJG ce886f76a5e286da655c719bad2a55cc72f93d86 X19NAY2B23YS65MT1HHQAYMGF117Z4EAA7G10HBMY7HT7M5BFZSG +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(). FZ7ZB27X6DMKS3KXF80F9P0ECE8194BXZ3RJD1PCTMJVB0BJF490 5FZBCSCWDYM32M0M75EZF7K18GYX17SPVQ7WNEQA4BWP2SY9DJ90;8WWC3EQ53JC23MY817AY14PDQ81GX3X6VTX879GP6AAYZFZG9FJG ce886f76a5e286da655c719bad2a55cc72f93d86 HPPGFETKRC68PETQ83AFA6ZTGM53JE6ZEDKK06VQJ4A25EYT3Q2G +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(). CZ2X3VAXS3QY0TNJ271QNGQFDMKVPZQVG1AETEJVRN8ZGBVMERRG HP92A1G1WSAKN76H4ZB6A1H9KPJR81Z8VHGPC4NXWQ9PSY8V1R30;H1HTMJFCEZYGW8A1FNBXZNA0TZMZJJACSQ84KEYCZA0Y1KHDBWC0;991HGA78GYZZPBB3EW363369FRQKJMWWF8BMKRRK9QDV53MKFSP0 ce886f76a5e286da655c719bad2a55cc72f93d86 EP8RFJ1FDA8AZ20X9TS53D4WM9WJA51AJMJZ5F36780Q97JAHT90 +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(). 44S9FP6D4SJ9STB6ZRXEP03VK02XA3J77FNS9K5Y5T4AQRHY15EG XTF0HBFCQ7JKB6RZSY2GV7SVNFWQYB3CGKVHZHKXTR5VRFSW9KPG;2G3MZ6XR775QCEKBX1ESNEB0V69KAHMF5D2GWDYB0Y2478GFK2GG ce886f76a5e286da655c719bad2a55cc72f93d86 NW12V7RR3N7QER48KGNFX54KZY7EGFGHP7EKTBXSMD78ABNZBD9G +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(). YXN67C502YKPCVXH4YRW0ZGZZ66CHY0A9JS8284SXMF4Q3VQT8H0 XTF0HBFCQ7JKB6RZSY2GV7SVNFWQYB3CGKVHZHKXTR5VRFSW9KPG;2G3MZ6XR775QCEKBX1ESNEB0V69KAHMF5D2GWDYB0Y2478GFK2GG ce886f76a5e286da655c719bad2a55cc72f93d86 Q10HW74JM96SRJ0ZYXHGX5J2QY9MS3T0EFGV2R9ASPB8P7BR8QP0 +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 134TQJYF1KT4REDDKHD8025K4PJP6D4BCVA5EA604PNK6TW36EG0 ce886f76a5e286da655c719bad2a55cc72f93d86 Q2GECW3XN3YNTJ92HVAT6PQZ1690KP0P7BN8YRCJNKVY5V7WX2T0 +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 134TQJYF1KT4REDDKHD8025K4PJP6D4BCVA5EA604PNK6TW36EG0 ce886f76a5e286da655c719bad2a55cc72f93d86 DMTJKSH8MJYBYQYS8J9T77KRA2ZS1JSG6D8SFN37AWCE39GDE5T0 +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(). A49JFD90AFVCPXMK3H0HX88BVGW85872SV9CJT60N4758TCP39T0 AKPYPW94FC7SK3ZC9XXEXNX85ZZ0PYXXG6MS0M3PMRDTVE7VNJFG;Y3DYHHCDNQCJBM9VTMNPV9CNSR21J2PVN9F11FT6FSN018S1G2N0;991HGA78GYZZPBB3EW363369FRQKJMWWF8BMKRRK9QDV53MKFSP0;0M6NEYZBJC94DH80Z7B2SYMTED6B5CZHNSEBHYHG9X9EJSD1G8X0 ce886f76a5e286da655c719bad2a55cc72f93d86 5QGH5ZQG5X0CK977SPV088HD7M1YFNZ74Q4VVM84FD72GFFNTR10 +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 AKPYPW94FC7SK3ZC9XXEXNX85ZZ0PYXXG6MS0M3PMRDTVE7VNJFG;Y3DYHHCDNQCJBM9VTMNPV9CNSR21J2PVN9F11FT6FSN018S1G2N0;991HGA78GYZZPBB3EW363369FRQKJMWWF8BMKRRK9QDV53MKFSP0;0M6NEYZBJC94DH80Z7B2SYMTED6B5CZHNSEBHYHG9X9EJSD1G8X0 ce886f76a5e286da655c719bad2a55cc72f93d86 AP0APA1M3X27RTN0GQXMRB1ZDQK1CRZJG604JDS53M52VYB110CG +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(). CZ2X3VAXS3QY0TNJ271QNGQFDMKVPZQVG1AETEJVRN8ZGBVMERRG AKPYPW94FC7SK3ZC9XXEXNX85ZZ0PYXXG6MS0M3PMRDTVE7VNJFG;Y3DYHHCDNQCJBM9VTMNPV9CNSR21J2PVN9F11FT6FSN018S1G2N0;991HGA78GYZZPBB3EW363369FRQKJMWWF8BMKRRK9QDV53MKFSP0;0M6NEYZBJC94DH80Z7B2SYMTED6B5CZHNSEBHYHG9X9EJSD1G8X0 ce886f76a5e286da655c719bad2a55cc72f93d86 T7CWPBTTJEY5K88ERT5RSDMEKP5B2G27A9M9Z416WHCVD339E6EG +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(). SFQVZA83Y97KDJM0E88XW2XFWF1BASND7TBC7NV3TFZMNB7VAWY0 AKPYPW94FC7SK3ZC9XXEXNX85ZZ0PYXXG6MS0M3PMRDTVE7VNJFG;Y3DYHHCDNQCJBM9VTMNPV9CNSR21J2PVN9F11FT6FSN018S1G2N0;991HGA78GYZZPBB3EW363369FRQKJMWWF8BMKRRK9QDV53MKFSP0;0M6NEYZBJC94DH80Z7B2SYMTED6B5CZHNSEBHYHG9X9EJSD1G8X0 ce886f76a5e286da655c719bad2a55cc72f93d86 NSGY1NVXZBZAFQ1YVJJC3MS91KA4MWK3MGJV7E865G235VAFWM9G 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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G RSRXPZXYGFNFQACFNP60W4M7GVB38KAFEK5FAPTS2Y378M2JQQJG;3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;2KN2ZG6R8XJ42VQY2ZVNN0JFAQKK5FCFV43ZK9R0RPCZDME8MC20 cfbe96bd945d254a6a345105b7b0d203d70a92ff T44BKTFCBTGS3YR30VTQGQGD4X3ZXMNAN0SPVE6DPK2E064P8JE0 -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(). QYKBXBDCDARJDGQGJ2AD1T4NMCHPNA05GB6HFPPKS7WRBAEWW1W0 RSRXPZXYGFNFQACFNP60W4M7GVB38KAFEK5FAPTS2Y378M2JQQJG;3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;2KN2ZG6R8XJ42VQY2ZVNN0JFAQKK5FCFV43ZK9R0RPCZDME8MC20 cfbe96bd945d254a6a345105b7b0d203d70a92ff 1E75EE7NCAR5FHS5VP7GQ5Z568NE7F7TDGNJQKGET8GZ4AYFKJE0 -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 RSRXPZXYGFNFQACFNP60W4M7GVB38KAFEK5FAPTS2Y378M2JQQJG;3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;2KN2ZG6R8XJ42VQY2ZVNN0JFAQKK5FCFV43ZK9R0RPCZDME8MC20 cfbe96bd945d254a6a345105b7b0d203d70a92ff 0D1BYACWGJAA38X6Z4PKCB0QQTFWX17N5EQDQYS4YZZFHTBFKGF0 -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(). R3HCV9FPWMXVR3BHTPR56HJAZ18SHB04YZHVY3XX9K7H0MPZYD00 73P9HQQZVCSTYCKBHH2AKMK6GJJA7T9M3JZFR8KYXBP6J3YAD920 cfbe96bd945d254a6a345105b7b0d203d70a92ff V5CM2X7SR9SQMCBBW4911DTHVRVBK5DXG0YJK0GPADZZ5DAG66D0 -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(). ZC171NY8DFKJ1NC0BQV18RSK1YNEN13ZB3KYCTDXX4DDFMK75T9G 73P9HQQZVCSTYCKBHH2AKMK6GJJA7T9M3JZFR8KYXBP6J3YAD920 cfbe96bd945d254a6a345105b7b0d203d70a92ff 5HS30H0ZK094066B603YQTKWEN22AG5GPENYP2S9JPX2S4PXE6BG -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(). R3HCV9FPWMXVR3BHTPR56HJAZ18SHB04YZHVY3XX9K7H0MPZYD00 73P9HQQZVCSTYCKBHH2AKMK6GJJA7T9M3JZFR8KYXBP6J3YAD920 cfbe96bd945d254a6a345105b7b0d203d70a92ff AQH739HS0GNSCBK3MV8GWZCS47VA5QXDRR5XER0Y7KRFS11NXPPG -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(). ZC171NY8DFKJ1NC0BQV18RSK1YNEN13ZB3KYCTDXX4DDFMK75T9G 73P9HQQZVCSTYCKBHH2AKMK6GJJA7T9M3JZFR8KYXBP6J3YAD920 cfbe96bd945d254a6a345105b7b0d203d70a92ff PDSJAACG90ZVVNFDSQ5BGWCHDJQQP21P6HPFAWT28CBS928RKRS0 -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(). KQKH30XE23B623EQ7727VDRN955A736B3E8ME21B3JE8R3ZNMS10 97M9G3P5MF93SC8P5N236TFJP5HFBV43J8MPX1NR1D1JZDWFK2H0 cfbe96bd945d254a6a345105b7b0d203d70a92ff QJVFG4RJ3FBCSPKZB0D3TSRJM80HZY6JSXWN0W3Y4M5RNCKMPD40 +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG SKW63VBV357XEXRNWDF9113P66JJNA5S2K760R9N3NR1F2VHRC3G;MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;SAHSR2WHGFEYXQ7W3VDJW5AT6JR1NXS29JZVA7AH4XZK184203E0 ce886f76a5e286da655c719bad2a55cc72f93d86 EYQ9AA915WK6A4J91RPC11B0MYN4068V72Y361KTEH0C7VG1YWTG +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(). ZVXQXHCN0TRPQB1D80K7QJXSZEMX45T4G9ZVM2VGBTKFN7TPDAMG SKW63VBV357XEXRNWDF9113P66JJNA5S2K760R9N3NR1F2VHRC3G;MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;SAHSR2WHGFEYXQ7W3VDJW5AT6JR1NXS29JZVA7AH4XZK184203E0 ce886f76a5e286da655c719bad2a55cc72f93d86 YGWYTKJTBMKST735R7JDSPQMVYDT5WJRV794XJQQV34HFWF6RVJ0 +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 SKW63VBV357XEXRNWDF9113P66JJNA5S2K760R9N3NR1F2VHRC3G;MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;SAHSR2WHGFEYXQ7W3VDJW5AT6JR1NXS29JZVA7AH4XZK184203E0 ce886f76a5e286da655c719bad2a55cc72f93d86 XM45HWPPN1161R1XCQ2TCQ2RRKW7T3Z3JCCTJBVSMQJW4EM2BTGG +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(). F0N3RYSS5QM1XHQ1N5P3SS5197X5258SY4KD08423JEVFRY880RG 0N7Q7VWDVG8ANA87A7NYZ0ZWXEP21ZZ72H9GZCSES1K42Z68NTW0 ce886f76a5e286da655c719bad2a55cc72f93d86 APFEXWE3CFE3SC2B3JQAKDQDBHXKEW9AMFER29983189YP4CFZ40 +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(). SKQZH45ARK4MMJA9K4NRYAXNYV98G86P8P5Q54YV0MZTX0Q6PWX0 0N7Q7VWDVG8ANA87A7NYZ0ZWXEP21ZZ72H9GZCSES1K42Z68NTW0 ce886f76a5e286da655c719bad2a55cc72f93d86 NYBH6E8ZGRBAN3H689ZBQQB2SV2TFYH0G2ASB5V1DN6SJTF5DFK0 +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(). F0N3RYSS5QM1XHQ1N5P3SS5197X5258SY4KD08423JEVFRY880RG 0N7Q7VWDVG8ANA87A7NYZ0ZWXEP21ZZ72H9GZCSES1K42Z68NTW0 ce886f76a5e286da655c719bad2a55cc72f93d86 NAFGA8B3Z7C3D3Q7H847H6H0Q68J940738MFA3VANBG3CSSCTHSG +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(). SKQZH45ARK4MMJA9K4NRYAXNYV98G86P8P5Q54YV0MZTX0Q6PWX0 0N7Q7VWDVG8ANA87A7NYZ0ZWXEP21ZZ72H9GZCSES1K42Z68NTW0 ce886f76a5e286da655c719bad2a55cc72f93d86 S2J989HBCKDNPV1TX25GZDPVHDG8XD1GH0ZCE63CVY2GH5KBMWE0 +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(). YXN67C502YKPCVXH4YRW0ZGZZ66CHY0A9JS8284SXMF4Q3VQT8H0 2G3MZ6XR775QCEKBX1ESNEB0V69KAHMF5D2GWDYB0Y2478GFK2GG ce886f76a5e286da655c719bad2a55cc72f93d86 6A4ZK5462MG1QFQFDMM30D5N94713Q62VXTF6GQG2G88V3NS3MA0 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(). TV2MAESR050D7MWJWS0B32KT7K8X6FTXKEV6P5JHFXDT64J1AXYG A9GYXA1P7581FTFGBCSEN53TM743GZAQWDSF2BRNA8ZKZ4CDE0J0 f2b362acd3d818d4a716847c02062f3d01bc273f XQW27CH90RK3BCXJ62PR7NXBA5E916H29E77DV83KA0WHX7JXTY0 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(). FZ7ZB27X6DMKS3KXF80F9P0ECE8194BXZ3RJD1PCTMJVB0BJF490 A9GYXA1P7581FTFGBCSEN53TM743GZAQWDSF2BRNA8ZKZ4CDE0J0 f2b362acd3d818d4a716847c02062f3d01bc273f 0H2QXVKYKFNF028J70R1J64QRXG692RGEKEH5VVCGKH9NFHAB5A0 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(). TV2MAESR050D7MWJWS0B32KT7K8X6FTXKEV6P5JHFXDT64J1AXYG A9GYXA1P7581FTFGBCSEN53TM743GZAQWDSF2BRNA8ZKZ4CDE0J0 f2b362acd3d818d4a716847c02062f3d01bc273f KG0NX7YMB7D3H1W0CFYRAZA9680YTHYX591JAWZARD3HDDXQ3SA0 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(). FZ7ZB27X6DMKS3KXF80F9P0ECE8194BXZ3RJD1PCTMJVB0BJF490 A9GYXA1P7581FTFGBCSEN53TM743GZAQWDSF2BRNA8ZKZ4CDE0J0 f2b362acd3d818d4a716847c02062f3d01bc273f AJ7VB0JM7CSZG2EAYNB91YHBG821JJSCWEA41TKF1051BP83M6WG -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(). R3HCV9FPWMXVR3BHTPR56HJAZ18SHB04YZHVY3XX9K7H0MPZYD00 3CNTZMAXK3BPDTY12233JD09K4P505VX7NYZ5YCY8FFFCZYAH24G cfbe96bd945d254a6a345105b7b0d203d70a92ff P23DCCFY8CA0FTVSG6FRD50VDXT9KVREM59678ZFD9RKJS772B60 -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(). KQKH30XE23B623EQ7727VDRN955A736B3E8ME21B3JE8R3ZNMS10 3CNTZMAXK3BPDTY12233JD09K4P505VX7NYZ5YCY8FFFCZYAH24G cfbe96bd945d254a6a345105b7b0d203d70a92ff 5ZY9P8FH0R9S1T90MSYCSBZRP8G677V7EQZK7XZ6WXJ0H6V8EHBG -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(). 6XV3BWCGKZ8D5XSFZGD8WSFYQWSS6Q427HQANP2BC2S3PJ8MMZ5G SA62XC3C0VVRT3N51MAYPH08T3JH2SAJBK74FMC018Q14K1H6V20 cfbe96bd945d254a6a345105b7b0d203d70a92ff 1NMC68T2DRB8TY30GX1WFCJV3E8YMMFXMZCJVGGRGERR3W1298G0 -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(). R3HCV9FPWMXVR3BHTPR56HJAZ18SHB04YZHVY3XX9K7H0MPZYD00 KY9QV2QN4902BDK2W025MH9QKP5S7MJH73DJ78BDC1Z0ZKFYGC00;VKWDPZTCP97SZBZ0RNV8G7HAJSJQ3KNPGD6YA6TZAEAF9RA3A9PG cfbe96bd945d254a6a345105b7b0d203d70a92ff JK4B877PQWCF7FRNA7BESQDPE52M0K948VTZ7Y3W1NA7P1CX1220 -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(). GC2KE3485WMDN67PFTV6NYM0BCATFHN1PSFBFWFZ870FVRMDVARG KY9QV2QN4902BDK2W025MH9QKP5S7MJH73DJ78BDC1Z0ZKFYGC00;VKWDPZTCP97SZBZ0RNV8G7HAJSJQ3KNPGD6YA6TZAEAF9RA3A9PG cfbe96bd945d254a6a345105b7b0d203d70a92ff E64N285MWN5YJBDRT11BMADCSP7KMKB4M41WGZ9K3N09FK18PPAG -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(). 6XV3BWCGKZ8D5XSFZGD8WSFYQWSS6Q427HQANP2BC2S3PJ8MMZ5G FZC0NRG5J63SSEAM6CKAARNZYGYM0C3PP7AT2WGNN9GK5C0MK2SG;01Z8QTB16P3J06PZAH5EJX4SEH2Z6NPHX2H451NGD2HBS1ZTTQ6G cfbe96bd945d254a6a345105b7b0d203d70a92ff DG4JY109Y149GBKBZP9TRF7F51VG5Z2KPFTX8NDZZCA7G8Z9N1J0 -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(). 6XV3BWCGKZ8D5XSFZGD8WSFYQWSS6Q427HQANP2BC2S3PJ8MMZ5G 9ZP9EA8N5B0VRQ3SJ11FKMCADWND2J9FXFPHYTB0EWYMT1B63ZQG;5B912P2P2JRHSB6FDA93YQCXC6BKDAE07ZC22BQ9N6Q6GBCP9HFG;B67N3PAAG492N5GEN3RRWFYAN3YCZW1NAGN62Y1BBZ5NZRWJSGW0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 3DEDW4E7D33PGZSGRTR8DD0PDWMMFA8J490K0W8AJNE4CMHRD9NG -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(). VYMHAGNH579BCF42DC8K7KWS1X8AYJQEZZG7TSEGHRRPVYA65X10 QGNDBHAVF5EG3SD2FN6NGP502EMQD2A5J33N04F3H9M0ATCKCVRG;4D53HGZ5DZPSBVAFN4NYFCR64RCWHNBVMNG3EGFB5NAFXBAZVZ10;X5HTWHTTPNV167WFKEQP79X4RSXS74PGTJ3GFWXGWRP8AEET85K0 8017c77e38662dcbc183522cc22d69e8f8597e80 4JV4V7FPH8JZ9H47NZV9E6JXFYE4P592JAD2QHNNGMVKECE61N3G -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(). 4ZPT5R466DWSGTDNJ33MVJVAGA0EZFW4X5MER2D5YQS8Q7KYH0EG QGNDBHAVF5EG3SD2FN6NGP502EMQD2A5J33N04F3H9M0ATCKCVRG;4D53HGZ5DZPSBVAFN4NYFCR64RCWHNBVMNG3EGFB5NAFXBAZVZ10;X5HTWHTTPNV167WFKEQP79X4RSXS74PGTJ3GFWXGWRP8AEET85K0 8017c77e38662dcbc183522cc22d69e8f8597e80 K5W1CFHX6GD25CXV85JSXKC6Q5K7V3Q6QP52YKG6VB3V4VV3CF70 -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(). R3HCV9FPWMXVR3BHTPR56HJAZ18SHB04YZHVY3XX9K7H0MPZYD00 CVW7YTCBY3TCPAVXAWMRNHY4P851F7583Q3EP94W5Y1FMV4HMGSG cfbe96bd945d254a6a345105b7b0d203d70a92ff 24SEZ8Q2QD8Z8KA05N1809MY4KRCMYW5ZQ54TPVVPD6THB23YC30 -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(). ZC171NY8DFKJ1NC0BQV18RSK1YNEN13ZB3KYCTDXX4DDFMK75T9G 73P9HQQZVCSTYCKBHH2AKMK6GJJA7T9M3JZFR8KYXBP6J3YAD920;D3XB2BFX11RBRVT5MDXRYCFN6VD74QDE6HJED8JBW8B65B5PQ07G 8017c77e38662dcbc183522cc22d69e8f8597e80 QNS317NTJ8YHBWP7RR24GM38852SB29B79PZD85JS71QHG6WNMNG -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(). ZC171NY8DFKJ1NC0BQV18RSK1YNEN13ZB3KYCTDXX4DDFMK75T9G 73P9HQQZVCSTYCKBHH2AKMK6GJJA7T9M3JZFR8KYXBP6J3YAD920 cfbe96bd945d254a6a345105b7b0d203d70a92ff X8Q7X74MS2RAX5Q2S9WS2DZ03EYKN40PCYG7CV43SX61RKDME4N0 -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(). ZXTK83BM7N40V79M6FA2KWB5MY3VJH6PBXHGH1K7GNFQD8YH8W30 2WTD87YF2AXF7NWY8XRCQSYEMSMPW9PKAVHD74SYPPMJD1NARYT0;J6VEQMQNZ205VQ932N4V449T2RN6AMX0EM70KMVA8F9ZWFTWWF50;Q66365AJ5BDHD5ZW8GCF0VKZPWDPCS4C11QQP09PZTXVND3DSVM0 cfbe96bd945d254a6a345105b7b0d203d70a92ff RBC8GJN7VDEZ9MDYD0P0Y3MN0B292AZYG044KNGP8ZENG1ABV3X0 -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(). DXKXBJWQXQJFDAR81W63YD2J3BC69S9FHX02JVMBA1FAYBB98SVG 2WTD87YF2AXF7NWY8XRCQSYEMSMPW9PKAVHD74SYPPMJD1NARYT0;J6VEQMQNZ205VQ932N4V449T2RN6AMX0EM70KMVA8F9ZWFTWWF50;Q66365AJ5BDHD5ZW8GCF0VKZPWDPCS4C11QQP09PZTXVND3DSVM0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 8QS5ZR32Z80P27VJ1HSCC8D15PH6W817RBF43XPZ38VF9ZFFYV8G -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(). 82HN84QST1XYA8NRZYRAXNEXKBB6PTES16WTGSAHA8N0S9QEEA40 2WTD87YF2AXF7NWY8XRCQSYEMSMPW9PKAVHD74SYPPMJD1NARYT0;J6VEQMQNZ205VQ932N4V449T2RN6AMX0EM70KMVA8F9ZWFTWWF50;Q66365AJ5BDHD5ZW8GCF0VKZPWDPCS4C11QQP09PZTXVND3DSVM0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 5DB9DF1ZDAC0CNYZX8QX5DKB24P6N03VQT56KE488BV16M8A7QD0 -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(). TW9WN9FCZBGWR1ESRNXM4RXQNAMMPZWPH9SX14XY03PBF76XM3N0 2WTD87YF2AXF7NWY8XRCQSYEMSMPW9PKAVHD74SYPPMJD1NARYT0;J6VEQMQNZ205VQ932N4V449T2RN6AMX0EM70KMVA8F9ZWFTWWF50;Q66365AJ5BDHD5ZW8GCF0VKZPWDPCS4C11QQP09PZTXVND3DSVM0 cfbe96bd945d254a6a345105b7b0d203d70a92ff ZXT8EE6T5ZD02A3S89GHBB6WS685ZDQCQBZR8CC2CQARQKPQ7W00 +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(). F0N3RYSS5QM1XHQ1N5P3SS5197X5258SY4KD08423JEVFRY880RG JFMJQEE204AZHFN7CNYWFYZ3S6A4EEA52HE2C0YX69EPQJKHFRMG ce886f76a5e286da655c719bad2a55cc72f93d86 RTRC9FVYQZK91ATSK15FAHZA09J292MA9SGWM8F496E4212HXYFG +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(). YXN67C502YKPCVXH4YRW0ZGZZ66CHY0A9JS8284SXMF4Q3VQT8H0 JFMJQEE204AZHFN7CNYWFYZ3S6A4EEA52HE2C0YX69EPQJKHFRMG ce886f76a5e286da655c719bad2a55cc72f93d86 KTKM341FGGMRTD3HDFJYSCWVJWFT2QSW89037K60D4ZB5FW1X3S0 +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(). MC5KG02E4BSGPTMA4PS6NHYZB0Z0S01J8JA503YMSHVZ75E9XRX0 X32R7VMSNGJ8GMKY1BY9CWPDWJ3811DTPD1GM3CVK1M1PEDFRQYG ce886f76a5e286da655c719bad2a55cc72f93d86 XQWCC2AZMNTCHC8P1MWMPVGYCAJDV5VDMNSM6S2021Z5C8M4BES0 +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(). F0N3RYSS5QM1XHQ1N5P3SS5197X5258SY4KD08423JEVFRY880RG EFTC3396NQ9BVRDR9NC4HER6W8MMN5H6B5NTKFNCBW33VFREBS60;PY8ZYSZ8M7CWRYBGMZ4PSMWQDG9VGQBV9MZ0SRH3ZBT73CJKAJ50 ce886f76a5e286da655c719bad2a55cc72f93d86 D0KQQTTBJBEHNVG1KRSGM9F6P4M8V1R4JP154P11HZFMWJVT5HQ0 +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(). X151JHA6T5HKNMN4GH310B7KD3TA49P3ZH1TJNPX13WB3970T6RG EFTC3396NQ9BVRDR9NC4HER6W8MMN5H6B5NTKFNCBW33VFREBS60;PY8ZYSZ8M7CWRYBGMZ4PSMWQDG9VGQBV9MZ0SRH3ZBT73CJKAJ50 ce886f76a5e286da655c719bad2a55cc72f93d86 BWST1SDBKMYPRKY8HFQ942CW1A3635RK9290ZX68MZ00847BNS7G +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(). MC5KG02E4BSGPTMA4PS6NHYZB0Z0S01J8JA503YMSHVZ75E9XRX0 0FD7SJFD0BZCE1Q1YSS060Z967YTD519F84J8H7Z3N90JY39W550;8WWC3EQ53JC23MY817AY14PDQ81GX3X6VTX879GP6AAYZFZG9FJG ce886f76a5e286da655c719bad2a55cc72f93d86 EMXT0NG3D2EV0BP32X7AWXRNNS4E59R8K2RE7383QXF3MM99A660 +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(). MC5KG02E4BSGPTMA4PS6NHYZB0Z0S01J8JA503YMSHVZ75E9XRX0 23Q9JXGDGP83DQTBADQ7Y5B2CQYA9Y0H8J84SP790KR5TJNJSX20;QDB60J5RYF6Q2EYHZKHRDVMJ7M1TJAXRWGTBCJ3EBE52YM2EX2V0;PR0K9D6WZKBXZ55RYPNRHRE029N5XGDD6K6JGAA4HVQMM7KA20CG ce886f76a5e286da655c719bad2a55cc72f93d86 9V7Q5NWA2N2D6ZMBSNVJ6TS9AARV32EGJ1AXET4HNGQWC9DF0NKG +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(). 5XWQ81NG0VYZMV3KW59Q072QVTEXQV59G2E559A1HBDF5TP6NGSG 70TSHCTB69BK4BVW968DM4RABCYZDWMYH2PFMX0H7NGE0XQY4C5G;WSZBEPEHZ1BA2VW1Z0RCBV363HVNAANZ7CS397DRBPNX1N80D9KG;ZP2M8TBEV3JV5WTH1MVND45407EJ2ZEQXE5NNZRXHGF30A428TD0 ce886f76a5e286da655c719bad2a55cc72f93d86 8BH7WCQ2FDWC3HWGSV034ZEZRM878P2BD6Q84GR364XHJTV1MRY0 +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(). D8QK9KN6K06YYDPFZC61Y4EA2N8YWYGANDC8CF287K0DP9N0NJZ0 70TSHCTB69BK4BVW968DM4RABCYZDWMYH2PFMX0H7NGE0XQY4C5G;WSZBEPEHZ1BA2VW1Z0RCBV363HVNAANZ7CS397DRBPNX1N80D9KG;ZP2M8TBEV3JV5WTH1MVND45407EJ2ZEQXE5NNZRXHGF30A428TD0 ce886f76a5e286da655c719bad2a55cc72f93d86 6QQ2W341J2YMT4H15A6Q94H3E4GJC6F0WSR3M07Q5V4Y9S1098S0 +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(). F0N3RYSS5QM1XHQ1N5P3SS5197X5258SY4KD08423JEVFRY880RG Y5JE2NV1T3XE2SYZQHARQKYXZFNRZG91B8DS36G69YTXR4B4D2E0 ce886f76a5e286da655c719bad2a55cc72f93d86 RJKB2ZBTCHZA6CQGNVN1FGVYRNS1868B25R18QNEJSXF104TWVH0 +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(). SKQZH45ARK4MMJA9K4NRYAXNYV98G86P8P5Q54YV0MZTX0Q6PWX0 0N7Q7VWDVG8ANA87A7NYZ0ZWXEP21ZZ72H9GZCSES1K42Z68NTW0;T2JBBCMZHB699V90MJPMHXB7CP7M4JA2NDWYG99NW2CYP6D1DG5G ce886f76a5e286da655c719bad2a55cc72f93d86 N7BW228D4J9WWZDV6RFRBGHCCNQC0S66ZY9XW8N4XYVJPB09EAJG +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(). SKQZH45ARK4MMJA9K4NRYAXNYV98G86P8P5Q54YV0MZTX0Q6PWX0 0N7Q7VWDVG8ANA87A7NYZ0ZWXEP21ZZ72H9GZCSES1K42Z68NTW0 ce886f76a5e286da655c719bad2a55cc72f93d86 2CT3XSVZ9J1Y6891QWEVYQNG667MFT2E70EYNDZ35BTQJASK680G +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(). ECZCM116GNBKVYNR6061X3ZF7QH9360DGS9W6VAY5YGB34K7YDX0 12D8QPHVPKHXW8TFQM7M89JKTYNXY3RF0NR4RS42G9JRCY8Y0QM0;YJRSTJ68S6R022A68E7G912C8M43CG3K21VA45CRKBA458CWKBZ0;YTRB5XRHTPG1BN9GHT04DQ18K6QMQBAJ0Z5H2R30VQ9XBASZKRXG ce886f76a5e286da655c719bad2a55cc72f93d86 9YDRWX8NK24F2Q1QKQ82RHG0RY5JN7G7ZT4S24AHSY7723G1NZTG +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(). 38YMKZ30XN2G1RHWAYZSBK27PNJ63NTKQHAZ8V0D2T4BZMXW62ZG 12D8QPHVPKHXW8TFQM7M89JKTYNXY3RF0NR4RS42G9JRCY8Y0QM0;YJRSTJ68S6R022A68E7G912C8M43CG3K21VA45CRKBA458CWKBZ0;YTRB5XRHTPG1BN9GHT04DQ18K6QMQBAJ0Z5H2R30VQ9XBASZKRXG ce886f76a5e286da655c719bad2a55cc72f93d86 WAWW55GG2VJJQF5TY6KA72ZE6YT4FEPPGSKNVSE249EX871TNWX0 +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(). 7AR3BC0SK0M3MMCWQN79S083CSDY9NKCNV3P60ZS9NXC8DYKT6S0 12D8QPHVPKHXW8TFQM7M89JKTYNXY3RF0NR4RS42G9JRCY8Y0QM0;YJRSTJ68S6R022A68E7G912C8M43CG3K21VA45CRKBA458CWKBZ0;YTRB5XRHTPG1BN9GHT04DQ18K6QMQBAJ0Z5H2R30VQ9XBASZKRXG ce886f76a5e286da655c719bad2a55cc72f93d86 XFBB1CN7PA58698J1054WDGM0CAD7EVHJFK6HHCDD6PHYN17B3C0 +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(). 9QZ7Y2NTA38GX5NN1TP0MN4W9F718XB0CSWE5APA6XSYHCVBH8XG 12D8QPHVPKHXW8TFQM7M89JKTYNXY3RF0NR4RS42G9JRCY8Y0QM0;YJRSTJ68S6R022A68E7G912C8M43CG3K21VA45CRKBA458CWKBZ0;YTRB5XRHTPG1BN9GHT04DQ18K6QMQBAJ0Z5H2R30VQ9XBASZKRXG ce886f76a5e286da655c719bad2a55cc72f93d86 FFZ87Y5C8A5WY0NCYA70D3GMPMGR15YPS9RCEEB2V7R75B0531H0 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(). NXED42NNQNS7F7XA9Z1EPFRJQRJDAFWHB4W99FY1M3NTNPK2RPF0 863NM6WDEWET23226JCR4HMB8VSEPDBX4DMG1JZPH1B28N9K247G cfbe96bd945d254a6a345105b7b0d203d70a92ff DHN79CGBFJFXK0WFC4EX7YE9KK274JS3JD22SHQMF20QFD4NRPV0 -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(). KQKH30XE23B623EQ7727VDRN955A736B3E8ME21B3JE8R3ZNMS10 WQZX7BJM3C45WC39XF3XQHBCSEQ12DKXB6Y9DE1Q6D5WGNV908MG;FK17T1WR1A3S0HA9DAC9Y4K410E2TPE2EHAYBNWMB6CX5QXE91AG cfbe96bd945d254a6a345105b7b0d203d70a92ff 76XFYNN392146T9B0PYFKHVE82P4BM1KKCRHDXXRZY4FKQ6M78FG -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(). NXED42NNQNS7F7XA9Z1EPFRJQRJDAFWHB4W99FY1M3NTNPK2RPF0 WQZX7BJM3C45WC39XF3XQHBCSEQ12DKXB6Y9DE1Q6D5WGNV908MG;FK17T1WR1A3S0HA9DAC9Y4K410E2TPE2EHAYBNWMB6CX5QXE91AG cfbe96bd945d254a6a345105b7b0d203d70a92ff HNDA8TYGNV723TW9TS8P0ZTYS901XE8WRVF3D61NCWRH3D4X51V0 +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(). CZ2X3VAXS3QY0TNJ271QNGQFDMKVPZQVG1AETEJVRN8ZGBVMERRG A2ND6YA6GFEPGCXPY5E1BMFEA7BAW4QS3CNGK7F8BHFB42BB2Q8G ce886f76a5e286da655c719bad2a55cc72f93d86 GGDPJ7HK5VFE227ZQM6HTTY5MP46YJNJ8GFWEX0CAA585RAZAB1G +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(). YXN67C502YKPCVXH4YRW0ZGZZ66CHY0A9JS8284SXMF4Q3VQT8H0 F6ZA4GR37YWFVTTAJ2H5K73379718FHBX75JBAMF6NWKCJ8QKBXG;05ZVZDMCM2EQ5QP83QJVTSQP84BWHZ4SHMT9AB99J4PPT2NB1KK0 ce886f76a5e286da655c719bad2a55cc72f93d86 Z7BDCF2NZCQAPX3VZA9347X0YKE37W0CXEZ1C77XH5S9WECTKBZG +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(). CZ2X3VAXS3QY0TNJ271QNGQFDMKVPZQVG1AETEJVRN8ZGBVMERRG F6ZA4GR37YWFVTTAJ2H5K73379718FHBX75JBAMF6NWKCJ8QKBXG;05ZVZDMCM2EQ5QP83QJVTSQP84BWHZ4SHMT9AB99J4PPT2NB1KK0 ce886f76a5e286da655c719bad2a55cc72f93d86 A58SK6NB9Q3AE68E8H2CGMB1GHBQVM1N9D6677QBPAD95WVH05H0 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(). 34T8SXCD3AHQ5RFQ1E5R7BSHDANGBCE9HAMM1G1MR3XE3X6S6FR0 G47AZME042SCS0FSEA8HT1NPQC41KF30PGWTDD1MFJFKB8X7MG4G cfbe96bd945d254a6a345105b7b0d203d70a92ff DE0P4ADB0AQN8BAGKVTCC144M16J7BKWK8C0S9H9C4246N25QM00 -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(). 550CZE75Z4X9K11J64E69DCQRH5XTQ7FV14977SRS4EGHX4FZAZ0 - 8017c77e38662dcbc183522cc22d69e8f8597e80 ZSF1S903NF3Z04SZW9ECRMX0E1VSXE7AACV14W5R98THVYB6W4H0 -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(). GC9TH9WJ5046BFFDW5MA7NZTNJVRKVCTZHNKJ57V2GQVQ8F5E0Q0 - cfbe96bd945d254a6a345105b7b0d203d70a92ff XDC8CP113A7ZG87FM6NMPRDVJZRZ6928QRXDACA97F39C6RSE9S0 -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(). X9JSCJ1QDMERW40YC4EFTNY5TATS4MACTM515BBN4ZN3B36J9TMG FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;WEH0553WYXCAZF9ACB67ZG1GDCCD943TVM26767JZ61N6DDBT2W0;2RX5QSGBJM6AJREQWJ7F7JYHJFGZ2YN21D2GRHEM0ZN81H031BR0;0ESHJJARAYBDJKJA9GH83GE2JBVZRCQ3QWXRNF2EFKNPBJQQF380;9BQRMZY6SEZ6HZ90G1ADH8F0C5AMMYWZZ76R6HGG3HSXBQY18BXG 8017c77e38662dcbc183522cc22d69e8f8597e80 6AR3YHFTS4E576R5SB009Y36S8H6EKT03VNZC91ZPXHK0KSBYFHG -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(). RDS2VYASPGQ16Z0BYM15NKDN5QPXFC4T9K52XSJYTKVJ9PVVCE1G FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;WEH0553WYXCAZF9ACB67ZG1GDCCD943TVM26767JZ61N6DDBT2W0;2RX5QSGBJM6AJREQWJ7F7JYHJFGZ2YN21D2GRHEM0ZN81H031BR0;0ESHJJARAYBDJKJA9GH83GE2JBVZRCQ3QWXRNF2EFKNPBJQQF380;9BQRMZY6SEZ6HZ90G1ADH8F0C5AMMYWZZ76R6HGG3HSXBQY18BXG 8017c77e38662dcbc183522cc22d69e8f8597e80 CQWDPVSF4TK4P1AKQZVSH83E1WR46PPES3N7R9693GJ3VQ10CQW0 -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(). DBK3HZPXSF7NE3ABBFG8767HD7G6N8NAY30JDSWX42NFYZ1CSF6G FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;WEH0553WYXCAZF9ACB67ZG1GDCCD943TVM26767JZ61N6DDBT2W0;2RX5QSGBJM6AJREQWJ7F7JYHJFGZ2YN21D2GRHEM0ZN81H031BR0;0ESHJJARAYBDJKJA9GH83GE2JBVZRCQ3QWXRNF2EFKNPBJQQF380;9BQRMZY6SEZ6HZ90G1ADH8F0C5AMMYWZZ76R6HGG3HSXBQY18BXG 8017c77e38662dcbc183522cc22d69e8f8597e80 8NYS7ECFAYQVYEE4NRN70HHWCNTVJVS89R5BN5TXPC3FT8S09EKG -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(). T9086Y4HAAQFN7WY3X2MRHKX0WE2AZNDMJQSDTVY80R2SB2ENQQG FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;WEH0553WYXCAZF9ACB67ZG1GDCCD943TVM26767JZ61N6DDBT2W0;2RX5QSGBJM6AJREQWJ7F7JYHJFGZ2YN21D2GRHEM0ZN81H031BR0;0ESHJJARAYBDJKJA9GH83GE2JBVZRCQ3QWXRNF2EFKNPBJQQF380;9BQRMZY6SEZ6HZ90G1ADH8F0C5AMMYWZZ76R6HGG3HSXBQY18BXG 8017c77e38662dcbc183522cc22d69e8f8597e80 TXDJ13D95M0FPPP3KTNE1TTM0DJBMRHVXZ8DBH87M3G2PZDVJ16G -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(). QMSQS2J9BFY1DBSSMFKKQD64G0YNVBH2F56W51FJ0ZWF6Q361R00 FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;WEH0553WYXCAZF9ACB67ZG1GDCCD943TVM26767JZ61N6DDBT2W0;2RX5QSGBJM6AJREQWJ7F7JYHJFGZ2YN21D2GRHEM0ZN81H031BR0;0ESHJJARAYBDJKJA9GH83GE2JBVZRCQ3QWXRNF2EFKNPBJQQF380;9BQRMZY6SEZ6HZ90G1ADH8F0C5AMMYWZZ76R6HGG3HSXBQY18BXG 8017c77e38662dcbc183522cc22d69e8f8597e80 Y6WJ93E7NR8NHX88CE8D4EB00FHTQGX7NHK22S7FMFXRTDRPFR2G -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(). TVZ0GVKJNPWPN5VPC19G3E6G0W9F0G9ACZX8GMQ33RC7NMQZG82G FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;WEH0553WYXCAZF9ACB67ZG1GDCCD943TVM26767JZ61N6DDBT2W0;2RX5QSGBJM6AJREQWJ7F7JYHJFGZ2YN21D2GRHEM0ZN81H031BR0;0ESHJJARAYBDJKJA9GH83GE2JBVZRCQ3QWXRNF2EFKNPBJQQF380;9BQRMZY6SEZ6HZ90G1ADH8F0C5AMMYWZZ76R6HGG3HSXBQY18BXG 8017c77e38662dcbc183522cc22d69e8f8597e80 D2P2J3YV50KRGHYGM47MSX8GDPB15JYP116QRPC5SMQGZEW0QM1G -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(). JFRJCJZ8K7NTY3ZV48BC656RSNRNFC78XWADXW6X934CMHGC1PMG FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;WEH0553WYXCAZF9ACB67ZG1GDCCD943TVM26767JZ61N6DDBT2W0;2RX5QSGBJM6AJREQWJ7F7JYHJFGZ2YN21D2GRHEM0ZN81H031BR0;0ESHJJARAYBDJKJA9GH83GE2JBVZRCQ3QWXRNF2EFKNPBJQQF380;9BQRMZY6SEZ6HZ90G1ADH8F0C5AMMYWZZ76R6HGG3HSXBQY18BXG 8017c77e38662dcbc183522cc22d69e8f8597e80 HW379RM3HG4BBE82NY9EKR5PJ9VHA23VXJNGWNA971NN38HKCNB0 -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(). 0KM2YQTBYJT2JGYCRM115TCH692XGZ8W2W7J3ZPRGQ6ZXWXJBDZ0 FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;WEH0553WYXCAZF9ACB67ZG1GDCCD943TVM26767JZ61N6DDBT2W0;2RX5QSGBJM6AJREQWJ7F7JYHJFGZ2YN21D2GRHEM0ZN81H031BR0;0ESHJJARAYBDJKJA9GH83GE2JBVZRCQ3QWXRNF2EFKNPBJQQF380;9BQRMZY6SEZ6HZ90G1ADH8F0C5AMMYWZZ76R6HGG3HSXBQY18BXG 8017c77e38662dcbc183522cc22d69e8f8597e80 J3G6A6SDFQQRTMMFGH54HKPADEQK2BF7Z35YRZ1VKVYG1TK7H6G0 -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(). T9086Y4HAAQFN7WY3X2MRHKX0WE2AZNDMJQSDTVY80R2SB2ENQQG 0ESHJJARAYBDJKJA9GH83GE2JBVZRCQ3QWXRNF2EFKNPBJQQF380 8017c77e38662dcbc183522cc22d69e8f8597e80 SSFTM65GF4Y04HFF1A79F1MTXKBFVSW0NN1HBZNFZTWJRK734XZ0 -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(). 1QXQ2P7K6SPEGJJER2C96WAJWP219NYXPQ7N1HKBZDQ7FDT7QMZ0 0ESHJJARAYBDJKJA9GH83GE2JBVZRCQ3QWXRNF2EFKNPBJQQF380 8017c77e38662dcbc183522cc22d69e8f8597e80 WCJAQX32SKJ317XT3KFGQY231DBVMDX2WAQKC94AFCS6FZDP9F30 -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(). TZX4ZYTWGRZ3SJC8QPQJY1RFSXM13Z353JZCF73M1KG2TQKB0QN0 0ESHJJARAYBDJKJA9GH83GE2JBVZRCQ3QWXRNF2EFKNPBJQQF380;W2V0JWHYDFTV8XSTFYDD2ZEK9T9RR4XNT87BWF382PN1VXT5XJEG 8017c77e38662dcbc183522cc22d69e8f8597e80 5QQRM02TRSPFQWH3N2GBWXNHMGRSJXXNX1HJ2N6JTT4S1DFX0DHG -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(). 458ZM21CW4F865CFMYZEAKJKSGHHM7E2G3MHVP002XB8RFYDKZA0 - cfbe96bd945d254a6a345105b7b0d203d70a92ff PJD34KGNRK3SYVTJD30QQ0J7JSR7SR65ZD6AYYS7NWDM9BH6A210 -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(). GC9TH9WJ5046BFFDW5MA7NZTNJVRKVCTZHNKJ57V2GQVQ8F5E0Q0 - cfbe96bd945d254a6a345105b7b0d203d70a92ff NFTVQNBX15WMMYRAP425NVDWA8X07FRX1C20D180T0Z1107Z4PXG -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(). JG5T3RTD2C3MWHP1EGMDJ1F0Z96QNJSNRSRC5X917Y6PY3WSDGE0 - cfbe96bd945d254a6a345105b7b0d203d70a92ff 6550PF074N3EYEBEEK56H05W67CE8M3Z64ZSK71GR4CZ29QHY0ZG -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(). R3HCV9FPWMXVR3BHTPR56HJAZ18SHB04YZHVY3XX9K7H0MPZYD00 97M9G3P5MF93SC8P5N236TFJP5HFBV43J8MPX1NR1D1JZDWFK2H0;SA62XC3C0VVRT3N51MAYPH08T3JH2SAJBK74FMC018Q14K1H6V20 cfbe96bd945d254a6a345105b7b0d203d70a92ff D2VPBKCPABJ5KHQY8NCVDE958PECFYGDJ62ZQBDXMVG2E5D4XFK0 -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(). 6XV3BWCGKZ8D5XSFZGD8WSFYQWSS6Q427HQANP2BC2S3PJ8MMZ5G 97M9G3P5MF93SC8P5N236TFJP5HFBV43J8MPX1NR1D1JZDWFK2H0;SA62XC3C0VVRT3N51MAYPH08T3JH2SAJBK74FMC018Q14K1H6V20 cfbe96bd945d254a6a345105b7b0d203d70a92ff 3FFMG10FQC57YTP9TCYQ7RFQAYSZ2Y93R3J5DRM7AW0S6SA6AA00 -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(). R3HCV9FPWMXVR3BHTPR56HJAZ18SHB04YZHVY3XX9K7H0MPZYD00 97M9G3P5MF93SC8P5N236TFJP5HFBV43J8MPX1NR1D1JZDWFK2H0;SA62XC3C0VVRT3N51MAYPH08T3JH2SAJBK74FMC018Q14K1H6V20 cfbe96bd945d254a6a345105b7b0d203d70a92ff P5Y31CX6G7EKD6FA4VGTYSPDVC9T14XY2DT95NZNMA8T0VMWAJC0 -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(). 6XV3BWCGKZ8D5XSFZGD8WSFYQWSS6Q427HQANP2BC2S3PJ8MMZ5G 97M9G3P5MF93SC8P5N236TFJP5HFBV43J8MPX1NR1D1JZDWFK2H0;SA62XC3C0VVRT3N51MAYPH08T3JH2SAJBK74FMC018Q14K1H6V20 cfbe96bd945d254a6a345105b7b0d203d70a92ff E1F91SKY2DESGF6CHT8XVN8FCZS3E54PVRPXE1WJSKQCZA3C31TG -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 2WTD87YF2AXF7NWY8XRCQSYEMSMPW9PKAVHD74SYPPMJD1NARYT0;T9BMBD91MSA5K1A4XX8ZRTJP71JVR14A8C90Y6K03F5G5RE86330;SJD6ENJJWSCCP7WM42MSYSB8GGF250X11QQG3NXP6459NJR7FZ10;CV3ZGV38QY7QS2FYPX0VS5JZ562XK7B1VPR3ZDZ8M70PTH26B590;EG6PAV9FNDEN2D2X41VSG6FPE58HR6EQ5GX2HB7PH4C42WY377JG cfbe96bd945d254a6a345105b7b0d203d70a92ff 6PN2NZ8C6FR43VZMGXF25JAAJQTT80HXEE2G42J09C7Q16EH06RG -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(). DXKXBJWQXQJFDAR81W63YD2J3BC69S9FHX02JVMBA1FAYBB98SVG 2WTD87YF2AXF7NWY8XRCQSYEMSMPW9PKAVHD74SYPPMJD1NARYT0;T9BMBD91MSA5K1A4XX8ZRTJP71JVR14A8C90Y6K03F5G5RE86330;SJD6ENJJWSCCP7WM42MSYSB8GGF250X11QQG3NXP6459NJR7FZ10;CV3ZGV38QY7QS2FYPX0VS5JZ562XK7B1VPR3ZDZ8M70PTH26B590;EG6PAV9FNDEN2D2X41VSG6FPE58HR6EQ5GX2HB7PH4C42WY377JG cfbe96bd945d254a6a345105b7b0d203d70a92ff VF7MWGWPG6DMSXKXN7T77W4CTB6EEYM0TGB9CDH0Y9T99P8FZ9S0 -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 2WTD87YF2AXF7NWY8XRCQSYEMSMPW9PKAVHD74SYPPMJD1NARYT0;T9BMBD91MSA5K1A4XX8ZRTJP71JVR14A8C90Y6K03F5G5RE86330;SJD6ENJJWSCCP7WM42MSYSB8GGF250X11QQG3NXP6459NJR7FZ10;CV3ZGV38QY7QS2FYPX0VS5JZ562XK7B1VPR3ZDZ8M70PTH26B590;EG6PAV9FNDEN2D2X41VSG6FPE58HR6EQ5GX2HB7PH4C42WY377JG cfbe96bd945d254a6a345105b7b0d203d70a92ff B7Z0Z3ZVF2PTGQP2AV8CDC1W0D31CVP6MC30NT24Q2HK5JFD5J50 -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(). 0XQNGE08C0Z5B75GPMXQD6YH7YC8P6R30Y3D6W30VF5FSTP8FQBG 2WTD87YF2AXF7NWY8XRCQSYEMSMPW9PKAVHD74SYPPMJD1NARYT0;T9BMBD91MSA5K1A4XX8ZRTJP71JVR14A8C90Y6K03F5G5RE86330;SJD6ENJJWSCCP7WM42MSYSB8GGF250X11QQG3NXP6459NJR7FZ10;CV3ZGV38QY7QS2FYPX0VS5JZ562XK7B1VPR3ZDZ8M70PTH26B590;EG6PAV9FNDEN2D2X41VSG6FPE58HR6EQ5GX2HB7PH4C42WY377JG cfbe96bd945d254a6a345105b7b0d203d70a92ff KK4VNERSF0XDK9NJKMX1VHVEX40G16CK0EA87HYS8NZVVM3YPFW0 -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(). DXKXBJWQXQJFDAR81W63YD2J3BC69S9FHX02JVMBA1FAYBB98SVG JWAM8NRJCT3Y6JHANFTR6TBY7KNHBHBRZQNKETHMZNDSWVA1TQN0;SCTPBHM1P824615Z9SQPKHMK2CWA8DDGW2CE6H6EH1HW39VX3X9G;ZSFM3ZD5XDZQ2KRTME19FM42MMDH8GCVR49YZ358JEV0ACA7PD10;SJD6ENJJWSCCP7WM42MSYSB8GGF250X11QQG3NXP6459NJR7FZ10 cfbe96bd945d254a6a345105b7b0d203d70a92ff JMZ8NWY6M2YMPCZ97YV292T2NHXCJX0DQSFK0WQHP6AJFBPQ4DH0 -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(). HDH1YWCGVRNVS2FGY3ZDVV19M5V32M9749HSW56XEY872DJ4AN20 JWAM8NRJCT3Y6JHANFTR6TBY7KNHBHBRZQNKETHMZNDSWVA1TQN0;SCTPBHM1P824615Z9SQPKHMK2CWA8DDGW2CE6H6EH1HW39VX3X9G;ZSFM3ZD5XDZQ2KRTME19FM42MMDH8GCVR49YZ358JEV0ACA7PD10;SJD6ENJJWSCCP7WM42MSYSB8GGF250X11QQG3NXP6459NJR7FZ10 cfbe96bd945d254a6a345105b7b0d203d70a92ff JWW07DYD9M733JR7MB4NF0XFVMZPJ0HT6AT4QDH38TZ9YCK720KG -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(). KXJJRGM14DVH2AFBETME5D04ZQ4GHQJVXZTHZ01STTK6XD4DM6M0 JWAM8NRJCT3Y6JHANFTR6TBY7KNHBHBRZQNKETHMZNDSWVA1TQN0;SCTPBHM1P824615Z9SQPKHMK2CWA8DDGW2CE6H6EH1HW39VX3X9G;ZSFM3ZD5XDZQ2KRTME19FM42MMDH8GCVR49YZ358JEV0ACA7PD10;SJD6ENJJWSCCP7WM42MSYSB8GGF250X11QQG3NXP6459NJR7FZ10 cfbe96bd945d254a6a345105b7b0d203d70a92ff HM9SWQJD976JN4XFA13GW2DNG53TXF5X59FZQ6VHFEKMCWSP9HQG -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(). 34T8SXCD3AHQ5RFQ1E5R7BSHDANGBCE9HAMM1G1MR3XE3X6S6FR0 G47AZME042SCS0FSEA8HT1NPQC41KF30PGWTDD1MFJFKB8X7MG4G cfbe96bd945d254a6a345105b7b0d203d70a92ff QHDQDP6Y0GBACNEFK0EQ5GZNBF4ZKZ2PVAQ836P87TEKXRKWRAS0 -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(). 0QXQV58SMM9FJPGG77DJXAV14D55JX2QXZ9X494E2WS2N5TPHAEG - cfbe96bd945d254a6a345105b7b0d203d70a92ff 5HW8BEABJJFN8KDDWJGSZBRZDNJYQH3KEPRSZEKYS6A8QFM3Q5JG -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(). GC9TH9WJ5046BFFDW5MA7NZTNJVRKVCTZHNKJ57V2GQVQ8F5E0Q0 - cfbe96bd945d254a6a345105b7b0d203d70a92ff 40QB7PWWA9NS6S7ZYAKW0P0959MSRQGKXX9A3X31D6KVVH1QB710 -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(). JG5T3RTD2C3MWHP1EGMDJ1F0Z96QNJSNRSRC5X917Y6PY3WSDGE0 - cfbe96bd945d254a6a345105b7b0d203d70a92ff E47BFW7DRMTYFXMMJGFYE6EPJVA0434VVDFR7FM8S18QEQPZ0QTG +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(). ANPA221M1BF6AXS8VMQ3C636R64RJN5484WDMW5ZEBK4D334AXD0 SH9VEZN611S2AZ0A6E56A5RGCXKJEDHXVYBFYSCD616FZ38GNA6G ce886f76a5e286da655c719bad2a55cc72f93d86 3T0G1ASDM64VG3WKAJHAARC4AQ1XTXDHZN1RJMM8JP8NP5YPWXCG +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(). QFJJK7E3DEEDG3RDEF1ZSKNFB2QPTRVYBHWAH5F8JRX3P3ES7NKG - ce886f76a5e286da655c719bad2a55cc72f93d86 KSNHWX0ZQKND7HHS3XDR8TD7B1X4ZND3JVVGKC7F133BFD25C4AG +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(). FVDNCMP9C2C1QR3DPFRZ2Y924S4SV1M5CVQ31B505WHD5JWSMQDG - ce886f76a5e286da655c719bad2a55cc72f93d86 JAXEQQCK9AXAGSRNH5NZ22RKGDE9VJGTM2GJGXBYQJ924863S9AG +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(). ZV0WVGKHDJ21ZM78VHFSJM2ZFHEKTPTEPP0JPCC9TPWJVJH1EGRG 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;402NFSW62Y6J1QG8BQTJEWGCFKF10R7SHQ263QTZT5V4NZQABPZG;CPCZWFJX7CVDKFM74BMV3F2ATK35KB6FB4KNKZHT7HQS9F8HD730;D9K9AFEQVEHHSQVW8H0FBXRSYP3X4QHKTB9GSZDKK37P43BM1NSG;HBGMRWYPA6S2DR9TF0STPTD4TGAKDG2T02ESRCYS73EYQFZA7JA0 ce886f76a5e286da655c719bad2a55cc72f93d86 QG6FKT436E76E1S15ZQV9P13JJKDAVF1024XKNZ51PFWGDQZGH50 +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(). FY54JSMFMKA0Y2ETBZGPJEQASFMYE2XPM8FXMXE330Z1QKKX13A0 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;402NFSW62Y6J1QG8BQTJEWGCFKF10R7SHQ263QTZT5V4NZQABPZG;CPCZWFJX7CVDKFM74BMV3F2ATK35KB6FB4KNKZHT7HQS9F8HD730;D9K9AFEQVEHHSQVW8H0FBXRSYP3X4QHKTB9GSZDKK37P43BM1NSG;HBGMRWYPA6S2DR9TF0STPTD4TGAKDG2T02ESRCYS73EYQFZA7JA0 ce886f76a5e286da655c719bad2a55cc72f93d86 YT2QM6YT8CHHA8YJ9BHYWA4RKP3MTSARWFSMR3ZTXF8JP5CNW620 +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(). 8T9PSWP4B651FC8YDR9S1CEX9481W43PSR0D15CWFT14XD23ARX0 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;402NFSW62Y6J1QG8BQTJEWGCFKF10R7SHQ263QTZT5V4NZQABPZG;CPCZWFJX7CVDKFM74BMV3F2ATK35KB6FB4KNKZHT7HQS9F8HD730;D9K9AFEQVEHHSQVW8H0FBXRSYP3X4QHKTB9GSZDKK37P43BM1NSG;HBGMRWYPA6S2DR9TF0STPTD4TGAKDG2T02ESRCYS73EYQFZA7JA0 ce886f76a5e286da655c719bad2a55cc72f93d86 Q9A4VMY0PBHH25EPAXJYHPWW2RCQ4BV2AX07W6Q147VHQ44WB49G +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(). BC78KN8ZV330B48J9SFFSAHVV89AA0MBVMKKCT78A5BKX4P4XG30 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;402NFSW62Y6J1QG8BQTJEWGCFKF10R7SHQ263QTZT5V4NZQABPZG;CPCZWFJX7CVDKFM74BMV3F2ATK35KB6FB4KNKZHT7HQS9F8HD730;D9K9AFEQVEHHSQVW8H0FBXRSYP3X4QHKTB9GSZDKK37P43BM1NSG;HBGMRWYPA6S2DR9TF0STPTD4TGAKDG2T02ESRCYS73EYQFZA7JA0 ce886f76a5e286da655c719bad2a55cc72f93d86 361RKZJT7JJARJXXRAYZG9A5WXQXVZG78MKQ9G2M5XR2ZNCF560G +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(). DVDXWFAX6MXZZMV702539J01G5TF3PTF9ARR0G749ZY9X7HP9ZPG 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;402NFSW62Y6J1QG8BQTJEWGCFKF10R7SHQ263QTZT5V4NZQABPZG;CPCZWFJX7CVDKFM74BMV3F2ATK35KB6FB4KNKZHT7HQS9F8HD730;D9K9AFEQVEHHSQVW8H0FBXRSYP3X4QHKTB9GSZDKK37P43BM1NSG;HBGMRWYPA6S2DR9TF0STPTD4TGAKDG2T02ESRCYS73EYQFZA7JA0 ce886f76a5e286da655c719bad2a55cc72f93d86 KMYHQZTF39QSYWVHTZAYWFBV0RDH6YPS5P8VREH4Z691TH4HATW0 +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(). WXSY6G853S591VHTJ28EQDPYRQDY8X6K7KY95VBKW557DHQ5VMY0 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;402NFSW62Y6J1QG8BQTJEWGCFKF10R7SHQ263QTZT5V4NZQABPZG;CPCZWFJX7CVDKFM74BMV3F2ATK35KB6FB4KNKZHT7HQS9F8HD730;D9K9AFEQVEHHSQVW8H0FBXRSYP3X4QHKTB9GSZDKK37P43BM1NSG;HBGMRWYPA6S2DR9TF0STPTD4TGAKDG2T02ESRCYS73EYQFZA7JA0 ce886f76a5e286da655c719bad2a55cc72f93d86 N0SC4WS1G9WR98WP9EPC9JAN0W2V67DQRMAQK3Q77AS3JFHJAS1G +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(). 3GMA959SDX90F583XSS38KQH9FQQ4XSB77EN9F73S55A8KRXSYR0 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;402NFSW62Y6J1QG8BQTJEWGCFKF10R7SHQ263QTZT5V4NZQABPZG;CPCZWFJX7CVDKFM74BMV3F2ATK35KB6FB4KNKZHT7HQS9F8HD730;D9K9AFEQVEHHSQVW8H0FBXRSYP3X4QHKTB9GSZDKK37P43BM1NSG;HBGMRWYPA6S2DR9TF0STPTD4TGAKDG2T02ESRCYS73EYQFZA7JA0 ce886f76a5e286da655c719bad2a55cc72f93d86 MA4R0QYBDP0EKRNG61ZNZ4WVE3HNXVXSKJ1NEEQ5ESMSKTJ45RZG +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(). AD4DQZE98H6NTET0SAD9QB6987YDGCVZNHQVB72SSDJ0NWBDAW3G 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;402NFSW62Y6J1QG8BQTJEWGCFKF10R7SHQ263QTZT5V4NZQABPZG;CPCZWFJX7CVDKFM74BMV3F2ATK35KB6FB4KNKZHT7HQS9F8HD730;D9K9AFEQVEHHSQVW8H0FBXRSYP3X4QHKTB9GSZDKK37P43BM1NSG;HBGMRWYPA6S2DR9TF0STPTD4TGAKDG2T02ESRCYS73EYQFZA7JA0 ce886f76a5e286da655c719bad2a55cc72f93d86 0QV458ANCRM3YZRBRXK2GJVH3SGRQG24KS0BK3JEWY4DMMGGGZZ0 +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(). BC78KN8ZV330B48J9SFFSAHVV89AA0MBVMKKCT78A5BKX4P4XG30 D9K9AFEQVEHHSQVW8H0FBXRSYP3X4QHKTB9GSZDKK37P43BM1NSG ce886f76a5e286da655c719bad2a55cc72f93d86 EF9EQFPDAB3803YN46ANF13C1R3BVY4V875JDB6JM3M8ZREZR500 +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(). KP50PPC4JHFQPQREP2YPTYXV0KVK14K899VYX3MH1J3X2Y25AR90 D9K9AFEQVEHHSQVW8H0FBXRSYP3X4QHKTB9GSZDKK37P43BM1NSG ce886f76a5e286da655c719bad2a55cc72f93d86 4H8G9ERMBPS4NB86A7RPZ0JHBMC47SJA16MEQ5BEMJ5TEQRFEA5G +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(). NQ38GM19QJYS0VMD9PTP46KPEPXK5MPKV44Q337VVSZ448FSCPP0 D9K9AFEQVEHHSQVW8H0FBXRSYP3X4QHKTB9GSZDKK37P43BM1NSG;9BB9A6KS14HG4N6X7NWYYE5Z5XGN62028S05CN9AWZX51QJ7J9YG ce886f76a5e286da655c719bad2a55cc72f93d86 AATSPEN9ATWBMSWK12EVZP5M64W967F97RR1H5ZPW6RAA8V86K5G +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(). YBA090VNWJHC45RZ5FZFDSDERBF3KAP5M2GFKNWQPWF0C4K32M4G - ce886f76a5e286da655c719bad2a55cc72f93d86 NWSNFANZHFHS0Q45Q7TPG8EC7V4CKKCN3679ABHH4QP3WQRM2N3G +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(). FVDNCMP9C2C1QR3DPFRZ2Y924S4SV1M5CVQ31B505WHD5JWSMQDG - ce886f76a5e286da655c719bad2a55cc72f93d86 VQRW8K1ZJJNDNJB2406H6B1Q5TCE5C348DFYNRVWYY5ETSWPA7M0 +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(). RJH4NKJ4XA2PC9VG0M6KDZRZA5AMRGF5XPFWJYKY7QB9M7GK35T0 - ce886f76a5e286da655c719bad2a55cc72f93d86 0RHHHYTGANEM91DCG8WWFA3JY6MN0R5Z9HHXWYZHVVPXPJPKEYYG +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(). F0N3RYSS5QM1XHQ1N5P3SS5197X5258SY4KD08423JEVFRY880RG 2G3MZ6XR775QCEKBX1ESNEB0V69KAHMF5D2GWDYB0Y2478GFK2GG;X32R7VMSNGJ8GMKY1BY9CWPDWJ3811DTPD1GM3CVK1M1PEDFRQYG ce886f76a5e286da655c719bad2a55cc72f93d86 TM3Z0RDJRJSXZ8FSBZGZ8EMX1EJC1CSS8CZ95V4ZSY9RYQV6ABDG +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(). MC5KG02E4BSGPTMA4PS6NHYZB0Z0S01J8JA503YMSHVZ75E9XRX0 2G3MZ6XR775QCEKBX1ESNEB0V69KAHMF5D2GWDYB0Y2478GFK2GG;X32R7VMSNGJ8GMKY1BY9CWPDWJ3811DTPD1GM3CVK1M1PEDFRQYG ce886f76a5e286da655c719bad2a55cc72f93d86 1B4NYSXFZVYZ26KZR0XRDSZG4PT843MKPF0Z5TQZ804512PQ2YZ0 +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(). F0N3RYSS5QM1XHQ1N5P3SS5197X5258SY4KD08423JEVFRY880RG 2G3MZ6XR775QCEKBX1ESNEB0V69KAHMF5D2GWDYB0Y2478GFK2GG;X32R7VMSNGJ8GMKY1BY9CWPDWJ3811DTPD1GM3CVK1M1PEDFRQYG ce886f76a5e286da655c719bad2a55cc72f93d86 50KWM83NTN7V5P7TP389SGMC0S3FRZ4KA8DF4ZM44JN8BD2JSSSG +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(). MC5KG02E4BSGPTMA4PS6NHYZB0Z0S01J8JA503YMSHVZ75E9XRX0 2G3MZ6XR775QCEKBX1ESNEB0V69KAHMF5D2GWDYB0Y2478GFK2GG;X32R7VMSNGJ8GMKY1BY9CWPDWJ3811DTPD1GM3CVK1M1PEDFRQYG ce886f76a5e286da655c719bad2a55cc72f93d86 H9FDAFSRHCZZQYE4KM14Y71MB9BAZACMNED7FH7ETCCGQ784KDZG +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 12D8QPHVPKHXW8TFQM7M89JKTYNXY3RF0NR4RS42G9JRCY8Y0QM0;917KNPKJPCSGCBGW5J0M991D2RZABVVYQZESRNB26XVPW3VKY2SG;390QYXHKNT1CAKF3Q8Y0VJGV3ZHTFHTFF9XZY14V6QTCJQP0VYYG;DWYNQ56KXYMEKSK8SK895S4W9PFYJ5GB9P39RKPSZJWYC2H031GG;3ZGDJ0B3ZAW3G52MX5X0Q9PTBY6BSPGZ53AP41T69B1NVDZKWQGG ce886f76a5e286da655c719bad2a55cc72f93d86 RNBEWP363DHS8W06GHXEHT90H6V16Q2K53YKDYE1GZH7YER8XK1G +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(). 38YMKZ30XN2G1RHWAYZSBK27PNJ63NTKQHAZ8V0D2T4BZMXW62ZG 12D8QPHVPKHXW8TFQM7M89JKTYNXY3RF0NR4RS42G9JRCY8Y0QM0;917KNPKJPCSGCBGW5J0M991D2RZABVVYQZESRNB26XVPW3VKY2SG;390QYXHKNT1CAKF3Q8Y0VJGV3ZHTFHTFF9XZY14V6QTCJQP0VYYG;DWYNQ56KXYMEKSK8SK895S4W9PFYJ5GB9P39RKPSZJWYC2H031GG;3ZGDJ0B3ZAW3G52MX5X0Q9PTBY6BSPGZ53AP41T69B1NVDZKWQGG ce886f76a5e286da655c719bad2a55cc72f93d86 1TXWQ1P4QDDR861S8G8X65NQRG7S4CQKQD2JSA23HCE197H04DGG +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 12D8QPHVPKHXW8TFQM7M89JKTYNXY3RF0NR4RS42G9JRCY8Y0QM0;917KNPKJPCSGCBGW5J0M991D2RZABVVYQZESRNB26XVPW3VKY2SG;390QYXHKNT1CAKF3Q8Y0VJGV3ZHTFHTFF9XZY14V6QTCJQP0VYYG;DWYNQ56KXYMEKSK8SK895S4W9PFYJ5GB9P39RKPSZJWYC2H031GG;3ZGDJ0B3ZAW3G52MX5X0Q9PTBY6BSPGZ53AP41T69B1NVDZKWQGG ce886f76a5e286da655c719bad2a55cc72f93d86 V8SK7NXD4BXZYKDJEENGKPPXSW7F3GJ46GZZ89Y2GWXA0N0BB8J0 +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(). 5HYB6RQ8TS7GX9E8AQJ6YH11EYDJV8PTEHVWWWSVTMJBBY39D0A0 12D8QPHVPKHXW8TFQM7M89JKTYNXY3RF0NR4RS42G9JRCY8Y0QM0;917KNPKJPCSGCBGW5J0M991D2RZABVVYQZESRNB26XVPW3VKY2SG;390QYXHKNT1CAKF3Q8Y0VJGV3ZHTFHTFF9XZY14V6QTCJQP0VYYG;DWYNQ56KXYMEKSK8SK895S4W9PFYJ5GB9P39RKPSZJWYC2H031GG;3ZGDJ0B3ZAW3G52MX5X0Q9PTBY6BSPGZ53AP41T69B1NVDZKWQGG ce886f76a5e286da655c719bad2a55cc72f93d86 30S6FM11ZYJ12BFKT0SJHR2N2J8JFRYDB5G4TAZ45V2BBQG4STE0 +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(). 38YMKZ30XN2G1RHWAYZSBK27PNJ63NTKQHAZ8V0D2T4BZMXW62ZG ANC7MV51PE0NYX12YK2M59Z52D7XDKZTZPQR4JF95YRCFK5Y4A5G;VR17CAB9NAVK5HYA2PGHTMZBDST5XP0EMY2NNEJQ7WVFDFFNGAZG;3EGKG4HP5WXDRY4WRDWW2BN2FFYSXGKQNZS2F5YT3HQJR438573G;390QYXHKNT1CAKF3Q8Y0VJGV3ZHTFHTFF9XZY14V6QTCJQP0VYYG ce886f76a5e286da655c719bad2a55cc72f93d86 24KME9G03QN0JXBS8DYFG2Y21QH94GMX6GQ6J6XQ8XRZY0D8R160 +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(). DSGF1BJDZEMRJV87HASZSQKR20Y61A8GA4YRPXHHEPZ7GCDYB3H0 ANC7MV51PE0NYX12YK2M59Z52D7XDKZTZPQR4JF95YRCFK5Y4A5G;VR17CAB9NAVK5HYA2PGHTMZBDST5XP0EMY2NNEJQ7WVFDFFNGAZG;3EGKG4HP5WXDRY4WRDWW2BN2FFYSXGKQNZS2F5YT3HQJR438573G;390QYXHKNT1CAKF3Q8Y0VJGV3ZHTFHTFF9XZY14V6QTCJQP0VYYG ce886f76a5e286da655c719bad2a55cc72f93d86 7ECZ3Z1N0Z79DW472PKJ9D7QA5AKPHW1FJRB2BP2D4WC6A77B620 +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(). KBT34V5JF2FAV0NBDH5R924JYD458JQG2BZ343NR4F7JS0N97BN0 ANC7MV51PE0NYX12YK2M59Z52D7XDKZTZPQR4JF95YRCFK5Y4A5G;VR17CAB9NAVK5HYA2PGHTMZBDST5XP0EMY2NNEJQ7WVFDFFNGAZG;3EGKG4HP5WXDRY4WRDWW2BN2FFYSXGKQNZS2F5YT3HQJR438573G;390QYXHKNT1CAKF3Q8Y0VJGV3ZHTFHTFF9XZY14V6QTCJQP0VYYG ce886f76a5e286da655c719bad2a55cc72f93d86 F7N8RP0XV5QZHYJVNTFPPND8151986TP2NGC8Y6Z2JNB4NKFSMRG +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(). ANPA221M1BF6AXS8VMQ3C636R64RJN5484WDMW5ZEBK4D334AXD0 SH9VEZN611S2AZ0A6E56A5RGCXKJEDHXVYBFYSCD616FZ38GNA6G ce886f76a5e286da655c719bad2a55cc72f93d86 N5FE5RJQM5JFA9W0XXBMFA4YQ0QS68NHGQ5Q44TFXG1SVCRBBDAG +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(). NJCXWRBS7REK8ERVGGWF4FQG21ZSMQZWBR41V7608XZFBCY6FS5G - ce886f76a5e286da655c719bad2a55cc72f93d86 RTXNG309KTK5M3PR537JY4PC6Z0CXXAVVD2X2RFYTH1JHTGPCB20 +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(). FVDNCMP9C2C1QR3DPFRZ2Y924S4SV1M5CVQ31B505WHD5JWSMQDG - ce886f76a5e286da655c719bad2a55cc72f93d86 13NNEE3G4DH7G786ZRNGQZ1T38B269GKY1AZP7KBD57WE494JQ90 +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(). RJH4NKJ4XA2PC9VG0M6KDZRZA5AMRGF5XPFWJYKY7QB9M7GK35T0 - ce886f76a5e286da655c719bad2a55cc72f93d86 SYH6GJB4CVKD5DQGXKPAYDYJM0NECBFGA2M2GH7M7MR4AET3C37G 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(). JG5T3RTD2C3MWHP1EGMDJ1F0Z96QNJSNRSRC5X917Y6PY3WSDGE0 PQE60K0VE6BFE22FGT3PE7DXRZ12RWX1CTQCJNQ4333CGYCQKGT0 cfbe96bd945d254a6a345105b7b0d203d70a92ff MB9KVPPAA8SM15V6HBY57SBR5D53F8P8MRXY6FX7E7XAX4YA1SC0 -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(). AC4F89G472G42RC41N5YHBZ84W0KE53TANP7EVY31B4XW5MWRPY0 57AZD0VFWR5J3VATAZVGRJMNAZXPJCWFKQ9J6V81S4JB69R151J0;B4N4KPK6M91RQJWH017XN3639H85A9CA64Q8A5Z81HE77NNPKEFG cfbe96bd945d254a6a345105b7b0d203d70a92ff 5CKE4NQE44BD67WB5K4068DFH60ENKW7DTED1CHGKZRHHCK77H60 -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(). V782TVQ8QNQE9FCV3X4HNYYQ3V6MKKT2NV0K4EJAYSXRRDYT9BPG - cfbe96bd945d254a6a345105b7b0d203d70a92ff DATDR7QQVZYJ5JWBCVHFN0X6XN3FBH3DYJJ8KM38RAM4NG8WPV60 -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(). HZD1VT6WPG00CBDZZJW975F08JS2X2GESVR92QGW13H3KNVGXF4G - cfbe96bd945d254a6a345105b7b0d203d70a92ff 98AN3ED3NFF33T6NB8NDS8YD9KKYVZ16JF4P8XJGN6W4FWRYQ890 -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(). 4SZ0TK96VA7RJYXG807J512W0VXX4J740RP72V5MS20FBE5V7K3G 57AZD0VFWR5J3VATAZVGRJMNAZXPJCWFKQ9J6V81S4JB69R151J0;RD87BD7DFFWM18CY83770CTWW18JPJXRN7SXPJ4D6MAGSDV29B40 cfbe96bd945d254a6a345105b7b0d203d70a92ff ZFJRMVZV4QPG7TVP77D5GSQFP12K16ZV17FZBXXADMNW7R419RJ0 -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(). AC4F89G472G42RC41N5YHBZ84W0KE53TANP7EVY31B4XW5MWRPY0 57AZD0VFWR5J3VATAZVGRJMNAZXPJCWFKQ9J6V81S4JB69R151J0;RD87BD7DFFWM18CY83770CTWW18JPJXRN7SXPJ4D6MAGSDV29B40 cfbe96bd945d254a6a345105b7b0d203d70a92ff 11F0EBMHCP57AYNHMQPR18HFM3Q946XZRZYP9BHGGDRPJDYWZ100 -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(). QR8XGEBJKJJVDTWDK3W4XE38WJYPXNXDP2N1XX12ZPJ7ZA4QCSZ0 F0D92TYHM8F8J7M5B7NK19GD2DHMRRQAFWN29KC2SCT6FXZXAPPG cfbe96bd945d254a6a345105b7b0d203d70a92ff FQ9XBMGM6B0XF05NGWM7S03MV1ZRCEA46180M0794YYCHKK96QBG -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(). QEF1W5H1MXKTZ03R35YM9MYQR6CWEWX4RVQYYV7BBFQJ9KADC290 Q3H5WK05X3XGTCZNV6VS2J4C1NREXQK6FGPHADPZR1Y8V35HQG80 cfbe96bd945d254a6a345105b7b0d203d70a92ff 2Y4WTZ55XP10QTVS4ZMYCARNBSXC7RJKSYTTM2NDPNEFJQ79W1RG -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(). HDN7DNT8GVGPGXZJR2BQHD47D1R6GP0XB7V52N2R80Y6WSTH81J0 H9S8TXH6NF7D39QYFTNZ22F78K1ME9WBK2BNPBWWZEZ8QRSYFY3G cfbe96bd945d254a6a345105b7b0d203d70a92ff P8Z9NQRZCBG6CB69Q7X30QZJANY2JAD3DQSMP86P1FNADY4XJ42G -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(). NXPVBP3WJNSJNKDT6K4DTB4P6XYXPN68E8GA90FXJXEVP4RKHQA0 H9S8TXH6NF7D39QYFTNZ22F78K1ME9WBK2BNPBWWZEZ8QRSYFY3G cfbe96bd945d254a6a345105b7b0d203d70a92ff N5GXHC71K61S1YRNHG24XYDYRGZNCM7854B2M13TC7JFMXS4WZDG -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(). 3SHKR4JFAYW352ACFQ8R1HGG8S2PR0EXKQX1GHWTN7MJ3EMJPD8G 1TXGDK0462PKJ58JPWZADAK4FXK9QHJDQ3EADAZYX34PAK5GMN5G;9YH2E04YH0ASQ0CMG9MVWRQH6JKA1NNR6PPVBYZZF338F5XHAQV0 cfbe96bd945d254a6a345105b7b0d203d70a92ff R4SYS5P5BWE5XHMPARZECS51GXR1YFR94KCK1W44KQ99Y0CE21MG -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(). 9YX51QHB3NXBTBQFV1DHCMJS9G6A3W6GBDH0HCMV0Z95ZM8QG8C0 1TXGDK0462PKJ58JPWZADAK4FXK9QHJDQ3EADAZYX34PAK5GMN5G;9YH2E04YH0ASQ0CMG9MVWRQH6JKA1NNR6PPVBYZZF338F5XHAQV0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 5NC6X4338QM9HCTHPZSC8W0R0JBASE9T02GDAGCS5FBK0AXJA860 -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(). 3SHKR4JFAYW352ACFQ8R1HGG8S2PR0EXKQX1GHWTN7MJ3EMJPD8G GC3RN0D7T9CTY4X84DTBHF5B6C9K4K543G1Y2T32YBZDGMNMXNF0;H9HXP0C9DHHGK6ZND0HCNSD44M0RXY44MH55EK4PG8E3WD68MRC0;0YC42Z6CB091ZDHY4RRFJVKVA1BY6SGY1DBRQDYYPMEKHMDJH6Q0;W5XHQGTPF06XBD0S7S1QHKX9CSMBTY1Y7NDA6YXTCPNV7SQ61QJ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff SWMXTF378RQPNRKH97WS0HYBCD6C2G0TF0E29HPYHJ6HAD0YFNV0 -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(). 9YX51QHB3NXBTBQFV1DHCMJS9G6A3W6GBDH0HCMV0Z95ZM8QG8C0 GC3RN0D7T9CTY4X84DTBHF5B6C9K4K543G1Y2T32YBZDGMNMXNF0;H9HXP0C9DHHGK6ZND0HCNSD44M0RXY44MH55EK4PG8E3WD68MRC0;0YC42Z6CB091ZDHY4RRFJVKVA1BY6SGY1DBRQDYYPMEKHMDJH6Q0;W5XHQGTPF06XBD0S7S1QHKX9CSMBTY1Y7NDA6YXTCPNV7SQ61QJ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff HRWHEEGYY70J5C9KD9Z07S135EDN5PZYAFF6DX84GG421VZJWQ1G -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(). QWNGMM2CYRBEGAFF74VHSM5MSSV8C2PKBGSRZ1ABZEBNYNSWJQ20 G224Y8FEKW2PRW3YXK9MMWCFMHSCAB9QH1XHHNSRK8BRWMY7ZBKG;H4N6RAPJHJYZYZ6BEK8VCGCP2S3EX475ZY99REHEY26QCXF67MQG;1TXGDK0462PKJ58JPWZADAK4FXK9QHJDQ3EADAZYX34PAK5GMN5G cfbe96bd945d254a6a345105b7b0d203d70a92ff WN68MSZT77J1MNX7R7KGNV7HZ25VX2WE13PC956TE7CNE81503W0 -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(). G4MKKB2RXKRVVZCV8F12ZAE66MXM082R4CD06C8W57ZSH4XKXQE0 G224Y8FEKW2PRW3YXK9MMWCFMHSCAB9QH1XHHNSRK8BRWMY7ZBKG;H4N6RAPJHJYZYZ6BEK8VCGCP2S3EX475ZY99REHEY26QCXF67MQG;1TXGDK0462PKJ58JPWZADAK4FXK9QHJDQ3EADAZYX34PAK5GMN5G cfbe96bd945d254a6a345105b7b0d203d70a92ff 3HAYN8S9JMXTNW8E6FKKG8CPFYW7KQMMFBEHXXG4BWKFR08T2H2G -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(). H86YEG228VN3MWE5Q3KZYDADRGK9N8BYNG8HEKMZ9QQ1BJ0RYCH0 G224Y8FEKW2PRW3YXK9MMWCFMHSCAB9QH1XHHNSRK8BRWMY7ZBKG;H4N6RAPJHJYZYZ6BEK8VCGCP2S3EX475ZY99REHEY26QCXF67MQG;1TXGDK0462PKJ58JPWZADAK4FXK9QHJDQ3EADAZYX34PAK5GMN5G cfbe96bd945d254a6a345105b7b0d203d70a92ff 106065N136BGP6XT25RD6ZS21Q7ZQNVBYK1YHTBRMJ0ED702T5D0 -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(). 3SHKR4JFAYW352ACFQ8R1HGG8S2PR0EXKQX1GHWTN7MJ3EMJPD8G B9MP3FPGRK3FQQ669WKRHSKK8WSC28XAMPEBJA6G1YMD9SF08NGG;W5XHQGTPF06XBD0S7S1QHKX9CSMBTY1Y7NDA6YXTCPNV7SQ61QJ0;0ETZZ4NTVXBPV16HS6AYJQZJN45ZZBBYB38F84GBHXA47021VZ6G cfbe96bd945d254a6a345105b7b0d203d70a92ff T13X50992Y751VJJHME05ZYW3H57FYMD6CH2950JF6TCF28M8R20 -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# 3EP5594KSE3806DV6VF17B1GKE16NPEZ6QHDSFF7VYKFM0Y4VHK0 B9MP3FPGRK3FQQ669WKRHSKK8WSC28XAMPEBJA6G1YMD9SF08NGG;W5XHQGTPF06XBD0S7S1QHKX9CSMBTY1Y7NDA6YXTCPNV7SQ61QJ0;0ETZZ4NTVXBPV16HS6AYJQZJN45ZZBBYB38F84GBHXA47021VZ6G cfbe96bd945d254a6a345105b7b0d203d70a92ff 1HSPBB1X2KDCSM4664FM1GPDCEMKCKFFYEQH488C3XHA34CFHZ80 -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(). JE70DQPJAF19BP2G3R7WWP9BVN8BTHT70MB1H8F28Q2B6BQNVNZ0 0R9T7C1VJMSW6W5RFHK4JGQTKXYX3TSG6MSHK8G389RDP1SMZRRG;C2C5B0XBZ0WV02GNJJCT0JCVACKGQBJR74C7K1AZ4SWX4CSXA2BG;NDY4N0ZS1QKFQ16QJE50WWBSZXW9TB4TDNNJ54WWJ0QA1RX0HP40 8017c77e38662dcbc183522cc22d69e8f8597e80 3KNNEMZG2DFMCMFM0P9A1P39CVM6NPXQNY2GKFKZBF823S0PRNJG -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(). GHE08130S6Y1JFGC4B7R7RM3TDHEJXPE24AAG4DBE53X2PVK9J60 0R9T7C1VJMSW6W5RFHK4JGQTKXYX3TSG6MSHK8G389RDP1SMZRRG;C2C5B0XBZ0WV02GNJJCT0JCVACKGQBJR74C7K1AZ4SWX4CSXA2BG;NDY4N0ZS1QKFQ16QJE50WWBSZXW9TB4TDNNJ54WWJ0QA1RX0HP40 8017c77e38662dcbc183522cc22d69e8f8597e80 5TP6PFT7WE24Z5ZP5F52NQA26KPXGWWRBYB2PP1BP4X0VBSNFT20 -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(). JP8YV0GD2H9EPGDPH5D7RY33Y850Y2Y95RJ3ZKKE3ND1014GBC80 0R9T7C1VJMSW6W5RFHK4JGQTKXYX3TSG6MSHK8G389RDP1SMZRRG;C2C5B0XBZ0WV02GNJJCT0JCVACKGQBJR74C7K1AZ4SWX4CSXA2BG;NDY4N0ZS1QKFQ16QJE50WWBSZXW9TB4TDNNJ54WWJ0QA1RX0HP40 8017c77e38662dcbc183522cc22d69e8f8597e80 RCQWW5T7XBA7Y2RE95EJKA1RWCP7TTKWZW394TPDQWQ89H6F550G -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(). NKW399XRDPPC69NVMF8BKS95ZFE5EYJQN0Y8TZFN11RTNY80BDWG J4K0M1YYNCM5JJDJS2WRXRV73Q2H0TXWDX4121BM14J4F3J5ENT0;VFNE13H57PB9S9PQE7YXY4BCWVEK7128VVZNT069A19V209M1AA0 8017c77e38662dcbc183522cc22d69e8f8597e80 RJP265N4W8MHKV8XA7MZ7HJ5PF9SYJ0X3GJKK2PH9RMBGZ3FJ1AG -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(). RSDZV73VYHEWPS6GQFQYFSY8MAM9PKY3HZK3B2A1DG29TJ2GMNAG J4K0M1YYNCM5JJDJS2WRXRV73Q2H0TXWDX4121BM14J4F3J5ENT0;VFNE13H57PB9S9PQE7YXY4BCWVEK7128VVZNT069A19V209M1AA0 8017c77e38662dcbc183522cc22d69e8f8597e80 RM491WNH4PC7WZEE7MSK6YCZY3XGWR5NKKW2AKMYZ5134M1HN63G -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(). PCJZC38MYPF50KYJKFSE40QSPBGVRHATTFPMXBJPEQX9CGGSZM4G J4K0M1YYNCM5JJDJS2WRXRV73Q2H0TXWDX4121BM14J4F3J5ENT0;VFNE13H57PB9S9PQE7YXY4BCWVEK7128VVZNT069A19V209M1AA0 8017c77e38662dcbc183522cc22d69e8f8597e80 BR6VXDJXEGMPW92WBRW10H96K51Y6JY3YDSJRESB9QJNR2YHCG90 -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 ECQ0J54F7ZFF63N2T6KKS2311WC1Q4KR0JV4HKM12YPVZVXZQW8G;9FQGYFCQX6TPC654QQGDPQ9150RRBNVT1C03JGV84EMPMJKGR9DG cfbe96bd945d254a6a345105b7b0d203d70a92ff VY6Z5FKB4HW91KPEZBB9BVK5GVY6Q8RGCWZ2KTG5ENE0Y3RCYKZ0 -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(). SE9RRSPG7BYVE8JWT4JZTEDA9T1SNZJBJGM5F1NGWCMFSW6NFV40 ECQ0J54F7ZFF63N2T6KKS2311WC1Q4KR0JV4HKM12YPVZVXZQW8G;9FQGYFCQX6TPC654QQGDPQ9150RRBNVT1C03JGV84EMPMJKGR9DG cfbe96bd945d254a6a345105b7b0d203d70a92ff 7KBXKE2PCPKR2WRP79SPHBJWY2WB7NGYR9DDQGG33HN5Z4XQFH7G -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(). H86YEG228VN3MWE5Q3KZYDADRGK9N8BYNG8HEKMZ9QQ1BJ0RYCH0 ECQ0J54F7ZFF63N2T6KKS2311WC1Q4KR0JV4HKM12YPVZVXZQW8G;9FQGYFCQX6TPC654QQGDPQ9150RRBNVT1C03JGV84EMPMJKGR9DG cfbe96bd945d254a6a345105b7b0d203d70a92ff YF7P27Q740D9G9QMHYKBSJFGSTNBA9WB7AV4Q40DTNNVZ6WHJV1G +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(). RJH4NKJ4XA2PC9VG0M6KDZRZA5AMRGF5XPFWJYKY7QB9M7GK35T0 4CR11C09WZJ166D6F9PMGGXYMAVRY9RJJSEVZ8K2PRC731AV6XM0 ce886f76a5e286da655c719bad2a55cc72f93d86 FQZSK7WSB5A97N97XKQXAZVVX95HB17R3P5CBAV2CTVA0JHMEQR0 +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(). PS30QBW5K044CHB6VN3VQY2H8CFF3SGPRPPCMKDEAGGG4G6V7FJ0 2B3ZWNBNNRVHJ8KAK3BFMED8AP3C59F0NC0F657SKYY5JF52VQT0;9938C1CZ28YMB1M4XJDQXZEN79A28AYX04CD4HCT4C5Y2SYGB5NG ce886f76a5e286da655c719bad2a55cc72f93d86 1EBHRGRFH8P8YZKZ8WK05X913FK8NFFR23DAMZVHHVK49A0VC23G +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(). E9XTSSG7D87VT1WV9S1HAWJ5ZQBNTKKN44V08ZCJ19ZC7GF5G70G - ce886f76a5e286da655c719bad2a55cc72f93d86 YQPYVXW37AXADBYG7FE7J88863BQFBAA5JK7002A1X23JKJ2ATN0 +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(). 8DA9ND5EGX6QB1S90T99WH98M5GCV9QPHMGAZZBJ33WDDS2VDKP0 - ce886f76a5e286da655c719bad2a55cc72f93d86 R4Z67PZT39JED3B7T2T94RV4M97NM6MEV6TDG8MAMC78FCXE5YV0 +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(). SFQVZA83Y97KDJM0E88XW2XFWF1BASND7TBC7NV3TFZMNB7VAWY0 2B3ZWNBNNRVHJ8KAK3BFMED8AP3C59F0NC0F657SKYY5JF52VQT0;94ZHTACGQ7EN5VED71F6JMG2218GSQCZYNZ26D6NDRJW6G3PT48G ce886f76a5e286da655c719bad2a55cc72f93d86 9CM5KD304P0PJHE1BA74JTZCCKSHN20B8YEJF7ZFQ94ZN82PV5M0 +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(). PS30QBW5K044CHB6VN3VQY2H8CFF3SGPRPPCMKDEAGGG4G6V7FJ0 2B3ZWNBNNRVHJ8KAK3BFMED8AP3C59F0NC0F657SKYY5JF52VQT0;94ZHTACGQ7EN5VED71F6JMG2218GSQCZYNZ26D6NDRJW6G3PT48G ce886f76a5e286da655c719bad2a55cc72f93d86 7CPY036SJ1G2QDV24778DC2J552R8GCSHMCYHJ0CF4XAE5QA1F90 +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(). 98YBAHKE0CZ6M28CEBS1Y0Y3B2V1JASBEC8ZKYJ2KP6HYD6CVRPG J68NM6P6BJZMNEBEQ963S8ZCTR3PCGGDSM1KEA5G1H4EWDEEV9A0 ce886f76a5e286da655c719bad2a55cc72f93d86 F7R28Z84X9539MDSSED8A1TB7BJCWYND2B2NRFAVB70Y1TGT0QD0 +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(). PCBG747DNA69AE16FB679F4HW4BSXRDFAH8YRHMRNBQVX7EABYJG DTPMM207JVBB8WXS5M68W0B7ZPFNSR55H45A3V8NK1QQH5MY435G ce886f76a5e286da655c719bad2a55cc72f93d86 09W1EEQJ4W2KXKGSG16YNJZ3PACHA4QSHFQ6X61Q5TNARF0MB760 +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(). Z997Y4547K500D9NHDQRX6NDS5KZ042WSSKQAZASV33BG0B7MQ4G JXZX77GXS0AAJ68GHFEGQNNQPG3XV2XYDZB2H13C020G6YTRWCY0 ce886f76a5e286da655c719bad2a55cc72f93d86 YJ2QWT5969MC8FESTXX44VSCN5ZCETD70Q3ND41KNT21AP19T66G +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(). HJRXHJND0QTB9F9DPQTAVYFKJVPTJV4YA5XAD4W47Z3WRYJF9K70 JXZX77GXS0AAJ68GHFEGQNNQPG3XV2XYDZB2H13C020G6YTRWCY0 ce886f76a5e286da655c719bad2a55cc72f93d86 Q5ZZ0X9PKM0H2FV79D9H8NX0SFXMWGE2CC29ZSF8RTGSRJ25D1TG +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(). 3Z1WRQK6DRGZK70475DB4AC3YPKFCCW4TA94HAPK47WW2EG1JZFG SANNPY9MEN7KF4HP2XBTE7JXDFXQ87TNH603GWDWG0FYNZVCANAG;DBSSWQMHK1JDYZ787R2NY9FJ2P7787PSHYSTR42W14SRVM2GWVVG ce886f76a5e286da655c719bad2a55cc72f93d86 THPJ59B4G789CD9ZSFA369GBPRG8EC5G4K4BTS56VZTS1RTKN910 +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(). RW60V70JGW3FAHHEVNFXGCRN0TE9G2KY7S5JMM0PRAMDHK50ETP0 SANNPY9MEN7KF4HP2XBTE7JXDFXQ87TNH603GWDWG0FYNZVCANAG;DBSSWQMHK1JDYZ787R2NY9FJ2P7787PSHYSTR42W14SRVM2GWVVG ce886f76a5e286da655c719bad2a55cc72f93d86 GFKYBM0YWTG3DCK7FGE25JVGA5762MXZV8VXEVQRSDNEVKZ94520 +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(). 3Z1WRQK6DRGZK70475DB4AC3YPKFCCW4TA94HAPK47WW2EG1JZFG BB333P3Z4EHBNWYX90BKMSFKW2GBF9G4AD54MYCBN4D7HYKT2XK0;26E9X361A0NMK8F3AGDVBS4RJ0HDGBX917RYA4Y0DH3B69VABQFG;S4ZV2P4DVR3GEJQHC93AWK0ZDHPZTZ2TRK7VSYS6B5M923CS5HD0;YCHBE597MDAJE2QZ5MGWKAR8PQKGYDDXPJCW4KV9XNNXCBFP672G ce886f76a5e286da655c719bad2a55cc72f93d86 JE75QFVN1K0C430E0G18ZZC5PVEZ4J62K6SH3J62MCC8VDJ28GXG +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(). RW60V70JGW3FAHHEVNFXGCRN0TE9G2KY7S5JMM0PRAMDHK50ETP0 BB333P3Z4EHBNWYX90BKMSFKW2GBF9G4AD54MYCBN4D7HYKT2XK0;26E9X361A0NMK8F3AGDVBS4RJ0HDGBX917RYA4Y0DH3B69VABQFG;S4ZV2P4DVR3GEJQHC93AWK0ZDHPZTZ2TRK7VSYS6B5M923CS5HD0;YCHBE597MDAJE2QZ5MGWKAR8PQKGYDDXPJCW4KV9XNNXCBFP672G ce886f76a5e286da655c719bad2a55cc72f93d86 HMZRJQG8NEBEQF6R3JX2H19B0W5AJY1YM66EE3JHM2SM5B6GZCW0 +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(). TGV8TTJY8FJ2WFQDC3J29C97NVQXG4YK9NP8Y47PZTSVC7KZJBQ0 26VSVHGKBJA3HD33NFGCG26H8VBFGJN6J8PTBFKYG0PE2PW2SJB0;EWVMHFN3VFAYHYTEHVMW9MRTPB1D99CWVCX53MV9HHRZFGTT06TG;SANNPY9MEN7KF4HP2XBTE7JXDFXQ87TNH603GWDWG0FYNZVCANAG ce886f76a5e286da655c719bad2a55cc72f93d86 NFJPCDC2RPRW7QR7ER43RRE2BKEKX62GNG7BGJZ58R08NWHS0S50 +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(). 5N18JBKNQTWJ7J8AY3D3F97CJBHDVD6M35Y4DCW8ZHTQ74N88BSG 26VSVHGKBJA3HD33NFGCG26H8VBFGJN6J8PTBFKYG0PE2PW2SJB0;EWVMHFN3VFAYHYTEHVMW9MRTPB1D99CWVCX53MV9HHRZFGTT06TG;SANNPY9MEN7KF4HP2XBTE7JXDFXQ87TNH603GWDWG0FYNZVCANAG ce886f76a5e286da655c719bad2a55cc72f93d86 G6S54RQB7C93PSFEFJ35VD9P3RJ2G0V6V366E95CCR99XY5XWKX0 +MR-SOFI-0304 dsm::sofi::validation::vault_tokens_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) NXAJC03E8YY9HEM2E4TC0WZXTAY5E8FT960WWHY6SZQS1G3VG4H0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/vault_tokens_permitted(). HJGE629G7Z67N02GHZH3KB1YYX8W3ZZ1ETHRTV6A17HSH1CAN3Z0 26VSVHGKBJA3HD33NFGCG26H8VBFGJN6J8PTBFKYG0PE2PW2SJB0;EWVMHFN3VFAYHYTEHVMW9MRTPB1D99CWVCX53MV9HHRZFGTT06TG;SANNPY9MEN7KF4HP2XBTE7JXDFXQ87TNH603GWDWG0FYNZVCANAG ce886f76a5e286da655c719bad2a55cc72f93d86 XD8J11ZYME0X30PXK0GBBV0VF916DF4N823716XJ166Y9R0S69V0 +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(). 3Z1WRQK6DRGZK70475DB4AC3YPKFCCW4TA94HAPK47WW2EG1JZFG F1VSAMN7Z4ZVP5GAA8JNEREGSJWREXR6C393QTJ9GH7R6A7C8XM0;YCHBE597MDAJE2QZ5MGWKAR8PQKGYDDXPJCW4KV9XNNXCBFP672G;NTZ2HY213WFPNK7Y78KA1RRDK1R6M4HW1SCKRQ1PF2Z9S1D1YRSG ce886f76a5e286da655c719bad2a55cc72f93d86 5AZ4VCC5EVBCJ8AHCY9E2GTZYYSMC2BQ78JA4EMF84ETBNBZX16G +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# ND4FETKZP85CXH1KW985YHQ9TG44AZP8GXGDCKX8TAT04RX4R54G F1VSAMN7Z4ZVP5GAA8JNEREGSJWREXR6C393QTJ9GH7R6A7C8XM0;YCHBE597MDAJE2QZ5MGWKAR8PQKGYDDXPJCW4KV9XNNXCBFP672G;NTZ2HY213WFPNK7Y78KA1RRDK1R6M4HW1SCKRQ1PF2Z9S1D1YRSG ce886f76a5e286da655c719bad2a55cc72f93d86 08BFJ64EF1VT5RHP57SHGVXDFDVHSQ3YAZCH3520H0BA5EE277Y0 +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(). EBAE4AN5DSR4F4K9YEZ5R8VYE5B2RD6JFA07DW7HT924Q95DC1EG YAG0YDFKM9B5PTC1JV8ZB66WXSG3429VW4W1S511J61DH8YNMK50;N6JG70KAG7E40CNAHK31A14XC9DGW69MR2B9CX7E0GPHXE575J10;BA2K0026R61042W91TMS19JDP2MF9N162YJRH7DQJQJ1RDQEVQBG ce886f76a5e286da655c719bad2a55cc72f93d86 TWKJEFRPVC7EACJQ4WN62HS4M0JR1ZGXRM1MMBHVZWGZN7WQ7QP0 +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(). KP2TJWZJ453N09EHG5X337WWFSVDTSWVQFCKK5MG9KBSS338S4CG YAG0YDFKM9B5PTC1JV8ZB66WXSG3429VW4W1S511J61DH8YNMK50;N6JG70KAG7E40CNAHK31A14XC9DGW69MR2B9CX7E0GPHXE575J10;BA2K0026R61042W91TMS19JDP2MF9N162YJRH7DQJQJ1RDQEVQBG ce886f76a5e286da655c719bad2a55cc72f93d86 4AC8FRXEQ05X88CQYVS32GRSPFE6TAGDJSF8942X4VT8H0X625AG +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(). CFC3J94SPWE88BTCAC40WRF1FZ2RGMB3FMMWHW1Q73P66F98WAMG YAG0YDFKM9B5PTC1JV8ZB66WXSG3429VW4W1S511J61DH8YNMK50;N6JG70KAG7E40CNAHK31A14XC9DGW69MR2B9CX7E0GPHXE575J10;BA2K0026R61042W91TMS19JDP2MF9N162YJRH7DQJQJ1RDQEVQBG ce886f76a5e286da655c719bad2a55cc72f93d86 A9FK3DHBYE3F5R71PGWNHWMR0JS2Z8XGBF8VWMG5YCW9FRJT6CY0 +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(). 2RAS0K1KS7CV2VBD5YK8P929ZEM0GENERZYWQA3NJVJKPBP8ZY70 WBA2EV892MBZ6PHQFPECD2VNZ33NAA84V8Q37T1XM9DKTF5FVAMG;H52JYDMD9F4ZJWH0SCCMTREH68EFHGRFQR1HXVFC62NJJNG7A470 ce886f76a5e286da655c719bad2a55cc72f93d86 QBY1QQFGZ640R1D8SC4ASWXFMFTC6EC7GSY141DY00SZGNS960R0 +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(). DHDXA2ZNNX5CBJ7S1R540V3H06MVWSME12PEHFEA1R5QCG227GT0 WBA2EV892MBZ6PHQFPECD2VNZ33NAA84V8Q37T1XM9DKTF5FVAMG;H52JYDMD9F4ZJWH0SCCMTREH68EFHGRFQR1HXVFC62NJJNG7A470 ce886f76a5e286da655c719bad2a55cc72f93d86 M8PJHA1WSH0T96V2QFJD8FTR4G1P83Q26NS0NPE9QCK580W6V1KG +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(). RCYZQC89CZEPDNFHCB4J7HJCR531MENWS8HAJX3J2AMDRR4M2EV0 WBA2EV892MBZ6PHQFPECD2VNZ33NAA84V8Q37T1XM9DKTF5FVAMG;H52JYDMD9F4ZJWH0SCCMTREH68EFHGRFQR1HXVFC62NJJNG7A470 ce886f76a5e286da655c719bad2a55cc72f93d86 FMF8ES7BPYBTST8ETSK03EBWFGV0WYFYD0C094YY3A6PQFXV3JQ0 +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 6CMVBQYXBJ791EJSKQB915DSV73EFB8FE5E5V28CN6C84RW4YXQ0;A2ARZRTQYD0D500H7DNMG4N1RR61Z4RNSMEXN9FHDCZK6JTE1DSG ce886f76a5e286da655c719bad2a55cc72f93d86 1QSAZDQ2GCQ5YB4BATXXD6QZC9HYR4JC56NF11WFEDX91G8YM6F0 +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(). ZVJ6N92X1CPM41GVSBVVT8A7HC51F8N1VBA451980949PRHNF2HG 6CMVBQYXBJ791EJSKQB915DSV73EFB8FE5E5V28CN6C84RW4YXQ0;A2ARZRTQYD0D500H7DNMG4N1RR61Z4RNSMEXN9FHDCZK6JTE1DSG ce886f76a5e286da655c719bad2a55cc72f93d86 HN9EJ0NKFWQ35FSBABRYCFZBGN49RN78M21Q8RPB7AR4BJ0WREC0 +MR-SOFI-0311 dsm::sofi::validation::vault_tokens_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) Z8408V6FBNRPGMSZ613NNWK6SXCZFZ379Y3KZP3C9R14NF4NRSBG Partial SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/vault_tokens_permitted(). HJGE629G7Z67N02GHZH3KB1YYX8W3ZZ1ETHRTV6A17HSH1CAN3Z0 6CMVBQYXBJ791EJSKQB915DSV73EFB8FE5E5V28CN6C84RW4YXQ0;A2ARZRTQYD0D500H7DNMG4N1RR61Z4RNSMEXN9FHDCZK6JTE1DSG ce886f76a5e286da655c719bad2a55cc72f93d86 DAEKJVT0E77GB0XEWXQ5R1YWDRCFCRXP5H7YAVD4DBY8GM8MYTCG 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(). 3SHKR4JFAYW352ACFQ8R1HGG8S2PR0EXKQX1GHWTN7MJ3EMJPD8G - cfbe96bd945d254a6a345105b7b0d203d70a92ff EXR6BBKVW0D57QBW0P607R8GBAP156Y1CN1BFFRTJBNJ9FV2MCDG -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(). 3SHKR4JFAYW352ACFQ8R1HGG8S2PR0EXKQX1GHWTN7MJ3EMJPD8G 1TXGDK0462PKJ58JPWZADAK4FXK9QHJDQ3EADAZYX34PAK5GMN5G;0R9T7C1VJMSW6W5RFHK4JGQTKXYX3TSG6MSHK8G389RDP1SMZRRG 8017c77e38662dcbc183522cc22d69e8f8597e80 4XDQAPCF3XA0M1YGB7TE2SB380C31GSQK3MHMHCW0S3F7FT691A0 -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(). 9YX51QHB3NXBTBQFV1DHCMJS9G6A3W6GBDH0HCMV0Z95ZM8QG8C0 1TXGDK0462PKJ58JPWZADAK4FXK9QHJDQ3EADAZYX34PAK5GMN5G;0R9T7C1VJMSW6W5RFHK4JGQTKXYX3TSG6MSHK8G389RDP1SMZRRG 8017c77e38662dcbc183522cc22d69e8f8597e80 TKV1YT0ZWPJZEB08HY9XTXZD4DSSMJFHZ2PQ0Z832YAPY17VPSK0 -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(). RMSW6BRB2A3ARRRTX69AX41DMQY31HBQREKA1A56QFH0EJXHXF70 H4N6RAPJHJYZYZ6BEK8VCGCP2S3EX475ZY99REHEY26QCXF67MQG;VFNE13H57PB9S9PQE7YXY4BCWVEK7128VVZNT069A19V209M1AA0 8017c77e38662dcbc183522cc22d69e8f8597e80 EN363A538PAZWDHZ3KGY8DDJRYP73VRA3AVQ5YP2W0A8959N3ED0 -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(). G4MKKB2RXKRVVZCV8F12ZAE66MXM082R4CD06C8W57ZSH4XKXQE0 H4N6RAPJHJYZYZ6BEK8VCGCP2S3EX475ZY99REHEY26QCXF67MQG;VFNE13H57PB9S9PQE7YXY4BCWVEK7128VVZNT069A19V209M1AA0 8017c77e38662dcbc183522cc22d69e8f8597e80 Z80J41HCTJB8FDC6CWG72JKJQR4RAJ7TFKCNRTB0C02GNSHC4ZYG -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(). JP8YV0GD2H9EPGDPH5D7RY33Y850Y2Y95RJ3ZKKE3ND1014GBC80 H4N6RAPJHJYZYZ6BEK8VCGCP2S3EX475ZY99REHEY26QCXF67MQG;VFNE13H57PB9S9PQE7YXY4BCWVEK7128VVZNT069A19V209M1AA0 8017c77e38662dcbc183522cc22d69e8f8597e80 E5FCGGFQ920C4041PZZ0B7YBGJQYF9BQ8D7MGK962T7Q559J7T4G -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(). 0B0EEGEAMJ13VH6G73KJNX5E1D69HXRRMCD2SSS9VP448WP62X5G 0R9T7C1VJMSW6W5RFHK4JGQTKXYX3TSG6MSHK8G389RDP1SMZRRG;YTJKZ9PZFMEPH4RBYM789HVVEA7NTV0CYZC0XHH5TM5GMP5SHBA0;R4ZCM7H6F5VNEJNFRKFAW5J2PB7FXWZN5Z602E3VZQ59ADER21TG;NFH91EPME7ZSNNWCW00XPN1PWSD7NQB3W1WKV1XEGJYFTKA99PAG;RZB6RADM41Z113QP370JM0C2X0SABT2P9D44KN26S5JHMTWER99G;WX0ABNXAKX18KFW6A4CTRH67VGKTJK55R4ENR9N0EJMSWGV767NG 8017c77e38662dcbc183522cc22d69e8f8597e80 2J3GJMAZV40HDKBZG51MWGSB2Q7ADHJFKNTP73RD77QR5TF5FRFG -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 0R9T7C1VJMSW6W5RFHK4JGQTKXYX3TSG6MSHK8G389RDP1SMZRRG;YTJKZ9PZFMEPH4RBYM789HVVEA7NTV0CYZC0XHH5TM5GMP5SHBA0;R4ZCM7H6F5VNEJNFRKFAW5J2PB7FXWZN5Z602E3VZQ59ADER21TG;NFH91EPME7ZSNNWCW00XPN1PWSD7NQB3W1WKV1XEGJYFTKA99PAG;RZB6RADM41Z113QP370JM0C2X0SABT2P9D44KN26S5JHMTWER99G;WX0ABNXAKX18KFW6A4CTRH67VGKTJK55R4ENR9N0EJMSWGV767NG 8017c77e38662dcbc183522cc22d69e8f8597e80 TPEMXAFKKBCZ7E013NKRN9WWSTC7YZ04P3VWKYY2EMJNPS1JHD60 -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(). GHE08130S6Y1JFGC4B7R7RM3TDHEJXPE24AAG4DBE53X2PVK9J60 0R9T7C1VJMSW6W5RFHK4JGQTKXYX3TSG6MSHK8G389RDP1SMZRRG;YTJKZ9PZFMEPH4RBYM789HVVEA7NTV0CYZC0XHH5TM5GMP5SHBA0;R4ZCM7H6F5VNEJNFRKFAW5J2PB7FXWZN5Z602E3VZQ59ADER21TG;NFH91EPME7ZSNNWCW00XPN1PWSD7NQB3W1WKV1XEGJYFTKA99PAG;RZB6RADM41Z113QP370JM0C2X0SABT2P9D44KN26S5JHMTWER99G;WX0ABNXAKX18KFW6A4CTRH67VGKTJK55R4ENR9N0EJMSWGV767NG 8017c77e38662dcbc183522cc22d69e8f8597e80 JN1CXX0442HN4R6M32HKPDV211SMDGPMC1JYBAP6XA3M2QESNAY0 -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(). JE70DQPJAF19BP2G3R7WWP9BVN8BTHT70MB1H8F28Q2B6BQNVNZ0 NDY4N0ZS1QKFQ16QJE50WWBSZXW9TB4TDNNJ54WWJ0QA1RX0HP40;C2C5B0XBZ0WV02GNJJCT0JCVACKGQBJR74C7K1AZ4SWX4CSXA2BG cfbe96bd945d254a6a345105b7b0d203d70a92ff GHDXT2ZKQTG4WVGS8F815FC5XSGGJW1GP3WDBNAX84EWA2S8CRSG -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(). GHE08130S6Y1JFGC4B7R7RM3TDHEJXPE24AAG4DBE53X2PVK9J60 NDY4N0ZS1QKFQ16QJE50WWBSZXW9TB4TDNNJ54WWJ0QA1RX0HP40;C2C5B0XBZ0WV02GNJJCT0JCVACKGQBJR74C7K1AZ4SWX4CSXA2BG cfbe96bd945d254a6a345105b7b0d203d70a92ff 1NPJB9EXJE1THZFGZYXSM366H9HAF1NC3BVKNT52QADBHX4PF0RG -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(). JE70DQPJAF19BP2G3R7WWP9BVN8BTHT70MB1H8F28Q2B6BQNVNZ0 0RT5CSGRXS6QS0BCV0BN8H9KD6RB2QHK0QDCP6FQY8XK24K2QR3G;24GR5SJJ0C8HQB5WR4JZARWQ61643RHMVA0S8E2EC3042H6Z1ZQ0;ECQ0J54F7ZFF63N2T6KKS2311WC1Q4KR0JV4HKM12YPVZVXZQW8G cfbe96bd945d254a6a345105b7b0d203d70a92ff Z1H6F8WBDJT99MRESWP4S2BJHS1T6HYH1HW8VDC5E5W12BYR82G0 -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(). 0CV1NM0M1VY0N5CV5PMNX547RHHE44176HF3S2J8ZYXG42MMPTJG 0RT5CSGRXS6QS0BCV0BN8H9KD6RB2QHK0QDCP6FQY8XK24K2QR3G;24GR5SJJ0C8HQB5WR4JZARWQ61643RHMVA0S8E2EC3042H6Z1ZQ0;ECQ0J54F7ZFF63N2T6KKS2311WC1Q4KR0JV4HKM12YPVZVXZQW8G cfbe96bd945d254a6a345105b7b0d203d70a92ff 021BWMS26XT9CH7WFZGFVGA0B0QZVSSRYWREEK5WNPZGNB19E36G -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(). H86YEG228VN3MWE5Q3KZYDADRGK9N8BYNG8HEKMZ9QQ1BJ0RYCH0 0RT5CSGRXS6QS0BCV0BN8H9KD6RB2QHK0QDCP6FQY8XK24K2QR3G;24GR5SJJ0C8HQB5WR4JZARWQ61643RHMVA0S8E2EC3042H6Z1ZQ0;ECQ0J54F7ZFF63N2T6KKS2311WC1Q4KR0JV4HKM12YPVZVXZQW8G cfbe96bd945d254a6a345105b7b0d203d70a92ff VDZMA1T8KYF64Y0NKYEBRMGKEHZ5NXQ9WW17ENAQZD0J4AHNPVE0 -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(). E6YDKEVWB14AW0S221EN8B3GGYACHN20APMV07BKE45HCG1N65H0 C2C5B0XBZ0WV02GNJJCT0JCVACKGQBJR74C7K1AZ4SWX4CSXA2BG;1X6ERJ4GVQXPM643H1K7P868VTCTH9VREQKK35MJYVAKG7SSP2JG cfbe96bd945d254a6a345105b7b0d203d70a92ff HHB4S69VQRN7WRDW8G3GFT221QRW76388X5Y9ZE4ERTGJ7C9J0E0 -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(). JE70DQPJAF19BP2G3R7WWP9BVN8BTHT70MB1H8F28Q2B6BQNVNZ0 C2C5B0XBZ0WV02GNJJCT0JCVACKGQBJR74C7K1AZ4SWX4CSXA2BG;1X6ERJ4GVQXPM643H1K7P868VTCTH9VREQKK35MJYVAKG7SSP2JG cfbe96bd945d254a6a345105b7b0d203d70a92ff WRGWBP5F9E08VXBG16Z7KXSRT6AQFPF9KAMCRRGWX6DN2SXAHWB0 -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(). S1XTK1P18E5N0ESV1CQ9VRFFDMZMGWH7Q1Q9226836ZZW1PHFC70 VKAF5TPSEYERCMTG655M27XEEMA3WTXER3QFH07DD0B03H88EZ70;4A7Z37QVJM2KPQRQA8GCZ5WXSM6GNMM3HVDT4VTPFKRAX06H3STG cfbe96bd945d254a6a345105b7b0d203d70a92ff DV9KG63TB1T8DAKY05SSJ21N6B2C0QNX20FTARQ5SXDY1A55XPZ0 -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(). KZ12WAFWH43JJHMJSYKBX3V1EPGE3299MH6VKM2PXR2VZMFA76K0 VKAF5TPSEYERCMTG655M27XEEMA3WTXER3QFH07DD0B03H88EZ70;4A7Z37QVJM2KPQRQA8GCZ5WXSM6GNMM3HVDT4VTPFKRAX06H3STG cfbe96bd945d254a6a345105b7b0d203d70a92ff QKXH1C08KN8GB4JXGMXGDBSQX4ST01BHVBZMGECMYT7VM4C57010 -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(). TNK1JYBG32K9H83FCTJ5FEYHR28KWGYWBPPK2DRP0HB1G2E8REKG VKAF5TPSEYERCMTG655M27XEEMA3WTXER3QFH07DD0B03H88EZ70;4A7Z37QVJM2KPQRQA8GCZ5WXSM6GNMM3HVDT4VTPFKRAX06H3STG cfbe96bd945d254a6a345105b7b0d203d70a92ff FVA552CQ7WHEDVSA683GYRF0Q5NEKD5260YXPJH7PWH08VTG2AM0 -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 7T04HMGM491BRJJH172ADCFT3RB3WQBZJJEVPV60NK8B0YB6A4QG;H5XS4MAMKN9BCQKQE6M72ZW4T0MJCFBKHF1QHW3Z8TAJSPD1H16G;ER6CMWBQM91AN6A8M77VJJETBH61RY8GT638P4FZK2PETSA7FQ2G;9FR3DR43B75KCZC5D61N9AJPSYHFV2T8ZYHES40ABHHG8V01MSYG cfbe96bd945d254a6a345105b7b0d203d70a92ff 0DHTCFBYCW290N4VYGQW75G4Q1SCM03MPEK90Z6A2MVRYHFN8260 -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(). 00936NDBR7ACCFVABBEYRHT0JZ1G7R3AGZ440JBF18YCPGW8MJ20 7T04HMGM491BRJJH172ADCFT3RB3WQBZJJEVPV60NK8B0YB6A4QG;H5XS4MAMKN9BCQKQE6M72ZW4T0MJCFBKHF1QHW3Z8TAJSPD1H16G;ER6CMWBQM91AN6A8M77VJJETBH61RY8GT638P4FZK2PETSA7FQ2G;9FR3DR43B75KCZC5D61N9AJPSYHFV2T8ZYHES40ABHHG8V01MSYG cfbe96bd945d254a6a345105b7b0d203d70a92ff 3ZHM07KG1VANQMP9GW2GRAGB1QX2SEAA1JEN7BHKJCGKJ91MVZT0 -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(). JE70DQPJAF19BP2G3R7WWP9BVN8BTHT70MB1H8F28Q2B6BQNVNZ0 68N83SE5PWWWEQ7K0JVVXQ83216WZ14KMJAR35C9T9W7A7PMHBAG;1X6ERJ4GVQXPM643H1K7P868VTCTH9VREQKK35MJYVAKG7SSP2JG cfbe96bd945d254a6a345105b7b0d203d70a92ff HSWWAYVBWKCE3A4ERE4WWX18GFQ4WCYWM2HFS5TBK1KREC924WD0 -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 68N83SE5PWWWEQ7K0JVVXQ83216WZ14KMJAR35C9T9W7A7PMHBAG;1X6ERJ4GVQXPM643H1K7P868VTCTH9VREQKK35MJYVAKG7SSP2JG cfbe96bd945d254a6a345105b7b0d203d70a92ff 3DTXRP7T87ZQX1CX1EVE9DTCMGKGFDWQ6S7DH0D1HZ8RW0A7KF50 -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(). E6YDKEVWB14AW0S221EN8B3GGYACHN20APMV07BKE45HCG1N65H0 C2C5B0XBZ0WV02GNJJCT0JCVACKGQBJR74C7K1AZ4SWX4CSXA2BG;Y770ARAKANX74REZ8FDGZSM6XQJ5HDDSYAMPS5434DE7HWQZ7YF0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 0EVZR6RJQ1P8R0SQH62FQWT972YK7J8MS71EB0XX7SPE9A8XZ9F0 -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(). GHE08130S6Y1JFGC4B7R7RM3TDHEJXPE24AAG4DBE53X2PVK9J60 C2C5B0XBZ0WV02GNJJCT0JCVACKGQBJR74C7K1AZ4SWX4CSXA2BG;Y770ARAKANX74REZ8FDGZSM6XQJ5HDDSYAMPS5434DE7HWQZ7YF0 cfbe96bd945d254a6a345105b7b0d203d70a92ff NE2N2PXW1JHHTNKGESA8EMH8V1RWPWE55RC7X7T9S1WAKVDD5JM0 -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(). 0CV1NM0M1VY0N5CV5PMNX547RHHE44176HF3S2J8ZYXG42MMPTJG MXJWSQ244AQR17MXY1KGBNDM3DJTTS2S808TFCNNBXE5BCMYJRWG;H1VJRFE8QC8YR2E01EDC94PKT3TXTWT6N0X6ZPK9XQ1RFR41Z93G;AX5211BMQY3HXQKAFCZ38C74G4W2HB1F15KYSD94XNTP4EV74XJ0;FAQ93Q14KX1HVV2MSS2KRH4Y8MFJ28KDY68WA69X3J1GWBR5P03G cfbe96bd945d254a6a345105b7b0d203d70a92ff TM14JFSHR5H10XHC2K7M30ZG588926K42HGBP4KQQGTM7288PNPG -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(). 3SHKR4JFAYW352ACFQ8R1HGG8S2PR0EXKQX1GHWTN7MJ3EMJPD8G MXJWSQ244AQR17MXY1KGBNDM3DJTTS2S808TFCNNBXE5BCMYJRWG;H1VJRFE8QC8YR2E01EDC94PKT3TXTWT6N0X6ZPK9XQ1RFR41Z93G;AX5211BMQY3HXQKAFCZ38C74G4W2HB1F15KYSD94XNTP4EV74XJ0;FAQ93Q14KX1HVV2MSS2KRH4Y8MFJ28KDY68WA69X3J1GWBR5P03G cfbe96bd945d254a6a345105b7b0d203d70a92ff PBC1RN69XEES14XEYED37AD1RFQCBXGAB3D5ZSJPHAR2W3M5070G -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(). 9YX51QHB3NXBTBQFV1DHCMJS9G6A3W6GBDH0HCMV0Z95ZM8QG8C0 MXJWSQ244AQR17MXY1KGBNDM3DJTTS2S808TFCNNBXE5BCMYJRWG;H1VJRFE8QC8YR2E01EDC94PKT3TXTWT6N0X6ZPK9XQ1RFR41Z93G;AX5211BMQY3HXQKAFCZ38C74G4W2HB1F15KYSD94XNTP4EV74XJ0;FAQ93Q14KX1HVV2MSS2KRH4Y8MFJ28KDY68WA69X3J1GWBR5P03G cfbe96bd945d254a6a345105b7b0d203d70a92ff GW9YBWFFHYWNFWHJFGMZX124V54X500Q40MN3HP2WKM0VJ2SV6X0 -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(). E54SEEFE2G9MYE4PDC0KNFA8X1BWECKR903PWAV5910VH139C970 1P0CKX0NRG09Y0QHK458FBKEHP365PVJFW948MC7VESCFV67NNR0;HDH3XMDFMZG7827QT4NDMC408MVVTEQ90M76FW4VPJA22KT1NZ0G;5NHVNF5V5D6XJ2PNWAR9Z1DBWDJT5SYV9G7RJDPHCSPKVC6KYNAG;8KW06BFEJ4ETTR95BKG8ADR68MGEHJM3ZF63JGQM7VHRA35JR3BG cfbe96bd945d254a6a345105b7b0d203d70a92ff Q7PP190GSC0FRQGCQWMN5GHKS6YKNF0RCM6173AQX8T662J9MNV0 -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(). E4E2BXF9VS69EY95PEA7PYF43QQZJQ74KD40QTB07DX178J2M850 1P0CKX0NRG09Y0QHK458FBKEHP365PVJFW948MC7VESCFV67NNR0;HDH3XMDFMZG7827QT4NDMC408MVVTEQ90M76FW4VPJA22KT1NZ0G;5NHVNF5V5D6XJ2PNWAR9Z1DBWDJT5SYV9G7RJDPHCSPKVC6KYNAG;8KW06BFEJ4ETTR95BKG8ADR68MGEHJM3ZF63JGQM7VHRA35JR3BG cfbe96bd945d254a6a345105b7b0d203d70a92ff WWTKQ0X1QV1DWER54P7HGVZ18C8GAN42G6E4KPP02SKCKYEWFG10 -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(). 44A2BXYHWSGE5FQ4P537Q6FZFE19F421YWDJABNDC5C5Z5N55FM0 1P0CKX0NRG09Y0QHK458FBKEHP365PVJFW948MC7VESCFV67NNR0;HDH3XMDFMZG7827QT4NDMC408MVVTEQ90M76FW4VPJA22KT1NZ0G;5NHVNF5V5D6XJ2PNWAR9Z1DBWDJT5SYV9G7RJDPHCSPKVC6KYNAG;8KW06BFEJ4ETTR95BKG8ADR68MGEHJM3ZF63JGQM7VHRA35JR3BG cfbe96bd945d254a6a345105b7b0d203d70a92ff G9XY4WEA1XDCYDGC8GEHTYTKMWXMG87WDY4A9484ET8YBKNC9PJ0 -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(). G4MKKB2RXKRVVZCV8F12ZAE66MXM082R4CD06C8W57ZSH4XKXQE0 KE3PYV5JGWCHSDKMVGJW3TZNM7WFGQ05RVY82RJ8C3SJB0ZH20F0;PFWBH0ZAMK75Q4XXF4YSMJZNY586KE9QC8HX3SGH7F0SFVBHJQGG;395ZH1NJG7JFPA0GTRS2QE19YTPDXP5HNHQ7N9E1A6BRNJFQJ0W0;PGDRZ1QR1YPXKJPFHD4B72SAHD8VNBQQMWYJ2742VXZGCCN920EG cfbe96bd945d254a6a345105b7b0d203d70a92ff TR123EGHN6N436T71XWFGNNBKNDDCSPZHEHKJE47SEG2PTDTMRD0 -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(). KS5TG2DQV7MY48RJVY2W5804S6SFYRFBMBMK4NDTF6CFZ7D4CQXG KE3PYV5JGWCHSDKMVGJW3TZNM7WFGQ05RVY82RJ8C3SJB0ZH20F0;PFWBH0ZAMK75Q4XXF4YSMJZNY586KE9QC8HX3SGH7F0SFVBHJQGG;395ZH1NJG7JFPA0GTRS2QE19YTPDXP5HNHQ7N9E1A6BRNJFQJ0W0;PGDRZ1QR1YPXKJPFHD4B72SAHD8VNBQQMWYJ2742VXZGCCN920EG cfbe96bd945d254a6a345105b7b0d203d70a92ff JB6K34N3GV1PBZJ2F3PY15N2QJ5PJA1WBMSD26QTKXPVYEVM5XCG -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(). JE70DQPJAF19BP2G3R7WWP9BVN8BTHT70MB1H8F28Q2B6BQNVNZ0 KE3PYV5JGWCHSDKMVGJW3TZNM7WFGQ05RVY82RJ8C3SJB0ZH20F0;PFWBH0ZAMK75Q4XXF4YSMJZNY586KE9QC8HX3SGH7F0SFVBHJQGG;395ZH1NJG7JFPA0GTRS2QE19YTPDXP5HNHQ7N9E1A6BRNJFQJ0W0;PGDRZ1QR1YPXKJPFHD4B72SAHD8VNBQQMWYJ2742VXZGCCN920EG cfbe96bd945d254a6a345105b7b0d203d70a92ff PXKPHE7B50W3C4TW8T68SXRD89AX5FY84THRKKDVCZ8C2STPY2VG -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(). 9PAW02493XJ30721CZJJK287ZHPAT1DBBFTWN4NH7E84QWV5CP8G KE3PYV5JGWCHSDKMVGJW3TZNM7WFGQ05RVY82RJ8C3SJB0ZH20F0;PFWBH0ZAMK75Q4XXF4YSMJZNY586KE9QC8HX3SGH7F0SFVBHJQGG;395ZH1NJG7JFPA0GTRS2QE19YTPDXP5HNHQ7N9E1A6BRNJFQJ0W0;PGDRZ1QR1YPXKJPFHD4B72SAHD8VNBQQMWYJ2742VXZGCCN920EG cfbe96bd945d254a6a345105b7b0d203d70a92ff Q17EJKAEQ2Q8PKVXSMFFRDFPP7S0SXVRM7SS67FGEW5PJG77JEAG -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 SPY8HRQANEQ5XCT86NFX91VCQP7P8QWT9P4NPGZTRCS5F230E380 cfbe96bd945d254a6a345105b7b0d203d70a92ff ME4KAP3P969T1D4CEDKMG7S2JS0QTW5FR0QSJWP0RH90DX8D8F9G -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(). Z7XVAR6HNT6SWDVF5XM4WAXHXTP1KHKPF6C1TT3M6XNSPGA5AJRG SPY8HRQANEQ5XCT86NFX91VCQP7P8QWT9P4NPGZTRCS5F230E380;FWADJ1VQDXE2DMWHXTYKBRH5TQ4SJQC6RC2R4TPM6AEZARA0N9AG cfbe96bd945d254a6a345105b7b0d203d70a92ff ECNNHSF65ZD3THHEHF9W3YA0WA7232AC7X3AB6C7PBH5QY4MVTN0 -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(). 4FMCEV12KS5AKWGBS0S2GK9CWSBZTQ2NWGMTS7DMMVPDMVQDY4A0 HKWZ176KCJM67961KNZA9VK4N3ZQC3GW85WR118NVKKXDV5Q0AD0;2412H7J6T9YH0ZZCCFG516BB18M8GHXKKGR4MEGJAN70KCYJ4ZS0;0KD78YM68HKN84Q9JW1SBR7Z13MWEQ83W3KJ45SA05KBWTN3EQ4G;VJNAAA6QXSXCPJFVK95191SCW8YFAJ6XABKX37R464KPMRP5HZE0;K0J8K5EQXJZBAYGN0MBGP5TGWJH3KEW0P06335K9JCQ1Q091BZ5G cfbe96bd945d254a6a345105b7b0d203d70a92ff RFA37F0494QN01JPT6VGXQF5H8DDC04RMK0T5HKXST4356V1G08G -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(). AAFXMQ60KX0Q60KEG5B9RETAXMYYQ5FJQT655B4E9NWC28DFY00G FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;WEH0553WYXCAZF9ACB67ZG1GDCCD943TVM26767JZ61N6DDBT2W0 8017c77e38662dcbc183522cc22d69e8f8597e80 J38CDBFN0FF1HJQ8VQNPD8T6SRBTH301RYVQ0QG45RNW12K0S99G -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(). DYHN7DXZQBRV7DPKBNZD83D1XEGPEV76H7N04KNHETM4CXHQSB1G FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;WEH0553WYXCAZF9ACB67ZG1GDCCD943TVM26767JZ61N6DDBT2W0 8017c77e38662dcbc183522cc22d69e8f8597e80 9N1ZB6VGDMMS2V1EWQ61RTT0105VQF0FZ0MEJA31JK06CC1AM11G -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(). Z9PZQGPJHF4844E1V9BT8GJTFFYMA9VKYV24N7K64GZ096ZGMHB0 HKWZ176KCJM67961KNZA9VK4N3ZQC3GW85WR118NVKKXDV5Q0AD0;NVYPTN4GGWYEA8F985Z354B4PKT4QKVRP3RD8CE7WVX684MY115G;B7GM7CECNJQ6GZ3JQKT50TPNZDGYVMV4JQPV7H96C7SX987NZ7H0;FWADJ1VQDXE2DMWHXTYKBRH5TQ4SJQC6RC2R4TPM6AEZARA0N9AG cfbe96bd945d254a6a345105b7b0d203d70a92ff ZMXQYMQ8NZPH32QKT5MY6F5CZQP3VBSYMX7DNV987213TGZGJCVG -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(). 5N819FCMN6M6VG1YXC4RKNRS327DC87HBX2NY4XBJ25YVY8R237G 2M6Y7CYC20J0B3X8F8QZXK02XT8B1K5J2MFRHJ23K9T66K7J8S4G;WEH0553WYXCAZF9ACB67ZG1GDCCD943TVM26767JZ61N6DDBT2W0;FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG 8017c77e38662dcbc183522cc22d69e8f8597e80 ERVJ68GKJN5K95Y88JN589TSG3ZY4KDV0XD1G6ASH0T3A3510Q20 -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(). 4FMCEV12KS5AKWGBS0S2GK9CWSBZTQ2NWGMTS7DMMVPDMVQDY4A0 2M6Y7CYC20J0B3X8F8QZXK02XT8B1K5J2MFRHJ23K9T66K7J8S4G;WEH0553WYXCAZF9ACB67ZG1GDCCD943TVM26767JZ61N6DDBT2W0;FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG 8017c77e38662dcbc183522cc22d69e8f8597e80 EVR81Y8FKG3RDRAR285ZPPRATHRB21Y768PSJQEVMK0GVQZXWZPG -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(). J1NQJH3KZK3MTNZKEC70DYXG5YQC6ZDGQN8QQHMH5RNQ3NBW5VX0 ER6CMWBQM91AN6A8M77VJJETBH61RY8GT638P4FZK2PETSA7FQ2G;42WV9WEVKXJ0BVM7WPCVRHFMD5D8BF0SM33GQXKDW84ZC0G6A520;9FR3DR43B75KCZC5D61N9AJPSYHFV2T8ZYHES40ABHHG8V01MSYG cfbe96bd945d254a6a345105b7b0d203d70a92ff 7Y25XPMNQDNXP9NX2FDDDQ40WHAD7TTCJTMGPGT44S2KRK1NQPNG -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(). 00936NDBR7ACCFVABBEYRHT0JZ1G7R3AGZ440JBF18YCPGW8MJ20 ER6CMWBQM91AN6A8M77VJJETBH61RY8GT638P4FZK2PETSA7FQ2G;42WV9WEVKXJ0BVM7WPCVRHFMD5D8BF0SM33GQXKDW84ZC0G6A520;9FR3DR43B75KCZC5D61N9AJPSYHFV2T8ZYHES40ABHHG8V01MSYG cfbe96bd945d254a6a345105b7b0d203d70a92ff NM8HTHFETKTTJ0A47C0NFEFW13T7ZB53WCDTX23P9VSYWV7AJMJG -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(). R3HCV9FPWMXVR3BHTPR56HJAZ18SHB04YZHVY3XX9K7H0MPZYD00 01Z8QTB16P3J06PZAH5EJX4SEH2Z6NPHX2H451NGD2HBS1ZTTQ6G;VKWDPZTCP97SZBZ0RNV8G7HAJSJQ3KNPGD6YA6TZAEAF9RA3A9PG cfbe96bd945d254a6a345105b7b0d203d70a92ff 8G320T8FVT4QSEY50JXWG3MT59BBPNDWHRAQHMRMKK2QCCXK6X70 -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(). FPG3QBKXEQ3X48BN7J93EV5K4YCEG4D417KESENEPV4Y3F3D2XD0 5A9DCYAN5VRNEK4EB748M7BGWEGRZ1E7MK1S5SB7XXDENHPBTBDG 8017c77e38662dcbc183522cc22d69e8f8597e80 EHGAJXNDAR63TXW11MMN3QBCJS4B56QMRSJSF01XKK277ZGEYE20 -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(). QPZK91AG1A261XK7GX7697H4X8YW4MRGZH9M03VM7F2BCXJK6TBG 5A9DCYAN5VRNEK4EB748M7BGWEGRZ1E7MK1S5SB7XXDENHPBTBDG 8017c77e38662dcbc183522cc22d69e8f8597e80 FJ1GHHZW5G0ZBZSKT2GSH9B4HVSE79Q3DXQSJ4H1GEYDXYB7FMXG -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(). QPZK91AG1A261XK7GX7697H4X8YW4MRGZH9M03VM7F2BCXJK6TBG CM01Y00QS89XQC1GX2DKKTVZMMBJNWK611A2JC0M361FAXQ1GXZ0;HM5BNYD72SGKDS30MSR3FMS3B4BBPBEY3NPCAEKYTHMYFWGN9C1G cfbe96bd945d254a6a345105b7b0d203d70a92ff VKEBQ249VGAVQ45T6XHSYEN0W83BP5YVRTD0N24768C3KFDE4DV0 -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(). 2KB20FX215W8JPVM1QVGG5E5QP9W8SRH32HVTYHPS1JBGG5JX4S0 FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;W2V0JWHYDFTV8XSTFYDD2ZEK9T9RR4XNT87BWF382PN1VXT5XJEG 8017c77e38662dcbc183522cc22d69e8f8597e80 1NXV55EJP2F0K4VJ4243AFMZWKQENFT0ZFQNHYJSTV0B5S1HCGNG -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(). QQFVJ4JMT4X055E5JX6MYCVZBCYV29JBFVESC05K3ZDYQEFGEKBG FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;W2V0JWHYDFTV8XSTFYDD2ZEK9T9RR4XNT87BWF382PN1VXT5XJEG 8017c77e38662dcbc183522cc22d69e8f8597e80 HVTVJ7FSNK1RW1F4613J7C1J4MXZ08D2XSZC3K9GZASRGVP7EGVG -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(). C2PVNWFXPDH6Q7C4ZP4ZW6TQSXDTZ6BR8PEVVEAE45M6DSQP84EG ZZDHVE9348M63GFHKQ0D5CGPS9ZY3RE3A7NSD76ZBAJTZ28B1ZDG;Z9Y92M7WFB7B1H5EKMM4V6EZDR97EVC3CTK2DYC83SKVNJF19C30 8017c77e38662dcbc183522cc22d69e8f8597e80 JQZZMEVJ3M8E27SYB8BP10XFKP8986CD8XMCWKCD7WDJZV3YEQR0 -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(). W9K7RA450AHFHH5S55120SWB80MZHDGFWHSSHH7DTWG8AFT20BZG ZZDHVE9348M63GFHKQ0D5CGPS9ZY3RE3A7NSD76ZBAJTZ28B1ZDG;Z9Y92M7WFB7B1H5EKMM4V6EZDR97EVC3CTK2DYC83SKVNJF19C30 8017c77e38662dcbc183522cc22d69e8f8597e80 7J4790K9AS87NAFPDXA1EBKTB40H7DH58X9ZM0YZXNK2WVCM25MG -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(). RDS2VYASPGQ16Z0BYM15NKDN5QPXFC4T9K52XSJYTKVJ9PVVCE1G Z9Y92M7WFB7B1H5EKMM4V6EZDR97EVC3CTK2DYC83SKVNJF19C30;FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG 8017c77e38662dcbc183522cc22d69e8f8597e80 C94KDR0GC8X3N5XWS4JAS0RS06S8PXF72MWYBQMPQG0S1QGHYHE0 -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(). 9EBZZCVQKG12E1Q6XSPK6H13CHPH43RFS2H0B6XFDKHP0K8HGK1G Z9Y92M7WFB7B1H5EKMM4V6EZDR97EVC3CTK2DYC83SKVNJF19C30 8017c77e38662dcbc183522cc22d69e8f8597e80 1V1A2SRRD92V0141CSRTXAQMPYQANSKXHAKMM8J7YDJKQ44K5K30 -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(). 9EBZZCVQKG12E1Q6XSPK6H13CHPH43RFS2H0B6XFDKHP0K8HGK1G Z9Y92M7WFB7B1H5EKMM4V6EZDR97EVC3CTK2DYC83SKVNJF19C30;0ESHJJARAYBDJKJA9GH83GE2JBVZRCQ3QWXRNF2EFKNPBJQQF380 8017c77e38662dcbc183522cc22d69e8f8597e80 NDMHTTTREEQX8C89ZTANF7SW8QTKPAGRF2THQSTQESZ7HECYQX0G -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(). T9086Y4HAAQFN7WY3X2MRHKX0WE2AZNDMJQSDTVY80R2SB2ENQQG FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;0ESHJJARAYBDJKJA9GH83GE2JBVZRCQ3QWXRNF2EFKNPBJQQF380 8017c77e38662dcbc183522cc22d69e8f8597e80 YFDCHA23ZH138FVPJD5S4APXCXTXJARTBWK3SA7HEQ0DPGB027R0 -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(). RQZMVRPAQTYCDQQSQJC2H9XTQ7PBWXNB1V6MCS0C0QYV3RPK208G FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;0ESHJJARAYBDJKJA9GH83GE2JBVZRCQ3QWXRNF2EFKNPBJQQF380 8017c77e38662dcbc183522cc22d69e8f8597e80 9QT73K4SFM9ZGCNCKZXY0B4YX8C79VZXZW8QFM1FH4PQEK75R2FG -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(). 5EF4J118X3BC6A0MDHNVC2E4SHQ4123DWEEZT9DAMMZ7277K69G0 FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;E5XMQY5AF3WPWJTGN760Z23Q572S8N04F67TPDGNX42HB27ERKE0;W2V0JWHYDFTV8XSTFYDD2ZEK9T9RR4XNT87BWF382PN1VXT5XJEG 8017c77e38662dcbc183522cc22d69e8f8597e80 4T29FQ2XM3BY2KYMARX3DY4Z70S0BC42N9Y7VQ4H2PQJ1QREA4DG -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(). 9G3W54NPTMY4YFHRTN4DG1F5WE8Z6RP3FFAP1NPEYVKQJNT2N28G FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;E5XMQY5AF3WPWJTGN760Z23Q572S8N04F67TPDGNX42HB27ERKE0;W2V0JWHYDFTV8XSTFYDD2ZEK9T9RR4XNT87BWF382PN1VXT5XJEG 8017c77e38662dcbc183522cc22d69e8f8597e80 X78HZ11R7RN7FTNYJ6GQ21XFWFGKQKVWJYY6JBZV64D228A0DRJG -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(). DBK3HZPXSF7NE3ABBFG8767HD7G6N8NAY30JDSWX42NFYZ1CSF6G FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;W2V0JWHYDFTV8XSTFYDD2ZEK9T9RR4XNT87BWF382PN1VXT5XJEG 8017c77e38662dcbc183522cc22d69e8f8597e80 XYSHGAXR6C9Y007JVDAJDEW2BVFX581VPGQ3V85CGQBXSPKH2BDG -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(). 1KDPTGDMGPBSD5PHWYPANM39AJP6JXA8737B3R75F78FQGSTHQMG FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;W2V0JWHYDFTV8XSTFYDD2ZEK9T9RR4XNT87BWF382PN1VXT5XJEG 8017c77e38662dcbc183522cc22d69e8f8597e80 T8G2V9RFACWDEBT9HPDSQY44DCR7T5YK3VFCKG1JAM35BWG6YVK0 -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(). R7GN9RCX07Y74MZ98BKM4P5YQH820DSCRPD0D201S1DT23K2NY2G FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;W2V0JWHYDFTV8XSTFYDD2ZEK9T9RR4XNT87BWF382PN1VXT5XJEG 8017c77e38662dcbc183522cc22d69e8f8597e80 9PQJAEJSDXKPFGNY63Z31JFBPTBEK5N0YGS7M2F6TKCPX31PRPEG +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(). 3Z1WRQK6DRGZK70475DB4AC3YPKFCCW4TA94HAPK47WW2EG1JZFG - ce886f76a5e286da655c719bad2a55cc72f93d86 W5RM9336CM7WFY1Z9FM0K6DEW3B53WGQ7FKJH78DHYXPC6JPG1FG +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(). 3Z1WRQK6DRGZK70475DB4AC3YPKFCCW4TA94HAPK47WW2EG1JZFG SANNPY9MEN7KF4HP2XBTE7JXDFXQ87TNH603GWDWG0FYNZVCANAG;YAG0YDFKM9B5PTC1JV8ZB66WXSG3429VW4W1S511J61DH8YNMK50 ce886f76a5e286da655c719bad2a55cc72f93d86 DS2PT1JN1E0GR12MQYSQBYJ93AY6XBVXXT5TB0Q0Q3E7GRHFWNWG +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(). RW60V70JGW3FAHHEVNFXGCRN0TE9G2KY7S5JMM0PRAMDHK50ETP0 SANNPY9MEN7KF4HP2XBTE7JXDFXQ87TNH603GWDWG0FYNZVCANAG;YAG0YDFKM9B5PTC1JV8ZB66WXSG3429VW4W1S511J61DH8YNMK50 ce886f76a5e286da655c719bad2a55cc72f93d86 GVVRN4X4J2HHKTMV6931B62YQ9Q7GMGYBN2461JAQNYKJ8BG6SK0 +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(). TT4P3MFWQBEB833DBEXN395V21DPGAYJM7AFC46K0NB3YSESFG9G EWVMHFN3VFAYHYTEHVMW9MRTPB1D99CWVCX53MV9HHRZFGTT06TG;H52JYDMD9F4ZJWH0SCCMTREH68EFHGRFQR1HXVFC62NJJNG7A470 ce886f76a5e286da655c719bad2a55cc72f93d86 1JJZ7DHDKBD7MXKAYTAR07KCKNPA693NV6XMZZ1QJS251WF9KXFG +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(). 5N18JBKNQTWJ7J8AY3D3F97CJBHDVD6M35Y4DCW8ZHTQ74N88BSG EWVMHFN3VFAYHYTEHVMW9MRTPB1D99CWVCX53MV9HHRZFGTT06TG;H52JYDMD9F4ZJWH0SCCMTREH68EFHGRFQR1HXVFC62NJJNG7A470 ce886f76a5e286da655c719bad2a55cc72f93d86 MSPFX73CWKJP0M3Y7SKAQG9P1PZG7834Y57Q3T3C8E8X6P0RMANG +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(). CFC3J94SPWE88BTCAC40WRF1FZ2RGMB3FMMWHW1Q73P66F98WAMG EWVMHFN3VFAYHYTEHVMW9MRTPB1D99CWVCX53MV9HHRZFGTT06TG;H52JYDMD9F4ZJWH0SCCMTREH68EFHGRFQR1HXVFC62NJJNG7A470 ce886f76a5e286da655c719bad2a55cc72f93d86 TJY0MTNC4RPBJCZX9S7TXTHW9SSKJ23MPTY4NR47TZEHFMYHC130 +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(). 40NN1N999NS0WQYVGECR7A42B9FYNWHWMYCPPK4KCQS86D2SCBY0 YAG0YDFKM9B5PTC1JV8ZB66WXSG3429VW4W1S511J61DH8YNMK50;192G03YQTA48XD6F034C9ND5HNY5EMNMYB83364FGG5B5F6MET00;R5RA2TQ9QEYC37C44F4W5RYFHKQJKJP82ZGAJX56EYTQ3DEJ8HC0;XH1AFGN0WRQCA2WDGY75NXA0Z424BYAGNQRV2D5JN2Y7Y3NY5WWG;YSKBA8M4BG7EE586GKAKHCARJKN3NT4BM1MGEG6XB9TTV22JQTJG;372RZXQF17JV6JTFZY390H01N3XP9KSJV4K4PEMZRVA7M8YNHMQG ce886f76a5e286da655c719bad2a55cc72f93d86 D8D2EG07YD7W2QMCPVQF0YD7N2ANT3WBTBK31XFSWSY0SHP85990 +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 YAG0YDFKM9B5PTC1JV8ZB66WXSG3429VW4W1S511J61DH8YNMK50;192G03YQTA48XD6F034C9ND5HNY5EMNMYB83364FGG5B5F6MET00;R5RA2TQ9QEYC37C44F4W5RYFHKQJKJP82ZGAJX56EYTQ3DEJ8HC0;XH1AFGN0WRQCA2WDGY75NXA0Z424BYAGNQRV2D5JN2Y7Y3NY5WWG;YSKBA8M4BG7EE586GKAKHCARJKN3NT4BM1MGEG6XB9TTV22JQTJG;372RZXQF17JV6JTFZY390H01N3XP9KSJV4K4PEMZRVA7M8YNHMQG ce886f76a5e286da655c719bad2a55cc72f93d86 DGB9998PDHWHMSQ5W34B324416TEAVT7AB5ATRGBB9MBQ2NZZ310 +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(). KP2TJWZJ453N09EHG5X337WWFSVDTSWVQFCKK5MG9KBSS338S4CG YAG0YDFKM9B5PTC1JV8ZB66WXSG3429VW4W1S511J61DH8YNMK50;192G03YQTA48XD6F034C9ND5HNY5EMNMYB83364FGG5B5F6MET00;R5RA2TQ9QEYC37C44F4W5RYFHKQJKJP82ZGAJX56EYTQ3DEJ8HC0;XH1AFGN0WRQCA2WDGY75NXA0Z424BYAGNQRV2D5JN2Y7Y3NY5WWG;YSKBA8M4BG7EE586GKAKHCARJKN3NT4BM1MGEG6XB9TTV22JQTJG;372RZXQF17JV6JTFZY390H01N3XP9KSJV4K4PEMZRVA7M8YNHMQG ce886f76a5e286da655c719bad2a55cc72f93d86 0X95W2QVB4PRH2WGB9SWPRFYDZB2KEE8XVB1YF98XP65YPRQ3Z80 +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(). EBAE4AN5DSR4F4K9YEZ5R8VYE5B2RD6JFA07DW7HT924Q95DC1EG BA2K0026R61042W91TMS19JDP2MF9N162YJRH7DQJQJ1RDQEVQBG;N6JG70KAG7E40CNAHK31A14XC9DGW69MR2B9CX7E0GPHXE575J10 ce886f76a5e286da655c719bad2a55cc72f93d86 SCW0RX9NWET7ZB73CJCG6JHCM1H9KJXQ8GG7VKCVFHMEZY55PC0G +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(). KP2TJWZJ453N09EHG5X337WWFSVDTSWVQFCKK5MG9KBSS338S4CG BA2K0026R61042W91TMS19JDP2MF9N162YJRH7DQJQJ1RDQEVQBG;N6JG70KAG7E40CNAHK31A14XC9DGW69MR2B9CX7E0GPHXE575J10 ce886f76a5e286da655c719bad2a55cc72f93d86 CS9SM17ZX8ZXTATV81BPY7572AM548MCZ72J1AZZFAMRE401RMZG +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(). EBAE4AN5DSR4F4K9YEZ5R8VYE5B2RD6JFA07DW7HT924Q95DC1EG 4H74WWCE9ABQS68V76PSG13Z9XWH1BEXSN9NYE2NQZ0SF12JWM9G;6RC00TQNEJKEFCCYSEZEAZCNWP8EMYBGFSMVAXZF7WPG9Y2Q8ZAG;6CMVBQYXBJ791EJSKQB915DSV73EFB8FE5E5V28CN6C84RW4YXQ0 ce886f76a5e286da655c719bad2a55cc72f93d86 HJPRKRX18WC8XMKG9MMZM081N9HXKH5B7NHZWX7V4WPA84TVB380 +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(). NXKZQTT1BQSZKJNRF544XB8Z49HA1AX74FGKN4Y2R6Y5DHE81NM0 4H74WWCE9ABQS68V76PSG13Z9XWH1BEXSN9NYE2NQZ0SF12JWM9G;6RC00TQNEJKEFCCYSEZEAZCNWP8EMYBGFSMVAXZF7WPG9Y2Q8ZAG;6CMVBQYXBJ791EJSKQB915DSV73EFB8FE5E5V28CN6C84RW4YXQ0 ce886f76a5e286da655c719bad2a55cc72f93d86 XK1CBSEC636JZJ1WEK4G8KBFASTXR339X6ZAC3R14H41P4P32XYG +MR-SOFI-0318 dsm::sofi::validation::vault_tokens_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) V6VZH66AZB0VSM38RTK2GTZJH427W3THMFCS1GZ2VXZ4PWCZZFS0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/vault_tokens_permitted(). HJGE629G7Z67N02GHZH3KB1YYX8W3ZZ1ETHRTV6A17HSH1CAN3Z0 4H74WWCE9ABQS68V76PSG13Z9XWH1BEXSN9NYE2NQZ0SF12JWM9G;6RC00TQNEJKEFCCYSEZEAZCNWP8EMYBGFSMVAXZF7WPG9Y2Q8ZAG;6CMVBQYXBJ791EJSKQB915DSV73EFB8FE5E5V28CN6C84RW4YXQ0 ce886f76a5e286da655c719bad2a55cc72f93d86 AXQJKC3Z30WF8BTA3TKZS7TTEPNV99JSQZB0Z2C5GBHJDZSH5T50 +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(). 814QT2S7NJ453SG3CJQWH9C2JXBPCR603K82K6W5FFYYZ885V720 N6JG70KAG7E40CNAHK31A14XC9DGW69MR2B9CX7E0GPHXE575J10;VW36AZ38AR1A6R6XTPZ6C2M5C8ZC3RRPBCBNXH0PJQAW2MGJT0SG ce886f76a5e286da655c719bad2a55cc72f93d86 4WA5NT398VXAQP00Q45FJTZPA4PDEW66VF55S20Z7C731ZJFXR7G +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(). EBAE4AN5DSR4F4K9YEZ5R8VYE5B2RD6JFA07DW7HT924Q95DC1EG N6JG70KAG7E40CNAHK31A14XC9DGW69MR2B9CX7E0GPHXE575J10;VW36AZ38AR1A6R6XTPZ6C2M5C8ZC3RRPBCBNXH0PJQAW2MGJT0SG ce886f76a5e286da655c719bad2a55cc72f93d86 KK0B0HY2JNHMG7342DW4B7N9BGZNGWCVY9WVW2BRPPC3KBJ7FRRG +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(). AW4MJ664PC8YH50DTEQQ5CMAZ9VR3HXHETZHVNBPQ1X8VC8PE19G HHYCHXF66KP36SHJWVA2TT78SD9CYX2FXFHZ2BQR1AM8HQ3JAAV0;KQXZVS3DYCPGH4X3E97FRDQSXBKE25A7VFZS0633ET49YWZNSYBG ce886f76a5e286da655c719bad2a55cc72f93d86 66N69W6YZR9FRG5YTD71WCVWQ352X601DZM2CVVH25J9W4VHW4N0 +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(). C85P5PSDKVFJZNDR43PDC5KP7YM1ZPRDFZCZ4TVM8G0MJPX9PY7G HHYCHXF66KP36SHJWVA2TT78SD9CYX2FXFHZ2BQR1AM8HQ3JAAV0;KQXZVS3DYCPGH4X3E97FRDQSXBKE25A7VFZS0633ET49YWZNSYBG ce886f76a5e286da655c719bad2a55cc72f93d86 RKC49YWG7AER5K7SQDN2X5Q1RBEJE30RMB0PKJFKZV1ZZHBE51W0 +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(). XV3EXGAK4WM5EWTP44840DG0ZKY4CV045795A8RPK4NS9GYTNHSG HHYCHXF66KP36SHJWVA2TT78SD9CYX2FXFHZ2BQR1AM8HQ3JAAV0;KQXZVS3DYCPGH4X3E97FRDQSXBKE25A7VFZS0633ET49YWZNSYBG ce886f76a5e286da655c719bad2a55cc72f93d86 AY02W4JF799PDH379PW9MQE59B4YP3745P4ZSVMEKXHMVGKA76VG +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 PHV0R81P7KFD2RPK1JWWA8Z84A6V72YV6K6FJZHS1DG6T70JPDF0;Y0JA1ZCWF3MKC8SMFTCTVNWZ3PY23CDE59B9MGM1SGSP41CSQ6ZG;Y5TWE7B3HSE2MYVVRXC5QKJ1XRGXWSC96939Z88NR6519EX9RZ5G;ZVBJZNF1JBB4ZPEDNF0Q955JVD5ANH9X41SF4X4QHRHYF8MRCN40 ce886f76a5e286da655c719bad2a55cc72f93d86 D3J9E92G7JCKWBY0A6P1YBZ34ZPXEKTWZ2RYQT30ZEC25Y4NZYZ0 +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(). NX8VVB4X828GTNP6J82V945DQHF76921F4HCRBK6ZHMS8B4QV5XG PHV0R81P7KFD2RPK1JWWA8Z84A6V72YV6K6FJZHS1DG6T70JPDF0;Y0JA1ZCWF3MKC8SMFTCTVNWZ3PY23CDE59B9MGM1SGSP41CSQ6ZG;Y5TWE7B3HSE2MYVVRXC5QKJ1XRGXWSC96939Z88NR6519EX9RZ5G;ZVBJZNF1JBB4ZPEDNF0Q955JVD5ANH9X41SF4X4QHRHYF8MRCN40 ce886f76a5e286da655c719bad2a55cc72f93d86 F1F0FJCFV69X17ZD20WNJ5FTC7ABC5WS56GWWGWDXGR7X30XVJDG +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(). EBAE4AN5DSR4F4K9YEZ5R8VYE5B2RD6JFA07DW7HT924Q95DC1EG GSNMHP73BQ3YFH2RVCJ372TP84MZ85K89HM268YR973PTJEP8Z6G;VW36AZ38AR1A6R6XTPZ6C2M5C8ZC3RRPBCBNXH0PJQAW2MGJT0SG ce886f76a5e286da655c719bad2a55cc72f93d86 MAS683KQ16Q3BM9N7G0F1PWTZPJ6MXWKYSJGBZ21PE1DXXTN4CP0 +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 GSNMHP73BQ3YFH2RVCJ372TP84MZ85K89HM268YR973PTJEP8Z6G;VW36AZ38AR1A6R6XTPZ6C2M5C8ZC3RRPBCBNXH0PJQAW2MGJT0SG ce886f76a5e286da655c719bad2a55cc72f93d86 N9FSRP4Y3MXNTFS3MBZBSJZ1PQRCCA39X7TFY8ETAJ3GG5RHPM40 +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(). 814QT2S7NJ453SG3CJQWH9C2JXBPCR603K82K6W5FFYYZ885V720 N6JG70KAG7E40CNAHK31A14XC9DGW69MR2B9CX7E0GPHXE575J10;3D0WXFSG79QQYX5RCA19R437NW0AQABZMVXFWPQEH519GG260KTG ce886f76a5e286da655c719bad2a55cc72f93d86 FHGHEPXZ9W9CK7KQE9CTZV99T8N36MV6C9SPJVVPP2QA4Y6Z4VDG +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(). KP2TJWZJ453N09EHG5X337WWFSVDTSWVQFCKK5MG9KBSS338S4CG N6JG70KAG7E40CNAHK31A14XC9DGW69MR2B9CX7E0GPHXE575J10;3D0WXFSG79QQYX5RCA19R437NW0AQABZMVXFWPQEH519GG260KTG ce886f76a5e286da655c719bad2a55cc72f93d86 QA5YZ14EWMWYEKEFP93PCH5JTWAEPD6PNY2BWC7V7ETHYWNHYEM0 +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(). NXKZQTT1BQSZKJNRF544XB8Z49HA1AX74FGKN4Y2R6Y5DHE81NM0 WWPFCWQP3KEX804F8SACVMY58BXJ1W6CHAHTBM6M0Q9YKP2GTC1G;W09BHB8MDKQZYGYPF78EZYRSAC1HYD04KX5EPMQ1W287J9W32F4G;0F2H7ADV70GTE5QKA74AD7P256JAY5XM3MDXMZ4QZTGWHP9YQGXG;PMM1WNYT7WBBHBVPR48XDC5KE6Y76MMRADTEVCYWM1NFSREPMG80 ce886f76a5e286da655c719bad2a55cc72f93d86 W95QN5NZCKA1HJDECE5NF0QJ8KSQAZ0C9MEPE7N5E2Y7324QYJD0 +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(). 3Z1WRQK6DRGZK70475DB4AC3YPKFCCW4TA94HAPK47WW2EG1JZFG WWPFCWQP3KEX804F8SACVMY58BXJ1W6CHAHTBM6M0Q9YKP2GTC1G;W09BHB8MDKQZYGYPF78EZYRSAC1HYD04KX5EPMQ1W287J9W32F4G;0F2H7ADV70GTE5QKA74AD7P256JAY5XM3MDXMZ4QZTGWHP9YQGXG;PMM1WNYT7WBBHBVPR48XDC5KE6Y76MMRADTEVCYWM1NFSREPMG80 ce886f76a5e286da655c719bad2a55cc72f93d86 JRNWKBX27TSVD8AM6NXA9SRRR6TD49HD91R0BGARPN49XET8AGH0 +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(). RW60V70JGW3FAHHEVNFXGCRN0TE9G2KY7S5JMM0PRAMDHK50ETP0 WWPFCWQP3KEX804F8SACVMY58BXJ1W6CHAHTBM6M0Q9YKP2GTC1G;W09BHB8MDKQZYGYPF78EZYRSAC1HYD04KX5EPMQ1W287J9W32F4G;0F2H7ADV70GTE5QKA74AD7P256JAY5XM3MDXMZ4QZTGWHP9YQGXG;PMM1WNYT7WBBHBVPR48XDC5KE6Y76MMRADTEVCYWM1NFSREPMG80 ce886f76a5e286da655c719bad2a55cc72f93d86 652YRE6J2V0DZ004J04CN88J7A1HVDN373AV8B59F6S5CXEGMPBG +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(). B0AT3NPZ6GJMBGHFSJG6G3SE85RWAFQZCXXAR8W175VYZC6B8XCG 1J6J2ACENQHYXSH92M8JRDY19QES5C6R51P85GNVB6CVNQQPC0X0;6FZ0A1HYNYKQEAVHS212SNA661A6XJ7ZMDX2HZ17AND0HM3MQZRG;8FPK3QK7ZWVVJ2TDN0DYVXK9W1419NR61FERJPHNYFMBF4NYP2Q0;PZ8TWT3X22S92PKRXVA4Q4S4VY3Z9V131EFJR1MJ13GKZMD9TFJG ce886f76a5e286da655c719bad2a55cc72f93d86 V1VHZTW8SEG37VRV42VEV2MY434SW8F00R9ZNADM9T9NJ9CMTEAG +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(). 1Y5SP0T4M8DA7R4Q41DHE64GAG2S37HSY9BA3E4ZGW36JAM3CA80 1J6J2ACENQHYXSH92M8JRDY19QES5C6R51P85GNVB6CVNQQPC0X0;6FZ0A1HYNYKQEAVHS212SNA661A6XJ7ZMDX2HZ17AND0HM3MQZRG;8FPK3QK7ZWVVJ2TDN0DYVXK9W1419NR61FERJPHNYFMBF4NYP2Q0;PZ8TWT3X22S92PKRXVA4Q4S4VY3Z9V131EFJR1MJ13GKZMD9TFJG ce886f76a5e286da655c719bad2a55cc72f93d86 VTBEBAHR7H9VM288M116P4C4DEJK9BH3CWNP0QTR2AV7NY0J1760 +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(). VNRXYVJPKT6SWETJHJGAZZNMYX1WC5DWF8BHCN1KG8BDBXJVV4A0 1J6J2ACENQHYXSH92M8JRDY19QES5C6R51P85GNVB6CVNQQPC0X0;6FZ0A1HYNYKQEAVHS212SNA661A6XJ7ZMDX2HZ17AND0HM3MQZRG;8FPK3QK7ZWVVJ2TDN0DYVXK9W1419NR61FERJPHNYFMBF4NYP2Q0;PZ8TWT3X22S92PKRXVA4Q4S4VY3Z9V131EFJR1MJ13GKZMD9TFJG ce886f76a5e286da655c719bad2a55cc72f93d86 JA9VH6DD3Z3S4VKNPP5AFYDT5ZBT4EA6AHNARDE5TG98AJAWYVVG +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(). 5N18JBKNQTWJ7J8AY3D3F97CJBHDVD6M35Y4DCW8ZHTQ74N88BSG W6GS52K99VFSG8MKB94K1TPQGM4NQQ3W57W3NH20J6TRHQA8YQXG;YC25XVKN9MYJKJEN6X6TZAKV5WFXXC9C3XH3T5VSMYCJPNPD8JJ0;N6ZSME6HH98VECMT6XZ35STJR4Y3M129XC0YZ1J00FK2CZKPNDR0;J6EX16CHC82XSXFKD25XAGKE8WP9AY9158Q33E7AX303Q7M8ZD1G ce886f76a5e286da655c719bad2a55cc72f93d86 VQE5GD0SXR9R4EKF4W2WNTR2VHMT693G7FM4SW0BYEB85WYND7NG +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(). H4Y51MSVBB4MACV4AVM2EEQ8B2S0G7DX3FCRWWH1D7VA6H4JFNZ0 W6GS52K99VFSG8MKB94K1TPQGM4NQQ3W57W3NH20J6TRHQA8YQXG;YC25XVKN9MYJKJEN6X6TZAKV5WFXXC9C3XH3T5VSMYCJPNPD8JJ0;N6ZSME6HH98VECMT6XZ35STJR4Y3M129XC0YZ1J00FK2CZKPNDR0;J6EX16CHC82XSXFKD25XAGKE8WP9AY9158Q33E7AX303Q7M8ZD1G ce886f76a5e286da655c719bad2a55cc72f93d86 GBJW3BXQ6BBC2GM3S1HZKBQ16BCG9P0EP3569BF53G62HCT46JGG +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(). EBAE4AN5DSR4F4K9YEZ5R8VYE5B2RD6JFA07DW7HT924Q95DC1EG W6GS52K99VFSG8MKB94K1TPQGM4NQQ3W57W3NH20J6TRHQA8YQXG;YC25XVKN9MYJKJEN6X6TZAKV5WFXXC9C3XH3T5VSMYCJPNPD8JJ0;N6ZSME6HH98VECMT6XZ35STJR4Y3M129XC0YZ1J00FK2CZKPNDR0;J6EX16CHC82XSXFKD25XAGKE8WP9AY9158Q33E7AX303Q7M8ZD1G ce886f76a5e286da655c719bad2a55cc72f93d86 1BJQKRAWK8318B1C51242KQRF32YR081S8CQV5QVGB6T50KC2VZG +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(). HTTBAPBXAQ34Y2CD06WE9QTE5YK8KJJFEYCJ8TVS0CH9Q38DSRRG W6GS52K99VFSG8MKB94K1TPQGM4NQQ3W57W3NH20J6TRHQA8YQXG;YC25XVKN9MYJKJEN6X6TZAKV5WFXXC9C3XH3T5VSMYCJPNPD8JJ0;N6ZSME6HH98VECMT6XZ35STJR4Y3M129XC0YZ1J00FK2CZKPNDR0;J6EX16CHC82XSXFKD25XAGKE8WP9AY9158Q33E7AX303Q7M8ZD1G ce886f76a5e286da655c719bad2a55cc72f93d86 GYT5MPS257MWAC8EEYJ5TW2AFDM8HF8RERYNKAHBV9WVVNEMSNWG +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 8D86DKFSRQ74S39BY0R8JNE0X4KF93KFAT0ZHEKTAVV6X9CYFE90 ce886f76a5e286da655c719bad2a55cc72f93d86 4362DRDSSV28PGB141FKZ141QRSQTT22VR0ZVXZ37GAS4WYGH1PG +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(). RWZN1D173WS9NWGHPQV1W71BWY4EAGW8HM2QFRHFWVX1AHVBJAFG 8D86DKFSRQ74S39BY0R8JNE0X4KF93KFAT0ZHEKTAVV6X9CYFE90;JY09NB41J7HZYBH7M78ASGQY783H0C40YFD53HWW5MWM60PCA7F0 ce886f76a5e286da655c719bad2a55cc72f93d86 2ADH2AB608FMS9ZGQ1K62V6E7Q8ERBJRS7ARDN0M5ZS3J6ZGG3Y0 +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(). 0G3PHZZR5BZ4N8RA0A2YDDVV7B0PMYHVVJNMSFQ09G7B599K56PG RRSXV2F988CXBHFANRJ41ACTFZ6KK00A5ZCJ3AGDGZYPR8Z459N0;RGP8V1HHSM31HAH4V8S3C6AYPG1Z9Y5JCGAVE08K4W05TJKA28PG;XM0N98HGMBJ5FP6C3M5ATPXPBFFVG8TQ16BPMDV4H43DGQJ6BNHG;SJ4FWH5ZKXDT47K0M33NNFRM6PHRDWZZKV3BNGWJG2MK56CDTSAG;F2C775ZST8FPKH91BEZSBXEY0911XDZW5E33KRBBA0DNE320KYF0 ce886f76a5e286da655c719bad2a55cc72f93d86 95QK7S921HE1RH4EA8PG49E595NFHP9FP6EPSTDGVMMCQTT1Y7K0 +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(). XYAQ9JDX1EZ07SQFJQ845WV6JTH01HM47WB68K7F4YB0R8F7ZM70 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;402NFSW62Y6J1QG8BQTJEWGCFKF10R7SHQ263QTZT5V4NZQABPZG ce886f76a5e286da655c719bad2a55cc72f93d86 4NETF13T9C6GH20TE9XFW7BCGCQPSJ2T3PR5PFZH3G7W7RK2M190 +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(). N4XZEA7VC4R6M1P9X8RKYGZWWY23JRPN2AA4WFNHCWQ8J2492S1G 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;402NFSW62Y6J1QG8BQTJEWGCFKF10R7SHQ263QTZT5V4NZQABPZG ce886f76a5e286da655c719bad2a55cc72f93d86 Y0FG8016Y49GT51HTPM8JJMVXX84PXYG7AWKGNEWPZFVZGSTG4ZG +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(). C7H2DH6FXSSBRJYMNHXVGSGJC4S5VCMESEKWWYW7KHX1S9G7Y1J0 RRSXV2F988CXBHFANRJ41ACTFZ6KK00A5ZCJ3AGDGZYPR8Z459N0;ZKS2JMQP7WZW7AQRFSEDB41MD2QEVXQVTN90XFGBPTTZVGY8YC0G;NJN7FNMYCKAZ48FXR3NA0MWJK3AHY5VSMD0EZWNZ67FKAHVSFF3G;JY09NB41J7HZYBH7M78ASGQY783H0C40YFD53HWW5MWM60PCA7F0 ce886f76a5e286da655c719bad2a55cc72f93d86 P32A25CQA25AN6VXP9XWJ1G6J7GVVZJTYAX0DJ19TC0CW0NEEMDG +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(). W1MKD156M6CJH3HJZBDNSFKVZNFVHQ1NESE78GC3C9XK1Q881E30 KD6DDEENE3EJQ1HEV61R5DWY86KM4SJFGH1F1M6SCKM3EP51WBB0;402NFSW62Y6J1QG8BQTJEWGCFKF10R7SHQ263QTZT5V4NZQABPZG;5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0 ce886f76a5e286da655c719bad2a55cc72f93d86 821YD377K3VPQC5J2K0DHM1NW01FTMR7J68WSGAP8A19KJETV840 +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(). 0G3PHZZR5BZ4N8RA0A2YDDVV7B0PMYHVVJNMSFQ09G7B599K56PG KD6DDEENE3EJQ1HEV61R5DWY86KM4SJFGH1F1M6SCKM3EP51WBB0;402NFSW62Y6J1QG8BQTJEWGCFKF10R7SHQ263QTZT5V4NZQABPZG;5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0 ce886f76a5e286da655c719bad2a55cc72f93d86 D080W1BH67JN12BJ1THS6CM08QGFDQWKN39QWXP5EAHNS3AXYSJG +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(). JG3EDVAW5JBTRAVXT9W0VT8FP8NWE65F6NB5YS8D3YTDKPXTAR7G Y5TWE7B3HSE2MYVVRXC5QKJ1XRGXWSC96939Z88NR6519EX9RZ5G;VWPMTPFWQ2CPKKAQV9QF1Q531ACJ721G8MWN0VZB6NDQZR6MKHXG;ZVBJZNF1JBB4ZPEDNF0Q955JVD5ANH9X41SF4X4QHRHYF8MRCN40 ce886f76a5e286da655c719bad2a55cc72f93d86 T97X1QAXQQ31NNYBSTABGJQPMQ49FFW9SN9JHCGA2J868YJFHADG +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(). NX8VVB4X828GTNP6J82V945DQHF76921F4HCRBK6ZHMS8B4QV5XG Y5TWE7B3HSE2MYVVRXC5QKJ1XRGXWSC96939Z88NR6519EX9RZ5G;VWPMTPFWQ2CPKKAQV9QF1Q531ACJ721G8MWN0VZB6NDQZR6MKHXG;ZVBJZNF1JBB4ZPEDNF0Q955JVD5ANH9X41SF4X4QHRHYF8MRCN40 ce886f76a5e286da655c719bad2a55cc72f93d86 F9KG3DGZ3THCZMC1N8NYTVTRQS2002BQFEX7X51XX0REF9Q1KDC0 +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(). F0N3RYSS5QM1XHQ1N5P3SS5197X5258SY4KD08423JEVFRY880RG 8WWC3EQ53JC23MY817AY14PDQ81GX3X6VTX879GP6AAYZFZG9FJG;PY8ZYSZ8M7CWRYBGMZ4PSMWQDG9VGQBV9MZ0SRH3ZBT73CJKAJ50 ce886f76a5e286da655c719bad2a55cc72f93d86 3992G3NDYXMZCTJ8ZGHQBRFW738ZRS8WWDY1X6AVMX4EMYBBSXG0 +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(). JDGX520ZTMSNGDQYJM3G3SJVGH467AF82NC3N72K4D2YM7D7T3X0 VS37XAZ1RCJ9M4T99DVGVHZFAXX4HX4YJEBA15J4RJA7SXEJW0E0 ce886f76a5e286da655c719bad2a55cc72f93d86 9MWBEKXCQ8YH8DBW0M0JW5F0ZSHEBS73PK5F8Y9PFX486F4XZGWG +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(). BT9PGCZ27WK9MHZH6JG47ZD1797DH6NSJXA6BRWSDEVQGTJYR4E0 VS37XAZ1RCJ9M4T99DVGVHZFAXX4HX4YJEBA15J4RJA7SXEJW0E0 ce886f76a5e286da655c719bad2a55cc72f93d86 NR2F09C9VRQAB43PE0TJWE7ZH80HDNGQ39AND3XVQR0WF45QAM10 +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(). BT9PGCZ27WK9MHZH6JG47ZD1797DH6NSJXA6BRWSDEVQGTJYR4E0 459ZPK8F7MHQ05GZ5W5TBGV3YY9G7VKMRPX3Z2MRB1BY2JPGP4EG;ZRV0P0SA5KX2NDB0CBKSPBRFTE10R9NMV4E2CR75YDSZ0FTFB6R0 ce886f76a5e286da655c719bad2a55cc72f93d86 ERDEEW26HRYZJ4TTWTBX3RC73G57H98P569BTM57J8DRCX5YM2GG +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(). ZQ6FGRQJEAHP9KMHME3BR2NGKE0GQFH3E2HZR1KH6BQY8FB6Q4RG 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;9BB9A6KS14HG4N6X7NWYYE5Z5XGN62028S05CN9AWZX51QJ7J9YG ce886f76a5e286da655c719bad2a55cc72f93d86 M9XZ6NSBAMZZWCKE2TSWQMSADT2P8KWXGMZWACE2FBDVQ7Q3SMV0 +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(). SZ3BK0VC53E8K0TTX9ETAYB4WDSE4T55JZ3GC1P2SDJ403HDCKS0 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;9BB9A6KS14HG4N6X7NWYYE5Z5XGN62028S05CN9AWZX51QJ7J9YG ce886f76a5e286da655c719bad2a55cc72f93d86 W7WJ7200PTXATK7AS803ZV0FNDKAEN6HAZJ5Q5T46RWKE3BNWAG0 +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(). CM108X13WC27KXKVJ001Q2PEMD2DXKCH46DS9E4HNG528TKA5CGG EX2BDTRHVEY5PC29F4ZHP8TZKTGNV8GMMRZXXP0FCMCMPMPGEYZG;AK1TD0W718MJGN9A8D5ABYTF4XW0MCFVNZ1DD5QDR39WN6HFTZ2G ce886f76a5e286da655c719bad2a55cc72f93d86 TKTTCE40D7JMRA40JZG8APTPA9M44X21X0KQTDH4Q46NCK15RKW0 +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(). PDDPF5CCFX5J9PMKDKBG57EZKCYTBX6XDMKYT9Y47CM3NM4KNT7G EX2BDTRHVEY5PC29F4ZHP8TZKTGNV8GMMRZXXP0FCMCMPMPGEYZG;AK1TD0W718MJGN9A8D5ABYTF4XW0MCFVNZ1DD5QDR39WN6HFTZ2G ce886f76a5e286da655c719bad2a55cc72f93d86 9QW2Q32D1T3J36RESFDTDG0E4MAE2P35086ZGPQD6QKRYGVDJS80 +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(). FY54JSMFMKA0Y2ETBZGPJEQASFMYE2XPM8FXMXE330Z1QKKX13A0 AK1TD0W718MJGN9A8D5ABYTF4XW0MCFVNZ1DD5QDR39WN6HFTZ2G;5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0 ce886f76a5e286da655c719bad2a55cc72f93d86 93AG7NX73JYJ6VZRQRKW9CT2G0SA2CXNZTVHAYFNGXVWT03S466G +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(). QTJWKXJWABX6974V4AZ4C0VZ9TR9RECG0W53GQB5F1F2BGJH8KN0 AK1TD0W718MJGN9A8D5ABYTF4XW0MCFVNZ1DD5QDR39WN6HFTZ2G ce886f76a5e286da655c719bad2a55cc72f93d86 RXW9WY08P39YSJCK1VR34TG780FBGENP7YT9PB1RHY6Q9SRY4V1G +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(). QTJWKXJWABX6974V4AZ4C0VZ9TR9RECG0W53GQB5F1F2BGJH8KN0 AK1TD0W718MJGN9A8D5ABYTF4XW0MCFVNZ1DD5QDR39WN6HFTZ2G;D9K9AFEQVEHHSQVW8H0FBXRSYP3X4QHKTB9GSZDKK37P43BM1NSG ce886f76a5e286da655c719bad2a55cc72f93d86 0CSBEHC7H16QNAWCCX6NJ0Y2KSH1R023DR2VRRCFV7EHHX5N12M0 +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(). BC78KN8ZV330B48J9SFFSAHVV89AA0MBVMKKCT78A5BKX4P4XG30 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;D9K9AFEQVEHHSQVW8H0FBXRSYP3X4QHKTB9GSZDKK37P43BM1NSG ce886f76a5e286da655c719bad2a55cc72f93d86 JY0W0F1WD9DZ4375NNQAGR7DY2XJA7EX6Y00FA1Z0Q3C3FK6YXSG +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(). 1X7T72JFBBQYB0G768MCR8EKRVJZXF4DN2H3HF0W2FBKM4SMVENG 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;D9K9AFEQVEHHSQVW8H0FBXRSYP3X4QHKTB9GSZDKK37P43BM1NSG ce886f76a5e286da655c719bad2a55cc72f93d86 V1Z8GS942DTEG6S3ER7V0K3N3YQDGMNE2M473ST75ZVBEJV8MC0G +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(). BG6CFVERM3YH02KDTVGKC6VG5Y5F6RHC5P22D51ZYPVAB3TN4PQ0 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;Q4J79SX2M4FYSFHKT69VJTC1ZN6C9KT0XXJNJPPX2B0M9PPT4ZD0;9BB9A6KS14HG4N6X7NWYYE5Z5XGN62028S05CN9AWZX51QJ7J9YG ce886f76a5e286da655c719bad2a55cc72f93d86 533KPXD5E5FS05ZG4SC9RKSC20GMR3MFZMDD3MQS0WTFZ23BNMC0 +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(). 14Y1H2QBMN49C3DF7473WH6DT34XRZSTJRB8ZGQ0ZF3HMFHDBPWG 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;Q4J79SX2M4FYSFHKT69VJTC1ZN6C9KT0XXJNJPPX2B0M9PPT4ZD0;9BB9A6KS14HG4N6X7NWYYE5Z5XGN62028S05CN9AWZX51QJ7J9YG ce886f76a5e286da655c719bad2a55cc72f93d86 G18CRHXX6M8PGXG41JHY6MSBRYFR5CKR5PH9BV02XAS2D5ESV2EG +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(). 8T9PSWP4B651FC8YDR9S1CEX9481W43PSR0D15CWFT14XD23ARX0 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;9BB9A6KS14HG4N6X7NWYYE5Z5XGN62028S05CN9AWZX51QJ7J9YG ce886f76a5e286da655c719bad2a55cc72f93d86 RCRJG3094RC3N0B81QZGQEG1N0XE9Y5FEK0WKS57NM17GDAF9310 +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(). 88TB316H98BY2XSG1QPZEH8F5V32H2VHDMADG1009N85WHBW063G 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;9BB9A6KS14HG4N6X7NWYYE5Z5XGN62028S05CN9AWZX51QJ7J9YG ce886f76a5e286da655c719bad2a55cc72f93d86 QY5C6WH1DX6AA0SAHT9N4AS4D7NFGJPSMCN0MZXYB50H4C7N4FCG +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(). 38XVKYA4MRVDBN8W316Y65TVK83347KA1TBTY7BK45ZRB5BFY8G0 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;9BB9A6KS14HG4N6X7NWYYE5Z5XGN62028S05CN9AWZX51QJ7J9YG ce886f76a5e286da655c719bad2a55cc72f93d86 XC9BS044JVB25FYCKSGV0RJT9T7Z5C20CFH6F6Q2P7E7D4HFPCM0 MR-SOFI-0356 dsm::sofi::resolve::held_at android MUST_REACH active dsm_sdk::jni::unified_protobuf_bridge::Java_com_dsm_wallet_bridge_UnifiedNativeApi_dispatchIngress dsm::sofi::resolve::tests::what_a_walk_holds_counts_only_at_the_position_it_reached - CONFORMANCE §8 MR-SOFI-0356 (Met) 1WHHH2CYJWQET4YK5AJ3JWRHB9PXS210P40V2WKFFJ3DJR71NWF0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/resolve/held_at(). 0PCF49WQYKWFR5ZVT76PNXFY0DCGFSJABNG9J56D2PKMF246Q6J0 4PP2ECX0M7Y1HVJZZ4P6G0EVTF3RFCBMD4ATDE822J79ZSWFDMJ0 79048b72361fe93c49b6a0f77b160565c192e39a FY5EKE9KSQTPTS8E5HF7TMZYK9TH5BPC7RE05SY3QY9E15W5ZGH0 -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(). GYK0HMBEW9CTRTD6FEYAXWDZ596D0ES269WGYAAAH0ZEXAKBX7K0 FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG 8017c77e38662dcbc183522cc22d69e8f8597e80 B21BSHPBH664HA4DN41GN014E94SWE7EHNAZ2H6Y1X8F4E8D2PM0 -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(). GBD52RN1Q5VY6GJ609WKAR4WSX62C873MEMW6V3B0KPZXVRP6YTG EDRRCK039C8G3488W9VXE6DD5FVD256BAPKZND9348ESB8QJFSWG;43HDR9Z06ZHAQ8GH7DF568DFN6K1JJCAZEHAWH0F1WBR6BYR50WG;FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG;W2V0JWHYDFTV8XSTFYDD2ZEK9T9RR4XNT87BWF382PN1VXT5XJEG 8017c77e38662dcbc183522cc22d69e8f8597e80 ZSZPC3T6J5MF53N4PZFWSNR5QPZGAF7FVCZ0GGM8A3J39M9JAMNG -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(). WD66C1DS3FA5YHWMD6JNQ889ZMFFD5G75HETXPD0WAC3RG73121G 53MN1YJ25SFXB661156HE9GFW3S4D6H90KX9HR0CR0AS4P28WHEG cfbe96bd945d254a6a345105b7b0d203d70a92ff 2T6JZ92MN5BZRQ8QRTKS4NGXWZ4TSXEJ87ZYDY3RQW0AAGCGQ96G -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(). VD4ASSGQT61PN2CPR37P08E21YWJSDQWQP0KKR42KMHTSXNN7HY0 53MN1YJ25SFXB661156HE9GFW3S4D6H90KX9HR0CR0AS4P28WHEG;W2V0JWHYDFTV8XSTFYDD2ZEK9T9RR4XNT87BWF382PN1VXT5XJEG 8017c77e38662dcbc183522cc22d69e8f8597e80 35F0JF3E6EDG7871YBRNCGAXB4JKA974ZJZ372NSWKQEZZ5JF300 -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(). C4WGNMR48WT7KBC1FCCKPRXMRV1BMNEF3NVAHKB68AVYSE1SFN30 GGKTVVGDY8JBC4G8CW2X512B65MZW791KRHGRQEP8ME4JR1M932G;X8MJBZCYFBCTTS3ZZ4YHR7PAHPDYV3KMF4SGMAQ70PFHW68K46J0;W2V0JWHYDFTV8XSTFYDD2ZEK9T9RR4XNT87BWF382PN1VXT5XJEG 8017c77e38662dcbc183522cc22d69e8f8597e80 4FDGH3QJHZNBBRN72GX0Z3Q1HGF72GHT08RX4NEZ99ZXD3DJ4PP0 -MR-SOFI-0357 dsm::sofi::validation::movement_shape 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) 668A54B0JMP8K05DZTKHX3HERT9HMB2WEFGAGGE85G8JA7112DK0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/movement_shape(). A9PM98ABDZVRFZ8EBYBM9YQ3F69T29FCYAQ1DSK1AX7S5D6D2Z20 53MN1YJ25SFXB661156HE9GFW3S4D6H90KX9HR0CR0AS4P28WHEG;W2V0JWHYDFTV8XSTFYDD2ZEK9T9RR4XNT87BWF382PN1VXT5XJEG 8017c77e38662dcbc183522cc22d69e8f8597e80 E0N1KG5B074KDZ450DEYK6BV1Q2CT9ZZZMKXW8C14G2GY6AY7AN0 -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(). X15D66EHMJF1P86F9HFDRNA51Q0NW3EBGJBM59FX8G5BY2KHY7C0 W2V0JWHYDFTV8XSTFYDD2ZEK9T9RR4XNT87BWF382PN1VXT5XJEG 8017c77e38662dcbc183522cc22d69e8f8597e80 1AQ6B5VPBKXWSM9JAQ8H5R3FEK6A8NBQZ4T5D2DJDD70TV6VHRMG -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(). TZX4ZYTWGRZ3SJC8QPQJY1RFSXM13Z353JZCF73M1KG2TQKB0QN0 W2V0JWHYDFTV8XSTFYDD2ZEK9T9RR4XNT87BWF382PN1VXT5XJEG 8017c77e38662dcbc183522cc22d69e8f8597e80 QW2GZ50P1M288NK53G5AEQ373GEV1R2J2T3MNK7312KK12EAKTMG -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(). Q14GK2VQ64E6TR0CW6E5TZYTZWFN53ZND6M7R6YB5EQ4Y81N8410 W2V0JWHYDFTV8XSTFYDD2ZEK9T9RR4XNT87BWF382PN1VXT5XJEG 8017c77e38662dcbc183522cc22d69e8f8597e80 S7XEG7ZE4999D6P52H0G1JBPXHD298YK122YMG0VT6HBFJ84GQJG -MR-SOFI-0359 dsm_sdk::sdk::sofi_flow::route_ends 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;dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer - CONFORMANCE §8 MR-SOFI-0359 (Met) T2Y93XZPSJCRAYCA0BRHHXQ2H5PTQDRF47RET487DRJN2EYEAB60 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/route_ends(). 3PEGBYWGQMA9WQVBKZ9YMPC5FTXG6F6FJP02T1AGVMXGA7MTD1RG W2V0JWHYDFTV8XSTFYDD2ZEK9T9RR4XNT87BWF382PN1VXT5XJEG;FFMH7Z27CWGGQSSD419HBX5H4DZ9QTSDFDMGKTJRZTVA9KCK86BG 8017c77e38662dcbc183522cc22d69e8f8597e80 8GQAWCAPAVQSQ7CCBZNPY0G7348M7EYBJXF2EHX2RF5K3J9QKEDG -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(). NXPVBP3WJNSJNKDT6K4DTB4P6XYXPN68E8GA90FXJXEVP4RKHQA0 23EPNQMFNSBE87D5TB8B35NSJ8XS15EZ3GHANKC7X3Y97GSS8QQ0;ZRS08D0NPGXDTMYG4411C16Z0Z8VQ37ZCADER6YCT3P0G7YGDPPG cfbe96bd945d254a6a345105b7b0d203d70a92ff 54CAPZHAF9P9DNSY174745YNEWJV2RGXBNYZ7W1HZV2W9SBJTQG0 -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(). RC5QH672PR2K3SST94MB2WDEAHZ7XM7PRWJ8YZ358H9KN906CGVG 23EPNQMFNSBE87D5TB8B35NSJ8XS15EZ3GHANKC7X3Y97GSS8QQ0;ZRS08D0NPGXDTMYG4411C16Z0Z8VQ37ZCADER6YCT3P0G7YGDPPG cfbe96bd945d254a6a345105b7b0d203d70a92ff 0QCTXG7A6X3Z9FCKCNFFFVQC57W2N5XWXNMG5XV1RXCVXA9ZNQ00 -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(). NXPVBP3WJNSJNKDT6K4DTB4P6XYXPN68E8GA90FXJXEVP4RKHQA0 23EPNQMFNSBE87D5TB8B35NSJ8XS15EZ3GHANKC7X3Y97GSS8QQ0;ZRS08D0NPGXDTMYG4411C16Z0Z8VQ37ZCADER6YCT3P0G7YGDPPG cfbe96bd945d254a6a345105b7b0d203d70a92ff 232R35VFCW5D76TFBXCW8VV2F0NKE9CZMJ94H2RY7S3WCGCKJV1G -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(). RC5QH672PR2K3SST94MB2WDEAHZ7XM7PRWJ8YZ358H9KN906CGVG 23EPNQMFNSBE87D5TB8B35NSJ8XS15EZ3GHANKC7X3Y97GSS8QQ0;ZRS08D0NPGXDTMYG4411C16Z0Z8VQ37ZCADER6YCT3P0G7YGDPPG cfbe96bd945d254a6a345105b7b0d203d70a92ff 290ZDFBW4ZT796B7J8770XJQH3AE8TC14JTCMY615RH0Z0TWTTS0 -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(). 27HMQBMNPH835CKY9Q0N7GMJVN1MDYARFPSCPS7QSDMGPVWBRDFG TV10PK6D266JE87BVFXDC8SD9K1H2BA4ERNMAEJ21RC2DPWTKY70;EF811YN3V31DJ1ASKRTWE54KGDEJBENSRCB84S6J9W8ENM8PB9VG cfbe96bd945d254a6a345105b7b0d203d70a92ff 29PFBV2GQEBV310QWQ512MEWEN38QC7YY6NJHDVPWVZ9CG2V31C0 -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 TV10PK6D266JE87BVFXDC8SD9K1H2BA4ERNMAEJ21RC2DPWTKY70;EF811YN3V31DJ1ASKRTWE54KGDEJBENSRCB84S6J9W8ENM8PB9VG cfbe96bd945d254a6a345105b7b0d203d70a92ff P6BV1NJ9GJPMQW5J2Z5DTJJQ51ZN7WGVH5CHTG5NRXYP3D5612EG -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(). NXPVBP3WJNSJNKDT6K4DTB4P6XYXPN68E8GA90FXJXEVP4RKHQA0 23EPNQMFNSBE87D5TB8B35NSJ8XS15EZ3GHANKC7X3Y97GSS8QQ0;ZRS08D0NPGXDTMYG4411C16Z0Z8VQ37ZCADER6YCT3P0G7YGDPPG cfbe96bd945d254a6a345105b7b0d203d70a92ff XHTNETB8247AKQ2914BKQG287K3XYQCVV6B8FBEQKV2D9S74NNP0 -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(). RC5QH672PR2K3SST94MB2WDEAHZ7XM7PRWJ8YZ358H9KN906CGVG 23EPNQMFNSBE87D5TB8B35NSJ8XS15EZ3GHANKC7X3Y97GSS8QQ0;ZRS08D0NPGXDTMYG4411C16Z0Z8VQ37ZCADER6YCT3P0G7YGDPPG cfbe96bd945d254a6a345105b7b0d203d70a92ff 18JMAYQH8YS2ZWP1CPWXWS1JVX50H3MX23FXVGY0B83C9NBFXWC0 -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G 9REB1W7Y4QWM4CCFNFKRKGGKDSD39XSPSB5CMY6871KM1VQC33JG;XV5HX2Q9QE7NDBQ5R8A2NC9P24D6K6HZ4KB7VR0BJ6MJXG1BCM2G;RQGC95SYNA65YCEKZRV8HS1QNQV5TD10DE0GG99RW0Q4YN3095Z0;9WMAVRH61WFHT3KWJ1HTQ3HJ39QR0AM6SW5B03JPA6HF92E0V0F0;PKCHQB4GTF4R6ZPW11JQXGRJY1XYFZAM5CZVC9X5STWG3EN5BM5G;XGT9XGMWDZ17NX1JB2FJAF19H76FPGZ872X6R7EKXNR465JS0BE0 8017c77e38662dcbc183522cc22d69e8f8597e80 DBW58GSXZQQT69GJJAG0YHHBX5VBXWP65VCRCCF1ZECTGQ2W6N00 -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(). MJQNAEMW1T5DJT1G7NA8RZ37H7JSB8G8XX09MAJ96W90T0X71HYG 9REB1W7Y4QWM4CCFNFKRKGGKDSD39XSPSB5CMY6871KM1VQC33JG;XV5HX2Q9QE7NDBQ5R8A2NC9P24D6K6HZ4KB7VR0BJ6MJXG1BCM2G;RQGC95SYNA65YCEKZRV8HS1QNQV5TD10DE0GG99RW0Q4YN3095Z0;9WMAVRH61WFHT3KWJ1HTQ3HJ39QR0AM6SW5B03JPA6HF92E0V0F0;PKCHQB4GTF4R6ZPW11JQXGRJY1XYFZAM5CZVC9X5STWG3EN5BM5G;XGT9XGMWDZ17NX1JB2FJAF19H76FPGZ872X6R7EKXNR465JS0BE0 8017c77e38662dcbc183522cc22d69e8f8597e80 0YKDZ9MYAGJ5ASRE2M6246YJHB8AVHCQ5Q08N13DDD8EV4ANMFJG -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(). W3889Q6QRQVJ9JKDSG4NEH2XG9VJH2PV5T3Q835F6GNFFK6GM5Y0 9REB1W7Y4QWM4CCFNFKRKGGKDSD39XSPSB5CMY6871KM1VQC33JG;XV5HX2Q9QE7NDBQ5R8A2NC9P24D6K6HZ4KB7VR0BJ6MJXG1BCM2G;RQGC95SYNA65YCEKZRV8HS1QNQV5TD10DE0GG99RW0Q4YN3095Z0;9WMAVRH61WFHT3KWJ1HTQ3HJ39QR0AM6SW5B03JPA6HF92E0V0F0;PKCHQB4GTF4R6ZPW11JQXGRJY1XYFZAM5CZVC9X5STWG3EN5BM5G;XGT9XGMWDZ17NX1JB2FJAF19H76FPGZ872X6R7EKXNR465JS0BE0 8017c77e38662dcbc183522cc22d69e8f8597e80 1PDZ72M7DQETDNDGA0F86B4X287KFB1TR39GMEH7RZ7JQ3R4SZN0 -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(). H9BAACW7SMNSQRV3ZAX4B4V8NTNEQ573C8RCKEQ125Z4NT1SY550 9REB1W7Y4QWM4CCFNFKRKGGKDSD39XSPSB5CMY6871KM1VQC33JG;XV5HX2Q9QE7NDBQ5R8A2NC9P24D6K6HZ4KB7VR0BJ6MJXG1BCM2G;RQGC95SYNA65YCEKZRV8HS1QNQV5TD10DE0GG99RW0Q4YN3095Z0;9WMAVRH61WFHT3KWJ1HTQ3HJ39QR0AM6SW5B03JPA6HF92E0V0F0;PKCHQB4GTF4R6ZPW11JQXGRJY1XYFZAM5CZVC9X5STWG3EN5BM5G;XGT9XGMWDZ17NX1JB2FJAF19H76FPGZ872X6R7EKXNR465JS0BE0 8017c77e38662dcbc183522cc22d69e8f8597e80 NT3WK5WHMRAD77YAA96HQ1VQES63BMPV4H7ZJVPT132AS54JMZ60 -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G HNVKXZEQ6T7WHD12WVD7D1MPDJV87G5W84WRQ54TG93E4E7BZ6HG;K2V4BH6H3BCQ1FQAE8C1GEFHZN858W7W6TWDZN7J0912DFVW3BZ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 8ERFYBVJST9CEHM692M4SAQ7KR17HGK0TM6TXMD309ECEPZ4ZGTG -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(). W3889Q6QRQVJ9JKDSG4NEH2XG9VJH2PV5T3Q835F6GNFFK6GM5Y0 HNVKXZEQ6T7WHD12WVD7D1MPDJV87G5W84WRQ54TG93E4E7BZ6HG;K2V4BH6H3BCQ1FQAE8C1GEFHZN858W7W6TWDZN7J0912DFVW3BZ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff R7A64960R9EWR35GGH0C5YE29VMCE3A4GHRA1DW21WB6AKD34R70 -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(). PM4Z541ZKM3GM72CQ5WYWKHJ4ZEQF8QNFYB43TY873TX6XRKXH2G GY755BVNNWM8X5N9WWQRFKWYW09XG3YBFEEZXSFYPBY0QEVHDXJ0;RESGHYZ2JX2HGSXWEDJJV6QNWCKFXYQJJCR2S8F5CGWPYGWCFZQG;EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG cfbe96bd945d254a6a345105b7b0d203d70a92ff VBMWZXH5WFRH2Z75CSKARCYHMDQN77N9YBCXFPZFD23165EJWE2G -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(). NXPVBP3WJNSJNKDT6K4DTB4P6XYXPN68E8GA90FXJXEVP4RKHQA0 GY755BVNNWM8X5N9WWQRFKWYW09XG3YBFEEZXSFYPBY0QEVHDXJ0;RESGHYZ2JX2HGSXWEDJJV6QNWCKFXYQJJCR2S8F5CGWPYGWCFZQG;EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG cfbe96bd945d254a6a345105b7b0d203d70a92ff C9DN57RPR5Z8HVWKNK2RDAKJBNE5JB4PJ1WPHK6QHBZBDAQXKMY0 -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G K2V4BH6H3BCQ1FQAE8C1GEFHZN858W7W6TWDZN7J0912DFVW3BZ0;FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G;6W3Z63FP3H5J8E6PKR7KXZKX1K9SMH06V0EDW8YZDNCKJ5W3H8B0 cfbe96bd945d254a6a345105b7b0d203d70a92ff SCFB4DY38844SJE4GXHJD2FJNQMC7NET57NYHEZ2BKSMM75QBZAG -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(). 788AXQZKW2Y9FF264PVN8CVRA59WHYW01V2QK97WMC44JEW7SXK0 K2V4BH6H3BCQ1FQAE8C1GEFHZN858W7W6TWDZN7J0912DFVW3BZ0;FPR667YZ3JGAWGC6E59CGKC6JJKX02GAMAZDMKKGYEMD8ZNYYQ5G;6W3Z63FP3H5J8E6PKR7KXZKX1K9SMH06V0EDW8YZDNCKJ5W3H8B0 cfbe96bd945d254a6a345105b7b0d203d70a92ff BAKRT2E656B1Q8QGXB8KZ35A465H5TRYSMDWRCXKY1YGFDV7YSA0 -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(). RJE8XREEFX0J6767K4YQE1WM0ZRNXRFH85MES9QNNKYYN0WBGYMG 9DTYPN2ZRM82HXAQQSQPS5WXCETKKFHRX5VBEWEV0NQ2TDSA1JX0;093N18GYA1K74AW0D6CY2BSZVZV0KSB1AP01519MMS2QW2TYJZ5G;AKQYPRW4YG58BX4CBZVA686FRF9B2CZDRCX4GT3VKSMJQVS0YSS0;ZD7SYYF83J29V86TXFVCMDAWZBDF6QQDZMBS9CPBTYRGXPTDJ83G;9NZ848HQ6PGDHGMBKGPKS71262RRT9M1A6702J5KWSDY0MQQQFW0;H5XT5KZA4SAYMS0D0YV1T78XFNXNJVB5XGJ7S7WF3MJ8SKEB4DRG;SN14PBGTYGZY7JVGRB2N0R0TJN2WTE7CWJCBQ1TS2R4544XNY040;Y49KJXWJB7NNDY1FV3Y00PRYG38G0MCP8T1541JW9AG9NA3H36VG;F5E7M7A26T2GY53746MBN1J1MWQT03DFHTGWKAGBSET9FEKN3RV0 8017c77e38662dcbc183522cc22d69e8f8597e80 NTT4NDB7EQ6N3X9T013BARNX163PJGJX6VBTB8FPKVW5WGKXQ6S0 -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(). M2WV6YSVH9H8C762Q42H02QGV0JKH731DP4R1AZHMYNS2BW3V2DG 9DTYPN2ZRM82HXAQQSQPS5WXCETKKFHRX5VBEWEV0NQ2TDSA1JX0;093N18GYA1K74AW0D6CY2BSZVZV0KSB1AP01519MMS2QW2TYJZ5G;AKQYPRW4YG58BX4CBZVA686FRF9B2CZDRCX4GT3VKSMJQVS0YSS0;ZD7SYYF83J29V86TXFVCMDAWZBDF6QQDZMBS9CPBTYRGXPTDJ83G;9NZ848HQ6PGDHGMBKGPKS71262RRT9M1A6702J5KWSDY0MQQQFW0;H5XT5KZA4SAYMS0D0YV1T78XFNXNJVB5XGJ7S7WF3MJ8SKEB4DRG;SN14PBGTYGZY7JVGRB2N0R0TJN2WTE7CWJCBQ1TS2R4544XNY040;Y49KJXWJB7NNDY1FV3Y00PRYG38G0MCP8T1541JW9AG9NA3H36VG;F5E7M7A26T2GY53746MBN1J1MWQT03DFHTGWKAGBSET9FEKN3RV0 8017c77e38662dcbc183522cc22d69e8f8597e80 Z7SVC9YKMHQ92QBJXMKKQ663521XH0PGEQ8Z15R021STPE1E24S0 -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(). NM4WZCSKAE6EE0WEB9QB210RYKK9SERE42F0ZNCHCBH4JXRX5ET0 9DTYPN2ZRM82HXAQQSQPS5WXCETKKFHRX5VBEWEV0NQ2TDSA1JX0;093N18GYA1K74AW0D6CY2BSZVZV0KSB1AP01519MMS2QW2TYJZ5G;AKQYPRW4YG58BX4CBZVA686FRF9B2CZDRCX4GT3VKSMJQVS0YSS0;ZD7SYYF83J29V86TXFVCMDAWZBDF6QQDZMBS9CPBTYRGXPTDJ83G;9NZ848HQ6PGDHGMBKGPKS71262RRT9M1A6702J5KWSDY0MQQQFW0;H5XT5KZA4SAYMS0D0YV1T78XFNXNJVB5XGJ7S7WF3MJ8SKEB4DRG;SN14PBGTYGZY7JVGRB2N0R0TJN2WTE7CWJCBQ1TS2R4544XNY040;Y49KJXWJB7NNDY1FV3Y00PRYG38G0MCP8T1541JW9AG9NA3H36VG;F5E7M7A26T2GY53746MBN1J1MWQT03DFHTGWKAGBSET9FEKN3RV0 8017c77e38662dcbc183522cc22d69e8f8597e80 MMJV67D5174AD3E68YJB0HKPSGETQXM80JRDSAKTZA0W4VERRXQ0 -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(). RHX2ETH5HABEH6K5JQ6XFQV3CKQ15XY576M7X5AB18X158K9607G 9DTYPN2ZRM82HXAQQSQPS5WXCETKKFHRX5VBEWEV0NQ2TDSA1JX0;093N18GYA1K74AW0D6CY2BSZVZV0KSB1AP01519MMS2QW2TYJZ5G;AKQYPRW4YG58BX4CBZVA686FRF9B2CZDRCX4GT3VKSMJQVS0YSS0;ZD7SYYF83J29V86TXFVCMDAWZBDF6QQDZMBS9CPBTYRGXPTDJ83G;9NZ848HQ6PGDHGMBKGPKS71262RRT9M1A6702J5KWSDY0MQQQFW0;H5XT5KZA4SAYMS0D0YV1T78XFNXNJVB5XGJ7S7WF3MJ8SKEB4DRG;SN14PBGTYGZY7JVGRB2N0R0TJN2WTE7CWJCBQ1TS2R4544XNY040;Y49KJXWJB7NNDY1FV3Y00PRYG38G0MCP8T1541JW9AG9NA3H36VG;F5E7M7A26T2GY53746MBN1J1MWQT03DFHTGWKAGBSET9FEKN3RV0 8017c77e38662dcbc183522cc22d69e8f8597e80 FJRM4DVPRENGKVJVR5CRJPCVYZ99KYHW7N196WV7E62KBT1J3NQ0 -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(). 3HD60CX2XQJM6NAJ1J5DN1KK66MSX6RSEPPEB31ZTDM9PK17Z5R0 9DTYPN2ZRM82HXAQQSQPS5WXCETKKFHRX5VBEWEV0NQ2TDSA1JX0;093N18GYA1K74AW0D6CY2BSZVZV0KSB1AP01519MMS2QW2TYJZ5G;AKQYPRW4YG58BX4CBZVA686FRF9B2CZDRCX4GT3VKSMJQVS0YSS0;ZD7SYYF83J29V86TXFVCMDAWZBDF6QQDZMBS9CPBTYRGXPTDJ83G;9NZ848HQ6PGDHGMBKGPKS71262RRT9M1A6702J5KWSDY0MQQQFW0;H5XT5KZA4SAYMS0D0YV1T78XFNXNJVB5XGJ7S7WF3MJ8SKEB4DRG;SN14PBGTYGZY7JVGRB2N0R0TJN2WTE7CWJCBQ1TS2R4544XNY040;Y49KJXWJB7NNDY1FV3Y00PRYG38G0MCP8T1541JW9AG9NA3H36VG;F5E7M7A26T2GY53746MBN1J1MWQT03DFHTGWKAGBSET9FEKN3RV0 8017c77e38662dcbc183522cc22d69e8f8597e80 7A8FSJ4XY2RANHDQ72NHR1863XZ2NFAT365400ENWGB63JM33QVG -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(). S4PSC7QGPPEWKCYZ15AMHX0J8ZE9CFNQ9CK5JS815MPP63RRSA40 9DTYPN2ZRM82HXAQQSQPS5WXCETKKFHRX5VBEWEV0NQ2TDSA1JX0;093N18GYA1K74AW0D6CY2BSZVZV0KSB1AP01519MMS2QW2TYJZ5G;AKQYPRW4YG58BX4CBZVA686FRF9B2CZDRCX4GT3VKSMJQVS0YSS0;ZD7SYYF83J29V86TXFVCMDAWZBDF6QQDZMBS9CPBTYRGXPTDJ83G;9NZ848HQ6PGDHGMBKGPKS71262RRT9M1A6702J5KWSDY0MQQQFW0;H5XT5KZA4SAYMS0D0YV1T78XFNXNJVB5XGJ7S7WF3MJ8SKEB4DRG;SN14PBGTYGZY7JVGRB2N0R0TJN2WTE7CWJCBQ1TS2R4544XNY040;Y49KJXWJB7NNDY1FV3Y00PRYG38G0MCP8T1541JW9AG9NA3H36VG;F5E7M7A26T2GY53746MBN1J1MWQT03DFHTGWKAGBSET9FEKN3RV0 8017c77e38662dcbc183522cc22d69e8f8597e80 F3WG814H28SG86CVFH0WM79Y2S364JEAVJ73D2QFKMY7Y876ZB90 -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(). VAK4TX90HZNAVNX8CDPFAS490AJ3ZP7MA60SDX1WYK8RDYFMZH6G NRJKDFQF135GNP3KB19DJGFSBXP2E0KC2ERZRCBZGR4XZMK46MK0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 1KR50JVSBMPHT4AXR8CKBVBPRNX487279KCWQV4BKVJ6WBG4HT60 -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(). NXPVBP3WJNSJNKDT6K4DTB4P6XYXPN68E8GA90FXJXEVP4RKHQA0 NRJKDFQF135GNP3KB19DJGFSBXP2E0KC2ERZRCBZGR4XZMK46MK0 cfbe96bd945d254a6a345105b7b0d203d70a92ff C2A8ATSZRNH2ZWAVRVWF0ERP5C12VTFYMBWB4M8VY95WNH0B3W20 -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(). NXPVBP3WJNSJNKDT6K4DTB4P6XYXPN68E8GA90FXJXEVP4RKHQA0 GY755BVNNWM8X5N9WWQRFKWYW09XG3YBFEEZXSFYPBY0QEVHDXJ0;RESGHYZ2JX2HGSXWEDJJV6QNWCKFXYQJJCR2S8F5CGWPYGWCFZQG cfbe96bd945d254a6a345105b7b0d203d70a92ff GRAG9D7S64WKQEDQWJ9ZE8RH00BAYTPBSZ4EDTD8XSNNH8K15PDG -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(). W3889Q6QRQVJ9JKDSG4NEH2XG9VJH2PV5T3Q835F6GNFFK6GM5Y0 FBMDG32KSQHTHT523ESH3X4B7RJ5TAE1361DEBQVJP1H0E3K2ZP0;VHKVQR46BHQE6ZCWM9HMNFCJY66E1WYX3230FPFN7FYR3QESEHMG cfbe96bd945d254a6a345105b7b0d203d70a92ff D2HDBJKNZB9E71Z7AX22ZS8M5B8HAPT63CJJ54XTJGWP4MX2FN10 -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 FBMDG32KSQHTHT523ESH3X4B7RJ5TAE1361DEBQVJP1H0E3K2ZP0;VHKVQR46BHQE6ZCWM9HMNFCJY66E1WYX3230FPFN7FYR3QESEHMG cfbe96bd945d254a6a345105b7b0d203d70a92ff ECFDMF0HJAK5SSZJ98RT2RZMTBYC0AT7MNY0DEJ7XHEJHB9EP4RG -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(). PM4Z541ZKM3GM72CQ5WYWKHJ4ZEQF8QNFYB43TY873TX6XRKXH2G K3PN6P27MVD4E253NE1XRQ992QBES5K3GZ158SFQHX06XN2H3VWG cfbe96bd945d254a6a345105b7b0d203d70a92ff G3GVTQ7ZBB5YXHW7BAXMK3FT31EK6GNY0CKPZXA359G52SJAR0E0 -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(). XJC32FVPYCKEZSDKBB81MG0TDB0VQD1T79DECW2R1Q4XB6A8XWG0 K3PN6P27MVD4E253NE1XRQ992QBES5K3GZ158SFQHX06XN2H3VWG cfbe96bd945d254a6a345105b7b0d203d70a92ff PQ7DH6XEEXAF6R717QWH5DW1E7ZTXKN51FFS2DWZ6G7XWFV3DGM0 -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(). EA3Z3AWDN72P2F4SZ6YZY1VXMCH53T47PZXWM1JWEHNS101512TG EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG;WAK7YHGG3HSX5FTQXB2014HQEV0YYSFA6WP21BBWH8SF6Q9W8YXG;A090AW3EQT0TYSZBCF6PRPP1S8R7M2B56QG3HDD9PBWNNHNGDM00 cfbe96bd945d254a6a345105b7b0d203d70a92ff B8631P6VGQ04A2992MN8ZH48VQ8D01HMQ000M8ZAPDYBHFDHZ2EG -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(). S2B0SH5ETBK9FHSRQ8VNQRN15JPJ3A0N42GJ0ANAPZV4GCS8HZP0 EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG;WAK7YHGG3HSX5FTQXB2014HQEV0YYSFA6WP21BBWH8SF6Q9W8YXG;A090AW3EQT0TYSZBCF6PRPP1S8R7M2B56QG3HDD9PBWNNHNGDM00 cfbe96bd945d254a6a345105b7b0d203d70a92ff VNRW7KR30DNM9746B55XH2AA52TY2QQ522F4HTY2ZEWWEDBX2K70 -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(). QR8XGEBJKJJVDTWDK3W4XE38WJYPXNXDP2N1XX12ZPJ7ZA4QCSZ0 F0D92TYHM8F8J7M5B7NK19GD2DHMRRQAFWN29KC2SCT6FXZXAPPG cfbe96bd945d254a6a345105b7b0d203d70a92ff 5ZZK975SCWT5YRA3JCGNQBFXQA1AYXQF3ZRWH0GDVRRWQCN2AZKG -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(). JN27M1CAAQNCTP8QJGZG19S971NRZXC7Q4Y222N4A8FGT47EJF90 7KC1X02A7B4NNNMK167NH22NPFCB0P79YJPT17HJA0VHM13RZREG cfbe96bd945d254a6a345105b7b0d203d70a92ff F04TK37VE4NZ0YN98HZQAVEY7AJGT9BV7DGHC0SFW1S5YQRDWTV0 -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(). DDKCZGVN7EV8R41XJZPTY3BN1M84SAYGTQNFVH19VMRQW5QN7ZR0 7KC1X02A7B4NNNMK167NH22NPFCB0P79YJPT17HJA0VHM13RZREG cfbe96bd945d254a6a345105b7b0d203d70a92ff HDYR7C5GG5Q2M2SFV2089ZB7YWHQC4HC639HV54PZV57TMRPM9D0 -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(). RC5QH672PR2K3SST94MB2WDEAHZ7XM7PRWJ8YZ358H9KN906CGVG 23EPNQMFNSBE87D5TB8B35NSJ8XS15EZ3GHANKC7X3Y97GSS8QQ0;MDK717HBDQGQFSMMA5F9BR2G3FBQ74A1B4MPQXDFAS7J9QQ1Z4Z0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 2TPZEP8BWEXZJ6KX7BT9KBAB0MFMSMP5JKN4RY3Q7KWVDMS4E5TG -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(). 4WB9HZC40ZDH9C29N4XE6W0D684M9YC0VW3BK1FYRCEAYZ34XTR0 P6XBBHWJ778R1PRR5YF66AY9QKFRDDTVNKQH8GKR5EG6GCCWP8J0;RNZ5N6D5BJX10N70P46AWQGFT8EMWCP18YTRV4390E3PYPTDYYAG;9WKZN71EDQTJ1CQPH0Y4SRMW1S1FSWMTY5D7H020MZVTP5K0CCBG;K0GVZV0EZXGPYWGPWMX2GDC3N7YSKY11XG47KKBT7JNHQTN3VFXG cfbe96bd945d254a6a345105b7b0d203d70a92ff MKH0JH202R8XZYHX0BREVTJSJ55SNJK80XFZ6R27706GRKWR163G -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(). 6P8BH1SJFX6GB7HCSG79DXW2SK5674M0R572VB1XHDYBAPBTWEJG P6XBBHWJ778R1PRR5YF66AY9QKFRDDTVNKQH8GKR5EG6GCCWP8J0;RNZ5N6D5BJX10N70P46AWQGFT8EMWCP18YTRV4390E3PYPTDYYAG;9WKZN71EDQTJ1CQPH0Y4SRMW1S1FSWMTY5D7H020MZVTP5K0CCBG;K0GVZV0EZXGPYWGPWMX2GDC3N7YSKY11XG47KKBT7JNHQTN3VFXG cfbe96bd945d254a6a345105b7b0d203d70a92ff RMT7X17N7T5FBS8RGV0465555Z9TT9CMSCSETZJFAX04SCRCXGGG -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(). 4SZ0TK96VA7RJYXG807J512W0VXX4J740RP72V5MS20FBE5V7K3G P6XBBHWJ778R1PRR5YF66AY9QKFRDDTVNKQH8GKR5EG6GCCWP8J0;RNZ5N6D5BJX10N70P46AWQGFT8EMWCP18YTRV4390E3PYPTDYYAG;9WKZN71EDQTJ1CQPH0Y4SRMW1S1FSWMTY5D7H020MZVTP5K0CCBG;K0GVZV0EZXGPYWGPWMX2GDC3N7YSKY11XG47KKBT7JNHQTN3VFXG cfbe96bd945d254a6a345105b7b0d203d70a92ff XW40A6V3JD00MBSKPBPPT6A0Z04JCRNM0NXAV0V5ENXADZV9FV5G -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(). Q67NRRDYQEJM9RZ77Y7ZT1VC0KVVZNPHWAFA8AJRTW01HHRJMJZG P6XBBHWJ778R1PRR5YF66AY9QKFRDDTVNKQH8GKR5EG6GCCWP8J0;RNZ5N6D5BJX10N70P46AWQGFT8EMWCP18YTRV4390E3PYPTDYYAG;9WKZN71EDQTJ1CQPH0Y4SRMW1S1FSWMTY5D7H020MZVTP5K0CCBG;K0GVZV0EZXGPYWGPWMX2GDC3N7YSKY11XG47KKBT7JNHQTN3VFXG cfbe96bd945d254a6a345105b7b0d203d70a92ff R978NH6Y77AR1T4A7FV07JDF4X4BQBP274X70NX1K6GNA627D6WG -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(). RC5QH672PR2K3SST94MB2WDEAHZ7XM7PRWJ8YZ358H9KN906CGVG F0D92TYHM8F8J7M5B7NK19GD2DHMRRQAFWN29KC2SCT6FXZXAPPG;MDK717HBDQGQFSMMA5F9BR2G3FBQ74A1B4MPQXDFAS7J9QQ1Z4Z0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 6JPATBH6HSV37CC96BMYQDNNQC9DHXP3Z74JXCEV8MBNCGNFHK00 -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(). QR8XGEBJKJJVDTWDK3W4XE38WJYPXNXDP2N1XX12ZPJ7ZA4QCSZ0 F0D92TYHM8F8J7M5B7NK19GD2DHMRRQAFWN29KC2SCT6FXZXAPPG;MDK717HBDQGQFSMMA5F9BR2G3FBQ74A1B4MPQXDFAS7J9QQ1Z4Z0 cfbe96bd945d254a6a345105b7b0d203d70a92ff MBE4EPGF2R5JYN2PHHNNFSB3KF277JW62M1BSN84DSKH1SDM0KT0 -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(). VZM0105RGDADCJ7G7BKF14TC4PGSTM024YX32XVXDX4PKKJY8J2G 1SK7G1W3WQ4A45BF2Q1TD2TYS8H68SX55B7WR8KNCMNEJ0TM11Y0;HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G cfbe96bd945d254a6a345105b7b0d203d70a92ff KWTDGD74KEB3YY5R36D8WTMGDJGCMNBQJHGHVFY87JW2VYWYENDG -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(). VZM0105RGDADCJ7G7BKF14TC4PGSTM024YX32XVXDX4PKKJY8J2G - cfbe96bd945d254a6a345105b7b0d203d70a92ff PSK3D0C8HAG9MZZHEXHSM4RY484RHMKBZTY59MBNKTMVB3SX4D9G -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(). FHV8Q98RVA0T7T1SV66PHNYTM5GJ9YBQ8S19Z3R9DQNC46BPEENG 1SK7G1W3WQ4A45BF2Q1TD2TYS8H68SX55B7WR8KNCMNEJ0TM11Y0;HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G cfbe96bd945d254a6a345105b7b0d203d70a92ff 1DW8RGK7K0F2PR8256YQ3B4ZN0YND4S7VBG4NCV39JFK1HG5A9ZG -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(). FHV8Q98RVA0T7T1SV66PHNYTM5GJ9YBQ8S19Z3R9DQNC46BPEENG - cfbe96bd945d254a6a345105b7b0d203d70a92ff RYZZR66CN79C4E8Q704NVFARZNK7CGVR3Q1B87DE18QXA76J0BYG -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(). RGE5RWRXCTY35GGK6Y66FNEAJQA4AZ14QRNR6XKQHBXT96VS06T0 T33BX0FNQN4XXH6BG7721652VKB1S63DQ66RQVEHAWFAZAN5XHVG cfbe96bd945d254a6a345105b7b0d203d70a92ff 54PJWV423SX8MGYSVTQ55FZTFSATQNB04RM8RPG16QYRHEAFTE2G -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 T33BX0FNQN4XXH6BG7721652VKB1S63DQ66RQVEHAWFAZAN5XHVG cfbe96bd945d254a6a345105b7b0d203d70a92ff 4E1R6Z31XZWT5EFDBZK0G48M1R47BVA1W9CST2TD0Y877H6K4EB0 -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(). C8TQAE6T8200B0YKJJETXTSMDQAXRXE81B7P08R0B6DNR3P2QHT0 FG2M1M0C982Y6T56CR9HJ1F617VY7Q9H0Y12B2JPDG90SJZ9W1HG cfbe96bd945d254a6a345105b7b0d203d70a92ff RW0YED5ED178TJ9CQK00JT82JM4WWX79X6XCP2M1VBK19B61YRE0 -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G K2V4BH6H3BCQ1FQAE8C1GEFHZN858W7W6TWDZN7J0912DFVW3BZ0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 5Z0H2C2Q0F96H18GRF2A3VRBH9CPGDX66AAQRRAAH41G6HP1RT3G -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(). FHV8Q98RVA0T7T1SV66PHNYTM5GJ9YBQ8S19Z3R9DQNC46BPEENG HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G;FG2M1M0C982Y6T56CR9HJ1F617VY7Q9H0Y12B2JPDG90SJZ9W1HG cfbe96bd945d254a6a345105b7b0d203d70a92ff 6ZPJK62V8AE2SWGJFW3Y4QV3W995REZCD5GAEK55XYKC04JR2GD0 -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(). 32MK00H5W1P5TDVVB0SD8C329D7TC7KKANJ88SZXJ04ZBJ8NYNKG HWNPFJBSZMVTCH1WR1QKC5J6SFEN3K5XB8EZA1ATFAPFVBJYD04G;FG2M1M0C982Y6T56CR9HJ1F617VY7Q9H0Y12B2JPDG90SJZ9W1HG cfbe96bd945d254a6a345105b7b0d203d70a92ff DVWK4F0BD8T2RJVWZ6F56VYQZ6QRJHC8P6ZG4H6KHR7KB0TW9F0G -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(). 9F8NBPZ6CQJC9ZCVJ9AR5JJVM2AM23AVCMF2HG23C7KHYE08MBP0 NQZSKP6DK41VFXT2RX3GDYV3C5J2DW5Z9TDYSH9K5JAJH5H47EPG cfbe96bd945d254a6a345105b7b0d203d70a92ff YM88ZPGJ9NVKC2Q3C1R896GR7J1B5CAB92XJRTH6DB8S4ZDWVAH0 -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(). GBJG2N5E36K6R39D0QV0E4GP5GJXZ0NX2B91Z8PV4RSYCDZG82AG NQZSKP6DK41VFXT2RX3GDYV3C5J2DW5Z9TDYSH9K5JAJH5H47EPG cfbe96bd945d254a6a345105b7b0d203d70a92ff EJM31F3PAXAEEPSQG7CPA8WJTEHFR2A60TWBECWYYWYM2F32PWH0 -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(). KNPJKGGGP96K0A3K44NDAMEHESEN1AFBHBJMF4X8YK207BK3QSKG 6R0DRHS97HFHFZCMD7W8WTPQXCDXWQNX96ANG22Z6S585YS8QM7G cfbe96bd945d254a6a345105b7b0d203d70a92ff K0W5MMZBBBEQ967BT0Y528NB8PPPMFYE3FP5H2R0HJ7QS70X1VN0 -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 SJYW2PXJ89VS2JQEE9786Z8Q46F095S2PZ1T4F99W3C1AFG291NG;30PEW22CWGM7CYTQ4GYQSV49FN5W7MEE00S8838YCAHD8DQMZJFG cfbe96bd945d254a6a345105b7b0d203d70a92ff J033J4VMX46W5RASTR1WAE7YHF8BCB2QKBF2CMQDTQR66REYDW10 -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(). YA4YW14973CF3Y9SZT362A0235NHYTA5YPAYGT3WECK2HD5KJ430 SJYW2PXJ89VS2JQEE9786Z8Q46F095S2PZ1T4F99W3C1AFG291NG;30PEW22CWGM7CYTQ4GYQSV49FN5W7MEE00S8838YCAHD8DQMZJFG cfbe96bd945d254a6a345105b7b0d203d70a92ff 0RPPPTE1YRGJMGHSRHB4FQ6ESZ460BM5BNHA4A4MBD5ZMDWSN5RG -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(). D4ED3WTDNR7S5FBQ9AVV8XX533ZD26X9B54CK6PZ01AQ9FRYMAV0 V8HHWF89ZT4B68WQ8DDCYZJEXPP5KX11AHBJ6KNM0E56T109HCTG;3GTVHJ95YK2VGEXAS2DHEBZQRFNHXMZF5P9BDH90C4FY05J06V80 cfbe96bd945d254a6a345105b7b0d203d70a92ff 160YNHPDP02K20G5WK3G7G7REMADSVGXSBACQ0ZRWS0X60WVDF8G -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(). PS99RJ5Y0T7EPQWEC4EK1P0N4ZZB51F8AE13TQEEE0345T5CXFZ0 V8HHWF89ZT4B68WQ8DDCYZJEXPP5KX11AHBJ6KNM0E56T109HCTG;3GTVHJ95YK2VGEXAS2DHEBZQRFNHXMZF5P9BDH90C4FY05J06V80 cfbe96bd945d254a6a345105b7b0d203d70a92ff P18WR72K2D807CH2MKB01CGJ1E6WFFYF01P5H0C6FE59MPQBTDYG -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(). 2BK9FK1DE9QRN4WHTZZJF6QSF3EHF65B6F9H2S086XBV5KHE0AZG V8HHWF89ZT4B68WQ8DDCYZJEXPP5KX11AHBJ6KNM0E56T109HCTG;3GTVHJ95YK2VGEXAS2DHEBZQRFNHXMZF5P9BDH90C4FY05J06V80 cfbe96bd945d254a6a345105b7b0d203d70a92ff TG0PZCYPQH522CWATJAGGQJCSFZ9N529H66V1ZPMTY2821NFJGB0 -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(). PM4Z541ZKM3GM72CQ5WYWKHJ4ZEQF8QNFYB43TY873TX6XRKXH2G JY7NVQAJAQE9RJ1DH56T50NN5SVX6Y3WMQGZYHM4PHZCPG1ASRN0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 4PWF3HSH406F3MA2B880H1MQSF305Y5JG0PXB87BPB8FHZT9GRD0 -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(). NXPVBP3WJNSJNKDT6K4DTB4P6XYXPN68E8GA90FXJXEVP4RKHQA0 JY7NVQAJAQE9RJ1DH56T50NN5SVX6Y3WMQGZYHM4PHZCPG1ASRN0 cfbe96bd945d254a6a345105b7b0d203d70a92ff JJ3RBEPZMEHXBV732PCP8F4YRAF4VPC4DBN1M54ESNWMA48SPCW0 -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 YKH86GS1C638QCCW4GQMY2C6BFWMYQ7MRRR5CCNKW3SMEYK4JZYG cfbe96bd945d254a6a345105b7b0d203d70a92ff FD4BGVPZM8WAF2WKFCAP1GRCZM35FZBH9MT67HTJAWVM9ZF8KXX0 -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(). EA3Z3AWDN72P2F4SZ6YZY1VXMCH53T47PZXWM1JWEHNS101512TG YKH86GS1C638QCCW4GQMY2C6BFWMYQ7MRRR5CCNKW3SMEYK4JZYG cfbe96bd945d254a6a345105b7b0d203d70a92ff QVKDYQS7VK4E8T3MX9F1EQ91XE0J837H17QMF8HMZ2Q0DTYE4DDG -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(). PM4Z541ZKM3GM72CQ5WYWKHJ4ZEQF8QNFYB43TY873TX6XRKXH2G YKH86GS1C638QCCW4GQMY2C6BFWMYQ7MRRR5CCNKW3SMEYK4JZYG cfbe96bd945d254a6a345105b7b0d203d70a92ff 8JAFBCDZAWPM2X2GJEC4MMAFFCTCDRC59YN0KABBAT6YY5JTC3D0 -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(). EA3Z3AWDN72P2F4SZ6YZY1VXMCH53T47PZXWM1JWEHNS101512TG EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG;K3PN6P27MVD4E253NE1XRQ992QBES5K3GZ158SFQHX06XN2H3VWG cfbe96bd945d254a6a345105b7b0d203d70a92ff 0NKXFKSTH2CZQR1JDQQKB86EAV4PDGJW8FWN1V30JZP2YED7F1YG -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(). PM4Z541ZKM3GM72CQ5WYWKHJ4ZEQF8QNFYB43TY873TX6XRKXH2G EYSFY35K1GW08NYPYF5GVEN7DS349AYD50P8QZR9MKXNZ2NNQQKG;K3PN6P27MVD4E253NE1XRQ992QBES5K3GZ158SFQHX06XN2H3VWG cfbe96bd945d254a6a345105b7b0d203d70a92ff 4X8FNPJEEVBC090PMKXP8CYKWHPZ91M3A6FHET7P16XYH86NHTE0 -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(). 7XJZVNPXEZ85CEQ3HQK2J27D2T95WG9MN18S6E8QT2ADKYSHJ9D0 TV10PK6D266JE87BVFXDC8SD9K1H2BA4ERNMAEJ21RC2DPWTKY70 cfbe96bd945d254a6a345105b7b0d203d70a92ff 52KPKG7NHFNVK70X5GZC75NF3KDVHP26KDJTYQETJAX4A2QZWYW0 -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(). 9ZMFH1X5PFWANGMGXDWFHQ5TG3WZZWBKNWAK50TJ5V4ESGBVK4P0 TV10PK6D266JE87BVFXDC8SD9K1H2BA4ERNMAEJ21RC2DPWTKY70 cfbe96bd945d254a6a345105b7b0d203d70a92ff TRKPNMQE7ZQR7538771A97847X8VMVQQ5MCQP1AAPP60ZA9B54CG -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(). 7XJZVNPXEZ85CEQ3HQK2J27D2T95WG9MN18S6E8QT2ADKYSHJ9D0 EF811YN3V31DJ1ASKRTWE54KGDEJBENSRCB84S6J9W8ENM8PB9VG cfbe96bd945d254a6a345105b7b0d203d70a92ff FKED9QDE678FR1HD1DGXBNT6PXDS3R5N18Z1ENHFB228EJVKRKDG -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(). YYSV3F8M5MTN9DD78HW810J6XF3A9H349Q5KDCGJ3YJDR53J1V7G EF811YN3V31DJ1ASKRTWE54KGDEJBENSRCB84S6J9W8ENM8PB9VG cfbe96bd945d254a6a345105b7b0d203d70a92ff 6E523ZTX7A9KYQ6EYHCAMDZ89K5E97BWGFKVEYZY94PJ31YJPMA0 -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(). YYSV3F8M5MTN9DD78HW810J6XF3A9H349Q5KDCGJ3YJDR53J1V7G 2DC01R5NE8N78RFRN67H929TQBMTKGPY1JA80KCKW98F80VPQAXG cfbe96bd945d254a6a345105b7b0d203d70a92ff 15MKN3E31V0RCA7RGN8PPDCWCR02P13YBABY1TTJ2ET83NB234EG -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(). 3P5AVXD5M0HJRJ22Y22FTWMB199MAJEA4N1Z9QQEGR0TBKFXMJKG D4GSJ5JE91KHDW9ACMAT8FKEM3WB3JDZXR8EX1ZPVXJARN78GBZG;887VQ36WE1EW2CM7CMPSPRPXVGYGNTE8PYVS05XSC7Y0PRN7CX0G;1JGZJZ153W34MXJ2QQ3QVHQD56HQ1R9PTTQ29F1YDKGK194Q8P40 8017c77e38662dcbc183522cc22d69e8f8597e80 81EDK6WZ1V37KWM0C6RKWED1PYNN6AJV60S04V8P9PPFSACDECZ0 -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(). TZG041DQCACGZX80EJVZNTY7GN3H86F8HT517KY4PG0BJX32FSG0 D4GSJ5JE91KHDW9ACMAT8FKEM3WB3JDZXR8EX1ZPVXJARN78GBZG;887VQ36WE1EW2CM7CMPSPRPXVGYGNTE8PYVS05XSC7Y0PRN7CX0G;1JGZJZ153W34MXJ2QQ3QVHQD56HQ1R9PTTQ29F1YDKGK194Q8P40 8017c77e38662dcbc183522cc22d69e8f8597e80 SXNBV001D70CS6PTBCMFWBV7JF8RVECX3J9626TNJFA44NN5MD00 -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(). FKF7FGDED7ZPPMSGQNDQH7C19VWBE4S9VHERTWT7NCM14KZ7SRSG - cfbe96bd945d254a6a345105b7b0d203d70a92ff 40J6XTDFCFSPQTK4VT5A8QEW13XQ2EQSPGK2EPNWBS6GMQQD6010 -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(). T0TVZ7AG7162YTEVE8HB98DRPH5BK4RK9ZMHPZ26XJVRFWQT80W0 TWZTED4DSZNSK5J98KR2XJ8VWQN7GK70YHN50CTX7H72FHZS5YW0;JPGQT9R1VX939KQFAMXQ2EG9ZJVVNXPPCKXCQ9YX5Y43HE45QS3G cfbe96bd945d254a6a345105b7b0d203d70a92ff 21RG762D40T5HGBXEETYABY5PF0JPFBZZ69XWQVTQP1M04HWYQX0 -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(). 1SYNSVZ6HMQFV7470VN49W4TXZZSSPE371W126ER2EYT9XA9X9ZG TWZTED4DSZNSK5J98KR2XJ8VWQN7GK70YHN50CTX7H72FHZS5YW0;JPGQT9R1VX939KQFAMXQ2EG9ZJVVNXPPCKXCQ9YX5Y43HE45QS3G cfbe96bd945d254a6a345105b7b0d203d70a92ff DXWFXP8NRM39JW1XNP7MJ96TJRHC2P88C5FCPJ60463JM6DEPGVG -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G 3ZHBCXBT96BKCD1HMTYYAZY0QB8VDSD6SPPZS32WWQVK61EVX310;XGT9XGMWDZ17NX1JB2FJAF19H76FPGZ872X6R7EKXNR465JS0BE0 cfbe96bd945d254a6a345105b7b0d203d70a92ff S4CDD10KT1G8WV4RRN1FGY9TSB7THW7CR5FGCFP4BKCCWX2VPGGG -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G 9V1MS3AVKFNT6HC76R7R9A4TDEEHCXM533PBC4SX4K3X3TZQSB4G;XCN68M3GJ3MQ23E8XCSZQ3W31J7WR0XJSQ27MKC6KPFSV7QG88N0 cfbe96bd945d254a6a345105b7b0d203d70a92ff 39931GSZPBMAZFVAH01SC0SKEF3Z8GASR8R6E4WYQEGHHWBFVK1G -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(). RDKPT7FPQB3S7PRS9DTGSG3HM9CPQJEHDZ2J213ZPW873B82E730 9V1MS3AVKFNT6HC76R7R9A4TDEEHCXM533PBC4SX4K3X3TZQSB4G;XCN68M3GJ3MQ23E8XCSZQ3W31J7WR0XJSQ27MKC6KPFSV7QG88N0 cfbe96bd945d254a6a345105b7b0d203d70a92ff BR3XMT0WT0X8NB55DNT04T803JYH2PB33PXZ1A84J7S04X2PTCPG -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G BZY5VKVPYB411894ZYQX3SG0FE9G5WPK36X440F0GMD5ZHFPP8YG;B7TKQGMJ2KDA186ZPHG1QRGD0RZDEBA1BYNBYDYGMEXW12W6GYRG cfbe96bd945d254a6a345105b7b0d203d70a92ff 3ZG8NT08GT64B6RN0XYNEZ1SN30BNQGVPCX9F68XDP7EV2B5WSN0 -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(). XJ7150CN02KNNXT9SYK9V1P69BFA4RJVYYVW3XBA42TX7NTDSZ6G RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;9J6DVGC2HVWZR2P7RV3KDJ9SFZJKP8PX188HFSVCCQ46YJY8CK5G cfbe96bd945d254a6a345105b7b0d203d70a92ff 68HTBY2M4QY5TCKX3B2N8VXF195EACH1T0DW57HDSQC3NSCS64W0 -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 JNTHVBVWEFYMAR65PAB368B54YF03214FSE99H2JQVQ8NMPNFKX0 cfbe96bd945d254a6a345105b7b0d203d70a92ff E01G27SFN4Z3J4EZA62K655P0RTBRSN1H7AAKKN1YX2GE5GN3HVG -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(). S5533N4TP18ZGSEJKEWZFCHGTXZPGJPGC3R4QNQV7WJX3FCGEW00 JNTHVBVWEFYMAR65PAB368B54YF03214FSE99H2JQVQ8NMPNFKX0 cfbe96bd945d254a6a345105b7b0d203d70a92ff SBZCDETD4XDEFQJKHKKW515ABBGW5TVPS6H25181Q8CT5G7MDAYG -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(). NAN0TBHQTCD6P74CAVQ1SCYPFWDHSX2VM5V4PVPQANRK4NQJMPD0 ED8M1FTNHR7NYKAFM0W0FNEYFDTGDXG8Q8041RFYY0QSN6ZYNNS0 cfbe96bd945d254a6a345105b7b0d203d70a92ff W0TW794792BCPN34DQEW6FHMG5SKT6J755VJW460J02JYN08YS20 -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(). R01CYB643723EE510YT0FMG17PQ1GDF49QJMPX84K25BDSMP9ZFG QEBQDPQMX4CAQYNSWK6N30M776AZN5VGH0GDPQA2BKKZ1XNA3S10 cfbe96bd945d254a6a345105b7b0d203d70a92ff JEREY6YJHF7QST82EGTVQEWGBTH4ABMBX2325R94GERJKX8G5HW0 -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(). TNK1JYBG32K9H83FCTJ5FEYHR28KWGYWBPPK2DRP0HB1G2E8REKG - cfbe96bd945d254a6a345105b7b0d203d70a92ff 8QYXQ39QGQH3QWQ61VHS07E24NBQPCJS14YXPG9VCNS1CJJTR7B0 -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(). 9C7GFNN3HN5NW9E9R5EQKZZY7TB7EN3TVN4XZJ6TB5EPRR0C9GJG - cfbe96bd945d254a6a345105b7b0d203d70a92ff CGY465RDC1R0VVGYKBAENBR93G5FMSZEQ3T61B2X2716564Q3AQG +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(). AAFZN3B5EN2PV4NGJ0FGP9C64NBWXNE5NF6ABAE1SHWDJ8W5AQXG 5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0 ce886f76a5e286da655c719bad2a55cc72f93d86 36HGBR3PS81AZ1YWX2XR1227FDHX2ZMJC3SVPYWTGTZ4N5MD1AF0 +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(). R6P2H0K0Q7QF73DGXDGJV5Q4CTSPM8AQY7TE3A0AK32CBSQXEX20 GA5RFY946KTB27009HF4BJJPV4V16CBSARA3VZHBA7D89WF11GYG;MNV5CTMBMVS476PV7T6B1F48QJTEYSJGPXM2MYQ0A1RTFA4C7R6G;5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0;9BB9A6KS14HG4N6X7NWYYE5Z5XGN62028S05CN9AWZX51QJ7J9YG ce886f76a5e286da655c719bad2a55cc72f93d86 KMYKJP15A9A052T1G6D52E9V04AN4QVQYGDBM20GFYKNF4JX1QNG +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(). WKZFN5VX7FME4VFMXB8DBSNMBFH4E6SJXNRE2NQNFSF30W88HN20 R4P5SXC7D0GCR9E5JFS76D25RHKCE7JJZHQYXH51AZE90NZ5ECAG ce886f76a5e286da655c719bad2a55cc72f93d86 D3VASG6BSAHHQFZX5WWB9GFAH4W14YJPDPJAZJNVFFXSVVX0J5GG +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(). 8NH6M8C0YJEDW526AC293YMZHBFS0QHCXZ1QCBMV3PGS2C5G5NG0 R4P5SXC7D0GCR9E5JFS76D25RHKCE7JJZHQYXH51AZE90NZ5ECAG;9BB9A6KS14HG4N6X7NWYYE5Z5XGN62028S05CN9AWZX51QJ7J9YG ce886f76a5e286da655c719bad2a55cc72f93d86 PYPDMJZYE64EE5JBNWMPFTBGPYCXFS0XK48MJM0886683327YH5G +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(). NGKMQ52VE0DZ98QQKY3QR7BHQKZHXTHS53RAH9WJ6N7R51VXRW60 C9MQPT0QTCHQSG5CDA7S5V8P9QGAQJBFEHCPK6YN5HKW2KFZT4GG;YJJW73P8YGFNDGTKHN3HMBAATXVMRABSHB4XW0R2A4DNJNH35AY0;9BB9A6KS14HG4N6X7NWYYE5Z5XGN62028S05CN9AWZX51QJ7J9YG ce886f76a5e286da655c719bad2a55cc72f93d86 VWEDFFKE5KVEFW0TA7XE597ZCX34RQSCX0WW46FHYMWC1HNBDC7G +MR-SOFI-0357 dsm::sofi::validation::movement_shape 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) 668A54B0JMP8K05DZTKHX3HERT9HMB2WEFGAGGE85G8JA7112DK0 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm 0.1.0-beta.3 sofi/validation/movement_shape(). A9PM98ABDZVRFZ8EBYBM9YQ3F69T29FCYAQ1DSK1AX7S5D6D2Z20 R4P5SXC7D0GCR9E5JFS76D25RHKCE7JJZHQYXH51AZE90NZ5ECAG;9BB9A6KS14HG4N6X7NWYYE5Z5XGN62028S05CN9AWZX51QJ7J9YG ce886f76a5e286da655c719bad2a55cc72f93d86 QKV7CH9S8Y36G17WAQC6D5V66ZSW56TWJRAX1SAV9JYY1HHF1YZG +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(). R36C72DJ0RV8S0GW9NA6EXTZZQ1Y597FVKQ9A8KRWD9CTHFY6650 9BB9A6KS14HG4N6X7NWYYE5Z5XGN62028S05CN9AWZX51QJ7J9YG ce886f76a5e286da655c719bad2a55cc72f93d86 KEM4Z1V8KRKM9S19XDBQKZYH7VRKZ2Q7VPFXP5K0X3H6YR22D7K0 +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(). NQ38GM19QJYS0VMD9PTP46KPEPXK5MPKV44Q337VVSZ448FSCPP0 9BB9A6KS14HG4N6X7NWYYE5Z5XGN62028S05CN9AWZX51QJ7J9YG ce886f76a5e286da655c719bad2a55cc72f93d86 A6X9TQT36EZBVE8C0822S31VZ22VT7A1AH8YK8B1ZA0MRF3F15TG +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(). WK3TDAT0TP7WE2ARWNYKZBBT4D4J2RHZVGSM9MM95FEEZETXHR5G 9BB9A6KS14HG4N6X7NWYYE5Z5XGN62028S05CN9AWZX51QJ7J9YG ce886f76a5e286da655c719bad2a55cc72f93d86 YNMT8R0PM4KBCBHKXS062WERYAW6JX7X0YY43FJTBTTKWT781Y1G +MR-SOFI-0359 dsm_sdk::sdk::sofi_flow::route_ends 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;dsm_sdk::handlers::node_e2e_tests::every_sofi_route_reaches_its_producer - CONFORMANCE §8 MR-SOFI-0359 (Met) T2Y93XZPSJCRAYCA0BRHHXQ2H5PTQDRF47RET487DRJN2EYEAB60 Met SATISFIED reached:REACHED_VIA_DISPATCH rust-analyzer cargo dsm_sdk 0.1.0-beta.3 sdk/sofi_flow/route_ends(). 23BBNQ7A1SHN50XC2T8EBPBVSNSGGA3VPRCCFSBG7AKTGHW6ARV0 9BB9A6KS14HG4N6X7NWYYE5Z5XGN62028S05CN9AWZX51QJ7J9YG;5S99BE7R1E9X643YTJ9ST8V7PQNXPAB7BGC7P2C11MK2DQRJ33V0 ce886f76a5e286da655c719bad2a55cc72f93d86 RKQJCHRXF7B7AMR7CJWBVYKDVBSMM23ZAX8H5F64DF7XYN4C9G1G +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(). HJRXHJND0QTB9F9DPQTAVYFKJVPTJV4YA5XAD4W47Z3WRYJF9K70 DKATDKDQ1NGVADWD0XVVQ6E7QD6J94MAY7KP8SR78FPHNRH14RQ0;83941Y25W8205D17TKKJMHHTJ0DQ5C1X3TGH4510ZZ4J5HDW03Z0 ce886f76a5e286da655c719bad2a55cc72f93d86 0RK5JWD06M6CCF6Y98AKR3KEZK5K53F956PDKPZCCKQRNFTPJ1GG +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(). XT7GFDYA0MQANRW6PDHEAYYTDG3K4XFRC3PPRC1CXNVK8EYAST4G DKATDKDQ1NGVADWD0XVVQ6E7QD6J94MAY7KP8SR78FPHNRH14RQ0;83941Y25W8205D17TKKJMHHTJ0DQ5C1X3TGH4510ZZ4J5HDW03Z0 ce886f76a5e286da655c719bad2a55cc72f93d86 FFTYYB6708XW17ZA863SGMRSS3H5AQT3AKX7WJWASADKQP48PMXG +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(). HJRXHJND0QTB9F9DPQTAVYFKJVPTJV4YA5XAD4W47Z3WRYJF9K70 DKATDKDQ1NGVADWD0XVVQ6E7QD6J94MAY7KP8SR78FPHNRH14RQ0;83941Y25W8205D17TKKJMHHTJ0DQ5C1X3TGH4510ZZ4J5HDW03Z0 ce886f76a5e286da655c719bad2a55cc72f93d86 0HYR5SMB6FYZ7HWM9GD5FP9DQ3D7KA1K051ZSW76W7CW20QRFCV0 +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(). XT7GFDYA0MQANRW6PDHEAYYTDG3K4XFRC3PPRC1CXNVK8EYAST4G DKATDKDQ1NGVADWD0XVVQ6E7QD6J94MAY7KP8SR78FPHNRH14RQ0;83941Y25W8205D17TKKJMHHTJ0DQ5C1X3TGH4510ZZ4J5HDW03Z0 ce886f76a5e286da655c719bad2a55cc72f93d86 98B9M2WM5P9EP95366TCT5ED6RHMENAEYCS2RZEST9ND13B0N1N0 +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(). XAK765NK16KP683TRK4KAHEQJJY5WXHH2KRMWXJBMQ5E6ECHPGYG X3Q0NPMAHW7YC22C5237H2MW9MKY2QV7FDPQC8ADM764CWW27HZ0;M72TG6CVJEYP3JDWM40R9Y6XBKZHCW7AQ8KT6N54SWN6XE924BKG ce886f76a5e286da655c719bad2a55cc72f93d86 V3N8WQ335BB9NYVVS8JWT68TJ0JS239ZPMFXWXZB0HJBV7H57RR0 +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 X3Q0NPMAHW7YC22C5237H2MW9MKY2QV7FDPQC8ADM764CWW27HZ0;M72TG6CVJEYP3JDWM40R9Y6XBKZHCW7AQ8KT6N54SWN6XE924BKG ce886f76a5e286da655c719bad2a55cc72f93d86 C469F9GC4PNF5RHZHBAAQNN3933WPQE4MD9ZENSH3SK95QS4MXA0 +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(). HJRXHJND0QTB9F9DPQTAVYFKJVPTJV4YA5XAD4W47Z3WRYJF9K70 DKATDKDQ1NGVADWD0XVVQ6E7QD6J94MAY7KP8SR78FPHNRH14RQ0;83941Y25W8205D17TKKJMHHTJ0DQ5C1X3TGH4510ZZ4J5HDW03Z0 ce886f76a5e286da655c719bad2a55cc72f93d86 JJV7Z7SX90G774C0MVCEN1DK321AWX9R5RM7NF8WN8X26AAGBHV0 +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(). XT7GFDYA0MQANRW6PDHEAYYTDG3K4XFRC3PPRC1CXNVK8EYAST4G DKATDKDQ1NGVADWD0XVVQ6E7QD6J94MAY7KP8SR78FPHNRH14RQ0;83941Y25W8205D17TKKJMHHTJ0DQ5C1X3TGH4510ZZ4J5HDW03Z0 ce886f76a5e286da655c719bad2a55cc72f93d86 ZYGW0RYTTRDW7YFZN4JBKN1CP9T94461T4ZK1YR3AYXVJECMFN30 +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG FKH1K9TSK1DD6A8XCTH5342SC6SZYA2FEJQZBB3YQZ2J08M8P04G;G257VX7HDY884RNG5H51XJKHGFCKM4TNHSHGH33E3ZPVZ80DCYK0;HZ6K8PQ0JDB6YJ8B7WEP5J334D3GADH2J20TC4B4VCKX1XD91XXG;CBDNK0VXP7QAS5JBY7VP98Z6DA9VB5C27W9MSENXMFNYNFRXHS60;BKZP3YJCAC955K1475K57MCZVP9C89EG7E8XNGK16HDT742D3A2G;VARDQ7MEH1ZCF06P1SVJFWTN0FMX5XYWW5SY6NQZDPVP24YEHB0G ce886f76a5e286da655c719bad2a55cc72f93d86 SZVM0HF9XPWV4KYRN8W21AXVWCN8KP5M1RN1VGB1ZVDJVB6FGJZ0 +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(). 0V3EPDNVR54ENHRYZBAXE8KW0RV25B8STK9D820CEME6KV2NC2Y0 FKH1K9TSK1DD6A8XCTH5342SC6SZYA2FEJQZBB3YQZ2J08M8P04G;G257VX7HDY884RNG5H51XJKHGFCKM4TNHSHGH33E3ZPVZ80DCYK0;HZ6K8PQ0JDB6YJ8B7WEP5J334D3GADH2J20TC4B4VCKX1XD91XXG;CBDNK0VXP7QAS5JBY7VP98Z6DA9VB5C27W9MSENXMFNYNFRXHS60;BKZP3YJCAC955K1475K57MCZVP9C89EG7E8XNGK16HDT742D3A2G;VARDQ7MEH1ZCF06P1SVJFWTN0FMX5XYWW5SY6NQZDPVP24YEHB0G ce886f76a5e286da655c719bad2a55cc72f93d86 5ESY3DVK74WMFVESE738AS75P0WEE34MGGZDEH3XFK946WM1BYRG +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(). FXCPDZCGPQRYY2GGJA50VSP02NXR5QDHS2XSWYGES33BMXEP0CTG FKH1K9TSK1DD6A8XCTH5342SC6SZYA2FEJQZBB3YQZ2J08M8P04G;G257VX7HDY884RNG5H51XJKHGFCKM4TNHSHGH33E3ZPVZ80DCYK0;HZ6K8PQ0JDB6YJ8B7WEP5J334D3GADH2J20TC4B4VCKX1XD91XXG;CBDNK0VXP7QAS5JBY7VP98Z6DA9VB5C27W9MSENXMFNYNFRXHS60;BKZP3YJCAC955K1475K57MCZVP9C89EG7E8XNGK16HDT742D3A2G;VARDQ7MEH1ZCF06P1SVJFWTN0FMX5XYWW5SY6NQZDPVP24YEHB0G ce886f76a5e286da655c719bad2a55cc72f93d86 2WXWJAETSRPYJDG5ZRZ9JSH61A9K0RQC3PYQPPHBK3HVVWR2S7VG +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(). MJBQ96VT3VSXKRAAV55VNWJZY6CSJ6W34FVSS563C7SYYB9RJ8K0 FKH1K9TSK1DD6A8XCTH5342SC6SZYA2FEJQZBB3YQZ2J08M8P04G;G257VX7HDY884RNG5H51XJKHGFCKM4TNHSHGH33E3ZPVZ80DCYK0;HZ6K8PQ0JDB6YJ8B7WEP5J334D3GADH2J20TC4B4VCKX1XD91XXG;CBDNK0VXP7QAS5JBY7VP98Z6DA9VB5C27W9MSENXMFNYNFRXHS60;BKZP3YJCAC955K1475K57MCZVP9C89EG7E8XNGK16HDT742D3A2G;VARDQ7MEH1ZCF06P1SVJFWTN0FMX5XYWW5SY6NQZDPVP24YEHB0G ce886f76a5e286da655c719bad2a55cc72f93d86 TRNSASEC51GSCVRQT9G7XN3T5B2MG39VNDM32KZBH11RR05BVNPG +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG MP2EQVH5YXTCF0ENAT2MQQNVZZ5HYP18ANZGP8Y6GW4BZXKQBVCG;TSXF7CZBCWBQFJJ02HGGXJM1933DFD1BAJGAMM0MN7041J2J2M4G ce886f76a5e286da655c719bad2a55cc72f93d86 FKPFEJ70TBTZCXGBM745EA023NRD24DFDATVBVK30VPXN6H141T0 +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(). FXCPDZCGPQRYY2GGJA50VSP02NXR5QDHS2XSWYGES33BMXEP0CTG MP2EQVH5YXTCF0ENAT2MQQNVZZ5HYP18ANZGP8Y6GW4BZXKQBVCG;TSXF7CZBCWBQFJJ02HGGXJM1933DFD1BAJGAMM0MN7041J2J2M4G ce886f76a5e286da655c719bad2a55cc72f93d86 3PCYBGFDQT8J09124616TTRGDP0B6Q4P61Z81X7GYYPJPDY6MC20 +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(). 0J9C53PJ8QYAYA9PWKBJPQPYC7EFPCK8ZJ91NVYRWEH8PA2NZ040 X12HK0NS5JRKK9N15SWS7RFZEEK4HNK4P2KG0P6PEG0902FS8B1G;H4424TERMFE9BC0DA8358ANCX649VPNTK163DPYF2BEHZJ9RN08G;EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG ce886f76a5e286da655c719bad2a55cc72f93d86 6JC07977XCC8DWE1JR9YJWX7ZYHSWRRPG776JXD25P3ZB9P8JKDG +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(). HJRXHJND0QTB9F9DPQTAVYFKJVPTJV4YA5XAD4W47Z3WRYJF9K70 X12HK0NS5JRKK9N15SWS7RFZEEK4HNK4P2KG0P6PEG0902FS8B1G;H4424TERMFE9BC0DA8358ANCX649VPNTK163DPYF2BEHZJ9RN08G;EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG ce886f76a5e286da655c719bad2a55cc72f93d86 2B7Q6NX8ACWTSRZ4P7SFXJJN1RMGHZ8HGXRQFDV30QTV0DZAED8G +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG TSXF7CZBCWBQFJJ02HGGXJM1933DFD1BAJGAMM0MN7041J2J2M4G;2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00;YEVR23AFRVTP6YQMY0J164Y7ND58AQ1Q2XVC2CFR1WTAJ5TJVFAG ce886f76a5e286da655c719bad2a55cc72f93d86 8D7GMB1QSQ8W0ZDZHE8PYM5RSQPC29KMJTRJM4670QVH55VSC38G +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(). YYNDF5SC3S1DJ4XNGWXX3PJFW36FFJJRNN4QW28DEMCQV6CPDCY0 TSXF7CZBCWBQFJJ02HGGXJM1933DFD1BAJGAMM0MN7041J2J2M4G;2XGPJCGVBBV4MX7Z5XDACDTEG0YJAH8VQJ2S0B8HGPAQ1X78AM00;YEVR23AFRVTP6YQMY0J164Y7ND58AQ1Q2XVC2CFR1WTAJ5TJVFAG ce886f76a5e286da655c719bad2a55cc72f93d86 CC57A90GAJ661N4JB33NPBZ4PVGJFQJKQGPFD9Y6GFKFFNJCC6M0 +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(). 4DVNXEFJNHWEY5EKS01J300W5705BBR4F96ZD9Q70Z0DPSWS4QTG NWS2G0HSMQMC17BV9QWF9XRYE4F222A8PMN5RPX41MAPQPX1313G;ZQ6X8SF7YPRD0ZKWT0DBPV3G2P8G9ADVPFY6WQXY5ZP4DYPQCCFG;E6T9K1B9982KPCW6AJT23AJTMP8AWR4XCVCNAY2YPXN4XY8C8DC0;5TH9FCMFB1A3H33PV1SB2XQCAS5KYP7K9J3P2X29P3NM86N135WG;AD7Q8HYHXXN901AHBA8H57E56BXTK5AZCGH3A1EMJJRYRS47TTFG;5H38AHHW340NBZTWDK1C32REQ4ABEBADZPS78V0CZ2EV0AJ36G30;HWX6CH42JVFGHDY4H62K5N6BKTCAJZVYYP57G4DRK9SBCZYPMXZ0;E8XBBP8SJX7EPM6TJ815VV5WHPTN2CCNAGQP30ENFSG7GMCWEHRG;S4H8ZRF85K3YAZPP8C3JW6QDJNRQAC7E7TFKPGWYD2FE1Z97VA50 ce886f76a5e286da655c719bad2a55cc72f93d86 Z40A7NMJTRYX88MR16E60XZNKT8V2759TVKHPDZEGWDX5FV9TFMG +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(). AH3ZBRV7PFYMAEN2GR1DY6SWPYJBV9SMCQS0XMNA1G7KHEZ297V0 NWS2G0HSMQMC17BV9QWF9XRYE4F222A8PMN5RPX41MAPQPX1313G;ZQ6X8SF7YPRD0ZKWT0DBPV3G2P8G9ADVPFY6WQXY5ZP4DYPQCCFG;E6T9K1B9982KPCW6AJT23AJTMP8AWR4XCVCNAY2YPXN4XY8C8DC0;5TH9FCMFB1A3H33PV1SB2XQCAS5KYP7K9J3P2X29P3NM86N135WG;AD7Q8HYHXXN901AHBA8H57E56BXTK5AZCGH3A1EMJJRYRS47TTFG;5H38AHHW340NBZTWDK1C32REQ4ABEBADZPS78V0CZ2EV0AJ36G30;HWX6CH42JVFGHDY4H62K5N6BKTCAJZVYYP57G4DRK9SBCZYPMXZ0;E8XBBP8SJX7EPM6TJ815VV5WHPTN2CCNAGQP30ENFSG7GMCWEHRG;S4H8ZRF85K3YAZPP8C3JW6QDJNRQAC7E7TFKPGWYD2FE1Z97VA50 ce886f76a5e286da655c719bad2a55cc72f93d86 3BKNFGMMRGYWY9G25JQ5RQHJ2CNKXMEKXBZQG06K2AWA4FJNS1KG +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(). NVSBDG7BGQTVD31W1SA4MHX6C8W48CM6W94WXFR9822HD3SP54JG NWS2G0HSMQMC17BV9QWF9XRYE4F222A8PMN5RPX41MAPQPX1313G;ZQ6X8SF7YPRD0ZKWT0DBPV3G2P8G9ADVPFY6WQXY5ZP4DYPQCCFG;E6T9K1B9982KPCW6AJT23AJTMP8AWR4XCVCNAY2YPXN4XY8C8DC0;5TH9FCMFB1A3H33PV1SB2XQCAS5KYP7K9J3P2X29P3NM86N135WG;AD7Q8HYHXXN901AHBA8H57E56BXTK5AZCGH3A1EMJJRYRS47TTFG;5H38AHHW340NBZTWDK1C32REQ4ABEBADZPS78V0CZ2EV0AJ36G30;HWX6CH42JVFGHDY4H62K5N6BKTCAJZVYYP57G4DRK9SBCZYPMXZ0;E8XBBP8SJX7EPM6TJ815VV5WHPTN2CCNAGQP30ENFSG7GMCWEHRG;S4H8ZRF85K3YAZPP8C3JW6QDJNRQAC7E7TFKPGWYD2FE1Z97VA50 ce886f76a5e286da655c719bad2a55cc72f93d86 6TAJ72XEXWZ8E7NA6K8BTM0QT94VX929RVX2GMESX7TJSYQJKF40 +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(). 1P045N23SYW6YJG3AH0J1BVZXB0BF0ES3K148RP06C4QQKTX4JP0 NWS2G0HSMQMC17BV9QWF9XRYE4F222A8PMN5RPX41MAPQPX1313G;ZQ6X8SF7YPRD0ZKWT0DBPV3G2P8G9ADVPFY6WQXY5ZP4DYPQCCFG;E6T9K1B9982KPCW6AJT23AJTMP8AWR4XCVCNAY2YPXN4XY8C8DC0;5TH9FCMFB1A3H33PV1SB2XQCAS5KYP7K9J3P2X29P3NM86N135WG;AD7Q8HYHXXN901AHBA8H57E56BXTK5AZCGH3A1EMJJRYRS47TTFG;5H38AHHW340NBZTWDK1C32REQ4ABEBADZPS78V0CZ2EV0AJ36G30;HWX6CH42JVFGHDY4H62K5N6BKTCAJZVYYP57G4DRK9SBCZYPMXZ0;E8XBBP8SJX7EPM6TJ815VV5WHPTN2CCNAGQP30ENFSG7GMCWEHRG;S4H8ZRF85K3YAZPP8C3JW6QDJNRQAC7E7TFKPGWYD2FE1Z97VA50 ce886f76a5e286da655c719bad2a55cc72f93d86 JJMZMV2MZ9PQ3YVP6V1XY1E5NKTAR6ZKPMGKM0F5VSBRJ08E8150 +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(). HP4EETHCGBP8YYS75N96MYNNVRBEF69NYBW49FZJP6NN9KKVSNY0 NWS2G0HSMQMC17BV9QWF9XRYE4F222A8PMN5RPX41MAPQPX1313G;ZQ6X8SF7YPRD0ZKWT0DBPV3G2P8G9ADVPFY6WQXY5ZP4DYPQCCFG;E6T9K1B9982KPCW6AJT23AJTMP8AWR4XCVCNAY2YPXN4XY8C8DC0;5TH9FCMFB1A3H33PV1SB2XQCAS5KYP7K9J3P2X29P3NM86N135WG;AD7Q8HYHXXN901AHBA8H57E56BXTK5AZCGH3A1EMJJRYRS47TTFG;5H38AHHW340NBZTWDK1C32REQ4ABEBADZPS78V0CZ2EV0AJ36G30;HWX6CH42JVFGHDY4H62K5N6BKTCAJZVYYP57G4DRK9SBCZYPMXZ0;E8XBBP8SJX7EPM6TJ815VV5WHPTN2CCNAGQP30ENFSG7GMCWEHRG;S4H8ZRF85K3YAZPP8C3JW6QDJNRQAC7E7TFKPGWYD2FE1Z97VA50 ce886f76a5e286da655c719bad2a55cc72f93d86 7N32FVXBNQ9EFVJGNRJX97A5Q3FV78SW6PQR0N9QPCC0VAB0ZY40 +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(). TP0V20TJAW3STVVXRVCEW0CX586RT6BBTA4M8KH074WA183930W0 NWS2G0HSMQMC17BV9QWF9XRYE4F222A8PMN5RPX41MAPQPX1313G;ZQ6X8SF7YPRD0ZKWT0DBPV3G2P8G9ADVPFY6WQXY5ZP4DYPQCCFG;E6T9K1B9982KPCW6AJT23AJTMP8AWR4XCVCNAY2YPXN4XY8C8DC0;5TH9FCMFB1A3H33PV1SB2XQCAS5KYP7K9J3P2X29P3NM86N135WG;AD7Q8HYHXXN901AHBA8H57E56BXTK5AZCGH3A1EMJJRYRS47TTFG;5H38AHHW340NBZTWDK1C32REQ4ABEBADZPS78V0CZ2EV0AJ36G30;HWX6CH42JVFGHDY4H62K5N6BKTCAJZVYYP57G4DRK9SBCZYPMXZ0;E8XBBP8SJX7EPM6TJ815VV5WHPTN2CCNAGQP30ENFSG7GMCWEHRG;S4H8ZRF85K3YAZPP8C3JW6QDJNRQAC7E7TFKPGWYD2FE1Z97VA50 ce886f76a5e286da655c719bad2a55cc72f93d86 XAV1H36PERBA183ES07GGC6NGPMCVD8C58TMCWMM1SG1J3ASP5XG +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(). RKSEAQ4WK4GDRM0M1JN3HCZX715P1BV2F7D3XDX22EE73BG70ZNG 46B0SCEXNDDDX6M71QDZEZB1S7PHF97296QVMAV0W0J9J249AG9G ce886f76a5e286da655c719bad2a55cc72f93d86 RN6T6MGPHCFFB28VSH40MTJP6H5T2SV4JG0Y0EJ8VFR97WCNJ5SG +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(). HJRXHJND0QTB9F9DPQTAVYFKJVPTJV4YA5XAD4W47Z3WRYJF9K70 46B0SCEXNDDDX6M71QDZEZB1S7PHF97296QVMAV0W0J9J249AG9G ce886f76a5e286da655c719bad2a55cc72f93d86 TJ58XM21BHA5D1KYQBQ0W2C5T8BZ984G13DNJVCERQFYXK0GBNZG +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(). HJRXHJND0QTB9F9DPQTAVYFKJVPTJV4YA5XAD4W47Z3WRYJF9K70 X12HK0NS5JRKK9N15SWS7RFZEEK4HNK4P2KG0P6PEG0902FS8B1G;H4424TERMFE9BC0DA8358ANCX649VPNTK163DPYF2BEHZJ9RN08G ce886f76a5e286da655c719bad2a55cc72f93d86 FG8M4YDD3YTM2P8CRZXH9HTAJ0WSSYHY2VWC46JQH674BSG6ZXQ0 +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(). FXCPDZCGPQRYY2GGJA50VSP02NXR5QDHS2XSWYGES33BMXEP0CTG SR3VBNDR67VMCEJGHHGZPTZZ3XX2HNXPMJNAETKTHN8DETJ1CMR0;ENQGGWX261Y0E9MAG6F5JKKKXKK9VE9AWR90XASY9D61F0W4MD10 ce886f76a5e286da655c719bad2a55cc72f93d86 ABSN1NHDJ139ASP9MRDWBPWAK8D5RQZB4YZH2P17A3CXGC4RX8V0 +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 SR3VBNDR67VMCEJGHHGZPTZZ3XX2HNXPMJNAETKTHN8DETJ1CMR0;ENQGGWX261Y0E9MAG6F5JKKKXKK9VE9AWR90XASY9D61F0W4MD10 ce886f76a5e286da655c719bad2a55cc72f93d86 WGS1RWJRY3JHPN4T2HH8K7RHWTS9D2H5HGGYSNXMR1B7SB4KAJYG +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(). 0J9C53PJ8QYAYA9PWKBJPQPYC7EFPCK8ZJ91NVYRWEH8PA2NZ040 Z0J40N7N8K883TSTCPYAA4G4VPQSRGWMNN6AY4YWZR8359NY3PT0 ce886f76a5e286da655c719bad2a55cc72f93d86 EV9NZ88T08XJ87QZ4ER99BARCK8KT8SGPFVG3H5D0HBNMM1ZQSKG +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(). AMGN66SMSXHEX9SNJB03VE1SRMSNM79FD7KW3HMP87SHTAFEVQ80 Z0J40N7N8K883TSTCPYAA4G4VPQSRGWMNN6AY4YWZR8359NY3PT0 ce886f76a5e286da655c719bad2a55cc72f93d86 YN2N2HRCTW5VG0FSM0DRDXZBM9V32EG6AR16HMQPVNFRR7JKA76G +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(). JTNR9CP2F2P9MXW7G5WM5DQ0DMVDJ8XFK2C8BMAVQRFBG7QAY3VG EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG;0NSATC7SSFP512BV66KDVFFGYAV8M0HPJZYYYZC3MB4T362TD5K0;ZGT7KJBF0JB7QDYF8GDZPJ929TWETQGDAG2HK7ZN55RKBWKXBG5G ce886f76a5e286da655c719bad2a55cc72f93d86 SDCJYJ0ZP1FRT03ERR5BAPC1PCJZFKR7AXFFPSWSXQYSR9ZJESMG +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(). B35RFXX2DBDX4V4E23NGX72GP74MXZNH3XSPZD6VBASYQRFJ7AHG EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG;0NSATC7SSFP512BV66KDVFFGYAV8M0HPJZYYYZC3MB4T362TD5K0;ZGT7KJBF0JB7QDYF8GDZPJ929TWETQGDAG2HK7ZN55RKBWKXBG5G ce886f76a5e286da655c719bad2a55cc72f93d86 ESS8F6SRWAS653XZJ0SHPYHMPSA0YHEJCWK2FV0H72H6TDKM16M0 +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(). 98YBAHKE0CZ6M28CEBS1Y0Y3B2V1JASBEC8ZKYJ2KP6HYD6CVRPG J68NM6P6BJZMNEBEQ963S8ZCTR3PCGGDSM1KEA5G1H4EWDEEV9A0 ce886f76a5e286da655c719bad2a55cc72f93d86 G9KCT5BNJ95QHB72AGFFCDAZ1STS5QPVJE943RZFYV9EJCT642E0 +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(). BXP1MXZ982F9WXMJ32FMJQT7N8Q587JTQQ0Z6ZNKJX9TA9B9BKZ0 217W4J8WT94ZJC0A9RT0NKS3FD0BMWKQC7B04JNJXX8RMTNAGDP0 ce886f76a5e286da655c719bad2a55cc72f93d86 TZX3N567BNPMHCR5Y8GWMMSNNZNQH7W33E6SPHAXY174MK2EARK0 +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(). MA03ZPXJ7S32WP6CAW960P5417D7AH2MYE9QFFCKP6XBP7529BXG 217W4J8WT94ZJC0A9RT0NKS3FD0BMWKQC7B04JNJXX8RMTNAGDP0 ce886f76a5e286da655c719bad2a55cc72f93d86 T5ZH0KYXD3NCCQJZ6YKDY08JTTJ5W400EFE38C50BEDHRYKMEJ60 +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(). XT7GFDYA0MQANRW6PDHEAYYTDG3K4XFRC3PPRC1CXNVK8EYAST4G DKATDKDQ1NGVADWD0XVVQ6E7QD6J94MAY7KP8SR78FPHNRH14RQ0;8NVG6QRR1WRD5XGD31RD7X981FTW5CQWQRQ6JNNA96YVB7Y0SG30 ce886f76a5e286da655c719bad2a55cc72f93d86 WGVNMH5VZ7K4APAC0J0XNFWGWPWRNSW1DWWPHD0VKJ3RMXVW8EB0 +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(). 24GTB8P4YWZF400NTRPPC5GWWTBSHHSH36AY3J86J0JMG7HH9RP0 N8MRM0K0ACAESR0TASFAQ1B84ZKTVKGR0TT99TB4E107J5Z1JZQG;8QF9FR2EN38S3T2HE0X3SR9A3824HAPAMA8BEGNJ7YF5ZTP6HB10;HVCWF3WK8YF96CMABPX1PJXQXAMHEW88A5E6AQPM2NPESC7C0DM0;Q0JWSS04RBCV6M3SQRC41J759A9ZKANKAMW4454FZWWNN58V0QD0 ce886f76a5e286da655c719bad2a55cc72f93d86 Y2ERSNZ2ZN2BYFSXHZFAX4JGMBV2A7YZZPFK1ZDD6AVR1DGYTT3G +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(). EFA2NNV5ESDF24BMXEPDTEZC085F08C5NM6JCNK38RMQ4CW7BSTG N8MRM0K0ACAESR0TASFAQ1B84ZKTVKGR0TT99TB4E107J5Z1JZQG;8QF9FR2EN38S3T2HE0X3SR9A3824HAPAMA8BEGNJ7YF5ZTP6HB10;HVCWF3WK8YF96CMABPX1PJXQXAMHEW88A5E6AQPM2NPESC7C0DM0;Q0JWSS04RBCV6M3SQRC41J759A9ZKANKAMW4454FZWWNN58V0QD0 ce886f76a5e286da655c719bad2a55cc72f93d86 F6W01RBCJYK3NR53E6TVB1CP0QSHZ309PF9V0JR1YC24NQEYNPV0 +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(). SFQVZA83Y97KDJM0E88XW2XFWF1BASND7TBC7NV3TFZMNB7VAWY0 N8MRM0K0ACAESR0TASFAQ1B84ZKTVKGR0TT99TB4E107J5Z1JZQG;8QF9FR2EN38S3T2HE0X3SR9A3824HAPAMA8BEGNJ7YF5ZTP6HB10;HVCWF3WK8YF96CMABPX1PJXQXAMHEW88A5E6AQPM2NPESC7C0DM0;Q0JWSS04RBCV6M3SQRC41J759A9ZKANKAMW4454FZWWNN58V0QD0 ce886f76a5e286da655c719bad2a55cc72f93d86 P6QPE62NXV5CPEVTDPEQPM6BWWEMQ2VD1CA47Q4CABZEW122CDGG +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(). SXTK3256EJEDT7886HR26XXSXXRMJN25PY9AFVSGBGHK0NENAV20 N8MRM0K0ACAESR0TASFAQ1B84ZKTVKGR0TT99TB4E107J5Z1JZQG;8QF9FR2EN38S3T2HE0X3SR9A3824HAPAMA8BEGNJ7YF5ZTP6HB10;HVCWF3WK8YF96CMABPX1PJXQXAMHEW88A5E6AQPM2NPESC7C0DM0;Q0JWSS04RBCV6M3SQRC41J759A9ZKANKAMW4454FZWWNN58V0QD0 ce886f76a5e286da655c719bad2a55cc72f93d86 D44ENA01J68660E7S4SBHW8JEN1G3E5E3AMS9VE8AMY4JW4CET2G +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(). XT7GFDYA0MQANRW6PDHEAYYTDG3K4XFRC3PPRC1CXNVK8EYAST4G J68NM6P6BJZMNEBEQ963S8ZCTR3PCGGDSM1KEA5G1H4EWDEEV9A0;8NVG6QRR1WRD5XGD31RD7X981FTW5CQWQRQ6JNNA96YVB7Y0SG30 ce886f76a5e286da655c719bad2a55cc72f93d86 H2HFAEHH2J19HP8JAXSECS1DV7XMF17C1755NE0ZA5BBT981PDZG +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(). 98YBAHKE0CZ6M28CEBS1Y0Y3B2V1JASBEC8ZKYJ2KP6HYD6CVRPG J68NM6P6BJZMNEBEQ963S8ZCTR3PCGGDSM1KEA5G1H4EWDEEV9A0;8NVG6QRR1WRD5XGD31RD7X981FTW5CQWQRQ6JNNA96YVB7Y0SG30 ce886f76a5e286da655c719bad2a55cc72f93d86 CNT7PT001MNBGTDSTX1QGJ004J7BRK8NY96N98VJCGGPVT0CXMF0 +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(). F36VFJY5RWY39R0QB7QZBA7A9YM34HYD9WAW88S1KT67GZG5EWW0 59GSYZMSYFBTTSMS971T42JS3FJQMCWWP76SXA4F5JEWSFBFFHEG;6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG ce886f76a5e286da655c719bad2a55cc72f93d86 YD92HC066XHMF857YHV4QBX1C6ADEX3D96BJMXV476BQSXZXV38G +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(). F36VFJY5RWY39R0QB7QZBA7A9YM34HYD9WAW88S1KT67GZG5EWW0 - ce886f76a5e286da655c719bad2a55cc72f93d86 P796N1Y43AT0QZ0GXV85DAVSSQ35SPV8DFJ656XZSTFB1A8AW650 +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(). 871BH4QQEPK0JFFS4JJJYKMAYC3ZMX3B97HC21SCDTFHJDY05DD0 59GSYZMSYFBTTSMS971T42JS3FJQMCWWP76SXA4F5JEWSFBFFHEG;6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG ce886f76a5e286da655c719bad2a55cc72f93d86 BZSDWB73NAG8A24RCPY88A6EXCR7VKEH39E7QQ626QQPBJYAC0H0 +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(). 871BH4QQEPK0JFFS4JJJYKMAYC3ZMX3B97HC21SCDTFHJDY05DD0 - ce886f76a5e286da655c719bad2a55cc72f93d86 F5F35KZWSBD2K2DVBCYQD4ZABWJDDE9TRC4BPHG8MRZYJ5NSXBYG +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(). AKPWZ7FP3EKRWNZJ0RQGJ89MVPGJYMZF3T35KJXC1DR01AGJE4F0 M6B7FMZ5BSAXX69HSZVJ8KTV1KBQDH00P1CEPE0Q93D836EJKSMG ce886f76a5e286da655c719bad2a55cc72f93d86 N0GZ0RQ1GV93HBX2H3CT8ABC28MCSBR68PCFTD5W4R8YNXYDSSA0 +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 M6B7FMZ5BSAXX69HSZVJ8KTV1KBQDH00P1CEPE0Q93D836EJKSMG ce886f76a5e286da655c719bad2a55cc72f93d86 PMZ0ZK5E7KET3YRVXCD8WRKRAEZA6X31G0DP6FVVSJ62F3S8MX30 +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(). 50GJRED89534S6JFK3JDEGR76N8D7EKPD6TNVXY8PG2JSN6V5VX0 W8S0YKE2H8FZJJRN3881DZWGN2P4M8X9XQ9ZFN23C2W3DE3TG5Z0 ce886f76a5e286da655c719bad2a55cc72f93d86 8W4ZN0G5BFXGP3MPFBH65P075KFBBTKG7MKTS0YK9316D39R86ZG +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG TSXF7CZBCWBQFJJ02HGGXJM1933DFD1BAJGAMM0MN7041J2J2M4G ce886f76a5e286da655c719bad2a55cc72f93d86 QPTW23YZ1GBJWZFZE7HWBJDFB63XGKJNTP4X2WTJYCGJMREH1GY0 +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(). 871BH4QQEPK0JFFS4JJJYKMAYC3ZMX3B97HC21SCDTFHJDY05DD0 6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG;W8S0YKE2H8FZJJRN3881DZWGN2P4M8X9XQ9ZFN23C2W3DE3TG5Z0 ce886f76a5e286da655c719bad2a55cc72f93d86 RPVTNN5S22YJMZYF6A5Y79Y72Q158DYDKTEAV6GNCWZD7VTVHQK0 +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(). Y7121KTDEBVGJNZF3Z56NSE17X4KVNQM22JJXXWV6BV6Z0W7ZEMG 6Q0M4F8TJ21DXGRDWSEJR3Z8574HC5MXQXW8KSQZF88TBD36CAAG;W8S0YKE2H8FZJJRN3881DZWGN2P4M8X9XQ9ZFN23C2W3DE3TG5Z0 ce886f76a5e286da655c719bad2a55cc72f93d86 W67NYBBCE30M92PYHQCMF6D16MXF1JWXE0TR6H4V5YT0B8TTBJGG +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(). T4DFWZ3FET6S58PAA423M20R3QK6YMJXJP394RANWVCHQYZKHJTG XFWNJTG33BEDDZWP8RA89JW6J7DHNZNHGQR8TVF19NVHKF9QCM70 ce886f76a5e286da655c719bad2a55cc72f93d86 CMNRE21GNGBPDZPF8H3ERVHPPSVBVMD1ENHJHXYCWSFGK73FDVFG +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(). X0JDY73V9CHZ09YFK9G55FA2BJN1FNXN1M6H9HQJS0P46RHJ0F6G XFWNJTG33BEDDZWP8RA89JW6J7DHNZNHGQR8TVF19NVHKF9QCM70 ce886f76a5e286da655c719bad2a55cc72f93d86 1B951VFCXJ299GERG5X1C6DREE9GKMA9GSM6NCSCHXEC9Q98H8K0 +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(). CYWP17F6WKSM12PW4YZBYQWVWYHQTDS9N329JPPRMSMW37E1RD9G YZD0NAWX2KHR5J2N8C67EHWXG3MG5YNVVRSF08E5NY9X801VPP4G ce886f76a5e286da655c719bad2a55cc72f93d86 H23M4M62RKSJQAXKPJSMWXBHKJ0QB70H4RAQJCB5P67Z1K669MV0 +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 EN1E491DBV0FD8XSJNX8XVNHEN4CGGZXC47TJQCH714XX1GSZ810;YVAQ0PVDGFHENJZD9Z93EG6S3EQ0YVPTZBBDRV9FSGNH24T7ACBG ce886f76a5e286da655c719bad2a55cc72f93d86 F52NHMC7G0GWXK8TQR2TNHAS9XT233T6ZKV1ADH8MWN5YB0RND50 +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(). YPMZ75W97Z3TAMV0EXHKP80ZMS202HAH44K732KCJKBQFE5RHGCG EN1E491DBV0FD8XSJNX8XVNHEN4CGGZXC47TJQCH714XX1GSZ810;YVAQ0PVDGFHENJZD9Z93EG6S3EQ0YVPTZBBDRV9FSGNH24T7ACBG ce886f76a5e286da655c719bad2a55cc72f93d86 8DM22791WWG7RBB0PMAYGQ8X8V7MA6B2X1GGKP24FDMH05TKWSYG +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(). FZMREPV30GJ7YV2WWEC9A292CT9BH6A8H87H145YJZF2518RA00G 6ZYTG63FCRE4CJZCBWFTNWKMD12KQW0GC65PCTWJAWAVFK6TGBZG;W6GK9B1DEJ23J440M5SD1PFPVFW8ZAHE713X6AK0DY5JS5DA2VVG ce886f76a5e286da655c719bad2a55cc72f93d86 PFXFAME56F3PR50X7R234C4KTS8HC68PSHF115XSPJ0ZZTE9HMK0 +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(). ZDV6ZFVDF6YRM3TSRJ03TWRFAW1E3VVMH0ESXE9RV3JJBC0753C0 6ZYTG63FCRE4CJZCBWFTNWKMD12KQW0GC65PCTWJAWAVFK6TGBZG;W6GK9B1DEJ23J440M5SD1PFPVFW8ZAHE713X6AK0DY5JS5DA2VVG ce886f76a5e286da655c719bad2a55cc72f93d86 5Z04PAA9ESA9QVTK45ATD23QV1KNHYCMET4MCT8VH906Q6FSQT4G +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(). EHWH739G9PFY31XS7H3J7PT9FK04EHD6J784MEE7SE9K8QV7X450 6ZYTG63FCRE4CJZCBWFTNWKMD12KQW0GC65PCTWJAWAVFK6TGBZG;W6GK9B1DEJ23J440M5SD1PFPVFW8ZAHE713X6AK0DY5JS5DA2VVG ce886f76a5e286da655c719bad2a55cc72f93d86 P8AFJX1N0M1MVC4GYYHKVEC4FNSX7876WPQMQXBG25941QMHN7AG +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(). 0J9C53PJ8QYAYA9PWKBJPQPYC7EFPCK8ZJ91NVYRWEH8PA2NZ040 6T47NTX90R2GE43NSR75JE4KBATSRKQ7B77K289PHN6PQC4HK10G ce886f76a5e286da655c719bad2a55cc72f93d86 6TZ3GDRK5PM2CM2798XQGGKF7EAX0WBCB2FP1C0XDE1E7222BZ3G +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(). HJRXHJND0QTB9F9DPQTAVYFKJVPTJV4YA5XAD4W47Z3WRYJF9K70 6T47NTX90R2GE43NSR75JE4KBATSRKQ7B77K289PHN6PQC4HK10G ce886f76a5e286da655c719bad2a55cc72f93d86 DERV7BZZC2BRRAHJ2YX0W9K616J4XNYG7V398HY69NY1YPM3RVA0 +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 RV43DJ4JV5EXMR82H8SVD6BKC9VBTTFY5GRKT8SXBT6ZCPWYR020 ce886f76a5e286da655c719bad2a55cc72f93d86 3Q0BBD5F5PRCT7NNQ51PPAFJWKY9BRAF93R5TW6HP9QW7Q8J6B6G +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(). JTNR9CP2F2P9MXW7G5WM5DQ0DMVDJ8XFK2C8BMAVQRFBG7QAY3VG RV43DJ4JV5EXMR82H8SVD6BKC9VBTTFY5GRKT8SXBT6ZCPWYR020 ce886f76a5e286da655c719bad2a55cc72f93d86 KK98GERV9NSFX99ARZWTGN4GBM5FTWHHJXDBMB83RSV4F5XJRPQG +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(). 0J9C53PJ8QYAYA9PWKBJPQPYC7EFPCK8ZJ91NVYRWEH8PA2NZ040 RV43DJ4JV5EXMR82H8SVD6BKC9VBTTFY5GRKT8SXBT6ZCPWYR020 ce886f76a5e286da655c719bad2a55cc72f93d86 AVYE8VPQY022NZG89SWHAR17K35FEA6F8ZTV7XN0D0G06RHJB3XG +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(). JTNR9CP2F2P9MXW7G5WM5DQ0DMVDJ8XFK2C8BMAVQRFBG7QAY3VG EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG;Z0J40N7N8K883TSTCPYAA4G4VPQSRGWMNN6AY4YWZR8359NY3PT0 ce886f76a5e286da655c719bad2a55cc72f93d86 JPZMSCGADW6GN7Y12C5DA1NNXQSZGWMGFB033JK512KZB6TWBGVG +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(). 0J9C53PJ8QYAYA9PWKBJPQPYC7EFPCK8ZJ91NVYRWEH8PA2NZ040 EA9Z015M28GY9XTWFM0XCW0KP6D3P0EX94JTP5Y1BSD67Q3ZKSDG;Z0J40N7N8K883TSTCPYAA4G4VPQSRGWMNN6AY4YWZR8359NY3PT0 ce886f76a5e286da655c719bad2a55cc72f93d86 KERHXMJV2X0F3DH83WQA46M3W329C76DKV826QZ8JW8CF9FVQHMG +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(). EYSMV103Y9YHKS1AY2NQF0XXZRD6NKFHHXS6E55YEEQPQKH1JAHG X3Q0NPMAHW7YC22C5237H2MW9MKY2QV7FDPQC8ADM764CWW27HZ0 ce886f76a5e286da655c719bad2a55cc72f93d86 R5NG0N07YFYHNNRG3H0DZ3H9AKHVSP9FHX28A6MMWD50CQ1H3DCG +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(). WSDH5QD26EA6A8YWGT6629JCVCNQCWYSXCB89AEASNRQP5WVW7DG X3Q0NPMAHW7YC22C5237H2MW9MKY2QV7FDPQC8ADM764CWW27HZ0 ce886f76a5e286da655c719bad2a55cc72f93d86 PJRC6ZF3NWD90ZGKJPZYK53K5VFYXP98APS26X6D4BWG092916P0 +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(). EYSMV103Y9YHKS1AY2NQF0XXZRD6NKFHHXS6E55YEEQPQKH1JAHG M72TG6CVJEYP3JDWM40R9Y6XBKZHCW7AQ8KT6N54SWN6XE924BKG ce886f76a5e286da655c719bad2a55cc72f93d86 KRMA5VH87VC0K38994NC9CVDVR4GZ369NQ51AJKS829X826BKZYG +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(). NG7TQYAS5Z1C4J7SWKBRYNAXRVS1A9D7MQKV6C9ZTSZM5J6HAQN0 M72TG6CVJEYP3JDWM40R9Y6XBKZHCW7AQ8KT6N54SWN6XE924BKG ce886f76a5e286da655c719bad2a55cc72f93d86 PGR6SSNJXBYJFHGDTQVK60S9N8ZGP233SBFVF52WVETP77TQ89Y0 +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(). NG7TQYAS5Z1C4J7SWKBRYNAXRVS1A9D7MQKV6C9ZTSZM5J6HAQN0 J7PZG39ZZAAEBGX5PPB0HPV7N3D238CW4CSBCGR9K9HAFN75X4W0 ce886f76a5e286da655c719bad2a55cc72f93d86 8Z2J4TXAKMTY4FPS80A96Q5TM2YS6CF3FRQ3K1BE0XV6DEEJRK5G +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(). HVJE6ZSR65J0Y095F56W89E89Z06Z1X8WB8NEM48CTG5FJH6CM7G ZDEP3XKYJ0CF925QYE89DKGW006T3T181TQH4T777EN5FCWZKCKG;EGNQRY7QAXJPBJK0974ZV41T36M3HNE189115YC3W990DKYCBBS0;R5JNY3RBX432JJPMX3WNA21ZGZEAWZQ16QMWVJ8T9R6RXJ219GFG ce886f76a5e286da655c719bad2a55cc72f93d86 W13FNA5PJ8RPB6JBKKWFS7E0T6N1JZVFRYRMZY12XK9AN4FN48WG +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(). FJC4DRY35RXA28R7E4XGDFMTFVEQDV7ET05WBQQ11FKYPY7KP69G ZDEP3XKYJ0CF925QYE89DKGW006T3T181TQH4T777EN5FCWZKCKG;EGNQRY7QAXJPBJK0974ZV41T36M3HNE189115YC3W990DKYCBBS0;R5JNY3RBX432JJPMX3WNA21ZGZEAWZQ16QMWVJ8T9R6RXJ219GFG ce886f76a5e286da655c719bad2a55cc72f93d86 J5CD0WMMJJX8FZ885C1DTCKFM6J5RYP4RAYMHSJ9PHZHQZ7CG6V0 +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(). GFFNKE2MG1EJT9HXZETEJAFH7JFHH78WDSXFM3X8EGCXY1XZPHM0 - ce886f76a5e286da655c719bad2a55cc72f93d86 K73QA5CW8P2YYXGGS7AQ8N736FYKQQW8A0JM4JTA1RBHABHN1WPG +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(). X0XFCQ3YJ4Q34CD1RPRHEJ0PCPEMRDXZ8B07PZM40N1Q9CBSPVQ0 BV15DJA29DTC6W6ZM3SFKXR8601DYMQG3NDXZRGQDQJ8ED42AJ0G;JYB4EK09BHGKAAE0AXQSXTWGT95ABJM71WHRZCY7HAYHH0MVX880 ce886f76a5e286da655c719bad2a55cc72f93d86 MQ8BPAAZ507KBZJWY4RRM5ZAT410X0JW4SGAPR3WGF3D0EHN9KN0 +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(). 4K6EBC6BV8T61G7APKGMK7MTGSWG6JCFX43996ZES4P1ECGFN4N0 BV15DJA29DTC6W6ZM3SFKXR8601DYMQG3NDXZRGQDQJ8ED42AJ0G;JYB4EK09BHGKAAE0AXQSXTWGT95ABJM71WHRZCY7HAYHH0MVX880 ce886f76a5e286da655c719bad2a55cc72f93d86 KJJA9SVX0ECJTZZX1CBJSRKMHRXCQ8B8HXDV26ZXF9AWFZF4R0G0 +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG MWDSWHRSJVS3ZCQ4AD2WKQH1FPWAK17ACWWKKZ1AB89F5GE8S1T0;VARDQ7MEH1ZCF06P1SVJFWTN0FMX5XYWW5SY6NQZDPVP24YEHB0G ce886f76a5e286da655c719bad2a55cc72f93d86 9J8B0PCH2BH4PRRJ103EGHTSZFBBZDGGJ8Z7FVF97PNJMB0M8QDG +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG FDNSGKQESA6NYFJR8Y77EB1ATCCXJXKFD3M1QW72XKPDBG7PYQRG;K3AN1TDMN33655P3H4XZ4E15ZHAR730XJKA7EM7CRWF8XAXFT7QG ce886f76a5e286da655c719bad2a55cc72f93d86 F4XRFNW29D5P6N61CVBY308FGSRCCA2SBK9EPSFHGK40XGV6ZQ90 +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(). EPYYHPF89T6WYZFS8CAZPBB7QPTJC4T0RVY21R7SKA7KWMANMHT0 FDNSGKQESA6NYFJR8Y77EB1ATCCXJXKFD3M1QW72XKPDBG7PYQRG;K3AN1TDMN33655P3H4XZ4E15ZHAR730XJKA7EM7CRWF8XAXFT7QG ce886f76a5e286da655c719bad2a55cc72f93d86 GFMD9BMC6WCAC3797VM0GQEYYQAKNKSKMF4N94QXSSR31VC5R5S0 +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG DK0Y0CDFZ3KHZF2HXYVT53AYTM2T9439C3H1P01GHEN8EJDXME4G;PJZKXF6FYBAHQ6ZR465ZS8R1YF2SHN7QCQ7TNQ3ZNNA5VAC2TMM0 ce886f76a5e286da655c719bad2a55cc72f93d86 65SBANQA05EAA2QT9AJDMY4SAS55ABA7W5SBG35AFRYXQB8H51N0 +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(). M0WYZS6QEZ258V875F9S9FT1C0SJRJ3YNBSZFWKDVX05JF1P6MYG RER4TYRAT6GB0E6N4X8MAT264FZ3CNJGR8D9AVYTYCRSJWWS727G;ZJAV1DG818AXBSAC42YWD3CJ522WFH34CD5ATZQQ90WTF2V219CG ce886f76a5e286da655c719bad2a55cc72f93d86 GYE0YVD498RPMXGFKKX3AN5YY3WPQ6T8Q8R24962EXZKPHRSYTK0 +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 J3SWRGJ69A9DMZZ8A29RVAPBST7ZBEZAJFM84AKP2TQX7HS728J0 ce886f76a5e286da655c719bad2a55cc72f93d86 9ZXP1BE7EAQKHDRGRE0CHR1E5C9S12EEF8JK46C0NZSQ4XA63RTG +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(). 0NZ1FD85SFFCMT1P05MPCGNFKA62VEY402K9JGHQTAK82EAVK61G J3SWRGJ69A9DMZZ8A29RVAPBST7ZBEZAJFM84AKP2TQX7HS728J0 ce886f76a5e286da655c719bad2a55cc72f93d86 DE2R2H1FPHGRT6XS6Z3867XP1E9H6R11RDEQKS7H3E4KK9F8XPBG +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(). GVJ8VFV09X6Y6RM18EA93YKX0SATDGG4HHHXZ4T6Q7HS4BTXQ2PG NYX57FJA1RMPJF5XYXPTX8VR2N857061P8EVHN41EDS6C0DZQS20 ce886f76a5e286da655c719bad2a55cc72f93d86 GT8M02D3298Q4QXBR3XDFSDC2GBMZDVJBYWVYZH3ZYSNZJS9C3MG +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(). E2CH3N0WTZQGH66XNJKVN9CTSH4SS4T40VNEA4XMKK5B9J21JEWG 733ENJWXS7PR1RKM2APMC4ETJ4EFFMDR508CXFW3NS8F2VKFNQX0 ce886f76a5e286da655c719bad2a55cc72f93d86 2BQG999S9MJ67A1MR6ZHRB69S51W3379DM9T4E73SN188HHTVFNG +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(). XV3EXGAK4WM5EWTP44840DG0ZKY4CV045795A8RPK4NS9GYTNHSG - ce886f76a5e286da655c719bad2a55cc72f93d86 33T8KMHR9XHYCC380J41Z685VDC6RPN65KXEQ4CPSY9J58HQBX4G +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(). 164XQJTCCJ2XD0VT4RF9ZQR0T048YPEEFGBCQCQF9WRRYW84E4A0 - ce886f76a5e286da655c719bad2a55cc72f93d86 31CGEYP7RT0Y9J0ZHRZ9794CK7MJ29SCQBZ32JWCKPVZQRJY0DBG diff --git a/specs/requirements/MASTER_REQUIREMENTS.md b/specs/requirements/MASTER_REQUIREMENTS.md index 1777d6475..5ae608fe0 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` | `843b07e0d2072266a60fb965047955fa81789311` | 4352 | -| `specs/SoFi_Settlement_Specification.md` | `77927942403122d917a3d3c040e17c38e099451f` | 2694 | +| `specs/SoFi_Settlement_Specification.md` | `c30f6585caf2700f46997db0f658fc915400afbf` | 2837 | | `specs/dBTC_Native_Specification.md` | `233a3e72a5b16a023af830f4c8ffaad4ba9391a8` | 2160 | | `specs/DSM_Storage_Node_Specification.md` | `415a9b9c67c7a2b4b6df78b0af85fb3bc7282ae8` | 636 | -Pins updated 2026-10-04 after DSM Amendment A11 (a Web2 application connects to a wallet; the application stays Web2); before that, 2026-10-01 after SoFi Amendment S20 gained the owner's ruling on relaying a withheld pair (pre-audit 12e: the next operation at a vault registers it from the exercise's signed `C_q` before passing the key) and named §17.5 and §33 among what it amends; before that, the same day, after DSM Amendment A8's correction for credit sources (a source is held to account through its own segment) and the matching SoFi S15 SetupValid wording, and after DSM Amendment A10 and SoFi Amendment S20 (an occupant of a position cell proves its own authority), with S20 extended the same day (the position pair decided and matched from its own bytes); before that, the same day, 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) and 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. +Pins updated 2026-10-05 after SoFi Amendment S21 (escrow vaults: a vault released by the canonical verdict on an external commitment, §19.9). Before that, pins updated 2026-10-04 after DSM Amendment A11 (a Web2 application connects to a wallet; the application stays Web2); before that, 2026-10-01 after SoFi Amendment S20 gained the owner's ruling on relaying a withheld pair (pre-audit 12e: the next operation at a vault registers it from the exercise's signed `C_q` before passing the key) and named §17.5 and §33 among what it amends; before that, the same day, after DSM Amendment A8's correction for credit sources (a source is held to account through its own segment) and the matching SoFi S15 SetupValid wording, and after DSM Amendment A10 and SoFi Amendment S20 (an occupant of a position cell proves its own authority), with S20 extended the same day (the position pair decided and matched from its own bytes); before that, the same day, 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) and 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. @@ -162,6 +162,7 @@ Each extraction also has a Findings table: - **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. - **A Web2 application connects to a wallet (2026-10-04).** Owner direction for DSM Creatures, an RPGJS game kept Web2 with DSM underneath (§78's game): "it needs to be like Wallet Connect, kind of" and "It should basically just allow you to control it through the game once it's connected". Owner choices the same day: the application's own endpoint is the relay, the wallet's consent is a scoped grant approved once on the device, and the design is written in Part III before code (DSM Amendment A11). The relay is transport and never evidence of a payment, an ownership or a trade; holdings are a Sparse Merkle proof against the holder's validated root, current only while the next register cell is empty at its leader. MR-DSM-0278 to MR-DSM-0294 added with source `amendment`; §1 re-pinned. +- **Escrow vaults (2026-10-05).** An application needed two parties to lock equal stakes against one agreed match, with the application as referee, and nothing could hold value under a condition other than a SoFi market (CONFORMANCE §6.74). Owner rulings (2026-10-04, 2026-10-05, quoted in SoFi Amendment S21): build the generic escrow vault with no wager logic in Core, and make one external commitment have one admissible verdict in the protocol itself. Owner decisions as specified: an escrow vault is a SoFi vault whose three policy slots name one `EscrowTerms` object; it releases its whole amount once to the recipient of the branch whose outcome the canonical verdict names; the verdict occupies `K_verdict = H(DSM/escrow/verdict-cell/v1; Y ∥ τ)` first at its leader and proves its own authority from its bytes; linked vaults settle on that one outcome; there is no owner close and no market (SoFi Amendment S21, §19.9). Owner review (2026-10-05) asked that linking be an explicit invariant: same `Y`, same canonical table (which is the authority), same cell; linking is derived from each vault's accepted terms and checked by whoever relies on it, and discovery is by cell. MR-SOFI-0363–0386 added with source `amendment`; §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 @@ -176,7 +177,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 25, SoFi 35, storage 30, for 949 canonical requirements in all. +Added afterwards by amendment (§7.1): DSM 25, SoFi 55, storage 30, for 973 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. @@ -845,6 +846,30 @@ Columns: **ID** is the canonical ID (`MR--nnnn`, in document order). **Sou | MR-SOFI-0360 | invariant | explicit | `K_root(q)` holds the trader-signed C_q (class 0x0062): the derived C_q, the signing key, the trader device's AttA and a signature under `DSM/sofi/resolution-claim-sign/v1`; it occupies the cell only when the signature verifies and the key with that AttA derives the trader's DevID, and a bare C_q occupies nothing. The pair is matched by the body's fulfillment_id; wherever P is in hand (an exercise's facts, a position's resolution) the body is compared with derive(P, F), and a difference loses F and makes the position Invalid. | amendment: SoFi Amendment S20 (2026-10-01) | owner | none | | MR-SOFI-0361 | invariant | explicit | F carries the trader device's AttA. Which F holds `K_ful(q)` is decided from F's bytes alone: it recognizes under its own key, its position is q, and its key with that AttA derives the trader's DevID; P is never read to decide it. | amendment: SoFi Amendment S20 (2026-10-01) | owner | none | | MR-SOFI-0362 | obligation | explicit | The exercise carries the trader's signed C_q, whose body is the C_q of the exercise's P and F under the same bound key; a relayer completes the position pair with the trader's signed C_q from the exercise or the cell and never authors C_q. Before advancing past a vault key held by an exercise whose pair is not yet registered, the next operation at the vault MUST register that pair with the C_q the exercise carries, exactly as signed, and then retry; an exercise whose C_q fails recognition counts as nothing. | amendment: SoFi Amendment S20 (2026-10-01; the relaying bullet is the owner's ruling of the same day) | owner | none | +| MR-SOFI-0363 | invariant | explicit | An escrow vault's `VaultStateLeaf` is unchanged byte for byte: `market_policy`, `fee_policy` and `release_policy` all hold `A_T`, the address of its `EscrowTerms` (class 0x0063); `reserve_a` is the held amount and `reserve_b` is 0; it is Active while `reserve_a > 0` and `reserve_b = 0`, and Retired (both zero) is terminal. Slots that include an `EscrowTerms` object other than as all three naming one are neither a market nor an escrow, and the genesis is refused. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0364 | invariant | explicit | `EscrowTerms` (class 0x0063, schema 1) holds the held token's policy commit, `Y = H(DSM/external/v1 ∥ X)`, and 1 to 16 branches strictly ascending by `outcome` (1 to 64 bytes), each with 1 to 4 signers strictly ascending by `u16be(alg) ∥ u32be(|key|) ∥ key` and a recipient (genesis, device id); its address is `immutable_addr(DSM/escrow/terms-object/v1, CCB bytes)`. A branch is decided by all of its signers: no duplicate signer, empty set or threshold is expressible, and labels are unique. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0365 | obligation | explicit | The outcome table `O` is the branches with their recipients removed, in branch order, and `τ = H(DSM/escrow/outcome-table/v1; u8(|O|) ∥ ⨁ entries)`, each entry `u32be(|o|) ∥ o ∥ u8(|signers|) ∥ ⨁ (u16be(alg) ∥ u32be(|key|) ∥ key)`. The table has exactly one encoding (branches strictly ascending by outcome, signer sets strictly ascending, every length prefixed; any other order does not decode). The table is the verdict authority, and there is no other authority object. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0366 | obligation | explicit | `K_verdict = H(DSM/escrow/verdict-cell/v1; Y ∥ τ)`. Its leader is `FisherYates(s_verdict, S)[0]` over the network's pinned set with `s_verdict = H(DSM/escrow/verdict-seed/v1; K_verdict)`; it is written by the procedure of §8 with route-chain finality, and anyone may write it. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0367 | invariant | explicit | A signer decides outcome `o` for a verdict cell by signing `m(o) = H(DSM/escrow/statement/v1; K_verdict ∥ u32be(|o|) ∥ o)`: the statement names the cell, so a signature decides nothing at another commitment or another table, and it names no vault, so one signature serves every vault bound to the cell. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0368 | invariant | explicit | The value that counts at `K_verdict` is the first object at its leader that is an `EscrowVerdict` (class 0x0064) recognized there from its own bytes alone: the cell key recomputes from its `Y` and table, its outcome is a label of the table, its signers are exactly the signers the table assigns to that outcome, and every signature verifies over `m(outcome)` under its key. Everything else at the cell counts as nothing, and no vault, member or reader's position enters the decision. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0369 | invariant | explicit | A verdict cell holds at most one outcome, ever. `VerdictHeld(K, o)` holds when its leader link is held by a recognized verdict on `o` in any state (leader-held, preserved or final); `VerdictFinal(K, o)` when that verdict is final, shown by a completion proof. A second verdict, even one validly signed by the same signers for another outcome, never becomes the cell's value. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0370 | obligation | explicit | Signatures for a branch with more than one signer may be gathered as `EscrowVerdict` objects put under `immutable_addr(DSM/escrow/verdict-object/v1, CCB bytes)` and indexed under `escrow_statement_locator(K, o) = H(DSM/escrow/statement-locator/v1; K ∥ u32be(|o|) ∥ o)`; a reader keeps only signatures that verify over `m(o)` under a signer the table assigns to `o`. The index carries no authority; only a recognized verdict at the cell decides anything. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0371 | transition | explicit | `EscrowVaultCreate`, variant 38 of `Operation`, carries the vault genesis preimage, the `VaultCreation` leaf and the exact `EscrowTerms` bytes, signed by the owner. The owner's transition debits the held amount of the terms' token once and inserts `VaultCreation{vault_id, genesis_root, amount_a, amount_b = 0}`, insert only, with `amount_a` the held amount; the verifier admits exactly one debit and one creation record. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0372 | evidence | explicit | An escrow vault's genesis is accepted only if `R0` recomputes and `V0` is the initial state (generation zero, Active, no relationship leaves); the three policy slots hold `A_T` and the carried bytes decode as `EscrowTerms` and re-derive `A_T`; `reserve_a` equals the funded amount and the debit and `reserve_b = 0`; `v = vault_id(Go, DevIDo, pcreate)`; the storage set is the network's pinned set; the owner's root at `p` is validated; and the terms' token passes its token policy for a transfer. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0373 | obligation | explicit | The escrow terms are put as an object under `A_T`, and the genesis preimage is indexed under `vault_genesis_locator(v)` and `escrow_cell_locator(K_verdict) = H(DSM/escrow/cell-locator/v1; K_verdict)`, never under `vault_token_locator`. Discovery carries no authority: a candidate counts only when its genesis is accepted and its terms derive that `K_verdict`. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0374 | transition | explicit | `B°` has a Release branch `{vault_id, parent_root, setup_ref, verdict_cell, outcome, amount, trader_core, dlv_core, closure}` (class 0x0065) with one leg and `E` in its single-leg form; its route digest preimage is `Release{vault_id, parent_root, setup_ref, verdict_cell, outcome, amount}` (class 0x0066). The trader is the branch's recipient, the release is the recipient's own position set up with the vault, its credit is the recipient's realized root, and no verdict enters `E`. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0375 | invariant | explicit | A Release's closed write set: `T°` credits the terms' token by `amount`, advances the trader's relationship with the vault and debits nothing; `V°` takes the vault state from Active with exactly `reserve_a = amount` and `reserve_b = 0` to Retired with both reserves zero and generation plus one, with the matching relationship advance. No other entry is permitted. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0376 | prohibition | explicit | A Release is Invalid unless it has one leg; the vault's terms resolve to `EscrowTerms` by the slot rule; `verdict_cell = K_verdict(Y, τ)` of those terms; `outcome` names a branch; `P`'s trader is that branch's recipient; `amount = reserve_a` and `reserve_b = 0` at the parent; the write set holds; per-token conservation holds; and the token passes its policy for a transfer. Its static budget is at most 16 label comparisons, and no signature is verified there. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0377 | prohibition | explicit | A Close or a Swap against an escrow vault is Invalid, and so is a Release against a market vault. An escrow vault has no owner close: its owner gets the stake back only through a branch naming the owner as recipient, decided by that branch's signers. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0378 | invariant | explicit | For a Release leg, `ConsumedRoute` also requires `VerdictFinal(B°.verdict_cell, B°.outcome)`. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0379 | obligation | explicit | `RouteImpossible(P, E)` holds by arm (v) when `B°` is a Release and `VerdictHeld(B°.verdict_cell, o)` for some `o ≠ B°.outcome`. The arm needs no validation evidence (only the cell's raw read and the verdict's own bytes), is permanent, and skips a release exercise that lost the verdict so the vault's next attempt goes live. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0380 | invariant | explicit | A Release whose verdict cell holds another outcome resolves Void when both predicates are Valid (rung 8): it moves nothing and the vault stays Active at its parent. Until the cell's verdict is final on its outcome or held on another, a Release has no result and the SDK waits. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0381 | invariant | explicit | Every escrow vault bound to one verdict cell settles only on the outcome that cell holds: a release naming another outcome is Void and its key skipped, whichever vault it is in. The linked vaults remain independent DLVs with no shared parent, each released by its own recipient's position; one vault's release does not release the other. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0382 | obligation | explicit | The public objects that resolve another trader's Release position (Amendment S15) include the verdict at its verdict cell, with its finality evidence. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0383 | liveness-boundary | explicit | An escrow stake is released only by a verdict: if no recognized verdict reaches the cell, the stake stays locked. A way out is a committed branch (for example a cancel decided by both parties), which contends for the same cell as every other outcome. A refund after a deadline needs an iteration budget and is not part of Amendment S21. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0384 | obligation | explicit | The app reaches escrow vaults only through `escrow.party`, `escrow.create`, `escrow.sign`, `escrow.adjudicate`, `escrow.verdict`, `escrow.release`, `escrow.locked` and `escrow.vaults` (`SDK/handlers/escrow_routes.rs`). `escrow.create` locks against a counterpart vault only once that vault is accepted, Active and bound to the same `K_verdict`; `escrow.adjudicate` writes a recognized verdict to the cell and returns the verdict the cell holds; `escrow.release` builds a release only once the cell's verdict is final on the outcome of a branch that pays the device; `escrow.locked` reads a cell's locator and keeps only accepted vaults that derive that cell. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0385 | invariant | explicit | Two escrow vaults are linked exactly when their terms name the same `Y` and byte-identical outcome tables, and then they have the same `K_verdict`. Linking is established only by deriving `K_verdict` from each vault's accepted terms: a match id, an index entry or an application's word never links them, and a verdict at one cell decides nothing for a vault bound to another. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | +| MR-SOFI-0386 | obligation | explicit | A party that locks against a counterpart vault creates its own only when the counterpart is GenesisAccepted, Active, and derives the same `K_verdict` as the terms it is about to commit; a reader that relies on two vaults being linked checks the same derivation on both. Core accepts each escrow vault's genesis on its own terms and does not compare it with another vault. | amendment: SoFi Amendment S21 (2026-10-04, 2026-10-05) | owner | none | ### 8.3 dBTC native specification diff --git a/specs/requirements/VERIFICATION_MATRIX.md b/specs/requirements/VERIFICATION_MATRIX.md index 3358c5080..7eeb27f1a 100644 --- a/specs/requirements/VERIFICATION_MATRIX.md +++ b/specs/requirements/VERIFICATION_MATRIX.md @@ -217,3 +217,13 @@ Tests named `dsm_sdk::…` run on devices created as wallet creation creates the | MR-DSM-0292: the replay guard is read and a request carried out under it as one step | `dsm_sdk` · handlers/connect_routes.rs · `PROCESSING` (`sync_session`, `connect_respond`, `connect_disconnect`) | `dsm_sdk::handlers::connect_e2e_tests::two_syncs_at_once_carry_a_request_out_once` | Each sync on a lock of its own → red: the payment runs once (the SDK refuses the second transfer while the first is pending), and the second sync's FAILED answer becomes the record of the request that was paid (2026-10-04). | — | | MR-DSM-0281, MR-DSM-0291: the approval screen names each token an offer names by the policy its anchor commits to, before the wallet roots it | `dsm_sdk` · handlers/connect_routes.rs · `connect_preview`; handlers/token_routes.rs · `verified_policy` (fetched, re-hashed to the anchor, parsed) | `dsm_app_host::real_connection::a_game_and_a_wallet_connect_over_the_real_relay` (the preview of a wallet that never held the game's coin reads "10 WILD a time") | Names stored under another key than the anchor → red: the consent reads "10 base units of J4PRD5T8 a time" (2026-10-04). | — | | MR-DSM-0291, MR-DSM-0288: a holdings request is inside the grant for an object the wallet never held only when the object's policy, fetched and re-hashed to its anchor, names the application as creator | `dsm_sdk` · handlers/connect_routes.rs · `issued_by_app`; handlers/token_routes.rs · `verified_policy` | `dsm_sdk::handlers::connect_e2e_tests::holdings_of_an_object_never_held_are_covered_only_if_the_game_issued_it` (the game's object proven not held without asking; a third device's object waits for the player) | The policy read skipped → red: the game's own object waits for the player. The creator check removed → red: the third device's object is proven without asking (2026-10-04). | — | +| MR-SOFI-0376, SoFi Amendment S21 (§6.74): a Release pays only its branch's recipient, of a branch its terms have, at the cell its terms derive, the whole stake | `dsm` · sofi/validation.rs · `validate_release` | `dsm::sofi::validation::tests::a_release_of_a_branch_that_pays_someone_else_is_invalid`; `dsm::sofi::validation::tests::a_release_of_an_outcome_no_branch_has_is_invalid`; `dsm::sofi::validation::tests::a_release_naming_another_verdict_cell_is_invalid`; `dsm::sofi::validation::tests::a_release_of_less_than_the_whole_stake_is_invalid`; `dsm_sdk::handlers::escrow_e2e_tests::the_winner_takes_both_stakes_once` (the loser's release of the winner's branch, built past its producer, refused by Core) | Each check removed in turn (recipient, branch, cell, whole amount) → its test red (2026-10-05). | — | +| MR-SOFI-0367, MR-SOFI-0368, SoFi Amendment S21 (§6.74): a verdict occupies its cell only by its own bytes: its cell recomputes, its signers are exactly the outcome's, and every signature verifies | `dsm` · sofi/escrow.rs · `verdict_authority`, `verdict_occupying`, `verdict_resolution` | `dsm::sofi::escrow::tests::a_verdict_proves_its_own_authority_for_its_cell`; `dsm::sofi::escrow::tests::a_signature_decides_only_the_cell_it_was_made_for`; `dsm_sdk::handlers::escrow_e2e_tests::a_verdict_outside_the_authority_cannot_occupy_the_cell` (a player's own-key verdict and a genuine verdict for another cell, written to the cell first) | Cell recomputation removed → `a_signature_decides_only_the_cell_it_was_made_for` red; signer equality removed → `a_verdict_proves_its_own_authority_for_its_cell` red; signature verification removed → `a_signature_decides_only_the_cell_it_was_made_for` red (2026-10-05). | — | +| MR-SOFI-0370, SoFi Amendment S21 (§6.74): gathered signatures count only from the outcome's signers, verified, and a verdict is assembled only from exactly them | `dsm` · sofi/escrow.rs · `gathered_signatures`, `assemble_verdict` | `dsm::sofi::escrow::tests::a_verdict_is_assembled_only_from_the_outcomes_signatures`; `dsm_sdk::handlers::escrow_e2e_tests::a_joint_cancel_and_a_referee_result_cannot_both_settle` | The signer check removed → `a_verdict_is_assembled_only_from_the_outcomes_signatures` red (2026-10-05). | — | +| MR-SOFI-0369, MR-SOFI-0378, MR-SOFI-0380, MR-SOFI-0381, SoFi Amendment S21 (§6.74): a release consumes only on its cell's verdict final on its outcome; on another outcome it is Void and nothing moves | `dsm` · sofi/resolution.rs · `consumed_route`, `resolve_position` (rung 5); sofi/facts.rs · `establish_ground` | `dsm::sofi::resolution::tests::a_release_realizes_only_on_the_verdict_final_on_its_outcome`; `dsm_sdk::handlers::escrow_e2e_tests::a_referee_who_signs_both_outcomes_settles_both_vaults_on_the_first` (a referee signs both outcomes; the loser's release on the second, built past its producer, is Void) | The `ConsumedRoute` conjunct removed → `a_release_realizes_only_on_the_verdict_final_on_its_outcome` red; the rung 5 verdict clause removed → the same test red; the release's standing taken as final whatever the cell holds → `a_referee_who_signs_both_outcomes_settles_both_vaults_on_the_first` red (2026-10-05). | — | +| MR-SOFI-0379, SoFi Amendment S21 (§6.74): a release that lost the verdict frees its key, decided without validation evidence | `dsm` · sofi/resolution.rs · `route_impossible` arm (v), `skip_without_evidence` | `dsm::sofi::resolution::tests::a_release_that_lost_the_verdict_frees_its_key`; `dsm_sdk::handlers::escrow_e2e_tests::a_referee_who_signs_both_outcomes_settles_both_vaults_on_the_first` | Arm (v) removed → `a_release_that_lost_the_verdict_frees_its_key` red (2026-10-05). | — | +| MR-SOFI-0363, MR-SOFI-0372, SoFi Amendment S21 (§6.74): an escrow genesis is accepted only with its three slots naming its terms and a stake in `reserve_a` alone | `dsm` · sofi/lineage.rs · `creation_accepted` | `dsm::sofi::lineage::genesis_acceptance::an_escrow_genesis_is_refused_for_terms_its_slots_do_not_name`; `dsm::sofi::lineage::genesis_acceptance::an_escrow_genesis_holding_a_second_reserve_or_no_stake_is_refused` | The slot check removed → `an_escrow_genesis_is_refused_for_terms_its_slots_do_not_name` red; the stake check removed → `an_escrow_genesis_holding_a_second_reserve_or_no_stake_is_refused` red (2026-10-05). | — | +| MR-SOFI-0371, SoFi Amendment S21 (§6.74): an escrow creation debits exactly its stake, once | `dsm` · economic/write_set.rs · `escrow_creation_write_set`; types/device_state.rs · `validate_conservation` | `dsm::economic::write_set::escrow_create_binding_tests::a_creation_funding_anything_but_its_stake_is_refused`; `dsm::types::device_state::tests::an_escrow_creation_debits_exactly_its_stake` | The write-set stake check removed → `a_creation_funding_anything_but_its_stake_is_refused` red; the conservation comparison removed → `an_escrow_creation_debits_exactly_its_stake` red (2026-10-05). | — | +| MR-SOFI-0377, SoFi Amendment S21 (§6.74): an escrow vault has no Close and no Swap, and a market vault no Release | `dsm` · sofi/validation.rs · `VaultTerms::market`, `VaultTerms::escrow` | `dsm::sofi::validation::tests::the_owner_of_an_escrow_vault_cannot_close_it`; `dsm::sofi::validation::tests::a_swap_through_an_escrow_vault_is_invalid`; `dsm::sofi::validation::tests::a_release_against_a_market_vault_is_invalid`; `dsm_sdk::handlers::escrow_e2e_tests::an_escrow_vault_has_no_market_and_no_owner_close` | Not run: the refusal is the type. A Close or a Swap reads `Policies` an escrow vault does not have, and a Release `EscrowTerms` a market does not have; no mutation removes it without inventing them. | — | +| MR-SOFI-0386, SoFi Amendment S21 (§6.74): a stake is locked against a counterpart only when the counterpart derives the same verdict cell | `dsm_sdk` · sdk/escrow_flow.rs · `counterpart_linked` | `dsm_sdk::handlers::escrow_e2e_tests::an_escrow_vault_has_no_market_and_no_owner_close` | The cell comparison removed → `an_escrow_vault_has_no_market_and_no_owner_close` red (2026-10-05). | — | +| MR-SOFI-0347, SoFi Amendment S15 (§6.74 found): the claim a setup names at another trader's SoFi position is the one its resolution accepted | `dsm` · economic/peer_lineage.rs · `peer_claim_at`; `dsm_sdk` · sdk/sofi_reads.rs · `accepted_claim_at` | `dsm::economic::peer_lineage::tests::the_claim_at_a_conditional_position_is_asked_of_its_resolution`; `dsm_sdk::handlers::escrow_e2e_tests::the_winner_takes_both_stakes_once` (the winner sets up with the second vault right after releasing the first; the loser walks it) | The conditional arm answered as a payer's target (Unresolved) → `the_claim_at_a_conditional_position_is_asked_of_its_resolution` red and `the_winner_takes_both_stakes_once` red (2026-10-05). | — |