tx_sitter_client/rpc/
data.rs1use ethers::providers::JsonRpcError;
2use serde::{Deserialize, Serialize};
3use serde_json::Value;
4
5#[derive(Debug, Clone, Serialize, Deserialize)]
6#[serde(rename_all = "camelCase")]
7pub struct RpcLambdaRequest {
8 pub payload: RpcPayload,
9 pub relayer_id: String,
10}
11
12#[derive(Debug, Clone, Serialize, Deserialize)]
13#[serde(rename_all = "camelCase")]
14pub struct RpcPayload {
15 pub id: i32,
16 pub method: String,
17 pub params: Value,
18 pub jsonrpc: JsonRpcVersion,
19}
20
21#[derive(Debug, Clone, Serialize, Deserialize)]
22pub enum JsonRpcVersion {
23 #[serde(rename = "2.0")]
24 V2,
25}
26
27#[derive(Debug, Clone, Deserialize)]
28pub struct JsonRpcResponse<R> {
29 pub id: i32,
30 pub jsonrpc: JsonRpcVersion,
31 #[serde(default = "none", skip_serializing_if = "Option::is_none")]
32 pub result: Option<R>,
33 #[serde(default, skip_serializing_if = "Option::is_none")]
34 pub error: Option<JsonRpcError>,
35}
36
37fn none<R>() -> Option<R> {
38 None
39}