@@ -8,7 +8,7 @@ use solana_sdk::{
8
8
use solana_transaction_status:: {
9
9
option_serializer:: OptionSerializer , EncodedTransactionWithStatusMeta , InnerInstruction ,
10
10
InnerInstructions , TransactionStatusMeta , TransactionTokenBalance , TransactionWithStatusMeta ,
11
- UiInstruction , VersionedTransactionWithStatusMeta ,
11
+ UiInstruction , UiTransactionTokenBalance , VersionedTransactionWithStatusMeta ,
12
12
} ;
13
13
14
14
pub fn decode_encoded_transaction_with_status_meta (
@@ -51,28 +51,10 @@ pub fn decode_encoded_transaction_with_status_meta(
51
51
post_balances : m. post_balances ,
52
52
inner_instructions,
53
53
log_messages : get ( m. log_messages ) ,
54
- pre_token_balances : get ( m. pre_token_balances ) . map ( |uttb| {
55
- uttb. into_iter ( )
56
- . map ( |uttb| TransactionTokenBalance {
57
- account_index : uttb. account_index ,
58
- mint : uttb. mint ,
59
- ui_token_amount : uttb. ui_token_amount ,
60
- owner : get ( uttb. owner ) . unwrap_or_default ( ) ,
61
- program_id : get ( uttb. program_id ) . unwrap_or_default ( ) ,
62
- } )
63
- . collect ( )
64
- } ) ,
65
- post_token_balances : get ( m. post_token_balances ) . map ( |uttb| {
66
- uttb. into_iter ( )
67
- . map ( |uttb| TransactionTokenBalance {
68
- account_index : uttb. account_index ,
69
- mint : uttb. mint ,
70
- ui_token_amount : uttb. ui_token_amount ,
71
- owner : Option :: < String > :: from ( uttb. owner ) . unwrap_or_default ( ) ,
72
- program_id : Option :: < String > :: from ( uttb. program_id ) . unwrap_or_default ( ) ,
73
- } )
74
- . collect ( )
75
- } ) ,
54
+ pre_token_balances : get ( m. pre_token_balances )
55
+ . map ( decode_transaction_token_balances) ,
56
+ post_token_balances : get ( m. post_token_balances )
57
+ . map ( decode_transaction_token_balances) ,
76
58
rewards : m. rewards . into ( ) ,
77
59
loaded_addresses : get ( m. loaded_addresses )
78
60
. map ( |ula| LoadedAddresses {
@@ -105,3 +87,18 @@ pub fn decode_encoded_transaction_with_status_meta(
105
87
None => None ,
106
88
}
107
89
}
90
+
91
+ fn decode_transaction_token_balances (
92
+ ui_transaction_token_balances : Vec < UiTransactionTokenBalance > ,
93
+ ) -> Vec < TransactionTokenBalance > {
94
+ ui_transaction_token_balances
95
+ . into_iter ( )
96
+ . map ( |uttb| TransactionTokenBalance {
97
+ account_index : uttb. account_index ,
98
+ mint : uttb. mint ,
99
+ ui_token_amount : uttb. ui_token_amount ,
100
+ owner : Option :: < String > :: from ( uttb. owner ) . unwrap_or_default ( ) ,
101
+ program_id : Option :: < String > :: from ( uttb. program_id ) . unwrap_or_default ( ) ,
102
+ } )
103
+ . collect ( )
104
+ }
0 commit comments