multiversx_chain_vm/host/context/
tx_panic.rs

1use multiversx_chain_core::types::ReturnCode;
2
3#[derive(Debug, Clone)]
4pub struct TxPanic {
5    pub status: ReturnCode,
6    pub message: String,
7}
8
9impl TxPanic {
10    pub fn new(status: ReturnCode, message: &str) -> Self {
11        Self {
12            status,
13            message: message.to_string(),
14        }
15    }
16
17    pub fn user_error(message: &str) -> TxPanic {
18        TxPanic::new(ReturnCode::UserError, message)
19    }
20
21    pub fn vm_error(message: &str) -> TxPanic {
22        TxPanic::new(ReturnCode::ExecutionFailed, message)
23    }
24}