abstract_ibc_client/
error.rs

1use abstract_sdk::AbstractSdkError;
2use abstract_std::{
3    ibc::polytone_callbacks::CallbackMessage,
4    objects::{ans_host::AnsHostError, registry::RegistryError, AccountId},
5    AbstractError,
6};
7use cosmwasm_std::StdError;
8use thiserror::Error;
9
10#[derive(Error, Debug, PartialEq)]
11pub enum IbcClientError {
12    #[error(transparent)]
13    Std(#[from] StdError),
14
15    #[error(transparent)]
16    Abstract(#[from] AbstractError),
17
18    #[error(transparent)]
19    AbstractSdk(#[from] AbstractSdkError),
20
21    #[error(transparent)]
22    Ownership(#[from] cw_ownable::OwnershipError),
23
24    #[error(transparent)]
25    RegistryError(#[from] RegistryError),
26
27    #[error(transparent)]
28    AnsHostError(#[from] AnsHostError),
29
30    #[error(transparent)]
31    PaymentError(#[from] cw_utils::PaymentError),
32
33    #[error("No account for chain {0}")]
34    UnregisteredChain(String),
35
36    #[error("Calling internal actions externally is not allowed")]
37    ForbiddenInternalCall {},
38
39    #[error("Unauthorized")]
40    Unauthorized {},
41
42    #[error("IBC Execution Failed, {0:?}")]
43    IbcFailed(CallbackMessage),
44
45    #[error("Chain or host address already registered.")]
46    HostAddressExists {},
47
48    #[error("IBC Client is not installed on {account_id}")]
49    IbcClientNotInstalled { account_id: AccountId },
50
51    #[error("Contract got an unexpected Reply")]
52    UnexpectedReply {},
53}