mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-29 11:27:58 +00:00
1e01162505
* Remove unneeded script * Rename Substrate Demo -> Substrate * Rename demo -> node * Build wasm from last rename. * Merge ed25519 into substrate-primitives * Minor tweak * Rename substrate -> core * Move substrate-runtime-support to core/runtime/support * Rename/move substrate-runtime-version * Move codec up a level * Rename substrate-codec -> parity-codec * Move environmental up a level * Move pwasm-* up to top, ready for removal * Remove requirement of s-r-support from s-r-primitives * Move core/runtime/primitives into core/runtime-primitives * Remove s-r-support dep from s-r-version * Remove dep of s-r-support from bft * Remove dep of s-r-support from node/consensus * Sever all other core deps from s-r-support * Forgot the no_std directive * Rename non-SRML modules to sr-* to avoid match clashes * Move runtime/* to srml/* * Rename substrate-runtime-* -> srml-* * Move srml to top-level
96 lines
3.1 KiB
Rust
96 lines
3.1 KiB
Rust
// Copyright 2017 Parity Technologies (UK) Ltd.
|
|
// This file is part of Substrate.
|
|
|
|
// Substrate is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
|
|
// Substrate is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with Substrate. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
//! Error types in the BFT service.
|
|
use runtime_version::RuntimeVersion;
|
|
use primitives::ed25519;
|
|
|
|
error_chain! {
|
|
errors {
|
|
/// Missing state at block with given descriptor.
|
|
StateUnavailable(b: String) {
|
|
description("State missing at given block."),
|
|
display("State unavailable at block {}", b),
|
|
}
|
|
|
|
/// I/O terminated unexpectedly
|
|
IoTerminated {
|
|
description("I/O terminated unexpectedly."),
|
|
display("I/O terminated unexpectedly."),
|
|
}
|
|
|
|
/// Unable to schedule wakeup.
|
|
FaultyTimer(e: ::tokio::timer::Error) {
|
|
description("Timer error"),
|
|
display("Timer error: {}", e),
|
|
}
|
|
|
|
/// Unable to propose a block.
|
|
CannotPropose {
|
|
description("Unable to create block proposal."),
|
|
display("Unable to create block proposal."),
|
|
}
|
|
|
|
/// Error checking signature
|
|
InvalidSignature(s: ed25519::Signature, a: ::primitives::AuthorityId) {
|
|
description("Message signature is invalid"),
|
|
display("Message signature {:?} by {:?} is invalid.", s, a),
|
|
}
|
|
|
|
/// Account is not an authority.
|
|
InvalidAuthority(a: ::primitives::AuthorityId) {
|
|
description("Message sender is not a valid authority"),
|
|
display("Message sender {:?} is not a valid authority.", a),
|
|
}
|
|
|
|
/// Authoring interface does not match the runtime.
|
|
IncompatibleAuthoringRuntime(native: RuntimeVersion, on_chain: RuntimeVersion) {
|
|
description("Authoring for current runtime is not supported"),
|
|
display("Authoring for current runtime is not supported. Native ({}) cannot author for on-chain ({}).", native, on_chain),
|
|
}
|
|
|
|
/// Authoring interface does not match the runtime.
|
|
RuntimeVersionMissing {
|
|
description("Current runtime has no version"),
|
|
display("Authoring for current runtime is not supported since it has no version."),
|
|
}
|
|
|
|
/// Authoring interface does not match the runtime.
|
|
NativeRuntimeMissing {
|
|
description("This build has no native runtime"),
|
|
display("Authoring in current build is not supported since it has no runtime."),
|
|
}
|
|
|
|
/// Justification requirements not met.
|
|
InvalidJustification {
|
|
description("Invalid justification"),
|
|
display("Invalid justification."),
|
|
}
|
|
|
|
/// Some other error.
|
|
Other(e: Box<::std::error::Error + Send>) {
|
|
description("Other error")
|
|
display("Other error: {}", e.description())
|
|
}
|
|
}
|
|
}
|
|
|
|
impl From<::rhododendron::InputStreamConcluded> for Error {
|
|
fn from(_: ::rhododendron::InputStreamConcluded) -> Error {
|
|
ErrorKind::IoTerminated.into()
|
|
}
|
|
}
|