pub trait OpCodeExecution<T: VerifiableTransaction> {
// Required methods
fn empty() -> Result<Box<dyn OpCodeImplementation<T>>, TxScriptError>
where Self: Sized;
fn new(
data: Vec<u8>,
) -> Result<Box<dyn OpCodeImplementation<T>>, TxScriptError>
where Self: Sized;
fn execute(
&self,
vm: &mut TxScriptEngine<'_, T>,
) -> Result<(), TxScriptError>;
}