starknet_selector_decoder/
lib.rs1include!(concat!(env!("OUT_DIR"), "/codegen.rs"));
2
3pub fn get_selector(keyword: &str) -> Option<&str> {
17 SELECTORS.get(keyword).cloned()
18}
19
20#[cfg(test)]
21mod tests {
22 use super::*;
23
24 #[test]
25 fn test_transfer() {
26 let result =
27 get_selector("0x0083afd3f4caedc6eebf44246fe54e38c95e3179a5ec9ea81740eca5b482d12e");
28 match result {
29 Some(selector) => assert_eq!(selector, "transfer"),
30 None => assert!(false),
31 }
32 }
33
34 #[test]
35 fn test_approve() {
36 let result =
37 get_selector("0x0219209e083275171774dab1df80982e9df2096516f06319c5c6d71ae0a8480c");
38 if let Some(selector) = result {
39 println!("{}", selector);
40 }
41 match result {
42 Some(selector) => assert_eq!(selector, "approve"),
43 None => assert!(false),
44 }
45 }
46
47 #[test]
48 fn test_selector_not_present() {
49 let result =
50 get_selector("0x0083afd3f4caedc6eebf44246fe54e38c95e3179a5ec9ea81740eca5b482d12f");
51 match result {
52 Some(_) => assert!(false),
53 None => assert!(true),
54 }
55 }
56}