ark_api_ffi/
lib.rs

1//! # Ark low-level FFI API
2//!
3//! This is the low-level mostly unsafe layer that defines the ABI between the Ark host and Wasm modules.
4//! It is not intended to be used directly, instead users should use the safe and easier to use `ark-api` crate in modules.
5//!
6//! Also see [🗺️ APIs in Ark Developer Guide](https://ark.embark.dev/guide/api/index.html)
7
8// crate-specific exceptions:
9#![deny(
10    unsafe_code,
11    improper_ctypes, // Ensures that types used on FFI boundaries are actually correct
12    clippy::panic,
13    clippy::unimplemented,
14    clippy::expect_used,
15    clippy::unwrap_used,
16    clippy::ok_expect,
17    clippy::indexing_slicing,
18    rustdoc::broken_intra_doc_links,
19    rustdoc::private_intra_doc_links,
20    rustdoc::missing_crate_level_docs,
21)]
22
23#[macro_use]
24extern crate bitflags;
25
26#[macro_use]
27mod api_id;
28mod error_code;
29mod pod_helpers;
30mod version;
31pub use api_id::*;
32pub use error_code::*;
33pub use pod_helpers::*;
34pub use version::*;
35
36mod ffi;
37pub use ffi::*;
38
39pub mod entrypoints;