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