solana_block_decoder/
decodable.rs1
2use {
3 crate::{
4 errors::{
5 decode_error::DecodeError,
6 }
7 },
8 solana_transaction::{
9 versioned::TransactionVersion,
10 },
11 solana_transaction_status_client_types::{
12 UiTransactionEncoding,
13 },
14};
15
16pub trait Decodable {
17 type Encoded;
18 type Decoded;
19 fn decode(encoded: &Self::Encoded) -> Result<Self::Decoded, DecodeError>;
20}
21
22pub trait DecodableWithMeta {
23 type Encoded;
24 type Decoded;
25 fn decode_with_meta(
26 encoded: Self::Encoded,
27 encoding: UiTransactionEncoding,
28 version: Option<TransactionVersion>
29 ) -> Result<Self::Decoded, DecodeError>;
30 fn json_decode(encoded: Self::Encoded, version: Option<TransactionVersion>) -> Result<Self::Decoded, DecodeError>;
31}