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