kujira_std/
utils.rs

1use cosmwasm_std::{Addr, Coin, StdError, StdResult, Uint128};
2
3use crate::denom::Denom;
4
5pub fn amount(denom: &Denom, funds: Vec<Coin>) -> StdResult<Uint128> {
6    let coin = funds
7        .iter()
8        .find(|d| &Denom::from(d.denom.clone()) == denom);
9    match coin {
10        None => Err(StdError::not_found(denom.to_string())),
11        Some(Coin { amount, .. }) => match funds
12            .iter()
13            .find(|d| &Denom::from(d.denom.clone()) != denom)
14        {
15            Some(x) => Err(StdError::invalid_utf8(x.denom.clone())),
16            None => Ok(*amount),
17        },
18    }
19}
20
21pub fn fee_address() -> Addr {
22    Addr::unchecked("kujira17xpfvakm2amg962yls6f84z3kell8c5lp3pcxh")
23}