pub enum Error {
Show 24 variants
OutOfBound,
NotABool(u8),
WriteError(usize, usize),
U24TooBig(u32),
InvalidSignatureSize(usize),
InvalidU256(usize),
InvalidU24(u32),
InvalidB0255Size(usize),
InvalidB064KSize(usize),
InvalidB016MSize(usize),
InvalidSeq0255Size(usize),
NonPrimitiveTypeCannotBeEncoded,
PrimitiveConversionError,
DecodableConversionError,
UnInitializedDecoder,
IoError,
ReadError(usize, usize),
VoidFieldMarker,
ValueExceedsMaxSize(bool, usize, usize, usize, Vec<u8>, usize),
SeqExceedsMaxSize,
NoDecodableFieldPassed,
ValueIsNotAValidProtocol(u8),
UnknownMessageType(u8),
Sv2OptionHaveMoreThenOneElement(u8),
}
Expand description
Error types used within the protocol library to indicate various failure conditions.
Variants§
OutOfBound
Indicates an attempt to read beyond a valid range.
NotABool(u8)
Raised when a non-binary value is interpreted as a boolean.
WriteError(usize, usize)
Occurs when an unexpected size mismatch arises during a write operation, specifying expected and actual sizes.
U24TooBig(u32)
Signifies an overflow condition where a u32
exceeds the maximum allowable u24
value.
InvalidSignatureSize(usize)
Reports a size mismatch for a signature, such as when it does not match the expected size.
InvalidU256(usize)
Raised when a u256
value is invalid, typically due to size discrepancies.
InvalidU24(u32)
Indicates an invalid u24
representation.
InvalidB0255Size(usize)
Error indicating that a byte array exceeds the maximum allowed size for B0255
.
InvalidB064KSize(usize)
Error indicating that a byte array exceeds the maximum allowed size for B064K
.
InvalidB016MSize(usize)
Error indicating that a byte array exceeds the maximum allowed size for B016M
.
InvalidSeq0255Size(usize)
Raised when a sequence size exceeds 0255
.
NonPrimitiveTypeCannotBeEncoded
Error when trying to encode a non-primitive data type.
PrimitiveConversionError
Generic conversion error related to primitive types.
DecodableConversionError
Error occurring during decoding due to conversion issues.
UnInitializedDecoder
Error triggered when a decoder is used without initialization.
IoError
Represents I/O-related errors, compatible with no_std
mode.
ReadError(usize, usize)
Raised when an unexpected mismatch occurs during read operations, specifying expected and actual read sizes.
VoidFieldMarker
Used as a marker error for fields that should remain void or empty.
ValueExceedsMaxSize(bool, usize, usize, usize, Vec<u8>, usize)
Signifies a value overflow based on protocol restrictions, containing details about fixed/variable size, maximum size allowed, and the offending value details.
SeqExceedsMaxSize
Triggered when a sequence type (Seq0255
, Seq064K
) exceeds its maximum allowable size.
NoDecodableFieldPassed
Raised when no valid decodable field is provided during decoding.
ValueIsNotAValidProtocol(u8)
Error for protocol-specific invalid values.
UnknownMessageType(u8)
Raised when an unsupported or unknown message type is encountered.
Sv2OptionHaveMoreThenOneElement(u8)
Indicates a protocol constraint violation where Sv2Option
unexpectedly contains multiple
elements.