Files
pezkuwi-subxt/substrate/primitives/trie/src/error.rs
T
cheme f01c396677 Compact proof utilities in sp_trie. (#8574)
* validation extension in sp_io

* need paths

* arc impl

* missing host function in executor

* io to pkdot

* decode function.

* encode primitive.

* trailing tab

* multiple patch

* fix child trie logic

* restore master versionning

* bench compact proof size

* trie-db 22.3 is needed

* line width

* split line

* fixes for bench (additional root may not be needed as original issue was
with empty proof).

* revert compact from block size calculation.

* New error type for compression.

* Adding test (incomplete (failing)).
Also lacking real proof checking (no good primitives in sp-trie crate).

* There is currently no proof recording utility in sp_trie, removing
test.

* small test of child root in proof without a child proof.

* remove empty test.

* remove non compact proof size

* Missing revert.

* proof method to encode decode.
2021-06-07 09:06:38 +00:00

57 lines
1.4 KiB
Rust

// This file is part of Substrate.
// Copyright (C) 2015-2021 Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#[cfg(feature="std")]
use std::fmt;
#[cfg(feature="std")]
use std::error::Error as StdError;
#[derive(Debug, PartialEq, Eq, Clone)]
/// Error for trie node decoding.
pub enum Error {
/// Bad format.
BadFormat,
/// Decoding error.
Decode(codec::Error),
}
impl From<codec::Error> for Error {
fn from(x: codec::Error) -> Self {
Error::Decode(x)
}
}
#[cfg(feature="std")]
impl StdError for Error {
fn description(&self) -> &str {
match self {
Error::BadFormat => "Bad format error",
Error::Decode(_) => "Decoding error",
}
}
}
#[cfg(feature="std")]
impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match self {
Error::Decode(e) => write!(f, "Decode error: {}", e),
Error::BadFormat => write!(f, "Bad format"),
}
}
}