1use evmc_sys as ffi;
2
3pub type Address = ffi::evmc_address;
5
6pub type Bytes32 = ffi::evmc_bytes32;
8
9pub type Uint256 = ffi::evmc_uint256be;
11
12pub type MessageKind = ffi::evmc_call_kind;
14
15pub type MessageFlags = ffi::evmc_flags;
17
18pub type StatusCode = ffi::evmc_status_code;
20
21pub type AccessStatus = ffi::evmc_access_status;
23
24pub type StorageStatus = ffi::evmc_storage_status;
26
27pub type Revision = ffi::evmc_revision;
29
30#[cfg(test)]
31mod tests {
32 use super::*;
33
34 #[test]
36 fn address_smoke_test() {
37 let a = ffi::evmc_address::default();
38 let b = Address::default();
39 assert_eq!(a.clone(), b.clone());
40 }
41
42 #[test]
43 fn bytes32_smoke_test() {
44 let a = ffi::evmc_bytes32::default();
45 let b = Bytes32::default();
46 assert_eq!(a.clone(), b.clone());
47 }
48
49 #[test]
50 fn uint26be_smoke_test() {
51 let a = ffi::evmc_uint256be::default();
52 let b = Uint256::default();
53 assert_eq!(a.clone(), b.clone());
54 }
55
56 #[test]
57 fn message_kind() {
58 assert_eq!(MessageKind::EVMC_CALL, ffi::evmc_call_kind::EVMC_CALL);
59 assert_eq!(
60 MessageKind::EVMC_CALLCODE,
61 ffi::evmc_call_kind::EVMC_CALLCODE
62 );
63 assert_eq!(
64 MessageKind::EVMC_DELEGATECALL,
65 ffi::evmc_call_kind::EVMC_DELEGATECALL
66 );
67 assert_eq!(MessageKind::EVMC_CREATE, ffi::evmc_call_kind::EVMC_CREATE);
68 }
69
70 #[test]
71 fn message_flags() {
72 assert_eq!(MessageFlags::EVMC_STATIC, ffi::evmc_flags::EVMC_STATIC);
73 }
74
75 #[test]
76 fn status_code() {
77 assert_eq!(
78 StatusCode::EVMC_SUCCESS,
79 ffi::evmc_status_code::EVMC_SUCCESS
80 );
81 assert_eq!(
82 StatusCode::EVMC_FAILURE,
83 ffi::evmc_status_code::EVMC_FAILURE
84 );
85 }
86
87 #[test]
88 fn access_status() {
89 assert_eq!(
90 AccessStatus::EVMC_ACCESS_COLD,
91 ffi::evmc_access_status::EVMC_ACCESS_COLD
92 );
93 assert_eq!(
94 AccessStatus::EVMC_ACCESS_WARM,
95 ffi::evmc_access_status::EVMC_ACCESS_WARM
96 );
97 }
98
99 #[test]
100 fn storage_status() {
101 assert_eq!(
102 StorageStatus::EVMC_STORAGE_UNCHANGED,
103 ffi::evmc_storage_status::EVMC_STORAGE_UNCHANGED
104 );
105 assert_eq!(
106 StorageStatus::EVMC_STORAGE_MODIFIED,
107 ffi::evmc_storage_status::EVMC_STORAGE_MODIFIED
108 );
109 }
110
111 #[test]
112 fn revision() {
113 assert_eq!(Revision::EVMC_FRONTIER, ffi::evmc_revision::EVMC_FRONTIER);
114 assert_eq!(Revision::EVMC_ISTANBUL, ffi::evmc_revision::EVMC_ISTANBUL);
115 }
116}