File tree Expand file tree Collapse file tree 1 file changed +16
-18
lines changed Expand file tree Collapse file tree 1 file changed +16
-18
lines changed Original file line number Diff line number Diff line change @@ -341,29 +341,27 @@ fn convert_account(
341341 serde_json:: from_str :: < PfmMemo > ( packet_data. memo . as_ref ( ) ) . is_ok ( )
342342 } ;
343343
344- let receiver = if is_pfm {
345- if is_sender {
346- ChainAddress :: IbcPfmAccount ( packet_data. sender . to_string ( ) , token)
347- } else {
348- ChainAddress :: IbcPfmAccount ( packet_data. receiver . to_string ( ) , token)
349- }
350- } else if is_sender {
351- ChainAddress :: ChainAccount ( namada_sdk:: token:: Account {
352- owner : packet_data. sender . clone ( ) . try_into ( ) . map_err ( |_| {
353- "Ibc receiver address is notv valid" . to_string ( )
354- } ) ?,
355- token,
356- } )
344+ let address = if is_sender {
345+ & packet_data. sender
346+ } else {
347+ & packet_data. receiver
348+ } ;
349+
350+ Ok ( if is_pfm {
351+ ChainAddress :: IbcPfmAccount ( address. to_string ( ) , token)
352+ } else if !address. as_ref ( ) . starts_with ( "tnam1" ) {
353+ ChainAddress :: ExternalAccount ( address. to_string ( ) , token)
357354 } else {
358355 ChainAddress :: ChainAccount ( namada_sdk:: token:: Account {
359- owner : packet_data. receiver . clone ( ) . try_into ( ) . map_err ( |_| {
360- "Ibc receiver address is notv valid" . to_string ( )
356+ owner : Address :: decode ( address) . map_err ( |err| {
357+ format ! (
358+ "Ibc {} address is not valid: {err}" ,
359+ if is_sender { "sender" } else { "receiver" }
360+ )
361361 } ) ?,
362362 token,
363363 } )
364- } ;
365-
366- Ok ( receiver)
364+ } )
367365}
368366
369367fn get_namada_ibc_trace_when_receiving (
You can’t perform that action at this time.
0 commit comments