Skip to content

Commit 78e9f62

Browse files
committed
fix pfm checks
1 parent d919f20 commit 78e9f62

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

shared/src/utils.rs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
use std::collections::HashMap;
2-
31
use anyhow::Context;
42
use namada_ibc::apps::nft_transfer::types::PORT_ID_STR as NFT_PORT_ID_STR;
53
use namada_ibc::apps::transfer::types::packet::PacketData as FtPacketData;
@@ -331,12 +329,17 @@ fn convert_account(
331329
token: Address,
332330
is_sender: bool,
333331
) -> Result<ChainAddress, String> {
334-
let memo = serde_json::from_str::<HashMap<String, serde_json::Value>>(
335-
packet_data.memo.as_ref(),
336-
)
337-
.map_err(|e| e.to_string())?;
332+
let is_pfm = {
333+
use serde::Deserialize;
334+
335+
#[derive(Deserialize)]
336+
struct PfmMemo {
337+
#[allow(dead_code)]
338+
forward: serde_json::Value,
339+
}
338340

339-
let is_pfm = memo.contains_key("forward");
341+
serde_json::from_str::<PfmMemo>(packet_data.memo.as_ref()).is_ok()
342+
};
340343

341344
let receiver = if is_pfm {
342345
if is_sender {

0 commit comments

Comments
 (0)