cfx_executor/internal_contract/
utils.rs

1#[cfg(test)]
2#[macro_export]
3macro_rules! check_func_signature {
4    ($interface:ident, $signature:expr) => {
5        assert_eq!(
6            $interface::FUNC_SIG.to_vec(),
7            $signature.from_hex::<Vec<u8>>().unwrap(),
8            "Test solidity signature for {}",
9            $interface::NAME_AND_PARAMS
10        );
11    };
12}
13
14#[cfg(test)]
15#[macro_export]
16macro_rules! check_event_signature {
17    ($interface:ident, $signature:expr) => {
18        assert_eq!(
19            $interface::EVENT_SIG.0.to_vec(),
20            $signature.from_hex::<Vec<u8>>().unwrap(),
21            "Test solidity event signature"
22        );
23    };
24}
25
26#[macro_export]
27macro_rules! internal_bail {
28    ($e:expr) => {
29        return Err(cfx_vm_types::Error::InternalContract($e.into()));
30    };
31    ($fmt:expr, $($arg:tt)+) => {
32        return Err(cfx_vm_types::Error::InternalContract(format!($fmt, $($arg)+)));
33    };
34}