// Copyright 2019-2024 Parity Technologies (UK) Ltd. // This file is dual-licensed as Apache-2.0 or GPL-3.0. // see LICENSE for license details. /// Error attempting to fetch metadata. #[derive(Debug, thiserror::Error)] #[non_exhaustive] pub enum Error { /// Error decoding from a hex value. #[error("Cannot decode hex value: {0}")] DecodeError(#[from] hex::FromHexError), /// Some SCALE codec error. #[error("Cannot scale encode/decode value: {0}")] CodecError(#[from] codec::Error), /// JSON-RPC error fetching metadata. #[cfg(feature = "url")] #[error("Request error: {0}")] RequestError(#[from] jsonrpsee::core::ClientError), /// Failed IO when fetching from a file. #[error( "Failed IO for {0}, make sure that you are providing the correct file path for metadata: {1}" )] Io(String, std::io::Error), /// URL scheme is not http, https, ws or wss. #[error("'{0}' not supported, supported URI schemes are http, https, ws or wss.")] InvalidScheme(String), /// Some other error. #[error("Other error: {0}")] Other(String), }