fuels_programs/responses/
call.rs1use std::fmt::Debug;
2
3use fuel_tx::TxId;
4use fuels_core::{
5 codec::{LogDecoder, LogResult},
6 traits::{Parameterize, Tokenizable},
7 types::{errors::Result, tx_status::Success},
8};
9
10#[derive(Clone, Debug)]
14pub struct CallResponse<D> {
16 pub value: D,
17 pub tx_status: Success,
18 pub tx_id: Option<TxId>,
19 pub log_decoder: LogDecoder,
20}
21impl<D> CallResponse<D> {
24 pub fn decode_logs(&self) -> LogResult {
25 self.log_decoder.decode_logs(&self.tx_status.receipts)
26 }
27
28 pub fn decode_logs_with_type<T: Tokenizable + Parameterize + 'static>(&self) -> Result<Vec<T>> {
29 self.log_decoder
30 .decode_logs_with_type::<T>(&self.tx_status.receipts)
31 }
32}