starknet 0.17.0

Complete Starknet library in Rustâ„¢
Documentation
use starknet::{
    core::{
        types::Felt,
        utils::{cairo_short_string_to_felt, get_selector_from_name},
    },
    macros::{felt, felt_dec, felt_hex, selector, short_string},
};

#[test]
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
fn selector_can_generate_correct_selector() {
    let macro_value = selector!("balanceOf");
    let function_call_value = get_selector_from_name("balanceOf").unwrap();

    assert_eq!(macro_value, function_call_value);
}

#[test]
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
fn short_string_can_generate_correct_short_string() {
    let macro_value = short_string!("this is a string");
    let function_call_value = cairo_short_string_to_felt("this is a string").unwrap();

    assert_eq!(macro_value, function_call_value);
}

#[test]
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
fn felt_with_dec_string() {
    let macro_value = felt!("1234567");
    let function_call_value = Felt::from_dec_str("1234567").unwrap();

    assert_eq!(macro_value, function_call_value);
}

#[test]
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
fn felt_with_hex_string() {
    let macro_value = felt!("0x123456789abcdef");
    let function_call_value = Felt::from_hex("0x123456789abcdef").unwrap();

    assert_eq!(macro_value, function_call_value);
}

#[test]
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
fn felt_dec() {
    let macro_value = felt_dec!("1234567");
    let function_call_value = Felt::from_dec_str("1234567").unwrap();

    assert_eq!(macro_value, function_call_value);
}

#[test]
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
fn felt_hex() {
    let macro_value = felt_hex!("0x123456789abcdef");
    let function_call_value = Felt::from_hex("0x123456789abcdef").unwrap();

    assert_eq!(macro_value, function_call_value);
}