Skip to content

Commit 7291763

Browse files
authored
fix: error on duplicate packet (#790)
* fix: error on duplicate packet * chore: bump patch * chore: fix lint * fix: test * chore: pass build
1 parent 5d2b31f commit 7291763

File tree

7 files changed

+21
-22
lines changed

7 files changed

+21
-22
lines changed

Cargo.lock

Lines changed: 10 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ exclude = ["contracts/cosmwasm-vm/archway"]
1010
[workspace.package]
1111
authors = ["Icon Foundation<foo@icon.foundation>"]
1212
repository = "https://github.com/icon-project/ibc-integration.git"
13-
version="0.1.0"
13+
version="0.1.1"
1414

1515
[workspace.dependencies]
1616
cosmwasm-std = {version="1.2.2",default-features = false,features = ["iterator", "ibc3","staking"]}

contracts/cosmwasm-vm/cw-ibc-core/src/ics04_channel/packet/receive_packet.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,9 @@ impl<'a> CwIbcCoreContext<'a> {
7474
packet_sequence,
7575
)?;
7676
if packet_already_received {
77-
return Ok(Response::new().add_attribute("message", "Packet already received"));
77+
return Err(ContractError::IbcPacketError {
78+
error: PacketError::Other("Already Received".to_string()),
79+
});
7880
}
7981

8082
let connection_id = &channel_end.connection_hops()[0];

contracts/cosmwasm-vm/cw-ibc-core/tests/channel/test_receive_packet.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@ fn test_receive_packet_fails_on_invalid_counterparty() {
237237
);
238238
}
239239

240+
#[should_panic(expected = "IbcPacketError { error: Other(\"Already Received\") }")]
240241
#[test]
241242
fn test_receive_packet_no_op_on_packet_already_received() {
242243
let contract = CwIbcCoreContext::default();
@@ -264,12 +265,9 @@ fn test_receive_packet_no_op_on_packet_already_received() {
264265

265266
mock_lightclient_query(test_context.mock_queries, &mut deps);
266267

267-
let res = contract.validate_receive_packet(deps.as_mut(), info, env, &msg);
268-
269-
assert_eq!(
270-
res.unwrap().attributes[0].value,
271-
"Packet already received".to_string()
272-
)
268+
let _res = contract
269+
.validate_receive_packet(deps.as_mut(), info, env, &msg)
270+
.unwrap();
273271
}
274272
#[test]
275273
fn execute_receive_packet() {

contracts/cosmwasm-vm/cw-mock-ibc-connection/src/send_message.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ impl<'a> CwIbcConnection<'a> {
1616
self.ensure_xcall_handler(deps.as_ref().storage, info.sender.clone())?;
1717
println!("{LOG_PREFIX} Packet Validated");
1818

19-
let network_fee = self.get_network_fees(deps.as_ref().storage, nid.clone());
19+
let network_fee = self.get_network_fees(deps.as_ref().storage, nid);
2020
let mut total_fee = network_fee.send_packet_fee;
2121

2222
if sn > 0 {
23-
total_fee = total_fee + network_fee.ack_fee;
23+
total_fee += network_fee.ack_fee;
2424
}
2525
let config = self.get_config(deps.storage)?;
2626

contracts/cosmwasm-vm/cw-xcall-ibc-connection/src/contract.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ impl<'a> CwIbcConnection<'a> {
302302
info: MessageInfo,
303303
msg: InstantiateMsg,
304304
) -> Result<Response, ContractError> {
305-
let owner = info.clone().sender;
305+
let owner = info.sender;
306306

307307
self.add_owner(store, owner.clone())?;
308308
self.update_admin(store, owner)?;

contracts/cosmwasm-vm/cw-xcall-ibc-connection/tests/test_owner.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ mod account;
22
mod setup;
33
use account::*;
44

5-
use cosmwasm_std::Addr;
65
use cw_xcall_ibc_connection::state::CwIbcConnection;
76
use setup::*;
87
#[test]

0 commit comments

Comments
 (0)