use soroban_sdk::contracterror;
#[contracterror]
#[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord)]
#[repr(u32)]
pub enum ParseError {
TruncatedData = 1,
InvalidPayloadLength = 2,
InvalidPayloadMagic = 3,
InvalidChannel = 4,
InvalidProperty = 5,
InvalidMarketSession = 6,
}
#[contracterror]
#[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord)]
#[repr(u32)]
pub enum VerifyError {
InvalidEnvelopeMagic = 3,
TruncatedEnvelope = 4,
InvalidEnvelopeLength = 5,
SignerNotTrusted = 6,
SignerExpired = 7,
InvalidRecoveryId = 13,
InvalidPayloadMagic = 100,
InvalidPayloadLength = 101,
TruncatedPayload = 102,
InvalidChannel = 103,
InvalidProperty = 104,
InvalidMarketSession = 105,
InvokeFailed = 200,
}
impl From<ParseError> for VerifyError {
fn from(err: ParseError) -> Self {
match err {
ParseError::TruncatedData => VerifyError::TruncatedPayload,
ParseError::InvalidPayloadLength => VerifyError::InvalidPayloadLength,
ParseError::InvalidPayloadMagic => VerifyError::InvalidPayloadMagic,
ParseError::InvalidChannel => VerifyError::InvalidChannel,
ParseError::InvalidProperty => VerifyError::InvalidProperty,
ParseError::InvalidMarketSession => VerifyError::InvalidMarketSession,
}
}
}