pub enum CliError {
Show 21 variants
BootRefused(String),
Aborted,
DatabaseUpgradeRetired,
DatabaseForeign,
DatabaseNothingToDo,
Database(DbError),
Io(Error),
Config(ConfigError),
UnknownChain {
chain: String,
},
UnknownDeployment {
chain_id: u64,
name: String,
},
InvalidBlockTag(String),
BlockResolution(String),
InvalidAddress(String),
InvalidArgument(String),
NoActiveAaveMarkets,
PoolUpdate(Box<PoolUpdateFailure>),
AaveUpdate(RunError),
RuntimeNested,
OperatorRefused(String),
OperatorProtocol(String),
OperatorHygiene(String),
}Expand description
A typed console failure.
Every variant carries the data the argv facade needs to render the
operator-facing line through CliError::message; rendering itself is the
facade’s job (ADR-051 Q1).
Variants§
BootRefused(String)
The typed fleet boot refusal (FF-T1). Exits EX_CONFIG 78.
Aborted
The operator declined a confirmation prompt — the click Abort arm.
DatabaseUpgradeRetired
The database upgrade subcommand is retired: the database upgrades itself
at open (ADR-052), and database heal is the explicit repair.
DatabaseForeign
The file is a foreign SQLite database — the arm refuses to adopt it.
DatabaseNothingToDo
The schema state offers nothing for this arm (e.g. cutover on an empty
file with no legacy history).
Database(DbError)
Any other database failure (I/O, integrity, heal verification).
Io(Error)
A filesystem failure outside the database (e.g. database reset
bootstrapping a missing state-home directory chain).
Config(ConfigError)
Driver-domain config resolution failed (ADR-051 D8).
UnknownChain
An unknown chain selector (--chain foo): the console names chain slugs
(base, ethereum) or numeric chain ids.
UnknownDeployment
The deployments registry has no record for the resolved
(chain_id, name) pair.
InvalidBlockTag(String)
A malformed block identifier — the exact Invalid block tag: {tag}
refusal the Python _resolve_to_block raises.
BlockResolution(String)
The RPC read that resolves a tag:offset block identifier failed.
InvalidAddress(String)
The supplied address does not parse (the click Abort arm of
aave position show).
InvalidArgument(String)
A required command argument is missing or malformed (--pool-manager
on --family v4, an out-of-range chain id).
NoActiveAaveMarkets
aave update found no active Aave markets (the Python
DegenbotValueError).
PoolUpdate(Box<PoolUpdateFailure>)
A pool update / pool verify core failure (DB/RPC/cancelled/
verification), wrapped with the run context the arm held when the core
returned it (endpoint, chain, requested range, per-exchange resume
state) so the rendered diagnostic is complete.
The payload is boxed to keep the variant out of the
result_large_err budget every arm’s Result shares.
AaveUpdate(RunError)
An aave core failure (DB/RPC/verification/market-not-found).
RuntimeNested
A command arm that block_ons the process-wide shared runtime was invoked
from inside an existing tokio runtime. run_pool_update/run_aave_update
ride get_runtime() and must not nest; the arms hold the same
constraint.
OperatorRefused(String)
The operator host refused a command: the {"ok": false, "error": ...}
frame, rendered as one line (ADR-051 D6).
OperatorProtocol(String)
A protocol-level failure talking to the operator host: an unreachable
socket, a timed-out exchange, or a malformed/non-object/missing-ok
response frame.
OperatorHygiene(String)
A client-side wire-hygiene refusal (an unknown cordon_* key, an
empty posture patch, an unknown hop-family string), raised BEFORE the
socket is touched. Domain validation stays server-side.
Implementations§
Trait Implementations§
Source§impl Error for CliError
impl Error for CliError
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 From<ConfigError> for CliError
Map a config-resolution error onto its typed console failure.
impl From<ConfigError> for CliError
Map a config-resolution error onto its typed console failure.
Source§fn from(err: ConfigError) -> Self
fn from(err: ConfigError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for CliError
impl !UnwindSafe for CliError
impl Freeze for CliError
impl Send for CliError
impl Sync for CliError
impl Unpin for CliError
impl UnsafeUnpin for CliError
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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