/* * AquaVM Workflow Engine * * Copyright (C) 2024 Fluence DAO * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation version 3 of the * License. * * This program 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 Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ use std::rc::Rc; use air_interpreter_cid::CidRef; use air_interpreter_signatures::KeyError; use air_interpreter_signatures::VerificationError; use thiserror::Error as ThisError; #[derive(Debug, ThisError)] pub enum DataVerifierError { #[error("malformed key: {key:?}: {error}")] MalformedKey { error: KeyError, key: String }, #[error(transparent)] MalformedSignature(fluence_keypair::error::DecodingError), #[error("peer_id doens't match any available public key: {0:?}")] PeerIdNotFound(String), #[error("signature mismatch for {peer_id:?}: {error:?}, values: CIDS: {cids:?}")] SignatureMismatch { error: Box, cids: Vec>, peer_id: String, }, #[error( "inconsistent CID multisets on merge for peer {peer_id:?}, prev: {larger_cids:?}, current: {smaller_cids:?}" )] MergeMismatch { peer_id: String, larger_cids: Vec>, smaller_cids: Vec>, }, }