#[non_exhaustive]pub struct InspectReport {
pub hrp: String,
pub threshold: u8,
pub tag: Tag,
pub share_index: char,
pub prefix_byte: u8,
pub payload_bytes: Zeroizing<Vec<u8>>,
pub checksum_valid: bool,
pub kind: InspectKind,
pub language: Option<u8>,
}Expand description
Structural dump of a parsed ms1 string. #[non_exhaustive] per SPEC §10
— v0.2+ may add fields (share-index detail, threshold-layer hints,
derivation metadata).
Debug is hand-rolled (not derived) to redact payload_bytes
(RULE Z-DEBUG, cycle-15 Lane M): Zeroizing<Vec<u8>>’s own derived Debug
is non-redacting (forwards to Vec), so a derived Debug here would leak
the raw entropy bytes. The hand-roll surfaces every structural field
verbatim and renders the secret bytes as a length-only [REDACTED; N]
placeholder. See the impl fmt::Debug below.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.hrp: StringExpected “ms” in v0.1.
threshold: u8Expected 0 in v0.1.
tag: TagThe parsed type tag (id field).
Expected ‘s’ in v0.1.
prefix_byte: u80x00 in v0.1 (reserved); becomes type discriminator in v0.2+.
payload_bytes: Zeroizing<Vec<u8>>Payload bytes after the prefix byte. Wrapped in Zeroizing so the
decoded secret entropy is scrubbed on drop (cycle-15 Lane M). The
hand-rolled Debug (below) redacts it; Deref<Target=Vec<u8>> keeps
read-only consumers (.len(), hex::encode(&field)) unchanged.
checksum_valid: boolBCH verification result. True if the upstream codex32 parser accepted.
kind: InspectKindPayload kind derived from the prefix byte.
language: Option<u8>For kind == Mnem: the language byte (index into MNEM_LANGUAGE_NAMES).
None for all other kinds.
Trait Implementations§
Source§impl Clone for InspectReport
impl Clone for InspectReport
Source§fn clone(&self) -> InspectReport
fn clone(&self) -> InspectReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InspectReport
impl Debug for InspectReport
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Result
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Hand-rolled redacting Debug (RULE Z-DEBUG): surfaces every structural
field verbatim and renders the secret payload_bytes as a length-only
[REDACTED; N] placeholder so the raw entropy can never reach a debug
dump. Mirrors the no-echo precedent on crate::error::Error (error.rs).