fix: error propagation

This commit is contained in:
Oleksandr Pravdyvyi
2025-02-05 12:24:09 +02:00
parent 2f9ce0c5cf
commit bd8b4b8fa8
14 changed files with 219 additions and 125 deletions
-8
View File
@@ -1,4 +1,3 @@
use rpc_primitives::errors::RpcError;
use serde::{Deserialize, Serialize};
use storage::{block::Block, transaction::Transaction};
@@ -77,10 +76,3 @@ pub struct SequencerRpcResponse {
pub result: serde_json::Value,
pub id: u64,
}
#[derive(Debug, Clone, Deserialize)]
pub struct SequencerRpcError {
pub jsonrpc: String,
pub error: RpcError,
pub id: u64,
}
+2 -29
View File
@@ -1,9 +1,10 @@
use accounts::account_core::Account;
use anyhow::Result;
use common::{SequencerClientError, SequencerRpcError};
use json::{
GetBlockDataRequest, GetBlockDataResponse, GetGenesisIdRequest, GetGenesisIdResponse,
RegisterAccountRequest, RegisterAccountResponse, SendTxRequest, SendTxResponse,
SequencerRpcError, SequencerRpcRequest, SequencerRpcResponse,
SequencerRpcRequest, SequencerRpcResponse,
};
use k256::elliptic_curve::group::GroupEncoding;
use reqwest::Client;
@@ -20,34 +21,6 @@ pub struct SequencerClient {
pub config: NodeConfig,
}
#[derive(thiserror::Error, Debug)]
pub enum SequencerClientError {
#[error("HTTP error")]
HTTPError(reqwest::Error),
#[error("Serde error")]
SerdeError(serde_json::Error),
#[error("Internal error")]
InternalError(SequencerRpcError),
}
impl From<reqwest::Error> for SequencerClientError {
fn from(value: reqwest::Error) -> Self {
SequencerClientError::HTTPError(value)
}
}
impl From<serde_json::Error> for SequencerClientError {
fn from(value: serde_json::Error) -> Self {
SequencerClientError::SerdeError(value)
}
}
impl From<SequencerRpcError> for SequencerClientError {
fn from(value: SequencerRpcError) -> Self {
SequencerClientError::InternalError(value)
}
}
impl SequencerClient {
pub fn new(config: NodeConfig) -> Result<Self> {
Ok(Self {