diff --git a/.changelog/unreleased/improvements/1362-relax-timeout-check-in-MsgTransfer-conversions.md b/.changelog/unreleased/improvements/1362-relax-timeout-check-in-MsgTransfer-conversions.md new file mode 100644 index 0000000000..e2fa072f73 --- /dev/null +++ b/.changelog/unreleased/improvements/1362-relax-timeout-check-in-MsgTransfer-conversions.md @@ -0,0 +1,2 @@ +- [ibc-apps] Relax timeout check during `MsgTransfer` proto to domain + conversions ([#1362](https://github.com/cosmos/ibc-rs/issues/1362)). diff --git a/ibc-apps/ics20-transfer/types/src/msgs/transfer.rs b/ibc-apps/ics20-transfer/types/src/msgs/transfer.rs index a337b2b512..4f822b5a65 100644 --- a/ibc-apps/ics20-transfer/types/src/msgs/transfer.rs +++ b/ibc-apps/ics20-transfer/types/src/msgs/transfer.rs @@ -52,13 +52,6 @@ impl TryFrom for MsgTransfer { let timeout_height_on_b: TimeoutHeight = raw_msg.timeout_height.try_into()?; let timeout_timestamp_on_b: TimeoutTimestamp = raw_msg.timeout_timestamp.into(); - // Packet timeout height and packet timeout timestamp cannot both be unset. - if !timeout_height_on_b.is_set() && !timeout_timestamp_on_b.is_set() { - return Err(DecodingError::missing_raw_data( - "msg transfer timeout height or timeout timestamp", - )); - } - Ok(MsgTransfer { port_id_on_a: raw_msg.source_port.parse()?, chan_id_on_a: raw_msg.source_channel.parse()?, diff --git a/ibc-apps/ics721-nft-transfer/types/src/msgs/transfer.rs b/ibc-apps/ics721-nft-transfer/types/src/msgs/transfer.rs index 97fa5b415d..0ced7dbacf 100644 --- a/ibc-apps/ics721-nft-transfer/types/src/msgs/transfer.rs +++ b/ibc-apps/ics721-nft-transfer/types/src/msgs/transfer.rs @@ -52,13 +52,6 @@ impl TryFrom for MsgTransfer { let timeout_height_on_b: TimeoutHeight = raw_msg.timeout_height.try_into()?; let timeout_timestamp_on_b: TimeoutTimestamp = raw_msg.timeout_timestamp.into(); - // Packet timeout height and packet timeout timestamp cannot both be unset. - if !timeout_height_on_b.is_set() && !timeout_timestamp_on_b.is_set() { - return Err(DecodingError::missing_raw_data( - "missing timeout height or timeout timestamp", - )); - } - let memo = if raw_msg.memo.is_empty() { None } else {