Skip to content

Commit 5c2c487

Browse files
committed
refactor(minor-axelarnet-gateway): msg and state separation
1 parent 541aad9 commit 5c2c487

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

contracts/axelarnet-gateway/src/contract/query.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ use cosmwasm_std::Storage;
22
use itertools::Itertools;
33
use router_api::{ChainName, CrossChainId, Message};
44

5-
use crate::state::{self, ExecutableMessage};
5+
use crate::msg::ExecutableMessage;
6+
use crate::state;
67

78
pub fn routable_messages(
89
storage: &dyn Storage,
@@ -18,10 +19,12 @@ pub fn executable_messages(
1819
storage: &dyn Storage,
1920
cc_ids: Vec<CrossChainId>,
2021
) -> Result<Vec<ExecutableMessage>, state::Error> {
21-
cc_ids
22+
let results: Vec<_> = cc_ids
2223
.into_iter()
2324
.map(|cc_id| state::load_executable_msg(storage, &cc_id))
24-
.try_collect()
25+
.try_collect()?;
26+
27+
Ok(results.into_iter().map(Into::into).collect())
2528
}
2629

2730
pub fn chain_name(storage: &dyn Storage) -> ChainName {

contracts/axelarnet-gateway/src/msg.rs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,24 @@ use cosmwasm_std::HexBinary;
44
use msgs_derive::EnsurePermissions;
55
use router_api::{Address, ChainName, CrossChainId, Message};
66

7-
use crate::state::ExecutableMessage;
7+
use crate::state;
8+
9+
impl From<state::ExecutableMessage> for ExecutableMessage {
10+
fn from(value: state::ExecutableMessage) -> Self {
11+
match value {
12+
state::ExecutableMessage::Approved(msg) => ExecutableMessage::Approved(msg),
13+
state::ExecutableMessage::Executed(msg) => ExecutableMessage::Executed(msg),
14+
}
15+
}
16+
}
17+
18+
#[cw_serde]
19+
pub enum ExecutableMessage {
20+
/// A message that has been sent by the router, but not executed yet.
21+
Approved(Message),
22+
/// An approved message that has been executed.
23+
Executed(Message),
24+
}
825

926
#[cw_serde]
1027
pub struct InstantiateMsg {

0 commit comments

Comments
 (0)