poseidon_client/rpc_client/
send_transaction.rs

1use crate::TransactionError;
2use borsh::{BorshDeserialize, BorshSerialize};
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Serialize, Deserialize, BorshDeserialize, BorshSerialize, Clone)]
6#[serde(rename_all = "camelCase")]
7pub struct SendTxResponse {
8    pub jsonrpc: String,
9    pub id: u8,
10    pub result: String,
11}
12
13#[derive(Debug, Serialize, Deserialize, BorshDeserialize, BorshSerialize, Clone)]
14#[serde(rename_all = "camelCase")]
15pub struct RpcTxError {
16    pub jsonrpc: String,
17    pub id: u8,
18    pub error: InnerTxError,
19}
20
21#[derive(Debug, Serialize, Deserialize, BorshDeserialize, BorshSerialize, Clone)]
22#[serde(rename_all = "camelCase")]
23pub struct InnerTxError {
24    pub code: i16,
25    pub message: String,
26    pub data: ErrorData,
27}
28
29#[derive(Debug, Serialize, Deserialize, BorshDeserialize, BorshSerialize, Clone)]
30#[serde(rename_all = "camelCase")]
31pub struct ErrorData {
32    pub accounts: Option<String>,
33    pub err: TransactionError,
34    pub logs: Vec<String>,
35    pub units_consumed: u64,
36}