Skip to main content

CoreError

Enum CoreError 

Source
pub enum CoreError {
Show 50 variants Database(String), Validation(String), NotFound(String), InsufficientBalance { required: Decimal, available: Decimal, }, TokenExists(String), InvalidCurveParams, CircuitBreakerTriggered, SlippageExceeded { expected: Decimal, actual: Decimal, }, OrderExpired, TokenPaused, ReputationTooLow { required: Decimal, current: Decimal, }, MaxSupplyReached, Unauthorized, Serialization(String), Calculation(String), OrderNotFound(Uuid), InvalidOrderQuantity(String), InvalidPrice(String), OrderAlreadyFilled, OrderAlreadyCancelled, InsufficientLiquidity(String), PriceImpactTooHigh { impact: Decimal, max_impact: Decimal, }, MarketClosed, TradingHalted(Uuid), PositionLimitExceeded { current: Decimal, maximum: Decimal, }, DailyTradingLimitExceeded { traded: Decimal, limit: Decimal, }, ExcessiveLeverage { ratio: Decimal, max_ratio: Decimal, }, MarginCall { equity: Decimal, maintenance: Decimal, }, PaymentNotFound(Uuid), PaymentAlreadyConfirmed, PaymentExpired, InsufficientConfirmations { required: u32, current: u32, }, KycRequired, KycPending, KycRejected(String), CommitmentNotFound(Uuid), CommitmentAlreadyVerified, CommitmentDeadlinePassed, RateLimitExceeded { retry_after: u64, }, TooManyRequests(Uuid), ResourceLocked(String), OptimisticLockFailed, DeadlockDetected, Configuration(String), FeatureNotEnabled(String), InvalidState(String), AlreadyExists(String), InvalidAmount, InvalidBridgeRoute, BridgeNotSupported,
}
Expand description

Core error type for all kaccy-core operations

Variants§

§

Database(String)

A database operation failed

§

Validation(String)

Input validation failed

§

NotFound(String)

Requested resource was not found

§

InsufficientBalance

Account balance is insufficient for the operation

Fields

§required: Decimal

Required amount

§available: Decimal

Currently available amount

§

TokenExists(String)

A token with this identifier already exists

§

InvalidCurveParams

Bonding curve parameters are invalid

§

CircuitBreakerTriggered

A circuit breaker has been triggered for the token

§

SlippageExceeded

Trade slippage exceeded the configured tolerance

Fields

§expected: Decimal

Expected slippage

§actual: Decimal

Actual slippage

§

OrderExpired

Order has expired and can no longer be filled

§

TokenPaused

Token trading is currently paused

§

ReputationTooLow

User reputation is below the required threshold

Fields

§required: Decimal

Required reputation score

§current: Decimal

Current reputation score

§

MaxSupplyReached

Token maximum supply has been reached

§

Unauthorized

Caller is not authorised to perform this action

§

Serialization(String)

Serialization or deserialization failed

§

Calculation(String)

A numeric calculation failed

§

OrderNotFound(Uuid)

The specified order was not found

§

InvalidOrderQuantity(String)

Order quantity is invalid

§

InvalidPrice(String)

Order price is invalid

§

OrderAlreadyFilled

Order has already been filled

§

OrderAlreadyCancelled

Order has already been cancelled

§

InsufficientLiquidity(String)

Insufficient market liquidity for the trade

§

PriceImpactTooHigh

Trade price impact exceeds the configured maximum

Fields

§impact: Decimal

Actual price impact

§max_impact: Decimal

Configured maximum allowed impact

§

MarketClosed

Market is outside of its trading hours

§

TradingHalted(Uuid)

Trading for this token has been halted

§

PositionLimitExceeded

Position size exceeds the configured limit

Fields

§current: Decimal

Current position size

§maximum: Decimal

Configured maximum

§

DailyTradingLimitExceeded

Daily trading volume limit exceeded

Fields

§traded: Decimal

Volume traded today

§limit: Decimal

Configured daily limit

§

ExcessiveLeverage

Leverage ratio is too high

Fields

§ratio: Decimal

Current leverage ratio

§max_ratio: Decimal

Configured maximum ratio

§

MarginCall

Margin call: equity has fallen below maintenance margin

Fields

§equity: Decimal

Current equity

§maintenance: Decimal

Required maintenance margin

§

PaymentNotFound(Uuid)

The specified payment was not found

§

PaymentAlreadyConfirmed

Payment has already been confirmed and cannot be reprocessed

§

PaymentExpired

Payment has expired

§

InsufficientConfirmations

Not enough blockchain confirmations yet

Fields

§required: u32

Required confirmation count

§current: u32

Current confirmation count

§

KycRequired

KYC verification is required before this action

§

KycPending

KYC verification is in progress

§

KycRejected(String)

KYC verification was rejected

§

CommitmentNotFound(Uuid)

The specified commitment was not found

§

CommitmentAlreadyVerified

Commitment has already been verified

§

CommitmentDeadlinePassed

Commitment deadline has passed

§

RateLimitExceeded

Rate limit exceeded; retry after the given number of seconds

Fields

§retry_after: u64

Seconds to wait before retrying

§

TooManyRequests(Uuid)

Too many requests from this user

§

ResourceLocked(String)

A resource is currently locked by another operation

§

OptimisticLockFailed

Optimistic locking failed because the resource was concurrently modified

§

DeadlockDetected

A database deadlock was detected

§

Configuration(String)

System configuration is invalid

§

FeatureNotEnabled(String)

A feature flag is not enabled

§

InvalidState(String)

Entity is in an invalid state for this operation

§

AlreadyExists(String)

Entity already exists

§

InvalidAmount

Provided amount is invalid

§

InvalidBridgeRoute

Specified bridge route is invalid

§

BridgeNotSupported

Bridge protocol is not supported

Implementations§

Source§

impl CoreError

Source

pub fn is_retryable(&self) -> bool

Check if error is retryable (e.g., for retry logic)

Source

pub fn is_client_error(&self) -> bool

Check if error is a client error (4xx)

Source

pub fn is_server_error(&self) -> bool

Check if error is a server error (5xx)

Source

pub fn status_code(&self) -> u16

Get HTTP status code for this error

Source

pub fn category(&self) -> &'static str

Get error category for logging and metrics

Trait Implementations§

Source§

impl Debug for CoreError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for CoreError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for CoreError

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for CoreError

Source§

fn from(err: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for CoreError

Source§

fn from(err: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more