1use borsh::{BorshDeserialize, BorshSerialize};
2use serde::{Deserialize, Serialize};
3use std::hash::Hash;
4
5#[derive(Clone, Copy, Debug, Hash, Serialize, Deserialize, BorshSerialize, BorshDeserialize)]
6pub enum VMKind {
7 Wasmer,
9 Wasmtime,
11}
12
13impl Default for VMKind {
14 #[cfg(feature = "wasmer_default")]
15 fn default() -> Self {
16 VMKind::Wasmer
17 }
18
19 #[cfg(feature = "wasmtime_default")]
20 fn default() -> Self {
21 VMKind::Wasmtime
22 }
23
24 #[cfg(all(not(feature = "wasmer_default"), not(feature = "wasmtime_default")))]
25 fn default() -> Self {
26 VMKind::Wasmer
27 }
28}