Skip to content

Commit

Permalink
update tests to use the execute method instead of the parse_vaa fn di…
Browse files Browse the repository at this point in the history
…rectly
  • Loading branch information
kakucodes committed Sep 18, 2024
1 parent cab790c commit 00a70bc
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 15 deletions.
2 changes: 1 addition & 1 deletion cosmwasm/contracts/wormchain-ibc-receiver/src/contract.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ pub fn execute(
}
}

pub fn submit_vaas(
fn submit_vaas(
mut deps: DepsMut<WormholeQuery>,
info: MessageInfo,
vaas: Vec<Binary>,
Expand Down
79 changes: 65 additions & 14 deletions cosmwasm/contracts/wormchain-ibc-receiver/src/tests/tests.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use crate::{
contract::{query, submit_vaas},
msg::{AllChannelChainsResponse, QueryMsg},
contract::{execute, query},
msg::{AllChannelChainsResponse, ExecuteMsg, QueryMsg},
tests::test_utils::{create_gov_vaa_body, create_transfer_vaa_body, sign_vaa_body},
};
use anyhow::Error;
Expand Down Expand Up @@ -48,7 +48,14 @@ pub fn add_channel_chain_happy_path() -> anyhow::Result<(), Error> {
let add_sei_channel_body = create_gov_vaa_body(1, Chain::Sei, *b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00channel-0");
let (_, add_sei_vaa_binary) = sign_vaa_body(wh.clone(), add_sei_channel_body);

let submissions = submit_vaas(mut_deps.branch(), info.clone(), vec![add_sei_vaa_binary]);
let submissions = execute(
mut_deps.branch(),
env.clone(),
info.clone(),
ExecuteMsg::SubmitUpdateChannelChain {
vaas: vec![add_sei_vaa_binary],
},
);

assert!(
submissions.is_ok(),
Expand Down Expand Up @@ -116,10 +123,13 @@ pub fn add_channel_chain_happy_path_multiple() -> anyhow::Result<(), Error> {
let (_, add_sei_vaa_binary) = sign_vaa_body(wh.clone(), add_sei_channel_body);

// add a channel for injective and update the channel set for sei
let submissions = submit_vaas(
let submissions = execute(
mut_deps.branch(),
mock_env(),
info.clone(),
vec![add_sei_vaa_binary, add_inj_vaa_bin],
ExecuteMsg::SubmitUpdateChannelChain {
vaas: vec![add_sei_vaa_binary, add_inj_vaa_bin],
},
);

assert!(
Expand Down Expand Up @@ -203,17 +213,27 @@ pub fn reject_invalid_add_channel_chain_vaas() {
let add_channel_body = create_gov_vaa_body(1, Chain::Wormchain, *b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00channel-0");
let (_, add_vaa_binary) = sign_vaa_body(wh.clone(), add_channel_body);

let submissions = submit_vaas(mut_deps.branch(), info.clone(), vec![add_vaa_binary]);
let submissions = execute(
mut_deps.branch(),
mock_env(),
info.clone(),
ExecuteMsg::SubmitUpdateChannelChain {
vaas: vec![add_vaa_binary],
},
);

assert!(
submissions.is_err(),
"Cannot add a channel from Gateway to Gateway"
);

let submissions = submit_vaas(
let submissions = execute(
mut_deps.branch(),
mock_env(),
info.clone(),
vec![Binary::from(vec![0u8; 32])],
ExecuteMsg::SubmitUpdateChannelChain {
vaas: vec![Binary::from(vec![0u8; 32])],
},
);

assert!(
Expand All @@ -224,14 +244,28 @@ pub fn reject_invalid_add_channel_chain_vaas() {
let add_channel_body = create_transfer_vaa_body(1);
let (_, add_vaa_binary) = sign_vaa_body(wh.clone(), add_channel_body);

let submissions = submit_vaas(mut_deps.branch(), info.clone(), vec![add_vaa_binary]);
let submissions = execute(
mut_deps.branch(),
mock_env(),
info.clone(),
ExecuteMsg::SubmitUpdateChannelChain {
vaas: vec![add_vaa_binary],
},
);

assert!(submissions.is_err(), "Can only execute governance vaas");

let add_channel_body = create_gov_vaa_body(1, Chain::Osmosis, *b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00channel-0");
let (_, add_vaa_binary) = sign_vaa_body(wh.clone(), add_channel_body);

let submissions = submit_vaas(mut_deps.branch(), info.clone(), vec![add_vaa_binary]);
let submissions = execute(
mut_deps.branch(),
mock_env(),
info.clone(),
ExecuteMsg::SubmitUpdateChannelChain {
vaas: vec![add_vaa_binary],
},
);

assert!(
submissions.is_ok(),
Expand All @@ -255,7 +289,14 @@ pub fn reject_invalid_add_channel_chain_vaas() {
};
let (_, add_vaa_binary) = sign_vaa_body(wh.clone(), add_channel_body);

let submissions = submit_vaas(mut_deps.branch(), info.clone(), vec![add_vaa_binary]);
let submissions = execute(
mut_deps.branch(),
mock_env(),
info.clone(),
ExecuteMsg::SubmitUpdateChannelChain {
vaas: vec![add_vaa_binary],
},
);

assert!(
submissions.is_err(),
Expand Down Expand Up @@ -294,18 +335,28 @@ pub fn reject_replayed_add_channel_chain_vaas() {
let add_channel_body = create_gov_vaa_body(1, Chain::Osmosis, *b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00channel-0");
let (_, add_vaa_binary) = sign_vaa_body(wh.clone(), add_channel_body);

let submissions = submit_vaas(
let submissions = execute(
mut_deps.branch(),
mock_env(),
info.clone(),
vec![add_vaa_binary.clone()],
ExecuteMsg::SubmitUpdateChannelChain {
vaas: vec![add_vaa_binary.clone()],
},
);

assert!(
submissions.is_ok(),
"Can add a channel from Osmosis to Gateway"
);

let submissions = submit_vaas(mut_deps.branch(), info.clone(), vec![add_vaa_binary]);
let submissions = execute(
mut_deps.branch(),
mock_env(),
info.clone(),
ExecuteMsg::SubmitUpdateChannelChain {
vaas: vec![add_vaa_binary],
},
);

assert!(submissions.is_err(), "Cannot replay the same VAA");
}

0 comments on commit 00a70bc

Please sign in to comment.