multiversx_sc_scenario/
scenario_macros.rs1#[macro_export]
2macro_rules! rust_biguint {
3 ($value:expr) => {{
4 multiversx_sc_scenario::num_bigint::BigUint::from($value as u64)
5 }};
6}
7
8#[macro_export]
9macro_rules! managed_biguint {
10 ($value:expr) => {{
11 multiversx_sc::types::BigUint::from($value as u64)
12 }};
13}
14
15#[macro_export]
16macro_rules! managed_buffer {
17 ($value:expr) => {{
18 multiversx_sc::types::ManagedBuffer::new_from_bytes($value)
19 }};
20}
21
22#[macro_export]
23macro_rules! managed_address {
24 ($address:expr) => {{
25 multiversx_sc::types::ManagedAddress::from_address($address)
26 }};
27}
28
29#[macro_export]
30macro_rules! managed_token_id {
31 ($bytes:expr) => {{
32 multiversx_sc::types::EsdtTokenIdentifier::from_esdt_bytes($bytes)
33 }};
34}
35
36#[macro_export]
37macro_rules! managed_token_id_wrapped {
38 ($bytes:expr) => {{
39 let ___esdt_token_id___ =
40 multiversx_sc::types::EsdtTokenIdentifier::from_esdt_bytes($bytes);
41 multiversx_sc::types::EgldOrEsdtTokenIdentifier::esdt(___esdt_token_id___)
42 }};
43}
44
45#[macro_export]
46macro_rules! managed_egld_token_id {
47 () => {{
48 multiversx_sc::types::EgldOrEsdtTokenIdentifier::egld()
49 }};
50}
51
52#[macro_export]
53macro_rules! assert_sc_error {
54 ($sc_result:expr, $expected_string:expr) => {{
55 match $sc_result {
56 multiversx_sc::types::SCResult::Ok(t) => {
57 panic!("Expected SCError, but got SCResult::Ok: {:?}", t)
58 }
59 multiversx_sc::types::SCResult::Err(err) => {
60 let as_str = String::from_utf8(err.as_bytes().to_vec()).unwrap();
61 assert_eq!(as_str, $expected_string);
62 }
63 }
64 }};
65}
66
67#[macro_export]
68macro_rules! assert_values_eq {
69 ($left:expr, $right:expr) => {{
70 assert!(
71 $left == $right,
72 "Assert mismatch: \n Left: {:?} \n Right: {:?}",
73 $left,
74 $right
75 )
76 }};
77}
78
79#[macro_export]
80macro_rules! unwrap_or_panic {
81 ($sc_result:expr) => {{
82 match $sc_result {
83 multiversx_sc::types::SCResult::Ok(t) => t,
84 multiversx_sc::types::SCResult::Err(err) => {
85 let as_str = String::from_utf8(err.as_bytes().to_vec()).unwrap();
86 panic!("{}", as_str);
87 }
88 }
89 }};
90}