whisky_csl/tx_parser/
change_address.rs
1use whisky_common::WError;
2
3use super::CSLParser;
4
5impl CSLParser {
6 pub fn get_change_address(&self) -> &String {
7 &self.tx_body.change_address
8 }
9
10 pub(super) fn extract_change_address(&mut self) -> Result<(), WError> {
11 let outputs = self.csl_tx_body.outputs();
12 let outputs_len = outputs.len();
13 if outputs_len > 0 {
14 let change_address = outputs
15 .get(outputs_len - 1)
16 .address()
17 .to_bech32(None)
18 .map_err(|e| {
19 WError::new(
20 "extract_change_address",
21 &format!("Failed to convert change address to bech32: {:?}", e),
22 )
23 })?;
24 self.tx_body.change_address = change_address;
25 }
26 Ok(())
27 }
28}