Struct cw_multi_test::addons::MockApiBech32m
source · pub struct MockApiBech32m(/* private fields */);Expand description
Implementation of the Api trait that uses Bech32m format
for humanizing canonical addresses.
Implementations§
source§impl MockApiBech32m
impl MockApiBech32m
sourcepub fn new(prefix: &'static str) -> Self
pub fn new(prefix: &'static str) -> Self
Returns Api implementation that uses specified prefix
to generate addresses in Bech32m format.
§Example
use cw_multi_test::addons::MockApiBech32m;
let api = MockApiBech32m::new("osmosis");
let addr = api.addr_make("sender");
assert_eq!(addr.as_str(),
"osmosis1pgm8hyk0pvphmlvfjc8wsvk4daluz5tgrw6pu5mfpemk74uxnx9qgv9940");source§impl MockApiBech32m
impl MockApiBech32m
sourcepub fn addr_make(&self, input: &str) -> Addr
pub fn addr_make(&self, input: &str) -> Addr
Returns an address in Bech32m format, built from provided input string.
§Example
use cw_multi_test::addons::MockApiBech32m;
let api = MockApiBech32m::new("osmosis");
let addr = api.addr_make("sender");
assert_eq!(addr.as_str(),
"osmosis1pgm8hyk0pvphmlvfjc8wsvk4daluz5tgrw6pu5mfpemk74uxnx9qgv9940");§Panics
This function panics when generating a valid address in Bech32 format is not possible, especially when prefix is too long or empty.
Trait Implementations§
source§impl Api for MockApiBech32m
impl Api for MockApiBech32m
source§fn addr_validate(&self, input: &str) -> StdResult<Addr>
fn addr_validate(&self, input: &str) -> StdResult<Addr>
Takes a human readable address in Bech32m format and checks if it is valid.
If the validation succeeds, an Addr containing the same string as the input is returned.
§Example
use cosmwasm_std::Api;
use cw_multi_test::addons::MockApiBech32m;
let api = MockApiBech32m::new("osmosis");
let addr = api.addr_make("sender");
assert_eq!(api.addr_validate(addr.as_str()).unwrap().as_str(),
addr.as_str());source§fn addr_canonicalize(&self, input: &str) -> StdResult<CanonicalAddr>
fn addr_canonicalize(&self, input: &str) -> StdResult<CanonicalAddr>
Takes a human readable address in Bech32m format and returns a canonical binary representation of it.
§Example
use cosmwasm_std::Api;
use cw_multi_test::addons::MockApiBech32;
let api = MockApiBech32::new("osmosis");
let addr = api.addr_make("sender");
assert_eq!(api.addr_canonicalize(addr.as_str()).unwrap().to_string(),
"0A367B92CF0B037DFD89960EE832D56F7FC151681BB41E53690E776F5786998A");source§fn addr_humanize(&self, canonical: &CanonicalAddr) -> StdResult<Addr>
fn addr_humanize(&self, canonical: &CanonicalAddr) -> StdResult<Addr>
Takes a canonical address and returns a human readable address in Bech32m format.
This is the inverse operation of addr_canonicalize.
§Example
use cosmwasm_std::Api;
use cw_multi_test::addons::MockApiBech32m;
let api = MockApiBech32m::new("osmosis");
let addr = api.addr_make("sender");
let canonical_addr = api.addr_canonicalize(addr.as_str()).unwrap();
assert_eq!(api.addr_humanize(&canonical_addr).unwrap().as_str(),
addr.as_str());