1use cosmwasm_std::Storage;
2use cw_storage_plus::{Item, Map};
3
4use crate::error::ContractError;
5
6pub const CONNECTION_REMOTE_PORT: Item<(String, String)> = Item::new("a");
8
9pub const CHANNEL: Item<String> = Item::new("b");
12
13pub const BLOCK_MAX_GAS: Item<u64> = Item::new("bmg");
15
16const SEQUENCE_NUMBER: Map<String, u64> = Map::new("sn");
21
22pub(crate) fn increment_sequence_number(
24 storage: &mut dyn Storage,
25 channel_id: String,
26) -> Result<u64, ContractError> {
27 let seq = SEQUENCE_NUMBER
28 .may_load(storage, channel_id.clone())?
29 .unwrap_or_default()
30 .checked_add(1)
31 .ok_or(ContractError::SequenceOverflow)?;
32 SEQUENCE_NUMBER.save(storage, channel_id, &seq)?;
33 Ok(seq)
34}