pub enum ParticipantVerifyError {
BadPayload(String),
MissingHostCountersign,
TooManySignatures(usize),
JoiningAgentSigInvalid,
HostCountersignInvalid,
JoiningAgentNotEd25519,
HostPubkeyNotEd25519,
}Expand description
Why a participant envelope was rejected.
Variants§
BadPayload(String)
Envelope payload didn’t deserialize as a participant statement (wrong type, bad JSON, truncated).
MissingHostCountersign
The envelope has only one signature – the host countersign is
missing. This is the failure mode for envelopes emitted by
treeship session join before treeship session countersign
runs. Surface to the operator as “pending countersign,” not as
“forgery.”
TooManySignatures(usize)
The envelope has more than two signatures. Phase 1 schema is strictly two (joining_agent + host). Future multi-party rooms can relax via a canonical bump.
JoiningAgentSigInvalid
The joining agent’s signature did not verify against
statement.joining_agent’s pubkey over the canonical bytes.
HostCountersignInvalid
The host’s signature did not verify, OR the signing key does
not match the invitation’s issuer (expected_host_pubkey).
JoiningAgentNotEd25519
The joining_agent field doesn’t decode as a 32-byte Ed25519 key.
HostPubkeyNotEd25519
The expected host pubkey provided by the caller doesn’t decode.
Trait Implementations§
Source§impl Clone for ParticipantVerifyError
impl Clone for ParticipantVerifyError
Source§fn clone(&self) -> ParticipantVerifyError
fn clone(&self) -> ParticipantVerifyError
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 ParticipantVerifyError
impl Debug for ParticipantVerifyError
Source§impl Display for ParticipantVerifyError
impl Display for ParticipantVerifyError
impl Eq for ParticipantVerifyError
Source§impl Error for ParticipantVerifyError
impl Error for ParticipantVerifyError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl PartialEq for ParticipantVerifyError
impl PartialEq for ParticipantVerifyError
impl StructuralPartialEq for ParticipantVerifyError
Auto Trait Implementations§
impl Freeze for ParticipantVerifyError
impl RefUnwindSafe for ParticipantVerifyError
impl Send for ParticipantVerifyError
impl Sync for ParticipantVerifyError
impl Unpin for ParticipantVerifyError
impl UnsafeUnpin for ParticipantVerifyError
impl UnwindSafe for ParticipantVerifyError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.