unc_jsonrpc_primitives/types/
sandbox.rs1use unc_primitives::state_record::StateRecord;
2use unc_primitives::types::BlockHeightDelta;
3
4#[derive(serde::Deserialize, serde::Serialize, Debug)]
5pub struct RpcSandboxPatchStateRequest {
6 pub records: Vec<StateRecord>,
7}
8
9#[derive(serde::Deserialize, serde::Serialize, Debug)]
10pub struct RpcSandboxPatchStateResponse {}
11
12#[derive(thiserror::Error, Debug, serde::Serialize, serde::Deserialize)]
13#[serde(tag = "name", content = "info", rename_all = "SCREAMING_SNAKE_CASE")]
14pub enum RpcSandboxPatchStateError {
15 #[error("The node reached its limits. Try again later. More details: {error_message}")]
16 InternalError { error_message: String },
17}
18
19impl From<RpcSandboxPatchStateError> for crate::errors::RpcError {
20 fn from(error: RpcSandboxPatchStateError) -> Self {
21 let error_data = match serde_json::to_value(error) {
22 Ok(value) => value,
23 Err(err) => {
24 return Self::new_internal_error(
25 None,
26 format!("Failed to serialize RpcSandboxPatchStateError: {:?}", err),
27 )
28 }
29 };
30 Self::new_internal_or_handler_error(Some(error_data.clone()), error_data)
31 }
32}
33
34#[derive(serde::Deserialize, serde::Serialize)]
35pub struct RpcSandboxFastForwardRequest {
36 pub delta_height: BlockHeightDelta,
37}
38
39#[derive(serde::Deserialize, serde::Serialize)]
40pub struct RpcSandboxFastForwardResponse {}
41
42#[derive(thiserror::Error, Debug, serde::Serialize, serde::Deserialize)]
43#[serde(tag = "name", content = "info", rename_all = "SCREAMING_SNAKE_CASE")]
44pub enum RpcSandboxFastForwardError {
45 #[error("The node reached its limits. Try again later. More details: {error_message}")]
46 InternalError { error_message: String },
47}
48
49impl From<RpcSandboxFastForwardError> for crate::errors::RpcError {
50 fn from(error: RpcSandboxFastForwardError) -> Self {
51 let error_data = match serde_json::to_value(error) {
52 Ok(value) => value,
53 Err(err) => {
54 return Self::new_internal_error(
55 None,
56 format!("Failed to serialize RpcSandboxFastForwardError: {:?}", err),
57 )
58 }
59 };
60 Self::new_internal_or_handler_error(Some(error_data.clone()), error_data)
61 }
62}