twelvepool/
tx.rs

1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3
4#[derive(Deserialize, Serialize, Clone, Debug, PartialEq)]
5pub struct Tx {
6    pub msg: Vec<Msg>,
7    pub fee: Fee,
8    pub signatures: Vec<Signature>,
9    pub memo: String,
10    pub timeout_height: String,
11}
12
13#[derive(Deserialize, Serialize, Clone, Debug, PartialEq)]
14pub struct Msg {
15    #[serde(rename = "type")]
16    pub type_: String,
17    pub value: Value,
18}
19
20#[derive(Deserialize, Serialize, Clone, Debug, PartialEq)]
21pub struct Fee {
22    pub amount: Vec<Coin>,
23    pub gas: String,
24}
25
26#[derive(Deserialize, Serialize, Clone, Debug, PartialEq)]
27pub struct Coin {
28    pub denom: String,
29    pub amount: String,
30}
31
32#[derive(Deserialize, Serialize, Clone, Debug, PartialEq)]
33pub struct Signature {
34    pub pub_key: PubKey,
35    pub signature: String,
36}
37
38#[derive(Deserialize, Serialize, Clone, Debug, PartialEq)]
39pub struct PubKey {
40    #[serde(rename = "type")]
41    pub type_: String,
42    pub value: String,
43}