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::TokenIdentifier::from_esdt_bytes($bytes)
33 }};
34}
35
36#[macro_export]
37macro_rules! managed_token_id_wrapped {
38 ($bytes:expr) => {{
39 let ___esdt_token_id___ = multiversx_sc::types::TokenIdentifier::from_esdt_bytes($bytes);
40 multiversx_sc::types::EgldOrEsdtTokenIdentifier::esdt(___esdt_token_id___)
41 }};
42}
43
44#[macro_export]
45macro_rules! managed_egld_token_id {
46 () => {{
47 multiversx_sc::types::EgldOrEsdtTokenIdentifier::egld()
48 }};
49}
50
51#[macro_export]
52macro_rules! assert_sc_error {
53 ($sc_result:expr, $expected_string:expr) => {{
54 match $sc_result {
55 multiversx_sc::types::SCResult::Ok(t) => {
56 panic!("Expected SCError, but got SCResult::Ok: {:?}", t)
57 }
58 multiversx_sc::types::SCResult::Err(err) => {
59 let as_str = String::from_utf8(err.as_bytes().to_vec()).unwrap();
60 assert_eq!(as_str, $expected_string);
61 }
62 }
63 }};
64}
65
66#[macro_export]
67macro_rules! assert_values_eq {
68 ($left:expr, $right:expr) => {{
69 assert!(
70 $left == $right,
71 "Assert mismatch: \n Left: {:?} \n Right: {:?}",
72 $left,
73 $right
74 )
75 }};
76}
77
78#[macro_export]
79macro_rules! unwrap_or_panic {
80 ($sc_result:expr) => {{
81 match $sc_result {
82 multiversx_sc::types::SCResult::Ok(t) => t,
83 multiversx_sc::types::SCResult::Err(err) => {
84 let as_str = String::from_utf8(err.as_bytes().to_vec()).unwrap();
85 panic!("{}", as_str);
86 }
87 }
88 }};
89}