router-wasm-bindings 0.1.14

Bindings for CustomMsg and CustomQuery for the Router blockchain
Documentation
use crate::{
    types::ChainType,
    utils::{convert_address_from_bytes_to_string, convert_address_from_string_to_bytes},
};

#[test]
fn test_evm_address_conversion() {
    let address: String = String::from("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48");
    let chain_type: u32 = ChainType::ChainTypeEvm.get_chain_code();
    let bytes_address = convert_address_from_string_to_bytes(address.clone(), chain_type).unwrap();

    assert_eq!(bytes_address.len(), 20);
    let evm_address: String =
        convert_address_from_bytes_to_string(&bytes_address, chain_type).unwrap();
    assert_eq!(evm_address, address);
}

#[test]
fn test_cosmos_address_conversion() {
    let address: String = String::from("router1apapk9zfz3rp4x87fsm6h0s3zd0wlmkz0fx8tx");
    let chain_type: u32 = ChainType::ChainTypeCosmos.get_chain_code();
    let bytes_address = convert_address_from_string_to_bytes(address.clone(), chain_type).unwrap();

    let cosmos_address: String =
        convert_address_from_bytes_to_string(&bytes_address, chain_type).unwrap();
    assert_eq!(cosmos_address, address);
}

#[test]
fn test_polkadot_address_conversion() {
    let address: String = String::from("5E7PkJdvNqjKHRPqJ4ypTZk92Q1VV3A7RifE6gekXsrzRgmE");
    let chain_type: u32 = ChainType::ChainTypePolkadot.get_chain_code();
    let bytes_address = convert_address_from_string_to_bytes(address.clone(), chain_type).unwrap();

    let polkadot_address: String =
        convert_address_from_bytes_to_string(&bytes_address, chain_type).unwrap();
    assert_eq!(polkadot_address, address);
}