@ -173,9 +173,10 @@ pub struct TransactionWithStatusMeta {
|
|||||||
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
|
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
|
||||||
#[serde(rename_all = "camelCase")]
|
#[serde(rename_all = "camelCase")]
|
||||||
pub enum UiTransactionEncoding {
|
pub enum UiTransactionEncoding {
|
||||||
Binary,
|
Binary, // base58 encoded raw transaction
|
||||||
Json,
|
Json,
|
||||||
JsonParsed,
|
JsonParsed,
|
||||||
|
Raw,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||||
@ -183,6 +184,7 @@ pub enum UiTransactionEncoding {
|
|||||||
pub enum EncodedTransaction {
|
pub enum EncodedTransaction {
|
||||||
Binary(String),
|
Binary(String),
|
||||||
Json(UiTransaction),
|
Json(UiTransaction),
|
||||||
|
Raw(Transaction),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl EncodedTransaction {
|
impl EncodedTransaction {
|
||||||
@ -191,6 +193,7 @@ impl EncodedTransaction {
|
|||||||
UiTransactionEncoding::Binary => EncodedTransaction::Binary(
|
UiTransactionEncoding::Binary => EncodedTransaction::Binary(
|
||||||
bs58::encode(bincode::serialize(&transaction).unwrap()).into_string(),
|
bs58::encode(bincode::serialize(&transaction).unwrap()).into_string(),
|
||||||
),
|
),
|
||||||
|
UiTransactionEncoding::Raw => EncodedTransaction::Raw(transaction),
|
||||||
_ => {
|
_ => {
|
||||||
let message = if encoding == UiTransactionEncoding::Json {
|
let message = if encoding == UiTransactionEncoding::Json {
|
||||||
UiMessage::Raw(UiRawMessage {
|
UiMessage::Raw(UiRawMessage {
|
||||||
@ -247,6 +250,7 @@ impl EncodedTransaction {
|
|||||||
.into_vec()
|
.into_vec()
|
||||||
.ok()
|
.ok()
|
||||||
.and_then(|bytes| bincode::deserialize(&bytes).ok()),
|
.and_then(|bytes| bincode::deserialize(&bytes).ok()),
|
||||||
|
EncodedTransaction::Raw(transaction) => Some(transaction.clone()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user