pub struct PairResult {
pub peer_petname: String,
pub sas_code: String,
pub services: Vec<String>,
}Expand description
Result of a Request::Pair request: the inviter’s suggested petname (the
redeemer’s local name for the new peer) plus the display-only short authentication
code (SAS, spec §4.2) — a few words the human reads aloud to a second channel to
catch a whole-invite forgery / address-swap MITM. The SAS is a pairing-ceremony
artifact (like the invite line), NOT a §1.5 transport-vocabulary leak.
Additive-only (§6.1): any future field MUST land as
#[serde(default, skip_serializing_if = ...)] so older payloads still deserialize.
Fields§
§peer_petname: StringThe inviter’s suggested petname (from the invite) — the redeemer’s local name for it.
sas_code: StringThe display-only short authentication code (e.g. "tango-fig-42"), shown on both
sides for the out-of-band human check. Never sent on the wire, never checked
programmatically.
services: Vec<String>The services this pairing granted the redeemer — each mountable as <peer>/<service>.
Populated from the invite (invite.services) by the redeemer-side redeem_invite, so
the porcelain can print the “You can mount: alice/notes” line without re-decoding the
invite. Additive (§6.1): #[serde(default, skip_serializing_if = ...)] so a PairResult
minted by an older daemon (which omits services) still deserializes — to an empty list.
Trait Implementations§
Source§impl Clone for PairResult
impl Clone for PairResult
Source§fn clone(&self) -> PairResult
fn clone(&self) -> PairResult
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more