Struct concordium_contracts_common::ParseError[][src]

pub struct ParseError {}

Zero-sized type to represent an error when reading bytes and deserializing.

When using custom error types in your smart contract, it is convenient to implement the trait From<ParseError> for you custom error type, to allow using the ? operator when deserializing bytes, such as the contract state or parameters.

enum MyCustomReceiveError {
    Parsing
}

impl From<ParseError> for MyCustomReceiveError {
    fn from(_: ParseError) -> Self { MyCustomReceiveError::ParseParams }
}

#[receive(contract = "mycontract", name="some_receive_name")]
fn contract_receive<R: HasReceiveContext<()>, L: HasLogger, A: HasActions>(
    ctx: &R,
    receive_amount: Amount,
    logger: &mut L,
    state: &mut State,
) -> Result<A, MyCustomReceiveError> {
    ...
    let msg: MyParameterType = ctx.parameter_cursor().get()?;
    ...
}

Trait Implementations

impl Debug for ParseError[src]

impl Default for ParseError[src]

impl Eq for ParseError[src]

impl PartialEq<ParseError> for ParseError[src]

impl StructuralEq for ParseError[src]

impl StructuralPartialEq for ParseError[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.