tx_sitter_client/types/
transaction.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Default, Debug, Serialize, Deserialize, Clone)]
4#[serde(rename_all = "camelCase")]
5pub struct TxSitterTransactionInput {
6 pub to: String,
7 #[serde(default, skip_serializing_if = "String::is_empty")]
8 pub data: String,
9 pub value: String,
10 pub gas_limit: String,
11 pub relayer_id: String,
12 #[serde(skip_serializing_if = "Option::is_none")]
13 pub transaction_id: Option<String>,
14 #[serde(skip_serializing_if = "Option::is_none")]
15 pub priority: Option<TransactionPriority>,
16 #[serde(skip_serializing_if = "Option::is_none")]
17 pub transaction_type: Option<TransactionType>,
18 #[serde(skip_serializing_if = "Option::is_none")]
19 pub metadata: Option<String>,
20}
21
22#[derive(Default, Debug, Serialize, Deserialize, Clone)]
23pub struct TransactionResponse {
24 pub id: u64,
25 pub jsonrpc: String,
26 pub result: String,
27}
28
29#[derive(Default, Debug, Serialize, Deserialize, Clone)]
30pub struct TxSitterTransaction {
31 pub id: String,
32 pub to: String,
33 #[serde(default, skip_serializing_if = "String::is_empty")]
34 pub data: String,
35 pub value: String,
36 pub gas_limit: String,
37 pub relayer_id: String,
38 #[serde(skip_serializing_if = "Option::is_none")]
39 pub transaction_id: Option<String>,
40 #[serde(skip_serializing_if = "Option::is_none")]
41 pub priority: Option<TransactionPriority>,
42 #[serde(skip_serializing_if = "Option::is_none")]
43 pub transaction_type: Option<TransactionType>,
44 pub tx_hash: String,
45}
46
47#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
48#[serde(rename_all = "camelCase")]
49pub enum TransactionPriority {
50 Slowest,
51 Slow,
52 Regular,
53 Fast,
54 Fastest,
55}
56
57#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
58#[serde(rename_all = "camelCase")]
59pub enum TransactionType {
60 All,
61 Swap,
62 Transfer,
63 Drop,
64 Grant,
65 Funding,
66 WalletDeployment,
67 RootPropagation,
68 Noop,
69 Bundle,
70 InvitePayout
71}